@alauda/ui 6.4.6-beta.9 → 6.4.7-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/dialog/dialog.component.mjs +2 -2
- package/esm2020/select/base-select.mjs +2 -2
- package/esm2020/select/multi-select/multi-select.component.mjs +3 -2
- package/esm2020/table/table-scroll.directive.mjs +22 -10
- package/esm2020/table/table.component.mjs +2 -2
- package/fesm2015/alauda-ui.mjs +23 -13
- package/fesm2015/alauda-ui.mjs.map +1 -1
- package/fesm2020/alauda-ui.mjs +23 -13
- package/fesm2020/alauda-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/table/table-scroll.directive.d.ts +8 -6
|
@@ -48,10 +48,10 @@ export class DialogComponent {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: DialogComponent, selector: "aui-dialog", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], ngImport: i0, template: "<div\n [ngClass]=\"rootClass\"\n [ngStyle]=\"customStyle\"\n>\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{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:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;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;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-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{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}:root .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}.cdk-overlay-pane.aui-dialog-overlay-pane{justify-content:center;overflow:auto}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar{width:4px;height:4px}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog{margin:18vh auto 20px;display:flex;flex-direction:column;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-l);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text))}:root .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-dialog aui-dialog-content{height:100%;overflow:auto}.aui-dialog aui-dialog-content::-webkit-scrollbar{width:4px;height:4px}.aui-dialog aui-dialog-content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-dialog aui-dialog-content::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog aui-dialog-content:first-child .aui-dialog__content{padding-top:20px}.aui-dialog aui-dialog-content:last-child .aui-dialog__content{padding-bottom:20px}.aui-dialog__header{margin:0 20px;padding:20px 0 16px;display:flex;justify-content:space-between}.aui-dialog__header.hasDivider{margin-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog__header-title{width:100%;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-dialog__header-title>aui-icon:first-child{font-size:var(--aui-icon-size-xl);margin-right:var(--aui-spacing-m)}.aui-dialog__header-title>aui-icon:first-child[icon=info_circle_s]{color:rgb(var(--aui-color-primary))}.aui-dialog__header-title>aui-icon:first-child[icon=check_circle_s]{color:rgb(var(--aui-color-green))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_circle_s]{color:rgb(var(--aui-color-yellow))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_triangle_s]{color:rgb(var(--aui-color-red))}.aui-dialog__header-close{margin-left:var(--aui-spacing-xl);line-height:var(--aui-line-height-xl);font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-n-4));cursor:pointer}.aui-dialog__header-close:hover{color:rgb(var(--aui-color-primary))}.aui-dialog__content{padding:0 20px;min-height:80px}.aui-dialog__footer{padding:20px;display:flex;justify-content:flex-end}.aui-dialog--small{width:400px}.aui-dialog--medium{width:600px}.aui-dialog--big{width:800px}.aui-dialog--large{width:960px}.aui-dialog--fit-content{width:-moz-fit-content;width:fit-content}.aui-dialog--fullscreen{width:90vw;height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport{max-width:90vw;max-height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport .aui-dialog__header{margin:0;padding:20px 20px 16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport .aui-dialog__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport aui-dialog-content:not(:first-child) .aui-dialog__content{padding-top:16px}.aui-dialog--fit-viewport aui-dialog-content:not(:last-child) .aui-dialog__content{padding-bottom:16px}.aui-dialog--fit-viewport>ng-component{display:flex;flex-direction:column;overflow:auto}.aui-dialog--fit-viewport>ng-component:after{clear:both}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
51
|
+
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: DialogComponent, selector: "aui-dialog", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], ngImport: i0, template: "<div\n [ngClass]=\"rootClass\"\n [ngStyle]=\"customStyle\"\n>\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{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:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;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;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-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{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}:root .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}.cdk-overlay-pane.aui-dialog-overlay-pane{justify-content:center;overflow:auto}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar{width:4px;height:4px}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog{margin:18vh auto 20px;display:flex;flex-direction:column;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-l);overflow:hidden;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text))}:root .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-dialog aui-dialog-content{height:100%;overflow:auto}.aui-dialog aui-dialog-content::-webkit-scrollbar{width:4px;height:4px}.aui-dialog aui-dialog-content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-dialog aui-dialog-content::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog aui-dialog-content:first-child .aui-dialog__content{padding-top:20px}.aui-dialog aui-dialog-content:last-child .aui-dialog__content{padding-bottom:20px}.aui-dialog__header{margin:0 20px;padding:20px 0 16px;display:flex;justify-content:space-between}.aui-dialog__header.hasDivider{margin-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog__header-title{width:100%;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-dialog__header-title>aui-icon:first-child{font-size:var(--aui-icon-size-xl);margin-right:var(--aui-spacing-m)}.aui-dialog__header-title>aui-icon:first-child[icon=info_circle_s]{color:rgb(var(--aui-color-primary))}.aui-dialog__header-title>aui-icon:first-child[icon=check_circle_s]{color:rgb(var(--aui-color-green))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_circle_s]{color:rgb(var(--aui-color-yellow))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_triangle_s]{color:rgb(var(--aui-color-red))}.aui-dialog__header-close{margin-left:var(--aui-spacing-xl);line-height:var(--aui-line-height-xl);font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-n-4));cursor:pointer}.aui-dialog__header-close:hover{color:rgb(var(--aui-color-primary))}.aui-dialog__content{padding:0 20px;min-height:80px}.aui-dialog__footer{padding:20px;display:flex;justify-content:flex-end}.aui-dialog--small{width:400px}.aui-dialog--medium{width:600px}.aui-dialog--big{width:800px}.aui-dialog--large{width:960px}.aui-dialog--fit-content{width:-moz-fit-content;width:fit-content}.aui-dialog--fullscreen{width:90vw;height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport{max-width:90vw;max-height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport .aui-dialog__header{margin:0;padding:20px 20px 16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport .aui-dialog__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport aui-dialog-content:not(:first-child) .aui-dialog__content{padding-top:16px}.aui-dialog--fit-viewport aui-dialog-content:not(:last-child) .aui-dialog__content{padding-bottom:16px}.aui-dialog--fit-viewport>ng-component{display:flex;flex-direction:column;overflow:auto}.aui-dialog--fit-viewport>ng-component:after{clear:both}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: DialogComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'aui-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, preserveWhitespaces: false, template: "<div\n [ngClass]=\"rootClass\"\n [ngStyle]=\"customStyle\"\n>\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{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:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;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;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-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{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}:root .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}.cdk-overlay-pane.aui-dialog-overlay-pane{justify-content:center;overflow:auto}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar{width:4px;height:4px}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog{margin:18vh auto 20px;display:flex;flex-direction:column;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-l);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text))}:root .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-dialog aui-dialog-content{height:100%;overflow:auto}.aui-dialog aui-dialog-content::-webkit-scrollbar{width:4px;height:4px}.aui-dialog aui-dialog-content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-dialog aui-dialog-content::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog aui-dialog-content:first-child .aui-dialog__content{padding-top:20px}.aui-dialog aui-dialog-content:last-child .aui-dialog__content{padding-bottom:20px}.aui-dialog__header{margin:0 20px;padding:20px 0 16px;display:flex;justify-content:space-between}.aui-dialog__header.hasDivider{margin-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog__header-title{width:100%;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-dialog__header-title>aui-icon:first-child{font-size:var(--aui-icon-size-xl);margin-right:var(--aui-spacing-m)}.aui-dialog__header-title>aui-icon:first-child[icon=info_circle_s]{color:rgb(var(--aui-color-primary))}.aui-dialog__header-title>aui-icon:first-child[icon=check_circle_s]{color:rgb(var(--aui-color-green))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_circle_s]{color:rgb(var(--aui-color-yellow))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_triangle_s]{color:rgb(var(--aui-color-red))}.aui-dialog__header-close{margin-left:var(--aui-spacing-xl);line-height:var(--aui-line-height-xl);font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-n-4));cursor:pointer}.aui-dialog__header-close:hover{color:rgb(var(--aui-color-primary))}.aui-dialog__content{padding:0 20px;min-height:80px}.aui-dialog__footer{padding:20px;display:flex;justify-content:flex-end}.aui-dialog--small{width:400px}.aui-dialog--medium{width:600px}.aui-dialog--big{width:800px}.aui-dialog--large{width:960px}.aui-dialog--fit-content{width:-moz-fit-content;width:fit-content}.aui-dialog--fullscreen{width:90vw;height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport{max-width:90vw;max-height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport .aui-dialog__header{margin:0;padding:20px 20px 16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport .aui-dialog__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport aui-dialog-content:not(:first-child) .aui-dialog__content{padding-top:16px}.aui-dialog--fit-viewport aui-dialog-content:not(:last-child) .aui-dialog__content{padding-bottom:16px}.aui-dialog--fit-viewport>ng-component{display:flex;flex-direction:column;overflow:auto}.aui-dialog--fit-viewport>ng-component:after{clear:both}\n"] }]
|
|
54
|
+
args: [{ selector: 'aui-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, preserveWhitespaces: false, template: "<div\n [ngClass]=\"rootClass\"\n [ngStyle]=\"customStyle\"\n>\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{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:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;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;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-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{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}:root .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing.aui-dialog-backdrop{background-color:rgba(var(--aui-color-origin-shadow),.75)}.cdk-overlay-pane.aui-dialog-overlay-pane{justify-content:center;overflow:auto}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar{width:4px;height:4px}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.cdk-overlay-pane.aui-dialog-overlay-pane::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog{margin:18vh auto 20px;display:flex;flex-direction:column;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-l);overflow:hidden;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text))}:root .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-dialog{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-dialog{box-shadow:0 4px 16px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-dialog aui-dialog-content{height:100%;overflow:auto}.aui-dialog aui-dialog-content::-webkit-scrollbar{width:4px;height:4px}.aui-dialog aui-dialog-content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-dialog aui-dialog-content::-webkit-scrollbar-corner{background-color:transparent}.aui-dialog aui-dialog-content:first-child .aui-dialog__content{padding-top:20px}.aui-dialog aui-dialog-content:last-child .aui-dialog__content{padding-bottom:20px}.aui-dialog__header{margin:0 20px;padding:20px 0 16px;display:flex;justify-content:space-between}.aui-dialog__header.hasDivider{margin-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog__header-title{width:100%;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-dialog__header-title>aui-icon:first-child{font-size:var(--aui-icon-size-xl);margin-right:var(--aui-spacing-m)}.aui-dialog__header-title>aui-icon:first-child[icon=info_circle_s]{color:rgb(var(--aui-color-primary))}.aui-dialog__header-title>aui-icon:first-child[icon=check_circle_s]{color:rgb(var(--aui-color-green))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_circle_s]{color:rgb(var(--aui-color-yellow))}.aui-dialog__header-title>aui-icon:first-child[icon=exclamation_triangle_s]{color:rgb(var(--aui-color-red))}.aui-dialog__header-close{margin-left:var(--aui-spacing-xl);line-height:var(--aui-line-height-xl);font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-n-4));cursor:pointer}.aui-dialog__header-close:hover{color:rgb(var(--aui-color-primary))}.aui-dialog__content{padding:0 20px;min-height:80px}.aui-dialog__footer{padding:20px;display:flex;justify-content:flex-end}.aui-dialog--small{width:400px}.aui-dialog--medium{width:600px}.aui-dialog--big{width:800px}.aui-dialog--large{width:960px}.aui-dialog--fit-content{width:-moz-fit-content;width:fit-content}.aui-dialog--fullscreen{width:90vw;height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport{max-width:90vw;max-height:calc(100vh - 40px);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aui-dialog--fit-viewport .aui-dialog__header{margin:0;padding:20px 20px 16px;border-bottom:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport .aui-dialog__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-divider))}.aui-dialog--fit-viewport aui-dialog-content:not(:first-child) .aui-dialog__content{padding-top:16px}.aui-dialog--fit-viewport aui-dialog-content:not(:last-child) .aui-dialog__content{padding-bottom:16px}.aui-dialog--fit-viewport>ng-component{display:flex;flex-direction:column;overflow:auto}.aui-dialog--fit-viewport>ng-component:after{clear:both}\n"] }]
|
|
55
55
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { portalOutlet: [{
|
|
56
56
|
type: ViewChild,
|
|
57
57
|
args: [CdkPortalOutlet, { static: true }]
|
|
@@ -262,7 +262,7 @@ export class BaseSelect extends CommonFormControl {
|
|
|
262
262
|
this.openOption();
|
|
263
263
|
return;
|
|
264
264
|
}
|
|
265
|
-
if (this.focusedOption) {
|
|
265
|
+
if (this.focusedOption && !this.focusedOption.disabled) {
|
|
266
266
|
this.selectOption(this.focusedOption);
|
|
267
267
|
}
|
|
268
268
|
}
|
|
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
334
334
|
type: ContentChildren,
|
|
335
335
|
args: [OptionComponent, { descendants: true }]
|
|
336
336
|
}] } });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VsZWN0L2Jhc2Utc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLGFBQWEsRUFDYixFQUFFLEVBQ0YsR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUk1RCxNQUFNLE9BQWdCLFVBQ3BCLFNBQVEsaUJBQW9CO0lBRjlCOztRQXFDRSxhQUFRLEdBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3hELFlBQU8sR0FBZSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBMENwQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBR2pCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUcxQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBR1osaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFDLFNBQUksR0FB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SztnQkFVRixTQUFTO3NCQURaLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSUYsV0FBVztzQkFEZCxLQUFLO2dCQXFDTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUlQLElBQUk7c0JBREgsTUFBTTtnQkFJUCxJQUFJO3NCQURILE1BQU07Z0JBSUcsU0FBUztzQkFEbEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5QixVQUFVO3NCQURuQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9CLGFBQWE7c0JBRHRCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJbkMsZUFBZTtzQkFEeEIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSXJDLGFBQWE7c0JBRHRCLFlBQVk7dUJBQUMsc0JBQXNCO2dCQUlwQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsZUFBZTtnQkFJN0IsY0FBYztzQkFEYixlQUFlO3VCQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG9mLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uL2Zvcm0nO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIGNvZXJjZUF0dHJCb29sZWFuLFxuICBjb2VyY2VTdHJpbmcsXG4gIGlzVGVtcGxhdGVSZWYsXG4gIHB1Ymxpc2hSZWYsXG4gIHNjcm9sbEludG9WaWV3LFxufSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IE9wdGlvbkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2hlbHBlci1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uRmlsdGVyRm4sIFNlbGVjdEZpbHRlck9wdGlvbiwgVHJhY2tGbiB9IGZyb20gJy4vc2VsZWN0LnR5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNlbGVjdDxULCBWID0gVD5cbiAgZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxWPlxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIHNldCBzaXplKHZhbCkge1xuICAgIGlmICghdmFsIHx8IHRoaXMuX3NpemUgPT09IHZhbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zaXplID0gdmFsO1xuICAgIHRoaXMuc2l6ZSQkLm5leHQodmFsKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBmaWx0ZXJhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJhYmxlO1xuICB9XG5cbiAgc2V0IGZpbHRlcmFibGUodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9maWx0ZXJhYmxlID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBjbGVhcmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsZWFyYWJsZTtcbiAgfVxuXG4gIHNldCBjbGVhcmFibGUodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9jbGVhcmFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZmlsdGVyRm46IE9wdGlvbkZpbHRlckZuPFQ+ID0gdGhpcy5fZmlsdGVyRm4uYmluZCh0aGlzKTtcblxuICBASW5wdXQoKVxuICB0cmFja0ZuOiBUcmFja0ZuPFQ+ID0gdGhpcy5fdHJhY2tGbjtcblxuICBASW5wdXQoKVxuICBsYWJlbEZuPzogKHZhbHVlOiBUKSA9PiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGFsbG93Q3JlYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9hbGxvd0NyZWF0ZTtcbiAgfVxuXG4gIHNldCBhbGxvd0NyZWF0ZSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2FsbG93Q3JlYXRlID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIGdldCBhbGxPcHRpb25zKCkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi4odGhpcy5jdXN0b21PcHRpb25zID8gdGhpcy5jdXN0b21PcHRpb25zLnRvQXJyYXkoKSA6IFtdKSxcbiAgICAgIC4uLih0aGlzLmNvbnRlbnRPcHRpb25zID8gdGhpcy5jb250ZW50T3B0aW9ucy50b0FycmF5KCkgOiBbXSksXG4gICAgXTtcbiAgfVxuXG4gIGdldCBvcGVuZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9vbHRpcFJlZi5pc0NyZWF0ZWQ7XG4gIH1cblxuICBnZXQgaW5wdXRSZWFkb25seSgpIHtcbiAgICByZXR1cm4gISh0aGlzLmZpbHRlcmFibGUgJiYgdGhpcy5vcGVuZWQpO1xuICB9XG5cbiAgZ2V0IGZpbHRlclN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyU3RyaW5nO1xuICB9XG5cbiAgc2V0IGZpbHRlclN0cmluZyh2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl9maWx0ZXJTdHJpbmcpIHtcbiAgICAgIHRoaXMuX2ZpbHRlclN0cmluZyA9IHZhbDtcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nJCQubmV4dCh2YWwpO1xuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGRlZmF1bHRGaXJzdE9wdGlvbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgbGF6eSA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBzZWxlY3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgdG9vbHRpcFJlZjogVG9vbHRpcERpcmVjdGl2ZTtcblxuICBAVmlld0NoaWxkKCdvcHRpb25MaXN0UmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByb3RlY3RlZCBvcHRpb25MaXN0UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dHRpbmdPcHRpb24nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJvdGVjdGVkIGlucHV0dGluZ09wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoT3B0aW9uQ29udGVudERpcmVjdGl2ZSlcbiAgcHJvdGVjdGVkIG9wdGlvbkNvbnRlbnQ/OiBPcHRpb25Db250ZW50RGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50KVxuICBjdXN0b21PcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBjb250ZW50T3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj47XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG4gIGlzTXVsdGkgPSBmYWxzZTtcblxuICAvKipcbiAgICogVXRpbGl0eSBmaWVsZCB0byBtYWtlIHN1cmUgdGhlIHVzZXJzIGFsd2F5cyBzZWUgdGhlIHZhbHVlIGFzIHR5cGUgYXJyYXlcbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IHZhbHVlcyQ6IE9ic2VydmFibGU8VFtdPjtcblxuICBhbGxPcHRpb25zJDogT2JzZXJ2YWJsZTxBcnJheTxPcHRpb25Db21wb25lbnQ8VD4+PjtcblxuICBwcm90ZWN0ZWQgZm9jdXNlZE9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+O1xuXG4gIHByaXZhdGUgX3NpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgcHJpdmF0ZSBfZmlsdGVyYWJsZSA9IHRydWU7XG4gIHByaXZhdGUgX2NsZWFyYWJsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9hbGxvd0NyZWF0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9maWx0ZXJTdHJpbmcgPSAnJztcblxuICBwcm90ZWN0ZWQgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIHNpemUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50U2l6ZT4odGhpcy5zaXplKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTdHJpbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihcbiAgICB0aGlzLmZpbHRlclN0cmluZyxcbiAgKTtcblxuICBzaXplJCA9IHRoaXMuc2l6ZSQkLmFzT2JzZXJ2YWJsZSgpO1xuICBmaWx0ZXJTdHJpbmckID0gdGhpcy5maWx0ZXJTdHJpbmckJC5hc09ic2VydmFibGUoKTtcbiAgaGFzVmlzaWJsZU9wdGlvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGhhc01hdGNoZWRPcHRpb24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBjdXN0b21DcmVhdGVkT3B0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0RmlsdGVyT3B0aW9uPFQ+Pj47XG4gIGNvbnRhaW5lcldpZHRoOiBzdHJpbmc7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuY3VzdG9tQ3JlYXRlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnZhbHVlcyQsXG4gICAgICAoXG4gICAgICAgIHRoaXMuY29udGVudE9wdGlvbnMuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+PlxuICAgICAgKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5jb250ZW50T3B0aW9ucyksXG4gICAgICAgIHN3aXRjaE1hcCgob3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4pID0+XG4gICAgICAgICAgb3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGNvbWJpbmVMYXRlc3Qob3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi52YWx1ZSQpKVxuICAgICAgICAgICAgOiBvZihbXSBhcyBUW10pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdmFsdWVzLCBvcHRpb25WYWx1ZXNdKSA9PlxuICAgICAgICB2YWx1ZXMucmVkdWNlPEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4+KChhY2MsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5jbHVkZWQgPSBvcHRpb25WYWx1ZXNcbiAgICAgICAgICAgIC5tYXAodmFsdWUgPT4gdGhpcy50cmFja0ZuKHZhbHVlKSlcbiAgICAgICAgICAgIC5pbmNsdWRlcyh0aGlzLnRyYWNrRm4odmFsdWUpKTtcbiAgICAgICAgICBpZiAoIWluY2x1ZGVkKSB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9XG4gICAgICAgICAgICAgIHRoaXMubGFiZWxGbj8uKHZhbHVlKSB8fCBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSk7XG4gICAgICAgICAgICBpZiAobGFiZWwpIHtcbiAgICAgICAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgW10pLFxuICAgICAgKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYWxsT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY3VzdG9tT3B0aW9ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY3VzdG9tT3B0aW9ucykpLFxuICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY29udGVudE9wdGlvbnMpKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2N1c3RvbU9wdGlvbnMsIGNvbnRlbnRPcHRpb25zXTogW1xuICAgICAgICAgIFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+LFxuICAgICAgICAgIFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+LFxuICAgICAgICBdKSA9PiBbLi4uY3VzdG9tT3B0aW9ucy50b0FycmF5KCksIC4uLmNvbnRlbnRPcHRpb25zLnRvQXJyYXkoKV0sXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG5cbiAgICAvLyBzdXBwb3J0IGR5bmFtaWMgb3B0aW9ucyBsb2FkaW5nIG9uIGZpbHRlcmluZ1xuICAgIHRoaXMuYWxsT3B0aW9ucyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdXRvRm9jdXNGaXJzdE9wdGlvbigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGFzTWF0Y2hlZE9wdGlvbiQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuYWxsT3B0aW9ucyQucGlwZShcbiAgICAgICAgbWFwKGN1c3RvbU9wdGlvbnMgPT5cbiAgICAgICAgICBjdXN0b21PcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uICE9PSB0aGlzLmlucHV0dGluZ09wdGlvbiksXG4gICAgICAgICksXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL25vLWlkZW50aWNhbC1mdW5jdGlvbnNcbiAgICAgICAgc3dpdGNoTWFwKG9wdGlvbnMgPT5cbiAgICAgICAgICBvcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChvcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnZhbHVlJCkpXG4gICAgICAgICAgICA6IG9mKFtdIGFzIFRbXSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZXMsIGZpbHRlclN0cmluZ10pID0+XG4gICAgICAgIHZhbHVlcy5zb21lKHZhbHVlID0+IHRoaXMudHJhY2tGbih2YWx1ZSkgPT09IGZpbHRlclN0cmluZyksXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG5cbiAgICB0aGlzLmhhc1Zpc2libGVPcHRpb24kID0gKFxuICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8UXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4+XG4gICAgKS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuY29udGVudE9wdGlvbnMpLFxuICAgICAgc3dpdGNoTWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PikgPT5cbiAgICAgICAgb3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgPyBjb21iaW5lTGF0ZXN0KG9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24udmlzaWJsZSQpKVxuICAgICAgICAgIDogb2YoW10gYXMgYm9vbGVhbltdKSxcbiAgICAgICksXG4gICAgICBtYXAodmlzaWJsZSA9PiB2aXNpYmxlLnNvbWUoQm9vbGVhbikpLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9wdGlvbkNvbnRlbnQ/LmRldGFjaCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb3Blbk9wdGlvbigpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYuY3JlYXRlVG9vbHRpcCgpO1xuICB9XG5cbiAgY2xvc2VPcHRpb24oKSB7XG4gICAgdGhpcy50b29sdGlwUmVmLmRpc3Bvc2VUb29sdGlwKCk7XG4gIH1cblxuICBvblNob3dPcHRpb25zKCkge1xuICAgIGNvbnN0IGV4ZWMgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRhaW5lcldpZHRoID0gdGhpcy5zZWxlY3RSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArICdweCc7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0b0ZvY3VzRmlyc3RPcHRpb24oKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNob3cuZW1pdCgpO1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25Db250ZW50KSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbkNvbnRlbnQuYXR0YWNoKCk7XG4gICAgICAgIGV4ZWMoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBleGVjKCk7XG4gICAgfVxuICB9XG5cbiAgb25IaWRlT3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5sYXp5KSB7XG4gICAgICB0aGlzLm9wdGlvbkNvbnRlbnQ/LmRldGFjaCgpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbigpO1xuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgdGhpcy5oaWRlLmVtaXQoKTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gdmFsdWU7XG5cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy5hdXRvRm9jdXNGaXJzdE9wdGlvbigpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5mb2N1c09wdGlvbkRpcignZG93bicpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5mb2N1c09wdGlvbkRpcigndXAnKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEZvY3VzZWRPcHRpb24oKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5lc2NTZWxlY3QoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG9uT3B0aW9uQ2xpY2sob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD4pIHtcbiAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbihvcHRpb24pO1xuICAgIHRoaXMuc2VsZWN0T3B0aW9uKG9wdGlvbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXV0b0ZvY3VzRmlyc3RPcHRpb24oKSB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdEZpcnN0T3B0aW9uICYmIHRoaXMuYWxsb3dDcmVhdGUgJiYgdGhpcy5maWx0ZXJTdHJpbmcpIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSB0aGlzLmNvbnRlbnRPcHRpb25zLmZpbmQoXG4gICAgICAgIG9wdGlvbiA9PiB0aGlzLnRyYWNrRm4ob3B0aW9uLnZhbHVlKSA9PT0gdGhpcy5maWx0ZXJTdHJpbmcsXG4gICAgICApO1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRPcHRpb24obWF0Y2hlZE9wdGlvbiB8fCB0aGlzLmN1c3RvbU9wdGlvbnMuZmlyc3QpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5hbGxPcHRpb25zLmZpbmQoXG4gICAgICBvcHRpb24gPT4gb3B0aW9uLnNlbGVjdGVkICYmIG9wdGlvbi52aXNpYmxlLFxuICAgICk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdEZpcnN0T3B0aW9uKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbihcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gfHxcbiAgICAgICAgICB0aGlzLmFsbE9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZpc2libGUgJiYgIW9wdGlvbi5kaXNhYmxlZCksXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9PcHRpb24oc2VsZWN0ZWRPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmb2N1c09wdGlvbkRpcihkaXI6ICdkb3duJyB8ICd1cCcpIHtcbiAgICBpZiAoIXRoaXMub3BlbmVkKSB7XG4gICAgICB0aGlzLm9wZW5PcHRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbnMgPSB0aGlzLmFsbE9wdGlvbnMuZmlsdGVyKFxuICAgICAgb3B0aW9uID0+IG9wdGlvbi52aXNpYmxlICYmICFvcHRpb24uZGlzYWJsZWQsXG4gICAgKTtcbiAgICBpZiAodmlzaWJsZU9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0ZXAgPSBkaXIgPT09ICdkb3duJyA/IDEgOiAtMTtcbiAgICBsZXQgaSA9IHZpc2libGVPcHRpb25zLmluZGV4T2YodGhpcy5mb2N1c2VkT3B0aW9uKTtcbiAgICBpID0gaSArIHN0ZXA7XG4gICAgaWYgKGkgPj0gdmlzaWJsZU9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2UgaWYgKGkgPCAwKSB7XG4gICAgICBpID0gdmlzaWJsZU9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgdGhpcy5yZXNldEZvY3VzZWRPcHRpb24odmlzaWJsZU9wdGlvbnNbaV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0Rm9jdXNlZE9wdGlvbihmb2N1c2VkT3B0aW9uPzogT3B0aW9uQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZE9wdGlvbiA9PT0gZm9jdXNlZE9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvY3VzZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZE9wdGlvbi5ibHVyKCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb2N1c2VkT3B0aW9uID0gZm9jdXNlZE9wdGlvbjtcblxuICAgIGlmICh0aGlzLmZvY3VzZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZE9wdGlvbi5mb2N1cygpO1xuICAgICAgdGhpcy5zY3JvbGxUb09wdGlvbih0aGlzLmZvY3VzZWRPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzY3JvbGxUb09wdGlvbihvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPikge1xuICAgIGlmICh0aGlzLm9wdGlvbkxpc3RSZWYpIHtcbiAgICAgIHNjcm9sbEludG9WaWV3KFxuICAgICAgICB0aGlzLm9wdGlvbkxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgb3B0aW9uLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RGb2N1c2VkT3B0aW9uKCkge1xuICAgIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgIHRoaXMub3Blbk9wdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb2N1c2VkT3B0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbih0aGlzLmZvY3VzZWRPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBlc2NTZWxlY3QoKSB7XG4gICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhY2tGbjxUPih2YWx1ZTogVCkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbHRlckZuKFxuICAgIGZpbHRlclN0cmluZzogc3RyaW5nLFxuICAgIHsgbGFiZWwsIHZhbHVlIH06IFNlbGVjdEZpbHRlck9wdGlvbjxUPixcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0eXBlb2YgbGFiZWwgPT09ICdzdHJpbmcnICYmIGxhYmVsKSB8fFxuICAgICAgdGhpcy5sYWJlbEZuPy4odmFsdWUpIHx8XG4gICAgICBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSlcbiAgICApXG4gICAgICA/LnRvTG93ZXJDYXNlKClcbiAgICAgIC5pbmNsdWRlcyhmaWx0ZXJTdHJpbmc/LnRvTG93ZXJDYXNlKCkgPz8gJycpO1xuICB9XG5cbiAgYWJzdHJhY3Qgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+KTogdm9pZDtcbiAgYWJzdHJhY3QgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpOiB2b2lkO1xufVxuIl19
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VsZWN0L2Jhc2Utc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLGFBQWEsRUFDYixFQUFFLEVBQ0YsR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUk1RCxNQUFNLE9BQWdCLFVBQ3BCLFNBQVEsaUJBQW9CO0lBRjlCOztRQXFDRSxhQUFRLEdBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3hELFlBQU8sR0FBZSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBMENwQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBR2pCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUcxQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBR1osaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2hDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBdUJoQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBV1IsVUFBSyxHQUFrQixhQUFhLENBQUMsTUFBTSxDQUFDO1FBQzVDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFakIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FDbkQsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztRQUVGLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWtTcEQ7SUFqYkMsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxHQUFpQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEdBQWlCO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVdELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsR0FBaUI7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTztZQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0QsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEdBQUc7UUFDbEIsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUEyRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxhQUFhLENBQUM7WUFDekMsSUFBSSxDQUFDLE9BQU87WUFFVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQ3JCLENBQUMsSUFBSSxDQUNKLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxDQUFDLE9BQXNDLEVBQUUsRUFBRSxDQUNuRCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFTLENBQUMsQ0FDbEIsQ0FDRjtTQUNGLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUM3QixNQUFNLENBQUMsTUFBTSxDQUErQixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6RCxNQUFNLFFBQVEsR0FBRyxZQUFZO2lCQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzdELElBQUksS0FBSyxFQUFFO29CQUNULEdBQUcsQ0FBQyxJQUFJLENBQUM7d0JBQ1AsS0FBSzt3QkFDTCxLQUFLO3FCQUNOLENBQUMsQ0FBQztpQkFDSjthQUNGO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsRUFDRCxVQUFVLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNqRSxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FDRCxDQUFDLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FHOUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNoRSxFQUNELFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFRiwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNmLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtvQkFDekIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxhQUFhLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ25CLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUNsQixhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDaEU7WUFDRCwwREFBMEQ7WUFDMUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ2xCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQVMsQ0FBQyxDQUNsQixDQUNGO1lBQ0QsSUFBSSxDQUFDLGFBQWE7U0FDbkIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFLENBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUMzRCxFQUNELFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FDckIsQ0FBQyxJQUFJLENBQ0osU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDOUIsU0FBUyxDQUFDLENBQUMsT0FBc0MsRUFBRSxFQUFFLENBQ25ELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNoQixDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFlLENBQUMsQ0FDeEIsRUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3JDLFVBQVUsRUFBRSxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBRXRFLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDekIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzVCLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxFQUFFLENBQUM7U0FDUjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUM5QjtRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLE1BQU0sS0FBSyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDNUIsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2pCLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDM0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUEwQjtRQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDNUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUMzRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLE9BQU87U0FDUjtRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FDNUMsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FDckIsY0FBYztnQkFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ3JFLENBQUM7U0FDSDthQUFNLElBQUksY0FBYyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRVMsY0FBYyxDQUFDLEdBQWtCO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixPQUFPO1NBQ1I7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDM0MsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDN0MsQ0FBQztRQUNGLElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBQ0QsTUFBTSxJQUFJLEdBQUcsR0FBRyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRCxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNQO2FBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsYUFBa0M7UUFDN0QsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLGFBQWEsRUFBRTtZQUN4QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRW5DLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVTLGNBQWMsQ0FBQyxNQUEwQjtRQUNqRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsY0FBYyxDQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDM0IsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRVMsU0FBUztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLFFBQVEsQ0FBSSxLQUFRO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsQ0FDZixZQUFvQixFQUNwQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQXlCO1FBRXZDLE9BQU8sQ0FDTCxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNyQixZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsQztZQUNDLEVBQUUsV0FBVyxFQUFFO2FBQ2QsUUFBUSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDOzt1R0FqYm1CLFVBQVU7MkZBQVYsVUFBVSwwWkFpSGhCLHNCQUFzQixvRUFNbkIsZUFBZSx3ZUFIbEIsZUFBZTsyRkFwSFQsVUFBVTtrQkFEL0IsU0FBUzs4QkFNSixJQUFJO3NCQURQLEtBQUs7Z0JBY0YsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSztnQkFVTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJRixXQUFXO3NCQURkLEtBQUs7Z0JBcUNOLE9BQU87c0JBRE4sS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU07Z0JBSVAsSUFBSTtzQkFESCxNQUFNO2dCQUlQLElBQUk7c0JBREgsTUFBTTtnQkFJRyxTQUFTO3NCQURsQixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTlCLFVBQVU7c0JBRG5CLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0IsYUFBYTtzQkFEdEIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUluQyxlQUFlO3NCQUR4QixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJckMsYUFBYTtzQkFEdEIsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBSXBDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxlQUFlO2dCQUk3QixjQUFjO3NCQURiLGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgb2YsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vbkZvcm1Db250cm9sIH0gZnJvbSAnLi4vZm9ybSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgY29lcmNlQXR0ckJvb2xlYW4sXG4gIGNvZXJjZVN0cmluZyxcbiAgaXNUZW1wbGF0ZVJlZixcbiAgcHVibGlzaFJlZixcbiAgc2Nyb2xsSW50b1ZpZXcsXG59IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgT3B0aW9uQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vaGVscGVyLWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25GaWx0ZXJGbiwgU2VsZWN0RmlsdGVyT3B0aW9uLCBUcmFja0ZuIH0gZnJvbSAnLi9zZWxlY3QudHlwZXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VsZWN0PFQsIFYgPSBUPlxuICBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPFY+XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG5cbiAgc2V0IHNpemUodmFsKSB7XG4gICAgaWYgKCF2YWwgfHwgdGhpcy5fc2l6ZSA9PT0gdmFsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3NpemUgPSB2YWw7XG4gICAgdGhpcy5zaXplJCQubmV4dCh2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGZpbHRlcmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcmFibGU7XG4gIH1cblxuICBzZXQgZmlsdGVyYWJsZSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2ZpbHRlcmFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNsZWFyYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xlYXJhYmxlO1xuICB9XG5cbiAgc2V0IGNsZWFyYWJsZSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2NsZWFyYWJsZSA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbjogT3B0aW9uRmlsdGVyRm48VD4gPSB0aGlzLl9maWx0ZXJGbi5iaW5kKHRoaXMpO1xuXG4gIEBJbnB1dCgpXG4gIHRyYWNrRm46IFRyYWNrRm48VD4gPSB0aGlzLl90cmFja0ZuO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsRm4/OiAodmFsdWU6IFQpID0+IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgYWxsb3dDcmVhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93Q3JlYXRlO1xuICB9XG5cbiAgc2V0IGFsbG93Q3JlYXRlKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fYWxsb3dDcmVhdGUgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgZ2V0IGFsbE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLmN1c3RvbU9wdGlvbnMgPyB0aGlzLmN1c3RvbU9wdGlvbnMudG9BcnJheSgpIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29udGVudE9wdGlvbnMgPyB0aGlzLmNvbnRlbnRPcHRpb25zLnRvQXJyYXkoKSA6IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0IG9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwUmVmLmlzQ3JlYXRlZDtcbiAgfVxuXG4gIGdldCBpbnB1dFJlYWRvbmx5KCkge1xuICAgIHJldHVybiAhKHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCk7XG4gIH1cblxuICBnZXQgZmlsdGVyU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJTdHJpbmc7XG4gIH1cblxuICBzZXQgZmlsdGVyU3RyaW5nKHZhbCkge1xuICAgIGlmICh2YWwgIT09IHRoaXMuX2ZpbHRlclN0cmluZykge1xuICAgICAgdGhpcy5fZmlsdGVyU3RyaW5nID0gdmFsO1xuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckJC5uZXh0KHZhbCk7XG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KClcbiAgZGVmYXVsdEZpcnN0T3B0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBsYXp5ID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIHNlbGVjdFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCB0b29sdGlwUmVmOiBUb29sdGlwRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbkxpc3RSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJvdGVjdGVkIG9wdGlvbkxpc3RSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0dGluZ09wdGlvbicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcm90ZWN0ZWQgaW5wdXR0aW5nT3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD47XG5cbiAgQENvbnRlbnRDaGlsZChPcHRpb25Db250ZW50RGlyZWN0aXZlKVxuICBwcm90ZWN0ZWQgb3B0aW9uQ29udGVudD86IE9wdGlvbkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgQFZpZXdDaGlsZHJlbihPcHRpb25Db21wb25lbnQpXG4gIGN1c3RvbU9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIGNvbnRlbnRPcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcbiAgaXNNdWx0aSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVdGlsaXR5IGZpZWxkIHRvIG1ha2Ugc3VyZSB0aGUgdXNlcnMgYWx3YXlzIHNlZSB0aGUgdmFsdWUgYXMgdHlwZSBhcnJheVxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgdmFsdWVzJDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIGFsbE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PE9wdGlvbkNvbXBvbmVudDxUPj4+O1xuXG4gIHByb3RlY3RlZCBmb2N1c2VkT3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD47XG5cbiAgcHJpdmF0ZSBfc2l6ZTogQ29tcG9uZW50U2l6ZSA9IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICBwcml2YXRlIF9maWx0ZXJhYmxlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfY2xlYXJhYmxlID0gZmFsc2U7XG4gIHByaXZhdGUgX2FsbG93Q3JlYXRlID0gZmFsc2U7XG4gIHByaXZhdGUgX2ZpbHRlclN0cmluZyA9ICcnO1xuXG4gIHByb3RlY3RlZCBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcm90ZWN0ZWQgc2l6ZSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb21wb25lbnRTaXplPih0aGlzLnNpemUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlclN0cmluZyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFxuICAgIHRoaXMuZmlsdGVyU3RyaW5nLFxuICApO1xuXG4gIHNpemUkID0gdGhpcy5zaXplJCQuYXNPYnNlcnZhYmxlKCk7XG4gIGZpbHRlclN0cmluZyQgPSB0aGlzLmZpbHRlclN0cmluZyQkLmFzT2JzZXJ2YWJsZSgpO1xuICBoYXNWaXNpYmxlT3B0aW9uJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaGFzTWF0Y2hlZE9wdGlvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGN1c3RvbUNyZWF0ZWRPcHRpb25zJDogT2JzZXJ2YWJsZTxBcnJheTxTZWxlY3RGaWx0ZXJPcHRpb248VD4+PjtcbiAgY29udGFpbmVyV2lkdGg6IHN0cmluZztcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jdXN0b21DcmVhdGVkT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMudmFsdWVzJCxcbiAgICAgIChcbiAgICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8UXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4+XG4gICAgICApLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRPcHRpb25zKSxcbiAgICAgICAgc3dpdGNoTWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PikgPT5cbiAgICAgICAgICBvcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChvcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnZhbHVlJCkpXG4gICAgICAgICAgICA6IG9mKFtdIGFzIFRbXSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZXMsIG9wdGlvblZhbHVlc10pID0+XG4gICAgICAgIHZhbHVlcy5yZWR1Y2U8QXJyYXk8U2VsZWN0RmlsdGVyT3B0aW9uPFQ+Pj4oKGFjYywgdmFsdWUpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmNsdWRlZCA9IG9wdGlvblZhbHVlc1xuICAgICAgICAgICAgLm1hcCh2YWx1ZSA9PiB0aGlzLnRyYWNrRm4odmFsdWUpKVxuICAgICAgICAgICAgLmluY2x1ZGVzKHRoaXMudHJhY2tGbih2YWx1ZSkpO1xuICAgICAgICAgIGlmICghaW5jbHVkZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID1cbiAgICAgICAgICAgICAgdGhpcy5sYWJlbEZuPy4odmFsdWUpIHx8IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4odmFsdWUpKTtcbiAgICAgICAgICAgIGlmIChsYWJlbCkge1xuICAgICAgICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCBbXSksXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hbGxPcHRpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jdXN0b21PcHRpb25zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5jdXN0b21PcHRpb25zKSksXG4gICAgICB0aGlzLmNvbnRlbnRPcHRpb25zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5jb250ZW50T3B0aW9ucykpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbY3VzdG9tT3B0aW9ucywgY29udGVudE9wdGlvbnNdOiBbXG4gICAgICAgICAgUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4sXG4gICAgICAgICAgUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4sXG4gICAgICAgIF0pID0+IFsuLi5jdXN0b21PcHRpb25zLnRvQXJyYXkoKSwgLi4uY29udGVudE9wdGlvbnMudG9BcnJheSgpXSxcbiAgICAgICksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcblxuICAgIC8vIHN1cHBvcnQgZHluYW1pYyBvcHRpb25zIGxvYWRpbmcgb24gZmlsdGVyaW5nXG4gICAgdGhpcy5hbGxPcHRpb25zJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5vcGVuZWQpIHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmF1dG9Gb2N1c0ZpcnN0T3B0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5oYXNNYXRjaGVkT3B0aW9uJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hbGxPcHRpb25zJC5waXBlKFxuICAgICAgICBtYXAoY3VzdG9tT3B0aW9ucyA9PlxuICAgICAgICAgIGN1c3RvbU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24gIT09IHRoaXMuaW5wdXR0aW5nT3B0aW9uKSxcbiAgICAgICAgKSxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvbm8taWRlbnRpY2FsLWZ1bmN0aW9uc1xuICAgICAgICBzd2l0Y2hNYXAob3B0aW9ucyA9PlxuICAgICAgICAgIG9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBjb21iaW5lTGF0ZXN0KG9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24udmFsdWUkKSlcbiAgICAgICAgICAgIDogb2YoW10gYXMgVFtdKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICB0aGlzLmZpbHRlclN0cmluZyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3ZhbHVlcywgZmlsdGVyU3RyaW5nXSkgPT5cbiAgICAgICAgdmFsdWVzLnNvbWUodmFsdWUgPT4gdGhpcy50cmFja0ZuKHZhbHVlKSA9PT0gZmlsdGVyU3RyaW5nKSxcbiAgICAgICksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcblxuICAgIHRoaXMuaGFzVmlzaWJsZU9wdGlvbiQgPSAoXG4gICAgICB0aGlzLmNvbnRlbnRPcHRpb25zLmNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+Pj5cbiAgICApLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5jb250ZW50T3B0aW9ucyksXG4gICAgICBzd2l0Y2hNYXAoKG9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+KSA9PlxuICAgICAgICBvcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IGNvbWJpbmVMYXRlc3Qob3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi52aXNpYmxlJCkpXG4gICAgICAgICAgOiBvZihbXSBhcyBib29sZWFuW10pLFxuICAgICAgKSxcbiAgICAgIG1hcCh2aXNpYmxlID0+IHZpc2libGUuc29tZShCb29sZWFuKSksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub3B0aW9uQ29udGVudD8uZGV0YWNoKCk7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvcGVuT3B0aW9uKCkge1xuICAgIHRoaXMudG9vbHRpcFJlZi5jcmVhdGVUb29sdGlwKCk7XG4gIH1cblxuICBjbG9zZU9wdGlvbigpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYuZGlzcG9zZVRvb2x0aXAoKTtcbiAgfVxuXG4gIG9uU2hvd09wdGlvbnMoKSB7XG4gICAgY29uc3QgZXhlYyA9ICgpID0+IHtcbiAgICAgIHRoaXMuY29udGFpbmVyV2lkdGggPSB0aGlzLnNlbGVjdFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JztcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5hdXRvRm9jdXNGaXJzdE9wdGlvbigpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2hvdy5lbWl0KCk7XG4gICAgfTtcblxuICAgIGlmICh0aGlzLm9wdGlvbkNvbnRlbnQpIHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uQ29udGVudC5hdHRhY2goKTtcbiAgICAgICAgZXhlYygpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4ZWMoKTtcbiAgICB9XG4gIH1cblxuICBvbkhpZGVPcHRpb25zKCkge1xuICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmxhenkpIHtcbiAgICAgIHRoaXMub3B0aW9uQ29udGVudD8uZGV0YWNoKCk7XG4gICAgfVxuICAgIHRoaXMucmVzZXRGb2N1c2VkT3B0aW9uKCk7XG4gICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5maWx0ZXJTdHJpbmcgPSB2YWx1ZTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLmF1dG9Gb2N1c0ZpcnN0T3B0aW9uKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLmZvY3VzT3B0aW9uRGlyKCdkb3duJyk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLmZvY3VzT3B0aW9uRGlyKCd1cCcpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZE9wdGlvbigpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmVzY1NlbGVjdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgb25PcHRpb25DbGljayhvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPikge1xuICAgIHRoaXMucmVzZXRGb2N1c2VkT3B0aW9uKG9wdGlvbik7XG4gICAgdGhpcy5zZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhdXRvRm9jdXNGaXJzdE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0Rmlyc3RPcHRpb24gJiYgdGhpcy5hbGxvd0NyZWF0ZSAmJiB0aGlzLmZpbHRlclN0cmluZykge1xuICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IHRoaXMuY29udGVudE9wdGlvbnMuZmluZChcbiAgICAgICAgb3B0aW9uID0+IHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpID09PSB0aGlzLmZpbHRlclN0cmluZyxcbiAgICAgICk7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbihtYXRjaGVkT3B0aW9uIHx8IHRoaXMuY3VzdG9tT3B0aW9ucy5maXJzdCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLmFsbE9wdGlvbnMuZmluZChcbiAgICAgIG9wdGlvbiA9PiBvcHRpb24uc2VsZWN0ZWQgJiYgb3B0aW9uLnZpc2libGUsXG4gICAgKTtcbiAgICBpZiAodGhpcy5kZWZhdWx0Rmlyc3RPcHRpb24pIHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkT3B0aW9uKFxuICAgICAgICBzZWxlY3RlZE9wdGlvbiB8fFxuICAgICAgICAgIHRoaXMuYWxsT3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmlzaWJsZSAmJiAhb3B0aW9uLmRpc2FibGVkKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZE9wdGlvbikge1xuICAgICAgdGhpcy5zY3JvbGxUb09wdGlvbihzZWxlY3RlZE9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZvY3VzT3B0aW9uRGlyKGRpcjogJ2Rvd24nIHwgJ3VwJykge1xuICAgIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgIHRoaXMub3Blbk9wdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlT3B0aW9ucyA9IHRoaXMuYWxsT3B0aW9ucy5maWx0ZXIoXG4gICAgICBvcHRpb24gPT4gb3B0aW9uLnZpc2libGUgJiYgIW9wdGlvbi5kaXNhYmxlZCxcbiAgICApO1xuICAgIGlmICh2aXNpYmxlT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RlcCA9IGRpciA9PT0gJ2Rvd24nID8gMSA6IC0xO1xuICAgIGxldCBpID0gdmlzaWJsZU9wdGlvbnMuaW5kZXhPZih0aGlzLmZvY3VzZWRPcHRpb24pO1xuICAgIGkgPSBpICsgc3RlcDtcbiAgICBpZiAoaSA+PSB2aXNpYmxlT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgIGkgPSAwO1xuICAgIH0gZWxzZSBpZiAoaSA8IDApIHtcbiAgICAgIGkgPSB2aXNpYmxlT3B0aW9ucy5sZW5ndGggLSAxO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbih2aXNpYmxlT3B0aW9uc1tpXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzZXRGb2N1c2VkT3B0aW9uKGZvY3VzZWRPcHRpb24/OiBPcHRpb25Db21wb25lbnQ8VD4pIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkT3B0aW9uID09PSBmb2N1c2VkT3B0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9jdXNlZE9wdGlvbikge1xuICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uLmJsdXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZvY3VzZWRPcHRpb24gPSBmb2N1c2VkT3B0aW9uO1xuXG4gICAgaWYgKHRoaXMuZm9jdXNlZE9wdGlvbikge1xuICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uLmZvY3VzKCk7XG4gICAgICB0aGlzLnNjcm9sbFRvT3B0aW9uKHRoaXMuZm9jdXNlZE9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNjcm9sbFRvT3B0aW9uKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKHRoaXMub3B0aW9uTGlzdFJlZikge1xuICAgICAgc2Nyb2xsSW50b1ZpZXcoXG4gICAgICAgIHRoaXMub3B0aW9uTGlzdFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICBvcHRpb24uZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdEZvY3VzZWRPcHRpb24oKSB7XG4gICAgaWYgKCF0aGlzLm9wZW5lZCkge1xuICAgICAgdGhpcy5vcGVuT3B0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmZvY3VzZWRPcHRpb24gJiYgIXRoaXMuZm9jdXNlZE9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZWxlY3RPcHRpb24odGhpcy5mb2N1c2VkT3B0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZXNjU2VsZWN0KCkge1xuICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyYWNrRm48VD4odmFsdWU6IFQpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGbihcbiAgICBmaWx0ZXJTdHJpbmc6IHN0cmluZyxcbiAgICB7IGxhYmVsLCB2YWx1ZSB9OiBTZWxlY3RGaWx0ZXJPcHRpb248VD4sXG4gICkge1xuICAgIHJldHVybiAoXG4gICAgICAodHlwZW9mIGxhYmVsID09PSAnc3RyaW5nJyAmJiBsYWJlbCkgfHxcbiAgICAgIHRoaXMubGFiZWxGbj8uKHZhbHVlKSB8fFxuICAgICAgY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbih2YWx1ZSkpXG4gICAgKVxuICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAuaW5jbHVkZXMoZmlsdGVyU3RyaW5nPy50b0xvd2VyQ2FzZSgpID8/ICcnKTtcbiAgfVxuXG4gIGFic3RyYWN0IHNlbGVjdE9wdGlvbihvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPik6IHZvaWQ7XG4gIGFic3RyYWN0IGNsZWFyVmFsdWUoZXZlbnQ6IEV2ZW50KTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -154,7 +154,8 @@ export class MultiSelectComponent extends BaseSelect {
|
|
|
154
154
|
if (event.key === 'Backspace' &&
|
|
155
155
|
this.filterString === '' &&
|
|
156
156
|
this.model.length > 0 &&
|
|
157
|
-
!this.hasDisabledOption
|
|
157
|
+
!this.hasDisabledOption // Disabled backspace when any of select options have disabled state.
|
|
158
|
+
) {
|
|
158
159
|
this.removeValue(this.model[this.model.length - 1]);
|
|
159
160
|
event.stopPropagation();
|
|
160
161
|
event.preventDefault();
|
|
@@ -307,4 +308,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
307
308
|
type: HostBinding,
|
|
308
309
|
args: ['style.display']
|
|
309
310
|
}] } });
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWxlY3QvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvc2VsZWN0L211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsYUFBYSxFQUNiLEVBQUUsRUFDRixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFFTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFDTCxlQUFlLEdBR2hCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBeUJ6QixNQUFNLE9BQU8sb0JBQ1gsU0FBUSxVQUFrQjtJQXlGMUIsWUFBWSxHQUFzQixFQUFtQixRQUFtQjtRQUN0RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEd0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXRGeEUsUUFBRyxHQUFRLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hDLGlCQUFZ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QkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLFVBQVU7NEJBQ25CLFdBQVcsc0JBQXNCO3lCQUNsQztxQkFDRjtnSUFvQkQsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSUYsY0FBYztzQkFEakIsS0FBSztnQkFVTixRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkzQyxZQUFZO3NCQURmLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29tYmluZUxhdGVzdCxcbiAgb2YsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGNyZWF0ZVdpdGhNYXhSb3dDb3VudCB9IGZyb20gJy4uLy4uL2lucHV0L3RhZ3MtaW5wdXQvd2l0aC1tYXgtcm93LWNvdW50JztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge1xuICBCZW0sXG4gIGJ1aWxkQmVtLFxuICBjb2VyY2VBdHRyQm9vbGVhbixcbiAgY29lcmNlU3RyaW5nLFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0IH0gZnJvbSAnLi4vYmFzZS1zZWxlY3QnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU2VsZWN0QWxsU3RhdHVzLFxuICBTZWxlY3RGaWx0ZXJPcHRpb24sXG4gIFRhZ0NsYXNzRm4sXG59IGZyb20gJy4uL3NlbGVjdC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uLy4uL2lucHV0L2lucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vdGFnL3RhZy5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQmFzZVNlbGVjdCxcbiAgICAgIHVzZUV4aXN0aW5nOiBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93bj5cbiAgZXh0ZW5kcyBCYXNlU2VsZWN0PFQsIFRbXT5cbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0XG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1tdWx0aS1zZWxlY3QnKTtcbiAgYmVtU2VsZWN0QWxsOiBCZW0gPSBidWlsZEJlbSgnYXVpLW9wdGlvbicpO1xuICBzZWxlY3RlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4+O1xuICBzZWxlY3RBbGxTdGF0dXMkOiBPYnNlcnZhYmxlPFNlbGVjdEFsbFN0YXR1cz47XG4gIHNlbGVjdEFsbFN0YXR1czogU2VsZWN0QWxsU3RhdHVzO1xuICBoYXNFbmFibGVkT3B0aW9ucyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBfYWxsb3dTZWxlY3RBbGwgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgaXNNdWx0aSA9IHRydWU7XG4gIG92ZXJyaWRlIG1vZGVsOiBUW10gPSBbXTtcblxuICB2YWx1ZXMkID0gdGhpcy5tb2RlbCQ7XG5cbiAgQElucHV0KClcbiAgdGFnQ2xhc3NGbjogVGFnQ2xhc3NGbjxUPjtcblxuICBASW5wdXQoKVxuICBtYXhSb3dDb3VudCA9IDA7XG5cbiAgQElucHV0KClcbiAgY3VzdG9tUm93SGVpZ2h0ID0gMDsgLy8gMDogdXNlIGRlZmF1bHQgc3R5bGUgY29uc3QgdmFsdWUsID4gMTogZm9yIGBgYHRhZ0NsYXNzRm5gYGAgbWF5YmUgYWZmZWN0IGxpbmVIZWlnaHRcblxuICBASW5wdXQoKVxuICBnZXQgYWxsb3dTZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93U2VsZWN0QWxsO1xuICB9XG5cbiAgc2V0IGFsbG93U2VsZWN0QWxsKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fYWxsb3dTZWxlY3RBbGwgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dFZhbHVlTWlycm9yJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaW5wdXRWYWx1ZU1pcnJvcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpXG4gIGdldCBob3N0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lmhvc3RQb3NpdGlvbigpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgZ2V0IGhvc3REaXNwbGF5KCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5ob3N0RGlzcGxheSgpO1xuICB9XG5cbiAgaW5wdXRWYWx1ZSA9ICcnO1xuICBoYXNEaXNhYmxlZE9wdGlvbiA9IGZhbHNlO1xuXG4gIGdldCByb290Q2xhc3MoKSB7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2l6ZSB8fCBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgICByZXR1cm4gYGF1aS1pbnB1dCAke3RoaXMuYmVtLmJsb2NrKHNpemUpfSAke1xuICAgICAgdGhpcy5kaXNhYmxlZCA/ICdpc0Rpc2FibGVkJyA6ICcnXG4gICAgfSAke3RoaXMuZm9jdXNlZCA/ICdpc0ZvY3VzZWQnIDogJyd9ICR7XG4gICAgICB0aGlzLmRpc3BsYXlDbGVhckJ0biA/ICdpc0NsZWFyYWJsZScgOiAnJ1xuICAgIH0gJHt0aGlzLm1heFJvd0NvdW50ID4gMCA/ICd3aXRoSGVpZ2h0TGltaXQnIDogJyd9YDtcbiAgfVxuXG4gIGdldCB0YWdTaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IENvbXBvbmVudFNpemUuTGFyZ2VcbiAgICAgID8gQ29tcG9uZW50U2l6ZS5NZWRpdW1cbiAgICAgIDogQ29tcG9uZW50U2l6ZS5NaW5pO1xuICB9XG5cbiAgZ2V0IGlucHV0Q2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmVtLmVsZW1lbnQoJ2lucHV0Jywge1xuICAgICAgaGlkZGVuOiB0aGlzLmlucHV0UmVhZG9ubHksXG4gICAgfSl9IGF1aS10YWcgYXVpLXRhZy0tJHt0aGlzLnRhZ1NpemV9YDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5Q2xlYXJCdG4oKSB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJhYmxlICYmIHRoaXMubW9kZWwubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IG1heEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQubWF4SGVpZ2h0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHdpdGhNYXhSb3dDb3VudCA9IGNyZWF0ZVdpdGhNYXhSb3dDb3VudCh0aGlzKTtcblxuICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgdHJhY2tCeVZhbHVlID0gKF86IG51bWJlciwgaXRlbTogU2VsZWN0RmlsdGVyT3B0aW9uPFQ+KSA9PlxuICAgIHRoaXMudHJhY2tGbihpdGVtLnZhbHVlKTtcblxuICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBzdXBlcihjZHIpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1vZGVsJCxcbiAgICAgIChcbiAgICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8UXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4+XG4gICAgICApLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRPcHRpb25zKSxcbiAgICAgICAgc3dpdGNoTWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PikgPT5cbiAgICAgICAgICBvcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBvcHRpb25zLm1hcChvcHRpb24gPT5cbiAgICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICBvcHRpb24udmFsdWUkLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWwkLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWxDb250ZXh0JCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkJCxcbiAgICAgICAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW3ZhbHVlLCBsYWJlbCwgbGFiZWxDb250ZXh0LCBkaXNhYmxlZF0pID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWxDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YoW10gYXMgQXJyYXk8U2VsZWN0RmlsdGVyT3B0aW9uPFQ+PiksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZXMsIG9wdGlvbnNdKSA9PlxuICAgICAgICB2YWx1ZXNcbiAgICAgICAgICAubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgb3B0aW9uID0+IHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpID09PSB0aGlzLnRyYWNrRm4odmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmxhYmVsIHx8IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4ob3B0aW9uLnZhbHVlKSksXG4gICAgICAgICAgICAgICAgICBsYWJlbENvbnRleHQ6IG9wdGlvbi5sYWJlbENvbnRleHQsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFiZWxGbj8uKHZhbHVlKSB8fCBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSksXG4gICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLy8gc29ydCBkaXNhYmxlZCBvcHRpb25zIGFzIGZpcnN0XG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGlmIChhLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRhcChvcHRpb25zID0+ICh0aGlzLmhhc0Rpc2FibGVkT3B0aW9uID0gb3B0aW9ucy5zb21lKG8gPT4gby5kaXNhYmxlZCkpKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuc2VsZWN0QWxsU3RhdHVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hbGxPcHRpb25zJCxcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nJCxcbiAgICBdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbYWxsT3B0aW9uc10pID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIC4uLihhbGxPcHRpb25zID8/IFtdKVxuICAgICAgICAgICAgLmZpbHRlcigoeyB2aXNpYmxlLCBkaXNhYmxlZCB9KSA9PiB2aXNpYmxlICYmICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5tYXAoKHsgc2VsZWN0ZWQkIH0pID0+IHNlbGVjdGVkJCksXG4gICAgICAgIF0pLFxuICAgICAgKSxcbiAgICAgIG1hcChzdGF0dXNlcyA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gc3RhdHVzZXMuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWQubGVuZ3RoID09PSAwXG4gICAgICAgICAgPyBTZWxlY3RBbGxTdGF0dXMuRW1wdHlcbiAgICAgICAgICA6IHNlbGVjdGVkLmxlbmd0aCAhPT0gc3RhdHVzZXMubGVuZ3RoXG4gICAgICAgICAgPyBTZWxlY3RBbGxTdGF0dXMuSW5kZXRlcm1pbmF0ZVxuICAgICAgICAgIDogU2VsZWN0QWxsU3RhdHVzLkNoZWNrZWQ7XG4gICAgICB9KSxcbiAgICAgIHN0YXJ0V2l0aChTZWxlY3RBbGxTdGF0dXMuRW1wdHkpLFxuICAgICAgdGFwKHNlbGVjdEFsbFN0YXR1cyA9PiAodGhpcy5zZWxlY3RBbGxTdGF0dXMgPSBzZWxlY3RBbGxTdGF0dXMpKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICAgIHRoaXMuaGFzRW5hYmxlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFsbE9wdGlvbnMkLFxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbYWxsT3B0aW9uc10pID0+XG4gICAgICAgICAgISFhbGxPcHRpb25zLmZpbHRlcigoeyB2aXNpYmxlLCBkaXNhYmxlZCB9KSA9PiB2aXNpYmxlICYmICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5sZW5ndGgsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBvblNob3dPcHRpb25zKCkge1xuICAgIHN1cGVyLm9uU2hvd09wdGlvbnMoKTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSGlkZU9wdGlvbnMoKSB7XG4gICAgc3VwZXIub25IaWRlT3B0aW9ucygpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3VwZXIub25JbnB1dChldmVudCk7XG4gICAgdGhpcy5zZXRJbnB1dFdpZHRoKCk7XG4gICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gIH1cblxuICBvbklucHV0Rm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgJiZcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID09PSAnJyAmJlxuICAgICAgdGhpcy5tb2RlbC5sZW5ndGggPiAwICYmXG4gICAgICAhdGhpcy5oYXNEaXNhYmxlZE9wdGlvblxuICAgICkge1xuICAgICAgdGhpcy5yZW1vdmVWYWx1ZSh0aGlzLm1vZGVsW3RoaXMubW9kZWwubGVuZ3RoIC0gMV0pO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMubW9kZWxcbiAgICAgICAgICAubWFwKHZhbHVlID0+IHRoaXMudHJhY2tGbih2YWx1ZSkpXG4gICAgICAgICAgLmluY2x1ZGVzKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RGb2N1c2VkT3B0aW9uKCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1cGVyLm9uS2V5RG93bihldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKG9wdGlvbi5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZW1vdmVWYWx1ZShvcHRpb24udmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZFZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGlzQ3VzdG9tID0gIXRoaXMuY29udGVudE9wdGlvbnMuc29tZShcbiAgICAgICh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBvcHRpb24udmFsdWUsXG4gICAgKTtcbiAgICBpZiAoaXNDdXN0b20pIHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkT3B0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkVmFsdWUodmFsdWU6IFQpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLm1vZGVsLmNvbmNhdCh2YWx1ZSk7XG4gICAgdGhpcy5lbWl0VmFsdWUodmFsdWVzKTtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKSB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5tb2RlbC5maWx0ZXIoXG4gICAgICBpdGVtID0+IHRoaXMudHJhY2tGbihpdGVtKSAhPT0gdGhpcy50cmFja0ZuKHZhbHVlKSxcbiAgICApO1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlcyk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZW1pdFZhbHVlKFtdKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgb25TZWxlY3RBbGxDbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uc1ZhbHVlID0gdGhpcy5hbGxPcHRpb25zXG4gICAgICAuZmlsdGVyKCh7IHZpc2libGUsIGRpc2FibGVkIH0pID0+IHZpc2libGUgJiYgIWRpc2FibGVkKVxuICAgICAgLm1hcCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RBbGxTdGF0dXMgPT09IFNlbGVjdEFsbFN0YXR1cy5DaGVja2VkKSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZShcbiAgICAgICAgdGhpcy5tb2RlbC5maWx0ZXIodmFsdWUgPT4gIXRoaXMuaW5jbHVkZXModmlzaWJsZU9wdGlvbnNWYWx1ZSwgdmFsdWUpKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKFxuICAgICAgICB0aGlzLm1vZGVsLmNvbmNhdCh2aXNpYmxlT3B0aW9uc1ZhbHVlKS5yZWR1Y2U8VFtdPigoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmluY2x1ZGVzKGFjYywgY3VycikpIHtcbiAgICAgICAgICAgIGFjYy5wdXNoKGN1cnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCBbXSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5jbHVkZXModmFsdWVzOiBUW10sIHZhbHVlOiBUKSB7XG4gICAgcmV0dXJuIHZhbHVlcy5zb21lKHYgPT4gdGhpcy50cmFja0ZuKHYpID09PSB0aGlzLnRyYWNrRm4odmFsdWUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUluKHY6IFRbXSk6IFRbXSB7XG4gICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMudG9vbHRpcFJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgIH0pO1xuICAgIHJldHVybiB2IHx8IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldElucHV0KCkge1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuc2V0SW5wdXRXaWR0aCgpO1xuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gIH1cblxuICAvLyBjYWxjdWxhdGUgaW5wdXQgZWxlbWVudCB3aWR0aCBhY2NvcmRpbmcgdG8gaXRzIHZhbHVlXG4gIHByaXZhdGUgc2V0SW5wdXRXaWR0aCgpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICBgJHt0aGlzLmlucHV0VmFsdWVNaXJyb3IubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aH1weGAsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cInJvb3RDbGFzc1wiXG4gICNzZWxlY3RSZWZcbiAgI3Rvb2x0aXBSZWY9XCJhdWlUb29sdGlwXCJcbiAgW2F1aVRvb2x0aXBdPVwidGVtcGxhdGVSZWZcIlxuICBbYXVpVG9vbHRpcERpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgYXVpVG9vbHRpcFRyaWdnZXI9XCJjbGlja1wiXG4gIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBzdGFydFwiXG4gIGF1aVRvb2x0aXBUeXBlPVwicGxhaW5cIlxuICAoYXVpVG9vbHRpcFNob3cpPVwib25TaG93T3B0aW9ucygpXCJcbiAgKGF1aVRvb2x0aXBIaWRlKT1cIm9uSGlkZU9wdGlvbnMoKVwiXG4gIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXVpLW11bHRpLXNlbGVjdF9fc3VmZml4XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19pY29uLWNvbnRhaW5lclwiPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgIGNsYXNzPVwiYXVpLW11bHRpLXNlbGVjdF9faW5kaWNhdG9yXCJcbiAgICAgICAgW2ljb25dPVwibG9hZGluZyA/ICdzcGlubmVyJyA6ICdjYXJldF9kb3duX3MnXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgIGNsYXNzPVwiYXVpLW11bHRpLXNlbGVjdF9fY2xlYXJcIlxuICAgICAgICBpY29uPVwiY2xvc2Vfc21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxzcGFuXG4gICAgW2hpZGRlbl09XCJtb2RlbC5sZW5ndGggfHwgaW5wdXRSZWYudmFsdWUubGVuZ3RoXCJcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BsYWNlaG9sZGVyJylcIlxuICA+XG4gICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgPC9zcGFuPlxuICA8YXVpLXRhZ1xuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5VmFsdWVcIlxuICAgIHR5cGU9XCJpbmZvXCJcbiAgICBbcm91bmRdPVwidHJ1ZVwiXG4gICAgW2JvcmRlcl09XCJ0cnVlXCJcbiAgICBbc2l6ZV09XCJ0YWdTaXplXCJcbiAgICBbY2xvc2VhYmxlXT1cIiFkaXNhYmxlZCAmJiAhb3B0aW9uLmRpc2FibGVkXCJcbiAgICAoY2xvc2UpPVwicmVtb3ZlVmFsdWUob3B0aW9uLnZhbHVlKVwiXG4gICAgW25nQ2xhc3NdPVwidGFnQ2xhc3NGbiAmJiB0YWdDbGFzc0ZuKG9wdGlvbi5sYWJlbCwgb3B0aW9uLnZhbHVlKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9uLmxhYmVsKTsgZWxzZSBsYWJlbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb24ubGFiZWxcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIm9wdGlvbi5sYWJlbENvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xhYmVsPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9hdWktdGFnPlxuICA8aW5wdXRcbiAgICAjaW5wdXRSZWZcbiAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgIFtyZWFkb25seV09XCJpbnB1dFJlYWRvbmx5XCJcbiAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAoYmx1cik9XCJvbklucHV0Qmx1cigpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gIC8+XG4gIDxzcGFuXG4gICAgI2lucHV0VmFsdWVNaXJyb3JcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ21pcnJvcicpXCJcbiAgPlxuICAgIHt7IGlucHV0VmFsdWUgfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWluV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI29wdGlvbkxpc3RSZWZcbiAgICAgIGNsYXNzPVwiYXVpLW9wdGlvbi1jb250YWluZXJfX2NvbnRlbnRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBhbGxvd1NlbGVjdEFsbCAmJlxuICAgICAgICAgIChoYXNFbmFibGVkT3B0aW9ucyQgfCBhc3luYykgJiZcbiAgICAgICAgICAoKGhhc1Zpc2libGVPcHRpb24kIHwgYXN5bmMpIHx8XG4gICAgICAgICAgICAoYWxsb3dDcmVhdGUgJiYgKGN1c3RvbUNyZWF0ZWRPcHRpb25zJCB8IGFzeW5jKS5sZW5ndGgpIHx8XG4gICAgICAgICAgICAoYWxsb3dDcmVhdGUgJiYgZmlsdGVyU3RyaW5nKSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXVpLW9wdGlvblwiXG4gICAgICAgICAgW2NsYXNzXT1cImJlbVNlbGVjdEFsbC5ibG9jayhzaXplJCB8IGFzeW5jKVwiXG4gICAgICAgICAgW2NsYXNzLmlzRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFtjbGFzcy5pc1NlbGVjdGVkXT1cIiEhKHNlbGVjdEFsbFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICAgIFtjbGFzcy5pc011bHRpXT1cInRydWVcIlxuICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbENsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJhdWktb3B0aW9uX19wb2ludGVyXCI+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgW2ljb25dPVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdEFsbFN0YXR1cyQgfCBhc3luYykgPT09ICdjaGVja2VkJ1xuICAgICAgICAgICAgICAgICAgPyAnY2hlY2tfcydcbiAgICAgICAgICAgICAgICAgIDogJ3NxdWFyZV9zJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbaGlkZGVuXT1cIiEoc2VsZWN0QWxsU3RhdHVzJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2k+XG4gICAgICAgICAge3sgJ3NlbGVjdF9hbGwnIHwgYXVpSTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyIGNsYXNzPVwiZGl2aWRlclwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICNpbnB1dHRpbmdPcHRpb25cbiAgICAgICAgKm5nSWY9XCJhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcgJiYgIShoYXNNYXRjaGVkT3B0aW9uJCB8IGFzeW5jKVwiXG4gICAgICAgIFt2YWx1ZV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBmaWx0ZXJTdHJpbmcgfX1cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd0NyZWF0ZVwiPlxuICAgICAgICA8YXVpLW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY3VzdG9tQ3JlYXRlZE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICEoXG4gICAgICAgICAgKGhhc1Zpc2libGVPcHRpb24kIHwgYXN5bmMpIHx8XG4gICAgICAgICAgKGFsbG93Q3JlYXRlICYmIChjdXN0b21DcmVhdGVkT3B0aW9ucyQgfCBhc3luYykubGVuZ3RoKSB8fFxuICAgICAgICAgIChhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcpXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyX19wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXVpLW9wdGlvbi1wbGFjZWhvbGRlclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWxlY3QvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvc2VsZWN0L211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsYUFBYSxFQUNiLEVBQUUsRUFDRixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFFTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFDTCxlQUFlLEdBR2hCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBeUJ6QixNQUFNLE9BQU8sb0JBQ1gsU0FBUSxVQUFrQjtJQXlGMUIsWUFBWSxHQUFzQixFQUFtQixRQUFtQjtRQUN0RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEd0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXRGeEUsUUFBRyxHQUFRLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hDLGlCQUFZ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LEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLFVBQVU7NEJBQ25CLFdBQVcsc0JBQXNCO3lCQUNsQztxQkFDRjtnSUFvQkQsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSUYsY0FBYztzQkFEakIsS0FBSztnQkFVTixRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkzQyxZQUFZO3NCQURmLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29tYmluZUxhdGVzdCxcbiAgb2YsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGNyZWF0ZVdpdGhNYXhSb3dDb3VudCB9IGZyb20gJy4uLy4uL2lucHV0L3RhZ3MtaW5wdXQvd2l0aC1tYXgtcm93LWNvdW50JztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge1xuICBCZW0sXG4gIGJ1aWxkQmVtLFxuICBjb2VyY2VBdHRyQm9vbGVhbixcbiAgY29lcmNlU3RyaW5nLFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0IH0gZnJvbSAnLi4vYmFzZS1zZWxlY3QnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU2VsZWN0QWxsU3RhdHVzLFxuICBTZWxlY3RGaWx0ZXJPcHRpb24sXG4gIFRhZ0NsYXNzRm4sXG59IGZyb20gJy4uL3NlbGVjdC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uLy4uL2lucHV0L2lucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vdGFnL3RhZy5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQmFzZVNlbGVjdCxcbiAgICAgIHVzZUV4aXN0aW5nOiBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93bj5cbiAgZXh0ZW5kcyBCYXNlU2VsZWN0PFQsIFRbXT5cbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0XG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1tdWx0aS1zZWxlY3QnKTtcbiAgYmVtU2VsZWN0QWxsOiBCZW0gPSBidWlsZEJlbSgnYXVpLW9wdGlvbicpO1xuICBzZWxlY3RlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4+O1xuICBzZWxlY3RBbGxTdGF0dXMkOiBPYnNlcnZhYmxlPFNlbGVjdEFsbFN0YXR1cz47XG4gIHNlbGVjdEFsbFN0YXR1czogU2VsZWN0QWxsU3RhdHVzO1xuICBoYXNFbmFibGVkT3B0aW9ucyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBfYWxsb3dTZWxlY3RBbGwgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgaXNNdWx0aSA9IHRydWU7XG4gIG92ZXJyaWRlIG1vZGVsOiBUW10gPSBbXTtcblxuICB2YWx1ZXMkID0gdGhpcy5tb2RlbCQ7XG5cbiAgQElucHV0KClcbiAgdGFnQ2xhc3NGbjogVGFnQ2xhc3NGbjxUPjtcblxuICBASW5wdXQoKVxuICBtYXhSb3dDb3VudCA9IDA7XG5cbiAgQElucHV0KClcbiAgY3VzdG9tUm93SGVpZ2h0ID0gMDsgLy8gMDogdXNlIGRlZmF1bHQgc3R5bGUgY29uc3QgdmFsdWUsID4gMTogZm9yIGBgYHRhZ0NsYXNzRm5gYGAgbWF5YmUgYWZmZWN0IGxpbmVIZWlnaHRcblxuICBASW5wdXQoKVxuICBnZXQgYWxsb3dTZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93U2VsZWN0QWxsO1xuICB9XG5cbiAgc2V0IGFsbG93U2VsZWN0QWxsKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fYWxsb3dTZWxlY3RBbGwgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dFZhbHVlTWlycm9yJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaW5wdXRWYWx1ZU1pcnJvcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpXG4gIGdldCBob3N0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lmhvc3RQb3NpdGlvbigpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgZ2V0IGhvc3REaXNwbGF5KCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5ob3N0RGlzcGxheSgpO1xuICB9XG5cbiAgaW5wdXRWYWx1ZSA9ICcnO1xuICBoYXNEaXNhYmxlZE9wdGlvbiA9IGZhbHNlO1xuXG4gIGdldCByb290Q2xhc3MoKSB7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2l6ZSB8fCBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgICByZXR1cm4gYGF1aS1pbnB1dCAke3RoaXMuYmVtLmJsb2NrKHNpemUpfSAke1xuICAgICAgdGhpcy5kaXNhYmxlZCA/ICdpc0Rpc2FibGVkJyA6ICcnXG4gICAgfSAke3RoaXMuZm9jdXNlZCA/ICdpc0ZvY3VzZWQnIDogJyd9ICR7XG4gICAgICB0aGlzLmRpc3BsYXlDbGVhckJ0biA/ICdpc0NsZWFyYWJsZScgOiAnJ1xuICAgIH0gJHt0aGlzLm1heFJvd0NvdW50ID4gMCA/ICd3aXRoSGVpZ2h0TGltaXQnIDogJyd9YDtcbiAgfVxuXG4gIGdldCB0YWdTaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IENvbXBvbmVudFNpemUuTGFyZ2VcbiAgICAgID8gQ29tcG9uZW50U2l6ZS5NZWRpdW1cbiAgICAgIDogQ29tcG9uZW50U2l6ZS5NaW5pO1xuICB9XG5cbiAgZ2V0IGlucHV0Q2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmVtLmVsZW1lbnQoJ2lucHV0Jywge1xuICAgICAgaGlkZGVuOiB0aGlzLmlucHV0UmVhZG9ubHksXG4gICAgfSl9IGF1aS10YWcgYXVpLXRhZy0tJHt0aGlzLnRhZ1NpemV9YDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5Q2xlYXJCdG4oKSB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJhYmxlICYmIHRoaXMubW9kZWwubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IG1heEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQubWF4SGVpZ2h0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHdpdGhNYXhSb3dDb3VudCA9IGNyZWF0ZVdpdGhNYXhSb3dDb3VudCh0aGlzKTtcblxuICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgdHJhY2tCeVZhbHVlID0gKF86IG51bWJlciwgaXRlbTogU2VsZWN0RmlsdGVyT3B0aW9uPFQ+KSA9PlxuICAgIHRoaXMudHJhY2tGbihpdGVtLnZhbHVlKTtcblxuICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBzdXBlcihjZHIpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1vZGVsJCxcbiAgICAgIChcbiAgICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8UXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4+XG4gICAgICApLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRPcHRpb25zKSxcbiAgICAgICAgc3dpdGNoTWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PikgPT5cbiAgICAgICAgICBvcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBvcHRpb25zLm1hcChvcHRpb24gPT5cbiAgICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICBvcHRpb24udmFsdWUkLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWwkLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWxDb250ZXh0JCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkJCxcbiAgICAgICAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW3ZhbHVlLCBsYWJlbCwgbGFiZWxDb250ZXh0LCBkaXNhYmxlZF0pID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWxDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YoW10gYXMgQXJyYXk8U2VsZWN0RmlsdGVyT3B0aW9uPFQ+PiksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZXMsIG9wdGlvbnNdKSA9PlxuICAgICAgICB2YWx1ZXNcbiAgICAgICAgICAubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgb3B0aW9uID0+IHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpID09PSB0aGlzLnRyYWNrRm4odmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmxhYmVsIHx8IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4ob3B0aW9uLnZhbHVlKSksXG4gICAgICAgICAgICAgICAgICBsYWJlbENvbnRleHQ6IG9wdGlvbi5sYWJlbENvbnRleHQsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFiZWxGbj8uKHZhbHVlKSB8fCBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSksXG4gICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLy8gc29ydCBkaXNhYmxlZCBvcHRpb25zIGFzIGZpcnN0XG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGlmIChhLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRhcChvcHRpb25zID0+ICh0aGlzLmhhc0Rpc2FibGVkT3B0aW9uID0gb3B0aW9ucy5zb21lKG8gPT4gby5kaXNhYmxlZCkpKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuc2VsZWN0QWxsU3RhdHVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hbGxPcHRpb25zJCxcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nJCxcbiAgICBdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbYWxsT3B0aW9uc10pID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIC4uLihhbGxPcHRpb25zID8/IFtdKVxuICAgICAgICAgICAgLmZpbHRlcigoeyB2aXNpYmxlLCBkaXNhYmxlZCB9KSA9PiB2aXNpYmxlICYmICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5tYXAoKHsgc2VsZWN0ZWQkIH0pID0+IHNlbGVjdGVkJCksXG4gICAgICAgIF0pLFxuICAgICAgKSxcbiAgICAgIG1hcChzdGF0dXNlcyA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gc3RhdHVzZXMuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWQubGVuZ3RoID09PSAwXG4gICAgICAgICAgPyBTZWxlY3RBbGxTdGF0dXMuRW1wdHlcbiAgICAgICAgICA6IHNlbGVjdGVkLmxlbmd0aCAhPT0gc3RhdHVzZXMubGVuZ3RoXG4gICAgICAgICAgPyBTZWxlY3RBbGxTdGF0dXMuSW5kZXRlcm1pbmF0ZVxuICAgICAgICAgIDogU2VsZWN0QWxsU3RhdHVzLkNoZWNrZWQ7XG4gICAgICB9KSxcbiAgICAgIHN0YXJ0V2l0aChTZWxlY3RBbGxTdGF0dXMuRW1wdHkpLFxuICAgICAgdGFwKHNlbGVjdEFsbFN0YXR1cyA9PiAodGhpcy5zZWxlY3RBbGxTdGF0dXMgPSBzZWxlY3RBbGxTdGF0dXMpKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICAgIHRoaXMuaGFzRW5hYmxlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFsbE9wdGlvbnMkLFxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbYWxsT3B0aW9uc10pID0+XG4gICAgICAgICAgISFhbGxPcHRpb25zLmZpbHRlcigoeyB2aXNpYmxlLCBkaXNhYmxlZCB9KSA9PiB2aXNpYmxlICYmICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5sZW5ndGgsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBvblNob3dPcHRpb25zKCkge1xuICAgIHN1cGVyLm9uU2hvd09wdGlvbnMoKTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSGlkZU9wdGlvbnMoKSB7XG4gICAgc3VwZXIub25IaWRlT3B0aW9ucygpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3VwZXIub25JbnB1dChldmVudCk7XG4gICAgdGhpcy5zZXRJbnB1dFdpZHRoKCk7XG4gICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gIH1cblxuICBvbklucHV0Rm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgJiZcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID09PSAnJyAmJlxuICAgICAgdGhpcy5tb2RlbC5sZW5ndGggPiAwICYmXG4gICAgICAhdGhpcy5oYXNEaXNhYmxlZE9wdGlvbiAvLyBEaXNhYmxlZCBiYWNrc3BhY2Ugd2hlbiBhbnkgb2Ygc2VsZWN0IG9wdGlvbnMgaGF2ZSBkaXNhYmxlZCBzdGF0ZS5cbiAgICApIHtcbiAgICAgIHRoaXMucmVtb3ZlVmFsdWUodGhpcy5tb2RlbFt0aGlzLm1vZGVsLmxlbmd0aCAtIDFdKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLm1vZGVsXG4gICAgICAgICAgLm1hcCh2YWx1ZSA9PiB0aGlzLnRyYWNrRm4odmFsdWUpKVxuICAgICAgICAgIC5pbmNsdWRlcygoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZE9wdGlvbigpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5vbktleURvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPikge1xuICAgIGlmIChvcHRpb24uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlVmFsdWUob3B0aW9uLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hZGRWYWx1ZShvcHRpb24udmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBpc0N1c3RvbSA9ICF0aGlzLmNvbnRlbnRPcHRpb25zLnNvbWUoXG4gICAgICAoeyB2YWx1ZSB9KSA9PiB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlLFxuICAgICk7XG4gICAgaWYgKGlzQ3VzdG9tKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFZhbHVlKHZhbHVlOiBUKSB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5tb2RlbC5jb25jYXQodmFsdWUpO1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlcyk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVWYWx1ZSh2YWx1ZTogVCkge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMubW9kZWwuZmlsdGVyKFxuICAgICAgaXRlbSA9PiB0aGlzLnRyYWNrRm4oaXRlbSkgIT09IHRoaXMudHJhY2tGbih2YWx1ZSksXG4gICAgKTtcbiAgICB0aGlzLmVtaXRWYWx1ZSh2YWx1ZXMpO1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLnJlc2V0SW5wdXQoKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRWYWx1ZShbXSk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIG9uU2VsZWN0QWxsQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbnNWYWx1ZSA9IHRoaXMuYWxsT3B0aW9uc1xuICAgICAgLmZpbHRlcigoeyB2aXNpYmxlLCBkaXNhYmxlZCB9KSA9PiB2aXNpYmxlICYmICFkaXNhYmxlZClcbiAgICAgIC5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0QWxsU3RhdHVzID09PSBTZWxlY3RBbGxTdGF0dXMuQ2hlY2tlZCkge1xuICAgICAgdGhpcy5lbWl0VmFsdWUoXG4gICAgICAgIHRoaXMubW9kZWwuZmlsdGVyKHZhbHVlID0+ICF0aGlzLmluY2x1ZGVzKHZpc2libGVPcHRpb25zVmFsdWUsIHZhbHVlKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZShcbiAgICAgICAgdGhpcy5tb2RlbC5jb25jYXQodmlzaWJsZU9wdGlvbnNWYWx1ZSkucmVkdWNlPFRbXT4oKGFjYywgY3VycikgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5pbmNsdWRlcyhhY2MsIGN1cnIpKSB7XG4gICAgICAgICAgICBhY2MucHVzaChjdXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgW10pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluY2x1ZGVzKHZhbHVlczogVFtdLCB2YWx1ZTogVCkge1xuICAgIHJldHVybiB2YWx1ZXMuc29tZSh2ID0+IHRoaXMudHJhY2tGbih2KSA9PT0gdGhpcy50cmFja0ZuKHZhbHVlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVJbih2OiBUW10pOiBUW10ge1xuICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnRvb2x0aXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdiB8fCBbXTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRJbnB1dCgpIHtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnNldElucHV0V2lkdGgoKTtcbiAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICB9XG5cbiAgLy8gY2FsY3VsYXRlIGlucHV0IGVsZW1lbnQgd2lkdGggYWNjb3JkaW5nIHRvIGl0cyB2YWx1ZVxuICBwcml2YXRlIHNldElucHV0V2lkdGgoKSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghdmFsdWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICd3aWR0aCcsXG4gICAgICAgICAgYCR7dGhpcy5pbnB1dFZhbHVlTWlycm9yLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGh9cHhgLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICAjc2VsZWN0UmVmXG4gICN0b29sdGlwUmVmPVwiYXVpVG9vbHRpcFwiXG4gIFthdWlUb29sdGlwXT1cInRlbXBsYXRlUmVmXCJcbiAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIGF1aVRvb2x0aXBUcmlnZ2VyPVwiY2xpY2tcIlxuICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICBhdWlUb29sdGlwVHlwZT1cInBsYWluXCJcbiAgKGF1aVRvb2x0aXBTaG93KT1cIm9uU2hvd09wdGlvbnMoKVwiXG4gIChhdWlUb29sdGlwSGlkZSk9XCJvbkhpZGVPcHRpb25zKClcIlxuICAobW91c2Vkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4SGVpZ2h0XCJcbj5cbiAgPGRpdiBjbGFzcz1cImF1aS1tdWx0aS1zZWxlY3RfX3N1ZmZpeFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiYXVpLW11bHRpLXNlbGVjdF9faWNvbi1jb250YWluZXJcIj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBjbGFzcz1cImF1aS1tdWx0aS1zZWxlY3RfX2luZGljYXRvclwiXG4gICAgICAgIFtpY29uXT1cImxvYWRpbmcgPyAnc3Bpbm5lcicgOiAnY2FyZXRfZG93bl9zJ1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBjbGFzcz1cImF1aS1tdWx0aS1zZWxlY3RfX2NsZWFyXCJcbiAgICAgICAgaWNvbj1cImNsb3NlX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8c3BhblxuICAgIFtoaWRkZW5dPVwibW9kZWwubGVuZ3RoIHx8IGlucHV0UmVmLnZhbHVlLmxlbmd0aFwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdwbGFjZWhvbGRlcicpXCJcbiAgPlxuICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gIDwvc3Bhbj5cbiAgPGF1aS10YWdcbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9ucyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeVZhbHVlXCJcbiAgICB0eXBlPVwiaW5mb1wiXG4gICAgW3JvdW5kXT1cInRydWVcIlxuICAgIFtib3JkZXJdPVwidHJ1ZVwiXG4gICAgW3NpemVdPVwidGFnU2l6ZVwiXG4gICAgW2Nsb3NlYWJsZV09XCIhZGlzYWJsZWQgJiYgIW9wdGlvbi5kaXNhYmxlZFwiXG4gICAgKGNsb3NlKT1cInJlbW92ZVZhbHVlKG9wdGlvbi52YWx1ZSlcIlxuICAgIFtuZ0NsYXNzXT1cInRhZ0NsYXNzRm4gJiYgdGFnQ2xhc3NGbihvcHRpb24ubGFiZWwsIG9wdGlvbi52YWx1ZSlcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKG9wdGlvbi5sYWJlbCk7IGVsc2UgbGFiZWxcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJvcHRpb24ubGFiZWxDb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsYWJlbD5cbiAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvYXVpLXRhZz5cbiAgPGlucHV0XG4gICAgI2lucHV0UmVmXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBbcmVhZG9ubHldPVwiaW5wdXRSZWFkb25seVwiXG4gICAgW2NsYXNzXT1cImlucHV0Q2xhc3NcIlxuICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoKVwiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAvPlxuICA8c3BhblxuICAgICNpbnB1dFZhbHVlTWlycm9yXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdtaXJyb3InKVwiXG4gID5cbiAgICB7eyBpbnB1dFZhbHVlIH19XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhdWktb3B0aW9uLWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1pbldpZHRoXT1cImNvbnRhaW5lcldpZHRoXCJcbiAgICAobW91c2Vkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICNvcHRpb25MaXN0UmVmXG4gICAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyX19jb250ZW50XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgYWxsb3dTZWxlY3RBbGwgJiZcbiAgICAgICAgICAoaGFzRW5hYmxlZE9wdGlvbnMkIHwgYXN5bmMpICYmXG4gICAgICAgICAgKChoYXNWaXNpYmxlT3B0aW9uJCB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgKGFsbG93Q3JlYXRlICYmIChjdXN0b21DcmVhdGVkT3B0aW9ucyQgfCBhc3luYykubGVuZ3RoKSB8fFxuICAgICAgICAgICAgKGFsbG93Q3JlYXRlICYmIGZpbHRlclN0cmluZykpXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImF1aS1vcHRpb25cIlxuICAgICAgICAgIFtjbGFzc109XCJiZW1TZWxlY3RBbGwuYmxvY2soc2l6ZSQgfCBhc3luYylcIlxuICAgICAgICAgIFtjbGFzcy5pc0Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbY2xhc3MuaXNTZWxlY3RlZF09XCIhIShzZWxlY3RBbGxTdGF0dXMkIHwgYXN5bmMpXCJcbiAgICAgICAgICBbY2xhc3MuaXNNdWx0aV09XCJ0cnVlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RBbGxDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiYXVpLW9wdGlvbl9fcG9pbnRlclwiPlxuICAgICAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICAgICAgIChzZWxlY3RBbGxTdGF0dXMkIHwgYXN5bmMpID09PSAnY2hlY2tlZCdcbiAgICAgICAgICAgICAgICAgID8gJ2NoZWNrX3MnXG4gICAgICAgICAgICAgICAgICA6ICdzcXVhcmVfcydcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCIhKHNlbGVjdEFsbFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9pPlxuICAgICAgICAgIHt7ICdzZWxlY3RfYWxsJyB8IGF1aUkxOG4gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxociBjbGFzcz1cImRpdmlkZXJcIiAvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLW9wdGlvblxuICAgICAgICAjaW5wdXR0aW5nT3B0aW9uXG4gICAgICAgICpuZ0lmPVwiYWxsb3dDcmVhdGUgJiYgZmlsdGVyU3RyaW5nICYmICEoaGFzTWF0Y2hlZE9wdGlvbiQgfCBhc3luYylcIlxuICAgICAgICBbdmFsdWVdPVwiZmlsdGVyU3RyaW5nXCJcbiAgICAgID5cbiAgICAgICAge3sgZmlsdGVyU3RyaW5nIH19XG4gICAgICA8L2F1aS1vcHRpb24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dDcmVhdGVcIj5cbiAgICAgICAgPGF1aS1vcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGN1c3RvbUNyZWF0ZWRPcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICA8L2F1aS1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIlxuICAgICAgICAhKFxuICAgICAgICAgIChoYXNWaXNpYmxlT3B0aW9uJCB8IGFzeW5jKSB8fFxuICAgICAgICAgIChhbGxvd0NyZWF0ZSAmJiAoY3VzdG9tQ3JlYXRlZE9wdGlvbnMkIHwgYXN5bmMpLmxlbmd0aCkgfHxcbiAgICAgICAgICAoYWxsb3dDcmVhdGUgJiYgZmlsdGVyU3RyaW5nKVxuICAgICAgICApXG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJhdWktb3B0aW9uLWNvbnRhaW5lcl9fcGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF1aS1vcHRpb24tcGxhY2Vob2xkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
2
|
+
import { Directive, Host, HostBinding, Input, Optional, } from '@angular/core';
|
|
3
|
+
import { Subject, fromEvent, merge, startWith, takeUntil, switchMap, NEVER, BehaviorSubject, } from 'rxjs';
|
|
3
4
|
import { coerceAttrBoolean, observeResizeOn } from '../utils';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
+
import * as i1 from "@angular/cdk/scrolling";
|
|
7
|
+
import * as i2 from "./table.component";
|
|
8
|
+
import * as i3 from "@angular/cdk/bidi";
|
|
6
9
|
const CLASS_PREFIX = 'aui-table';
|
|
7
10
|
const SHADOW_CLASS = `${CLASS_PREFIX}__scroll-shadow`;
|
|
8
11
|
const HAS_SCROLL_CLASS = `${SHADOW_CLASS}--has-scroll`;
|
|
@@ -32,11 +35,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
32
35
|
}, {
|
|
33
36
|
type: Input
|
|
34
37
|
}] } });
|
|
35
|
-
export class TableScrollShadowDirective {
|
|
36
|
-
constructor(el, table) {
|
|
38
|
+
export class TableScrollShadowDirective extends CdkScrollable {
|
|
39
|
+
constructor(el, scrollDispatcher, ngZone, table, dir) {
|
|
40
|
+
super(el, scrollDispatcher, ngZone, dir);
|
|
37
41
|
this.el = el;
|
|
38
42
|
this.table = table;
|
|
39
|
-
this.scrollShadow$$ = new
|
|
43
|
+
this.scrollShadow$$ = new BehaviorSubject(false);
|
|
40
44
|
this.destroy$$ = new Subject();
|
|
41
45
|
this.SCROLL_BEFORE_END_CLASS = true;
|
|
42
46
|
this.SHADOW_CLASS = true;
|
|
@@ -83,19 +87,27 @@ export class TableScrollShadowDirective {
|
|
|
83
87
|
classList[condition ? 'add' : 'remove'](className);
|
|
84
88
|
}
|
|
85
89
|
ngOnDestroy() {
|
|
90
|
+
super.ngOnDestroy();
|
|
86
91
|
this.destroy$$.next();
|
|
87
92
|
this.destroy$$.complete();
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
|
-
TableScrollShadowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TableScrollShadowDirective, deps: [{ token: i0.ElementRef }, { token: i1.TableComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
-
TableScrollShadowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: TableScrollShadowDirective, selector: "[auiTableScrollShadow]", inputs: { auiTableScrollShadow: "auiTableScrollShadow" }, host: { properties: { "class.aui-table__scroll-shadow--before-end": "this.SCROLL_BEFORE_END_CLASS", "class.aui-table__scroll-shadow": "this.SHADOW_CLASS" } },
|
|
95
|
+
TableScrollShadowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TableScrollShadowDirective, deps: [{ token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }, { token: i2.TableComponent, host: true }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
96
|
+
TableScrollShadowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: TableScrollShadowDirective, selector: "[auiTableScrollShadow]", inputs: { auiTableScrollShadow: "auiTableScrollShadow" }, host: { properties: { "class.aui-table__scroll-shadow--before-end": "this.SCROLL_BEFORE_END_CLASS", "class.aui-table__scroll-shadow": "this.SHADOW_CLASS" } }, providers: [
|
|
97
|
+
{ provide: CdkScrollable, useExisting: TableScrollShadowDirective },
|
|
98
|
+
], usesInheritance: true, ngImport: i0 });
|
|
92
99
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TableScrollShadowDirective, decorators: [{
|
|
93
100
|
type: Directive,
|
|
94
101
|
args: [{
|
|
95
102
|
selector: '[auiTableScrollShadow]',
|
|
103
|
+
providers: [
|
|
104
|
+
{ provide: CdkScrollable, useExisting: TableScrollShadowDirective },
|
|
105
|
+
],
|
|
96
106
|
}]
|
|
97
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TableComponent, decorators: [{
|
|
107
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ScrollDispatcher }, { type: i0.NgZone }, { type: i2.TableComponent, decorators: [{
|
|
98
108
|
type: Host
|
|
109
|
+
}] }, { type: i3.Directionality, decorators: [{
|
|
110
|
+
type: Optional
|
|
99
111
|
}] }]; }, propDecorators: { auiTableScrollShadow: [{
|
|
100
112
|
type: Input
|
|
101
113
|
}], SCROLL_BEFORE_END_CLASS: [{
|
|
@@ -105,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
105
117
|
type: HostBinding,
|
|
106
118
|
args: [`class.${SHADOW_CLASS}`]
|
|
107
119
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUk5RCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUM7QUFDakMsTUFBTSxZQUFZLEdBQUcsR0FBRyxZQUFZLGlCQUFpQixDQUFDO0FBQ3RELE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxZQUFZLGNBQWMsQ0FBQztBQUN2RCxNQUFNLGVBQWUsR0FBRyxHQUFHLFlBQVksYUFBYSxDQUFDO0FBQ3JELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxZQUFZLGNBQWMsQ0FBQztBQUU5RCxNQUFNLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0FBQ2pELE1BQU0sdUJBQXVCLEdBQUcsc0JBQXNCLENBQUM7QUFDdkQsTUFBTSx5QkFBeUIsR0FBRyx3QkFBd0IsQ0FBQztBQVEzRCxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBU0UsMEJBQXFCLEdBQUcsTUFBTSxDQUFDO0tBQ2hDOzt3SEFKWSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQU52QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQztpQkFDRjs4QkFJQyxxQkFBcUI7c0JBRnBCLFdBQVc7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LENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsVUFBVSxHQUFHLFNBQVMsRUFDdEIsdUJBQXVCLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUNaLFNBQXVCLEVBQ3ZCLFNBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7dUhBOUdVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7OzBCQWFJLElBQUk7NENBTkgsb0JBQW9CO3NCQUR2QixLQUFLO2dCQVdOLHVCQUF1QjtzQkFEdEIsV0FBVzt1QkFBQyxTQUFTLHVCQUF1QixFQUFFO2dCQUkvQyxZQUFZO3NCQURYLFdBQVc7dUJBQUMsU0FBUyxZQUFZLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHN0YXJ0V2l0aCxcbiAgdGFrZVVudGlsLFxuICBzd2l0Y2hNYXAsXG4gIE5FVkVSLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4sIG9ic2VydmVSZXNpemVPbiB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IENMQVNTX1BSRUZJWCA9ICdhdWktdGFibGUnO1xuY29uc3QgU0hBRE9XX0NMQVNTID0gYCR7Q0xBU1NfUFJFRklYfV9fc2Nyb2xsLXNoYWRvd2A7XG5jb25zdCBIQVNfU0NST0xMX0NMQVNTID0gYCR7U0hBRE9XX0NMQVNTfS0taGFzLXNjcm9sbGA7XG5jb25zdCBTQ1JPTExJTkdfQ0xBU1MgPSBgJHtTSEFET1dfQ0xBU1N9LS1zY3JvbGxpbmdgO1xuY29uc3QgU0NST0xMX0JFRk9SRV9FTkRfQ0xBU1MgPSBgJHtTSEFET1dfQ0xBU1N9LS1iZWZvcmUtZW5kYDtcblxuY29uc3QgSEFTX1RBQkxFX1RPUF9TSEFET1cgPSAnaGFzVGFibGVUb3BTaGFkb3cnO1xuY29uc3QgSEFTX1RBQkxFX0JPVFRPTV9TSEFET1cgPSAnaGFzVGFibGVCb3R0b21TaGFkb3cnO1xuY29uc3QgSEFTX1RBQkxFX1ZFUlRJQ0FMX1NDUk9MTCA9ICdoYXNUYWJsZVZlcnRpY2FsU2Nyb2xsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlU2Nyb2xsV3JhcHBlcl0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX3Njcm9sbC13cmFwcGVyJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgQElucHV0KClcbiAgYXVpVGFibGVTY3JvbGxXcmFwcGVyID0gJzEwMCUnO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVTY3JvbGxTaGFkb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVTY3JvbGxTaGFkb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBzY3JvbGxTaGFkb3ckJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKVxuICBzZXQgYXVpVGFibGVTY3JvbGxTaGFkb3coc2Nyb2xsU2hhZG93OiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLnNjcm9sbFNoYWRvdyQkLm5leHQoY29lcmNlQXR0ckJvb2xlYW4oc2Nyb2xsU2hhZG93KSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBASG9zdCgpIHByaXZhdGUgcmVhZG9ubHkgdGFibGU6IFRhYmxlQ29tcG9uZW50PHVua25vd24+LFxuICApIHt9XG5cbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1NDUk9MTF9CRUZPUkVfRU5EX0NMQVNTfWApXG4gIFNDUk9MTF9CRUZPUkVfRU5EX0NMQVNTID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7U0hBRE9XX0NMQVNTfWApXG4gIFNIQURPV19DTEFTUyA9IHRydWU7XG5cbiAgZ2V0IGNvbnRhaW5lckVsKCkge1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMudmlld011dGF0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICB2aWV3TXV0YXRpb24oKSB7XG4gICAgdGhpcy5zY3JvbGxTaGFkb3ckJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxTaGFkb3cgPT5cbiAgICAgICAgICBzY3JvbGxTaGFkb3dcbiAgICAgICAgICAgID8gbWVyZ2UoXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZVJlc2l6ZU9uKHRoaXMuY29udGFpbmVyRWwpLFxuICAgICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICAgICkucGlwZShzdGFydFdpdGgobnVsbCkpXG4gICAgICAgICAgICA6IE5FVkVSLFxuICAgICAgICApLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfU0NST0xMX0NMQVNTLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gdGhpcy5jb250YWluZXJFbC5zY3JvbGxMZWZ0O1xuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbExlZnQgPiAwLFxuICAgICAgU0NST0xMSU5HX0NMQVNTLFxuICAgICk7XG4gICAgdGhpcy5wbGFjZUNsYXNzTGlzdChcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuY2xhc3NMaXN0LFxuICAgICAgc2Nyb2xsTGVmdCA8IHNjcm9sbERpcyxcbiAgICAgIFNDUk9MTF9CRUZPUkVfRU5EX0NMQVNTLFxuICAgICk7XG4gIH1cblxuICBwbGFjZUNsYXNzTGlzdChcbiAgICBjbGFzc0xpc3Q6IERPTVRva2VuTGlzdCxcbiAgICBjb25kaXRpb246IGJvb2xlYW4sXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNsYXNzTGlzdFtjb25kaXRpb24gPyAnYWRkJyA6ICdyZW1vdmUnXShjbGFzc05hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFFVCxJQUFJLEVBQ0osV0FBVyxFQUNYLEtBQUssRUFHTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEdBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFJOUQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO0FBQ2pDLE1BQU0sWUFBWSxHQUFHLEdBQUcsWUFBWSxpQkFBaUIsQ0FBQztBQUN0RCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsWUFBWSxjQUFjLENBQUM7QUFDdkQsTUFBTSxlQUFlLEdBQUcsR0FBRyxZQUFZLGFBQWEsQ0FBQztBQUNyRCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsWUFBWSxjQUFjLENBQUM7QUFFOUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFRM0QsTUFBTSxPQUFPLDJCQUEyQjtJQU54QztRQVNFLDBCQUFxQixHQUFHLE1BQU0sQ0FBQztLQUNoQzs7d0hBSlksMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFOdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDJCQUEyQjtxQkFDbkM7aUJBQ0Y7OEJBSUMscUJBQXFCO3NCQUZwQixXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLEtBQUs7O0FBVVIsTUFBTSxPQUFPLDBCQUNYLFNBQVEsYUFBYTtJQVlyQixZQUNtQixFQUEyQixFQUM1QyxnQkFBa0MsRUFDbEMsTUFBYyxFQUNXLEtBQThCLEVBQzNDLEdBQW9CO1FBRWhDLEtBQUssQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTnhCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBR25CLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBYnpELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFckQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFrQmhDLDRCQUF1QixHQUFHLElBQUksQ0FBQztRQUcvQixpQkFBWSxHQUFHLElBQUksQ0FBQztJQU5wQixDQUFDO0lBYkQsSUFDSSxvQkFBb0IsQ0FBQyxZQUEwQjtRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFrQkQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUMvQixDQUFDO0lBRUQsZUFBZTtRQUNiLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxjQUFjO2FBQ2hCLElBQUksQ0FDSCxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDdkIsWUFBWTtZQUNWLENBQUMsQ0FBQyxLQUFLLENBQ0gsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQ3RDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsS0FBSyxDQUNWLENBQ0Y7YUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE1BQU0sU0FBUyxHQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBRWhFLElBQUksQ0FBQyxjQUFjLENBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUMxQixTQUFTLEdBQUcsQ0FBQyxFQUNiLHlCQUF5QixDQUMxQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQzFCLFNBQVMsR0FBRyxDQUFDLEVBQ2Isb0JBQW9CLENBQ3JCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsU0FBUyxHQUFHLFNBQVMsRUFDckIsdUJBQXVCLENBQ3hCLENBQUM7UUFFRix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFFOUQsSUFBSSxDQUFDLGNBQWMsQ0FDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQzFCLFNBQVMsR0FBRyxDQUFDLEVBQ2IsZ0JBQWdCLENBQ2pCLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsVUFBVSxHQUFHLENBQUMsRUFDZCxlQUFlLENBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsVUFBVSxHQUFHLFNBQVMsRUFDdEIsdUJBQXVCLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUNaLFNBQXVCLEVBQ3ZCLFNBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOzt1SEF2SFUsMEJBQTBCOzJHQUExQiwwQkFBMEIsMFFBSjFCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtLQUNwRTsyRkFFVSwwQkFBMEI7a0JBTnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLDRCQUE0QixFQUFFO3FCQUNwRTtpQkFDRjs7MEJBa0JJLElBQUk7OzBCQUNKLFFBQVE7NENBVFAsb0JBQW9CO3NCQUR2QixLQUFLO2dCQWdCTix1QkFBdUI7c0JBRHRCLFdBQVc7dUJBQUMsU0FBUyx1QkFBdUIsRUFBRTtnQkFJL0MsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLFNBQVMsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlLCBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHN0YXJ0V2l0aCxcbiAgdGFrZVVudGlsLFxuICBzd2l0Y2hNYXAsXG4gIE5FVkVSLFxuICBCZWhhdmlvclN1YmplY3QsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiwgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuY29uc3QgQ0xBU1NfUFJFRklYID0gJ2F1aS10YWJsZSc7XG5jb25zdCBTSEFET1dfQ0xBU1MgPSBgJHtDTEFTU19QUkVGSVh9X19zY3JvbGwtc2hhZG93YDtcbmNvbnN0IEhBU19TQ1JPTExfQ0xBU1MgPSBgJHtTSEFET1dfQ0xBU1N9LS1oYXMtc2Nyb2xsYDtcbmNvbnN0IFNDUk9MTElOR19DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLXNjcm9sbGluZ2A7XG5jb25zdCBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLWJlZm9yZS1lbmRgO1xuXG5jb25zdCBIQVNfVEFCTEVfVE9QX1NIQURPVyA9ICdoYXNUYWJsZVRvcFNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyA9ICdoYXNUYWJsZUJvdHRvbVNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMID0gJ2hhc1RhYmxlVmVydGljYWxTY3JvbGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVTY3JvbGxXcmFwcGVyXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9fc2Nyb2xsLXdyYXBwZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBASW5wdXQoKVxuICBhdWlUYWJsZVNjcm9sbFdyYXBwZXIgPSAnMTAwJSc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbFNoYWRvd10nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IENka1Njcm9sbGFibGUsIHVzZUV4aXN0aW5nOiBUYWJsZVNjcm9sbFNoYWRvd0RpcmVjdGl2ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbFNoYWRvd0RpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgc2Nyb2xsU2hhZG93JCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBhdWlUYWJsZVNjcm9sbFNoYWRvdyhzY3JvbGxTaGFkb3c6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93JCQubmV4dChjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxTaGFkb3cpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtTQ1JPTExfQkVGT1JFX0VORF9DTEFTU31gKVxuICBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1NIQURPV19DTEFTU31gKVxuICBTSEFET1dfQ0xBU1MgPSB0cnVlO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICAgIH0pO1xuICB9XG5cbiAgdmlld011dGF0aW9uKCkge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93JCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoc2Nyb2xsU2hhZG93ID0+XG4gICAgICAgICAgc2Nyb2xsU2hhZG93XG4gICAgICAgICAgICA/IG1lcmdlKFxuICAgICAgICAgICAgICAgIG9ic2VydmVSZXNpemVPbih0aGlzLmNvbnRhaW5lckVsKSxcbiAgICAgICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5jb250YWluZXJFbCwgJ3Njcm9sbCcpLFxuICAgICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKVxuICAgICAgICAgICAgOiBORVZFUixcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tdXRhdGVWZXJ0aWNhbFNjcm9sbCgpO1xuICAgICAgICB0aGlzLm11dGF0ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbXV0YXRlVmVydGljYWxTY3JvbGwoKSB7XG4gICAgY29uc3Qgc2Nyb2xsRGlzID1cbiAgICAgIHRoaXMuY29udGFpbmVyRWwuc2Nyb2xsSGVpZ2h0IC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRIZWlnaHQ7XG5cbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxEaXMgPiAwLFxuICAgICAgSEFTX1RBQkxFX1ZFUlRJQ0FMX1NDUk9MTCxcbiAgICApO1xuXG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5jb250YWluZXJFbC5zY3JvbGxUb3A7XG4gICAgdGhpcy5wbGFjZUNsYXNzTGlzdChcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuY2xhc3NMaXN0LFxuICAgICAgc2Nyb2xsVG9wID4gMCxcbiAgICAgIEhBU19UQUJMRV9UT1BfU0hBRE9XLFxuICAgICk7XG4gICAgdGhpcy5wbGFjZUNsYXNzTGlzdChcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuY2xhc3NMaXN0LFxuICAgICAgc2Nyb2xsVG9wIDwgc2Nyb2xsRGlzLFxuICAgICAgSEFTX1RBQkxFX0JPVFRPTV9TSEFET1csXG4gICAgKTtcblxuICAgIC8vIOWFvOWuueWxj+W5lee8qeaUvuaYryBzdGlja3nlpJrliJfnmoTmoLflvI/pl67pophcbiAgICB0aGlzLnRhYmxlLnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICB9XG5cbiAgbXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxXaWR0aCAtIHRoaXMuY29udGFpbmVyRWwub2Zmc2V0V2lkdGg7XG5cbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxEaXMgPiAwLFxuICAgICAgSEFTX1NDUk9MTF9DTEFTUyxcbiAgICApO1xuXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuY29udGFpbmVyRWwuc2Nyb2xsTGVmdDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0ID4gMCxcbiAgICAgIFNDUk9MTElOR19DTEFTUyxcbiAgICApO1xuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbExlZnQgPCBzY3JvbGxEaXMsXG4gICAgICBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyxcbiAgICApO1xuICB9XG5cbiAgcGxhY2VDbGFzc0xpc3QoXG4gICAgY2xhc3NMaXN0OiBET01Ub2tlbkxpc3QsXG4gICAgY29uZGl0aW9uOiBib29sZWFuLFxuICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICApIHtcbiAgICBjbGFzc0xpc3RbY29uZGl0aW9uID8gJ2FkZCcgOiAncmVtb3ZlJ10oY2xhc3NOYW1lKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|