@simpleangularcontrols/sac-common 16.0.0-rc.20 → 16.0.0-rc.21
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/common/basedatetimecontrol.d.ts +7 -3
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.d.ts +5 -1
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.d.ts +4 -0
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/controls/buttons/button.d.ts +26 -22
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +9 -1
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/datetime/dateselector.d.ts +10 -2
- package/controls/datetime/dateselector.d.ts.map +1 -1
- package/controls/dialog/dialog.d.ts +6 -2
- package/controls/dialog/dialog.d.ts.map +1 -1
- package/controls/grid/grid.d.ts +23 -19
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/grid/gridbutton.d.ts +24 -5
- package/controls/grid/gridbutton.d.ts.map +1 -1
- package/controls/grid/gridcolumnbase.d.ts +18 -6
- package/controls/grid/gridcolumnbase.d.ts.map +1 -1
- package/controls/grid/gridimage.d.ts.map +1 -1
- package/controls/grid/paging.d.ts +34 -30
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/list/dropdown.d.ts +3 -3
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/listbox.d.ts +2 -2
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/tabs/tab.d.ts +20 -16
- package/controls/tabs/tab.d.ts.map +1 -1
- package/controls/tinymce/tinymce.d.ts +26 -22
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tooltip/tooltip.d.ts +9 -1
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.d.ts +4 -0
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/dropzonesingle.d.ts +4 -0
- package/controls/upload/dropzonesingle.d.ts.map +1 -1
- package/controls/upload/uploadmultiple.d.ts +4 -0
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/upload/uploadsingle.d.ts +4 -0
- package/controls/upload/uploadsingle.d.ts.map +1 -1
- package/controls/validation/validationsummary.d.ts +9 -5
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/esm2022/common/basedatetimecontrol.mjs +23 -23
- package/esm2022/common/basemodelcontrol.mjs +62 -60
- package/esm2022/common/baseuploadcontrol.mjs +52 -50
- package/esm2022/controls/buttons/button.mjs +23 -21
- package/esm2022/controls/contextmenu/contextmenu.mjs +20 -16
- package/esm2022/controls/datetime/dateselector.mjs +57 -49
- package/esm2022/controls/dialog/dialog.mjs +30 -19
- package/esm2022/controls/grid/grid.mjs +23 -19
- package/esm2022/controls/grid/gridbutton.mjs +20 -11
- package/esm2022/controls/grid/gridcolumnbase.mjs +17 -15
- package/esm2022/controls/grid/gridimage.mjs +3 -3
- package/esm2022/controls/grid/paging.mjs +44 -40
- package/esm2022/controls/list/dropdown.mjs +18 -9
- package/esm2022/controls/list/listbox.mjs +5 -5
- package/esm2022/controls/tabs/tab.mjs +23 -18
- package/esm2022/controls/tinymce/tinymce.mjs +35 -33
- package/esm2022/controls/tooltip/tooltip.mjs +31 -27
- package/esm2022/controls/upload/dropzonemultiple.mjs +7 -3
- package/esm2022/controls/upload/dropzonesingle.mjs +7 -3
- package/esm2022/controls/upload/uploadmultiple.mjs +7 -3
- package/esm2022/controls/upload/uploadsingle.mjs +7 -3
- package/esm2022/controls/validation/validationsummary.mjs +16 -14
- package/esm2022/interfaces/ISacConfigurationService.mjs +3 -3
- package/esm2022/interfaces/ISacIconService.mjs +3 -3
- package/esm2022/interfaces/ISacLabelSizes.mjs +3 -3
- package/esm2022/public_api.mjs +4 -4
- package/esm2022/services/sac-configuration.service.mjs +26 -20
- package/esm2022/services/sac-icon.service.mjs +27 -17
- package/esm2022/utilities/testingattribute.pipe.mjs +12 -0
- package/fesm2022/simpleangularcontrols-sac-common.mjs +1294 -1183
- package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +16 -12
- package/interfaces/ISacConfigurationService.d.ts.map +1 -1
- package/interfaces/ISacIconService.d.ts +20 -0
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacLabelSizes.d.ts +12 -12
- package/interfaces/ISacLabelSizes.d.ts.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
- package/services/sac-configuration.service.d.ts +13 -5
- package/services/sac-configuration.service.d.ts.map +1 -1
- package/services/sac-icon.service.d.ts +40 -0
- package/services/sac-icon.service.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-16.0.0-rc.21.tgz +0 -0
- package/utilities/testingattribute.pipe.d.ts +16 -0
- package/utilities/testingattribute.pipe.d.ts.map +1 -0
- package/simpleangularcontrols-sac-common-16.0.0-rc.20.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
function cov_1cdwwf0oat(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/tooltip/tooltip.mjs";var hash="f0824b3c48a5bfa15a3d72fc1efa926b9845d4d7";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/tooltip/tooltip.mjs",statementMap:{"0":{start:{line:25,column:8},end:{line:25,column:27}},"1":{start:{line:26,column:8},end:{line:26,column:23}},"2":{start:{line:31,column:8},end:{line:31,column:45}},"3":{start:{line:35,column:8},end:{line:35,column:39}},"4":{start:{line:39,column:8},end:{line:39,column:45}},"5":{start:{line:43,column:8},end:{line:43,column:25}},"6":{start:{line:47,column:8},end:{line:47,column:47}},"7":{start:{line:51,column:8},end:{line:51,column:24}},"8":{start:{line:55,column:8},end:{line:55,column:33}},"9":{start:{line:59,column:8},end:{line:59,column:32}},"10":{start:{line:65,column:8},end:{line:65,column:37}},"11":{start:{line:69,column:8},end:{line:78,column:10}},"12":{start:{line:71,column:12},end:{line:73,column:13}},"13":{start:{line:72,column:16},end:{line:72,column:23}},"14":{start:{line:74,column:12},end:{line:77,column:15}},"15":{start:{line:75,column:16},end:{line:75,column:39}},"16":{start:{line:76,column:16},end:{line:76,column:38}},"17":{start:{line:86,column:8},end:{line:86,column:32}},"18":{start:{line:92,column:8},end:{line:92,column:51}},"19":{start:{line:98,column:8},end:{line:100,column:9}},"20":{start:{line:99,column:12},end:{line:99,column:61}},"21":{start:{line:101,column:8},end:{line:101,column:40}},"22":{start:{line:102,column:8},end:{line:102,column:31}},"23":{start:{line:103,column:8},end:{line:103,column:35}},"24":{start:{line:106,column:8},end:{line:106,column:37}},"25":{start:{line:114,column:8},end:{line:114,column:159}},"26":{start:{line:120,column:8},end:{line:120,column:39}},"27":{start:{line:121,column:8},end:{line:121,column:45}},"28":{start:{line:127,column:8},end:{line:127,column:38}},"29":{start:{line:133,column:8},end:{line:133,column:38}},"30":{start:{line:134,column:8},end:{line:134,column:35}},"31":{start:{line:135,column:8},end:{line:139,column:11}},"32":{start:{line:136,column:12},end:{line:136,column:35}},"33":{start:{line:137,column:12},end:{line:137,column:34}},"34":{start:{line:138,column:12},end:{line:138,column:48}},"35":{start:{line:145,column:8},end:{line:145,column:70}},"36":{start:{line:151,column:8},end:{line:151,column:69}},"37":{start:{line:158,column:8},end:{line:160,column:9}},"38":{start:{line:159,column:12},end:{line:159,column:19}},"39":{start:{line:161,column:8},end:{line:161,column:35}},"40":{start:{line:168,column:8},end:{line:170,column:9}},"41":{start:{line:169,column:12},end:{line:169,column:19}},"42":{start:{line:171,column:8},end:{line:171,column:31}},"43":{start:{line:172,column:8},end:{line:172,column:30}},"44":{start:{line:179,column:8},end:{line:179,column:73}},"45":{start:{line:180,column:8},end:{line:180,column:73}},"46":{start:{line:181,column:8},end:{line:183,column:9}},"47":{start:{line:182,column:12},end:{line:182,column:75}},"48":{start:{line:190,column:8},end:{line:190,column:70}},"49":{start:{line:191,column:8},end:{line:191,column:70}},"50":{start:{line:192,column:8},end:{line:194,column:9}},"51":{start:{line:193,column:12},end:{line:193,column:75}},"52":{start:{line:202,column:22},end:{line:202,column:172}},"53":{start:{line:203,column:8},end:{line:203,column:29}},"54":{start:{line:204,column:33},end:{line:204,column:58}},"55":{start:{line:205,column:8},end:{line:210,column:9}},"56":{start:{line:206,column:12},end:{line:206,column:65}},"57":{start:{line:209,column:12},end:{line:209,column:36}},"58":{start:{line:211,column:8},end:{line:211,column:21}},"59":{start:{line:217,column:22},end:{line:217,column:171}},"60":{start:{line:218,column:8},end:{line:218,column:28}},"61":{start:{line:219,column:33},end:{line:219,column:58}},"62":{start:{line:220,column:8},end:{line:225,column:9}},"63":{start:{line:221,column:12},end:{line:221,column:65}},"64":{start:{line:224,column:12},end:{line:224,column:37}},"65":{start:{line:226,column:8},end:{line:226,column:21}},"66":{start:{line:228,column:13},end:{line:228,column:236}},"67":{start:{line:229,column:13},end:{line:229,column:422}},"68":{start:{line:232,column:0},end:{line:246,column:20}},"69":{start:{line:234,column:42},end:{line:234,column:107}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:24,column:4},end:{line:24,column:5}},loc:{start:{line:24,column:28},end:{line:79,column:5}},line:24},"1":{name:"(anonymous_1)",decl:{start:{line:69,column:31},end:{line:69,column:32}},loc:{start:{line:69,column:37},end:{line:78,column:9}},line:69},"2":{name:"(anonymous_2)",decl:{start:{line:74,column:23},end:{line:74,column:24}},loc:{start:{line:74,column:29},end:{line:77,column:13}},line:74},"3":{name:"(anonymous_3)",decl:{start:{line:85,column:4},end:{line:85,column:5}},loc:{start:{line:85,column:21},end:{line:87,column:5}},line:85},"4":{name:"(anonymous_4)",decl:{start:{line:91,column:4},end:{line:91,column:5}},loc:{start:{line:91,column:26},end:{line:93,column:5}},line:91},"5":{name:"(anonymous_5)",decl:{start:{line:97,column:4},end:{line:97,column:5}},loc:{start:{line:97,column:25},end:{line:104,column:5}},line:97},"6":{name:"(anonymous_6)",decl:{start:{line:105,column:4},end:{line:105,column:5}},loc:{start:{line:105,column:18},end:{line:107,column:5}},line:105},"7":{name:"(anonymous_7)",decl:{start:{line:113,column:4},end:{line:113,column:5}},loc:{start:{line:113,column:25},end:{line:115,column:5}},line:113},"8":{name:"(anonymous_8)",decl:{start:{line:119,column:4},end:{line:119,column:5}},loc:{start:{line:119,column:18},end:{line:122,column:5}},line:119},"9":{name:"(anonymous_9)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:23},end:{line:128,column:5}},line:126},"10":{name:"(anonymous_10)",decl:{start:{line:132,column:4},end:{line:132,column:5}},loc:{start:{line:132,column:18},end:{line:140,column:5}},line:132},"11":{name:"(anonymous_11)",decl:{start:{line:135,column:19},end:{line:135,column:20}},loc:{start:{line:135,column:25},end:{line:139,column:9}},line:135},"12":{name:"(anonymous_12)",decl:{start:{line:144,column:4},end:{line:144,column:5}},loc:{start:{line:144,column:23},end:{line:146,column:5}},line:144},"13":{name:"(anonymous_13)",decl:{start:{line:150,column:4},end:{line:150,column:5}},loc:{start:{line:150,column:22},end:{line:152,column:5}},line:150},"14":{name:"(anonymous_14)",decl:{start:{line:156,column:4},end:{line:156,column:5}},loc:{start:{line:156,column:25},end:{line:162,column:5}},line:156},"15":{name:"(anonymous_15)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:16},end:{line:173,column:5}},line:166},"16":{name:"(anonymous_16)",decl:{start:{line:177,column:4},end:{line:177,column:5}},loc:{start:{line:177,column:18},end:{line:184,column:5}},line:177},"17":{name:"(anonymous_17)",decl:{start:{line:188,column:4},end:{line:188,column:5}},loc:{start:{line:188,column:15},end:{line:195,column:5}},line:188},"18":{name:"(anonymous_18)",decl:{start:{line:201,column:4},end:{line:201,column:5}},loc:{start:{line:201,column:22},end:{line:212,column:5}},line:201},"19":{name:"(anonymous_19)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:21},end:{line:227,column:5}},line:216},"20":{name:"(anonymous_20)",decl:{start:{line:234,column:28},end:{line:234,column:29}},loc:{start:{line:234,column:40},end:{line:234,column:109}},line:234}},branchMap:{"0":{loc:{start:{line:71,column:12},end:{line:73,column:13}},type:"if",locations:[{start:{line:71,column:12},end:{line:73,column:13}},{start:{line:71,column:12},end:{line:73,column:13}}],line:71},"1":{loc:{start:{line:98,column:8},end:{line:100,column:9}},type:"if",locations:[{start:{line:98,column:8},end:{line:100,column:9}},{start:{line:98,column:8},end:{line:100,column:9}}],line:98},"2":{loc:{start:{line:158,column:8},end:{line:160,column:9}},type:"if",locations:[{start:{line:158,column:8},end:{line:160,column:9}},{start:{line:158,column:8},end:{line:160,column:9}}],line:158},"3":{loc:{start:{line:168,column:8},end:{line:170,column:9}},type:"if",locations:[{start:{line:168,column:8},end:{line:170,column:9}},{start:{line:168,column:8},end:{line:170,column:9}}],line:168},"4":{loc:{start:{line:181,column:8},end:{line:183,column:9}},type:"if",locations:[{start:{line:181,column:8},end:{line:183,column:9}},{start:{line:181,column:8},end:{line:183,column:9}}],line:181},"5":{loc:{start:{line:192,column:8},end:{line:194,column:9}},type:"if",locations:[{start:{line:192,column:8},end:{line:194,column:9}},{start:{line:192,column:8},end:{line:194,column:9}}],line:192},"6":{loc:{start:{line:205,column:8},end:{line:210,column:9}},type:"if",locations:[{start:{line:205,column:8},end:{line:210,column:9}},{start:{line:205,column:8},end:{line:210,column:9}}],line:205},"7":{loc:{start:{line:205,column:12},end:{line:205,column:99}},type:"binary-expr",locations:[{start:{line:205,column:12},end:{line:205,column:53}},{start:{line:205,column:57},end:{line:205,column:99}}],line:205},"8":{loc:{start:{line:220,column:8},end:{line:225,column:9}},type:"if",locations:[{start:{line:220,column:8},end:{line:225,column:9}},{start:{line:220,column:8},end:{line:225,column:9}}],line:220},"9":{loc:{start:{line:220,column:12},end:{line:220,column:99}},type:"binary-expr",locations:[{start:{line:220,column:12},end:{line:220,column:55}},{start:{line:220,column:59},end:{line:220,column:99}}],line:220}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]},inputSourceMap:{version:3,file:"tooltip.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/tooltip/tooltip.ts"],names:[],mappings:"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",sourcesContent:["import { convertToBoolean } from '../../utilities/convertion';\nimport { TooltipPosition } from '../../utilities/enums';\nimport { PopUpHelper } from '../../utilities/popuphelper';\nimport {\n AfterViewChecked,\n ChangeDetectorRef,\n Directive,\n DoCheck,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\n/**\n * Tooltip Component\n *\n * Requires the following identifiers in the HTML markup\n * - container: Container for ng-content in which the element is displayed where the tooltip is attached.\n * - tooltip: Container for tooltip\n *\n * Tooltip must be displayed in 2 steps. In a first step the tooltip markup is created with (ngIf). In a 2nd step\n * the tooltip can then be displayed via the CSS visibility. If this is not done, it can lead to a flickering effect in certain browsers.\n *\n */\n@Directive()\nexport abstract class SacTooltipCommon implements OnInit, OnDestroy, AfterViewChecked, DoCheck {\n // #region Properties\n\n /**\n * Helper class to display tooltip on correct position\n */\n private readonly popupHelper: PopUpHelper = new PopUpHelper();\n\n /**\n * Inline mode for tooltip\n */\n private _inlinemode: boolean;\n\n /**\n * Defines whether the tooltip is visible\n */\n private _isTooltipVisible: boolean = false;\n\n /**\n * Containers for the tooltip\n */\n private tooltipcontainer: ElementRef<HTMLElement>;\n\n /**\n * Position of the tooltip on the left\n */\n public IsTooltipContentVisible: boolean = false;\n\n /**\n * Position des Tooltips links\n */\n public LeftPos: number = 0;\n\n /**\n * Property for enum in Angular HTML template\n */\n public TooltipPosition = TooltipPosition;\n\n /**\n * Position of the tooltip at the top\n */\n public TopPos: number = 0;\n\n /**\n * Name of the container for content (e.g. icon) on which the tooltip is displayed.\n */\n @ViewChild('container', { static: true })\n public content: ElementRef<HTMLElement>;\n\n /**\n * Position of the picker arrow at the left\n */\n public posArrowLeft: number | null = null;\n\n /**\n * Position of the picker arrow at the top\n */\n public posArrowTop: number | null = null;\n\n /**\n * Position of the tooltip. Values: left|top|right|bottom|auto\n *\n * Value 'auto' can be combined with another value.\n */\n @Input()\n public position: string = 'right|auto';\n\n /**\n * Text for ToolTip\n */\n @Input()\n public tooltiptext: string;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param ref Element Referenz\n */\n constructor(private readonly cdRef: ChangeDetectorRef, private readonly ref: ElementRef) {}\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`\n */\n public get inlinemode(): boolean {\n return this._inlinemode;\n }\n\n /**\n * Setter for inline mode for tooltip\n */\n @Input()\n public set inlinemode(value: boolean) {\n this._inlinemode = convertToBoolean(value);\n }\n\n /**\n * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.\n */\n @ViewChild('tooltip', { static: false })\n public set tooltip(content: ElementRef) {\n if (content !== undefined) {\n document.body.appendChild(content.nativeElement);\n }\n\n this.tooltipcontainer = content;\n this.onContentChange();\n this.cdRef.detectChanges();\n }\n\n public get tooltop(): ElementRef {\n return this.tooltipcontainer;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Returns the position of the tooltip\n */\n public GetTooltipPosition(): TooltipPosition {\n return this.popupHelper.getDisplayPosition(\n this.content,\n this.tooltipcontainer,\n this.getTooltipOffset(),\n this.getTooltipOffset(),\n this.position,\n true\n );\n }\n\n /**\n * Hide tooltip\n */\n public HideTooltip(): void {\n this._isTooltipVisible = false;\n this.IsTooltipContentVisible = false;\n }\n\n /**\n * Defines whether the tooltip is present in the markup\n */\n public IsTooltipVisible(): boolean {\n return this._isTooltipVisible;\n }\n\n /**\n * Show tooltip\n */\n public ShowTooltip(): void {\n this._isTooltipVisible = true;\n this.cdRef.detectChanges();\n\n setTimeout(() => {\n this.getLeftPosition();\n this.getTopPosition();\n this.IsTooltipContentVisible = true;\n });\n }\n\n /**\n * Calculates the height of the tooltip\n */\n public getToolTipHeight(): number {\n return this.popupHelper.getPopupHeight(this.tooltipcontainer);\n }\n\n /**\n * Calculates the width of the tooltips\n */\n public getToolTipWidth(): number {\n return this.popupHelper.getPopupWidth(this.tooltipcontainer);\n }\n\n /**\n * Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error\n */\n public ngAfterViewChecked(): void {\n // Do nothing if is not visibile\n if (!this._isTooltipVisible) {\n return;\n }\n\n this.cdRef.detectChanges();\n }\n\n /**\n * Detect UI Changes to Calculate Tooltip correct\n */\n public ngDoCheck(): void {\n // Do nothing if is not visibile\n if (!this._isTooltipVisible) {\n return;\n }\n\n this.getLeftPosition();\n this.getTopPosition();\n }\n\n /**\n * Event when the control is destroyed.\n */\n public ngOnDestroy() {\n // Unregister Event Listener\n window.removeEventListener('scroll', this.onContentChange, true);\n window.removeEventListener('resize', this.onContentChange, true);\n\n if (this.tooltipcontainer !== undefined) {\n document.body.removeChild(this.tooltipcontainer.nativeElement);\n }\n }\n\n /**\n * Event when the control is initialized\n */\n public ngOnInit() {\n // Register Event Listener\n window.addEventListener('scroll', this.onContentChange, true);\n window.addEventListener('resize', this.onContentChange, true);\n\n if (this.tooltipcontainer !== undefined) {\n document.body.appendChild(this.tooltipcontainer.nativeElement);\n }\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n /**\n * Offset for Tooltip. Required for BS4/BS5 to create padding\n */\n protected abstract getTooltipOffset(): number;\n\n // #endregion Protected Methods\n\n // #region Private Methods\n\n /**\n * Calculates the position of the tooltip from links\n */\n private getLeftPosition(): number {\n const value = this.popupHelper.getPositionLeft(\n this.content,\n this.tooltipcontainer,\n this.ref,\n this.getTooltipOffset(),\n this.getTooltipOffset(),\n this.position,\n true\n );\n this.LeftPos = value;\n\n const requiredPosition = this.GetTooltipPosition();\n if (requiredPosition === TooltipPosition.left || requiredPosition === TooltipPosition.right) {\n this.posArrowTop = this.getToolTipHeight() / 2 - 6.5;\n } else {\n this.posArrowTop = null;\n }\n\n return value;\n }\n\n /**\n * Calculates the position of the tooltip from the top\n */\n private getTopPosition(): number {\n const value = this.popupHelper.getPositionTop(\n this.content,\n this.tooltipcontainer,\n this.ref,\n this.getTooltipOffset(),\n this.getTooltipOffset(),\n this.position,\n true\n );\n this.TopPos = value;\n\n const requiredPosition = this.GetTooltipPosition();\n if (requiredPosition === TooltipPosition.bottom || requiredPosition === TooltipPosition.top) {\n this.posArrowLeft = this.getToolTipWidth() / 2 - 6.5;\n } else {\n this.posArrowLeft = null;\n }\n\n return value;\n }\n\n /**\n * method if content has changed and proportions need to be reset in the UI.\n */\n private readonly onContentChange = (): void => {\n // Do nothing if is not visible\n if (!this._isTooltipVisible) {\n return;\n }\n\n setTimeout(() => {\n this.getLeftPosition();\n this.getTopPosition();\n });\n };\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f0824b3c48a5bfa15a3d72fc1efa926b9845d4d7"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
-
cov_1cdwwf0oat=function(){return actualCoverage;};}return actualCoverage;}cov_1cdwwf0oat();import{convertToBoolean}from'../../utilities/convertion';import{TooltipPosition}from'../../utilities/enums';import{PopUpHelper}from'../../utilities/popuphelper';import{Directive,Input,ViewChild}from'@angular/core';import*as i0 from"@angular/core";/**
|
|
1
|
+
function cov_1cdwwf0oat(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/tooltip/tooltip.mjs";var hash="7e4a8a92c4b1d880ca2501f72b70a942c1da3d2b";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/tooltip/tooltip.mjs",statementMap:{"0":{start:{line:26,column:8},end:{line:26,column:27}},"1":{start:{line:27,column:8},end:{line:27,column:23}},"2":{start:{line:32,column:8},end:{line:32,column:45}},"3":{start:{line:36,column:8},end:{line:36,column:39}},"4":{start:{line:40,column:8},end:{line:40,column:45}},"5":{start:{line:44,column:8},end:{line:44,column:25}},"6":{start:{line:48,column:8},end:{line:48,column:47}},"7":{start:{line:52,column:8},end:{line:52,column:24}},"8":{start:{line:56,column:8},end:{line:56,column:34}},"9":{start:{line:60,column:8},end:{line:60,column:33}},"10":{start:{line:64,column:8},end:{line:64,column:33}},"11":{start:{line:68,column:8},end:{line:68,column:32}},"12":{start:{line:74,column:8},end:{line:74,column:37}},"13":{start:{line:78,column:8},end:{line:87,column:10}},"14":{start:{line:80,column:12},end:{line:82,column:13}},"15":{start:{line:81,column:16},end:{line:81,column:23}},"16":{start:{line:83,column:12},end:{line:86,column:15}},"17":{start:{line:84,column:16},end:{line:84,column:39}},"18":{start:{line:85,column:16},end:{line:85,column:38}},"19":{start:{line:95,column:8},end:{line:95,column:32}},"20":{start:{line:101,column:8},end:{line:101,column:51}},"21":{start:{line:107,column:8},end:{line:109,column:9}},"22":{start:{line:108,column:12},end:{line:108,column:61}},"23":{start:{line:110,column:8},end:{line:110,column:40}},"24":{start:{line:111,column:8},end:{line:111,column:31}},"25":{start:{line:112,column:8},end:{line:112,column:35}},"26":{start:{line:115,column:8},end:{line:115,column:37}},"27":{start:{line:123,column:8},end:{line:123,column:159}},"28":{start:{line:129,column:8},end:{line:129,column:39}},"29":{start:{line:130,column:8},end:{line:130,column:45}},"30":{start:{line:136,column:8},end:{line:136,column:38}},"31":{start:{line:142,column:8},end:{line:142,column:38}},"32":{start:{line:143,column:8},end:{line:143,column:35}},"33":{start:{line:144,column:8},end:{line:148,column:11}},"34":{start:{line:145,column:12},end:{line:145,column:35}},"35":{start:{line:146,column:12},end:{line:146,column:34}},"36":{start:{line:147,column:12},end:{line:147,column:48}},"37":{start:{line:154,column:8},end:{line:154,column:70}},"38":{start:{line:160,column:8},end:{line:160,column:69}},"39":{start:{line:167,column:8},end:{line:169,column:9}},"40":{start:{line:168,column:12},end:{line:168,column:19}},"41":{start:{line:170,column:8},end:{line:170,column:35}},"42":{start:{line:177,column:8},end:{line:179,column:9}},"43":{start:{line:178,column:12},end:{line:178,column:19}},"44":{start:{line:180,column:8},end:{line:180,column:31}},"45":{start:{line:181,column:8},end:{line:181,column:30}},"46":{start:{line:188,column:8},end:{line:188,column:73}},"47":{start:{line:189,column:8},end:{line:189,column:73}},"48":{start:{line:190,column:8},end:{line:192,column:9}},"49":{start:{line:191,column:12},end:{line:191,column:75}},"50":{start:{line:199,column:8},end:{line:199,column:70}},"51":{start:{line:200,column:8},end:{line:200,column:70}},"52":{start:{line:201,column:8},end:{line:203,column:9}},"53":{start:{line:202,column:12},end:{line:202,column:75}},"54":{start:{line:211,column:22},end:{line:211,column:172}},"55":{start:{line:212,column:8},end:{line:212,column:29}},"56":{start:{line:213,column:33},end:{line:213,column:58}},"57":{start:{line:214,column:8},end:{line:219,column:9}},"58":{start:{line:215,column:12},end:{line:215,column:65}},"59":{start:{line:218,column:12},end:{line:218,column:36}},"60":{start:{line:220,column:8},end:{line:220,column:21}},"61":{start:{line:226,column:22},end:{line:226,column:171}},"62":{start:{line:227,column:8},end:{line:227,column:28}},"63":{start:{line:228,column:33},end:{line:228,column:58}},"64":{start:{line:229,column:8},end:{line:234,column:9}},"65":{start:{line:230,column:12},end:{line:230,column:65}},"66":{start:{line:233,column:12},end:{line:233,column:37}},"67":{start:{line:235,column:8},end:{line:235,column:21}},"68":{start:{line:237,column:13},end:{line:237,column:236}},"69":{start:{line:238,column:13},end:{line:238,column:468}},"70":{start:{line:241,column:0},end:{line:259,column:20}},"71":{start:{line:243,column:42},end:{line:243,column:107}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:28},end:{line:88,column:5}},line:25},"1":{name:"(anonymous_1)",decl:{start:{line:78,column:31},end:{line:78,column:32}},loc:{start:{line:78,column:37},end:{line:87,column:9}},line:78},"2":{name:"(anonymous_2)",decl:{start:{line:83,column:23},end:{line:83,column:24}},loc:{start:{line:83,column:29},end:{line:86,column:13}},line:83},"3":{name:"(anonymous_3)",decl:{start:{line:94,column:4},end:{line:94,column:5}},loc:{start:{line:94,column:21},end:{line:96,column:5}},line:94},"4":{name:"(anonymous_4)",decl:{start:{line:100,column:4},end:{line:100,column:5}},loc:{start:{line:100,column:26},end:{line:102,column:5}},line:100},"5":{name:"(anonymous_5)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:25},end:{line:113,column:5}},line:106},"6":{name:"(anonymous_6)",decl:{start:{line:114,column:4},end:{line:114,column:5}},loc:{start:{line:114,column:18},end:{line:116,column:5}},line:114},"7":{name:"(anonymous_7)",decl:{start:{line:122,column:4},end:{line:122,column:5}},loc:{start:{line:122,column:25},end:{line:124,column:5}},line:122},"8":{name:"(anonymous_8)",decl:{start:{line:128,column:4},end:{line:128,column:5}},loc:{start:{line:128,column:18},end:{line:131,column:5}},line:128},"9":{name:"(anonymous_9)",decl:{start:{line:135,column:4},end:{line:135,column:5}},loc:{start:{line:135,column:23},end:{line:137,column:5}},line:135},"10":{name:"(anonymous_10)",decl:{start:{line:141,column:4},end:{line:141,column:5}},loc:{start:{line:141,column:18},end:{line:149,column:5}},line:141},"11":{name:"(anonymous_11)",decl:{start:{line:144,column:19},end:{line:144,column:20}},loc:{start:{line:144,column:25},end:{line:148,column:9}},line:144},"12":{name:"(anonymous_12)",decl:{start:{line:153,column:4},end:{line:153,column:5}},loc:{start:{line:153,column:23},end:{line:155,column:5}},line:153},"13":{name:"(anonymous_13)",decl:{start:{line:159,column:4},end:{line:159,column:5}},loc:{start:{line:159,column:22},end:{line:161,column:5}},line:159},"14":{name:"(anonymous_14)",decl:{start:{line:165,column:4},end:{line:165,column:5}},loc:{start:{line:165,column:25},end:{line:171,column:5}},line:165},"15":{name:"(anonymous_15)",decl:{start:{line:175,column:4},end:{line:175,column:5}},loc:{start:{line:175,column:16},end:{line:182,column:5}},line:175},"16":{name:"(anonymous_16)",decl:{start:{line:186,column:4},end:{line:186,column:5}},loc:{start:{line:186,column:18},end:{line:193,column:5}},line:186},"17":{name:"(anonymous_17)",decl:{start:{line:197,column:4},end:{line:197,column:5}},loc:{start:{line:197,column:15},end:{line:204,column:5}},line:197},"18":{name:"(anonymous_18)",decl:{start:{line:210,column:4},end:{line:210,column:5}},loc:{start:{line:210,column:22},end:{line:221,column:5}},line:210},"19":{name:"(anonymous_19)",decl:{start:{line:225,column:4},end:{line:225,column:5}},loc:{start:{line:225,column:21},end:{line:236,column:5}},line:225},"20":{name:"(anonymous_20)",decl:{start:{line:243,column:28},end:{line:243,column:29}},loc:{start:{line:243,column:40},end:{line:243,column:109}},line:243}},branchMap:{"0":{loc:{start:{line:80,column:12},end:{line:82,column:13}},type:"if",locations:[{start:{line:80,column:12},end:{line:82,column:13}},{start:{line:80,column:12},end:{line:82,column:13}}],line:80},"1":{loc:{start:{line:107,column:8},end:{line:109,column:9}},type:"if",locations:[{start:{line:107,column:8},end:{line:109,column:9}},{start:{line:107,column:8},end:{line:109,column:9}}],line:107},"2":{loc:{start:{line:167,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:167,column:8},end:{line:169,column:9}},{start:{line:167,column:8},end:{line:169,column:9}}],line:167},"3":{loc:{start:{line:177,column:8},end:{line:179,column:9}},type:"if",locations:[{start:{line:177,column:8},end:{line:179,column:9}},{start:{line:177,column:8},end:{line:179,column:9}}],line:177},"4":{loc:{start:{line:190,column:8},end:{line:192,column:9}},type:"if",locations:[{start:{line:190,column:8},end:{line:192,column:9}},{start:{line:190,column:8},end:{line:192,column:9}}],line:190},"5":{loc:{start:{line:201,column:8},end:{line:203,column:9}},type:"if",locations:[{start:{line:201,column:8},end:{line:203,column:9}},{start:{line:201,column:8},end:{line:203,column:9}}],line:201},"6":{loc:{start:{line:214,column:8},end:{line:219,column:9}},type:"if",locations:[{start:{line:214,column:8},end:{line:219,column:9}},{start:{line:214,column:8},end:{line:219,column:9}}],line:214},"7":{loc:{start:{line:214,column:12},end:{line:214,column:99}},type:"binary-expr",locations:[{start:{line:214,column:12},end:{line:214,column:53}},{start:{line:214,column:57},end:{line:214,column:99}}],line:214},"8":{loc:{start:{line:229,column:8},end:{line:234,column:9}},type:"if",locations:[{start:{line:229,column:8},end:{line:234,column:9}},{start:{line:229,column:8},end:{line:234,column:9}}],line:229},"9":{loc:{start:{line:229,column:12},end:{line:229,column:99}},type:"binary-expr",locations:[{start:{line:229,column:12},end:{line:229,column:55}},{start:{line:229,column:59},end:{line:229,column:99}}],line:229}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]},inputSourceMap:{version:3,file:"tooltip.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/tooltip/tooltip.ts"],names:[],mappings:"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",sourcesContent:["import { convertToBoolean } from '../../utilities/convertion';\nimport { TooltipPosition } from '../../utilities/enums';\nimport { createGuid } from '../../utilities/guid';\nimport { PopUpHelper } from '../../utilities/popuphelper';\nimport { AfterViewChecked, ChangeDetectorRef, Directive, DoCheck, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\n/**\n * Tooltip Component\n *\n * Requires the following identifiers in the HTML markup\n * - container: Container for ng-content in which the element is displayed where the tooltip is attached.\n * - tooltip: Container for tooltip\n *\n * Tooltip must be displayed in 2 steps. In a first step the tooltip markup is created with (ngIf). In a 2nd step\n * the tooltip can then be displayed via the CSS visibility. If this is not done, it can lead to a flickering effect in certain browsers.\n *\n */\n@Directive()\nexport abstract class SacTooltipCommon implements OnInit, OnDestroy, AfterViewChecked, DoCheck {\n // #region Properties\n\n /**\n * Helper class to display tooltip on correct position\n */\n private readonly popupHelper: PopUpHelper = new PopUpHelper();\n\n /**\n * Inline mode for tooltip\n */\n private _inlinemode: boolean;\n\n /**\n * Defines whether the tooltip is visible\n */\n private _isTooltipVisible: boolean = false;\n\n /**\n * Containers for the tooltip\n */\n private tooltipcontainer: ElementRef<HTMLElement>;\n\n /**\n * Position of the tooltip on the left\n */\n public IsTooltipContentVisible: boolean = false;\n\n /**\n * Position des Tooltips links\n */\n public LeftPos: number = 0;\n\n /**\n * Property for enum in Angular HTML template\n */\n public TooltipPosition = TooltipPosition;\n\n /**\n * Position of the tooltip at the top\n */\n public TopPos: number = 0;\n\n /**\n * Name of the container for content (e.g. icon) on which the tooltip is displayed.\n */\n @ViewChild('container', { static: true })\n public content: ElementRef<HTMLElement>;\n\n /**\n * Identifier used for the E2E data attribute.\n */\n @Input()\n public e2eidentifier: string | null = null;\n\n /**\n * name of control\n */\n @Input()\n public name: string = createGuid();\n\n /**\n * Position of the picker arrow at the left\n */\n public posArrowLeft: number | null = null;\n\n /**\n * Position of the picker arrow at the top\n */\n public posArrowTop: number | null = null;\n\n /**\n * Position of the tooltip. Values: left|top|right|bottom|auto\n *\n * Value 'auto' can be combined with another value.\n */\n @Input()\n public position: string = 'right|auto';\n\n /**\n * Text for ToolTip\n */\n @Input()\n public tooltiptext: string;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param ref Element Referenz\n */\n constructor(private readonly cdRef: ChangeDetectorRef, private readonly ref: ElementRef) {}\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`\n */\n public get inlinemode(): boolean {\n return this._inlinemode;\n }\n\n /**\n * Setter for inline mode for tooltip\n */\n @Input()\n public set inlinemode(value: boolean) {\n this._inlinemode = convertToBoolean(value);\n }\n\n /**\n * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.\n */\n @ViewChild('tooltip', { static: false })\n public set tooltip(content: ElementRef) {\n if (content !== undefined) {\n document.body.appendChild(content.nativeElement);\n }\n\n this.tooltipcontainer = content;\n this.onContentChange();\n this.cdRef.detectChanges();\n }\n\n public get tooltop(): ElementRef {\n return this.tooltipcontainer;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Returns the position of the tooltip\n */\n public GetTooltipPosition(): TooltipPosition {\n return this.popupHelper.getDisplayPosition(\n this.content,\n this.tooltipcontainer,\n this.getTooltipOffset(),\n this.getTooltipOffset(),\n this.position,\n true\n );\n }\n\n /**\n * Hide tooltip\n */\n public HideTooltip(): void {\n this._isTooltipVisible = false;\n this.IsTooltipContentVisible = false;\n }\n\n /**\n * Defines whether the tooltip is present in the markup\n */\n public IsTooltipVisible(): boolean {\n return this._isTooltipVisible;\n }\n\n /**\n * Show tooltip\n */\n public ShowTooltip(): void {\n this._isTooltipVisible = true;\n this.cdRef.detectChanges();\n\n setTimeout(() => {\n this.getLeftPosition();\n this.getTopPosition();\n this.IsTooltipContentVisible = true;\n });\n }\n\n /**\n * Calculates the height of the tooltip\n */\n public getToolTipHeight(): number {\n return this.popupHelper.getPopupHeight(this.tooltipcontainer);\n }\n\n /**\n * Calculates the width of the tooltips\n */\n public getToolTipWidth(): number {\n return this.popupHelper.getPopupWidth(this.tooltipcontainer);\n }\n\n /**\n * Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error\n */\n public ngAfterViewChecked(): void {\n // Do nothing if is not visibile\n if (!this._isTooltipVisible) {\n return;\n }\n\n this.cdRef.detectChanges();\n }\n\n /**\n * Detect UI Changes to Calculate Tooltip correct\n */\n public ngDoCheck(): void {\n // Do nothing if is not visibile\n if (!this._isTooltipVisible) {\n return;\n }\n\n this.getLeftPosition();\n this.getTopPosition();\n }\n\n /**\n * Event when the control is destroyed.\n */\n public ngOnDestroy() {\n // Unregister Event Listener\n window.removeEventListener('scroll', this.onContentChange, true);\n window.removeEventListener('resize', this.onContentChange, true);\n\n if (this.tooltipcontainer !== undefined) {\n document.body.removeChild(this.tooltipcontainer.nativeElement);\n }\n }\n\n /**\n * Event when the control is initialized\n */\n public ngOnInit() {\n // Register Event Listener\n window.addEventListener('scroll', this.onContentChange, true);\n window.addEventListener('resize', this.onContentChange, true);\n\n if (this.tooltipcontainer !== undefined) {\n document.body.appendChild(this.tooltipcontainer.nativeElement);\n }\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n /**\n * Offset for Tooltip. Required for BS4/BS5 to create padding\n */\n protected abstract getTooltipOffset(): number;\n\n // #endregion Protected Methods\n\n // #region Private Methods\n\n /**\n * Calculates the position of the tooltip from links\n */\n private getLeftPosition(): number {\n const value = this.popupHelper.getPositionLeft(\n this.content,\n this.tooltipcontainer,\n this.ref,\n this.getTooltipOffset(),\n this.getTooltipOffset(),\n this.position,\n true\n );\n this.LeftPos = value;\n\n const requiredPosition = this.GetTooltipPosition();\n if (requiredPosition === TooltipPosition.left || requiredPosition === TooltipPosition.right) {\n this.posArrowTop = this.getToolTipHeight() / 2 - 6.5;\n } else {\n this.posArrowTop = null;\n }\n\n return value;\n }\n\n /**\n * Calculates the position of the tooltip from the top\n */\n private getTopPosition(): number {\n const value = this.popupHelper.getPositionTop(\n this.content,\n this.tooltipcontainer,\n this.ref,\n this.getTooltipOffset(),\n this.getTooltipOffset(),\n this.position,\n true\n );\n this.TopPos = value;\n\n const requiredPosition = this.GetTooltipPosition();\n if (requiredPosition === TooltipPosition.bottom || requiredPosition === TooltipPosition.top) {\n this.posArrowLeft = this.getToolTipWidth() / 2 - 6.5;\n } else {\n this.posArrowLeft = null;\n }\n\n return value;\n }\n\n /**\n * method if content has changed and proportions need to be reset in the UI.\n */\n private readonly onContentChange = (): void => {\n // Do nothing if is not visible\n if (!this._isTooltipVisible) {\n return;\n }\n\n setTimeout(() => {\n this.getLeftPosition();\n this.getTopPosition();\n });\n };\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7e4a8a92c4b1d880ca2501f72b70a942c1da3d2b"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_1cdwwf0oat=function(){return actualCoverage;};}return actualCoverage;}cov_1cdwwf0oat();import{convertToBoolean}from'../../utilities/convertion';import{TooltipPosition}from'../../utilities/enums';import{createGuid}from'../../utilities/guid';import{PopUpHelper}from'../../utilities/popuphelper';import{Directive,Input,ViewChild}from'@angular/core';import*as i0 from"@angular/core";/**
|
|
3
3
|
* Tooltip Component
|
|
4
4
|
*
|
|
5
5
|
* Requires the following identifiers in the HTML markup
|
|
@@ -28,55 +28,59 @@ cov_1cdwwf0oat=function(){return actualCoverage;};}return actualCoverage;}cov_1c
|
|
|
28
28
|
*/cov_1cdwwf0oat().s[6]++;this.TooltipPosition=TooltipPosition;/**
|
|
29
29
|
* Position of the tooltip at the top
|
|
30
30
|
*/cov_1cdwwf0oat().s[7]++;this.TopPos=0;/**
|
|
31
|
+
* Identifier used for the E2E data attribute.
|
|
32
|
+
*/cov_1cdwwf0oat().s[8]++;this.e2eidentifier=null;/**
|
|
33
|
+
* name of control
|
|
34
|
+
*/cov_1cdwwf0oat().s[9]++;this.name=createGuid();/**
|
|
31
35
|
* Position of the picker arrow at the left
|
|
32
|
-
*/cov_1cdwwf0oat().s[
|
|
36
|
+
*/cov_1cdwwf0oat().s[10]++;this.posArrowLeft=null;/**
|
|
33
37
|
* Position of the picker arrow at the top
|
|
34
|
-
*/cov_1cdwwf0oat().s[
|
|
38
|
+
*/cov_1cdwwf0oat().s[11]++;this.posArrowTop=null;/**
|
|
35
39
|
* Position of the tooltip. Values: left|top|right|bottom|auto
|
|
36
40
|
*
|
|
37
41
|
* Value 'auto' can be combined with another value.
|
|
38
|
-
*/cov_1cdwwf0oat().s[
|
|
42
|
+
*/cov_1cdwwf0oat().s[12]++;this.position='right|auto';/**
|
|
39
43
|
* method if content has changed and proportions need to be reset in the UI.
|
|
40
|
-
*/cov_1cdwwf0oat().s[
|
|
41
|
-
if(!this._isTooltipVisible){cov_1cdwwf0oat().b[0][0]++;cov_1cdwwf0oat().s[
|
|
44
|
+
*/cov_1cdwwf0oat().s[13]++;this.onContentChange=()=>{cov_1cdwwf0oat().f[1]++;cov_1cdwwf0oat().s[14]++;// Do nothing if is not visible
|
|
45
|
+
if(!this._isTooltipVisible){cov_1cdwwf0oat().b[0][0]++;cov_1cdwwf0oat().s[15]++;return;}else{cov_1cdwwf0oat().b[0][1]++;}cov_1cdwwf0oat().s[16]++;setTimeout(()=>{cov_1cdwwf0oat().f[2]++;cov_1cdwwf0oat().s[17]++;this.getLeftPosition();cov_1cdwwf0oat().s[18]++;this.getTopPosition();});};}// #endregion Constructors
|
|
42
46
|
// #region Public Getters And Setters
|
|
43
47
|
/**
|
|
44
48
|
* Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`
|
|
45
|
-
*/get inlinemode(){cov_1cdwwf0oat().f[3]++;cov_1cdwwf0oat().s[
|
|
49
|
+
*/get inlinemode(){cov_1cdwwf0oat().f[3]++;cov_1cdwwf0oat().s[19]++;return this._inlinemode;}/**
|
|
46
50
|
* Setter for inline mode for tooltip
|
|
47
|
-
*/set inlinemode(value){cov_1cdwwf0oat().f[4]++;cov_1cdwwf0oat().s[
|
|
51
|
+
*/set inlinemode(value){cov_1cdwwf0oat().f[4]++;cov_1cdwwf0oat().s[20]++;this._inlinemode=convertToBoolean(value);}/**
|
|
48
52
|
* Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.
|
|
49
|
-
*/set tooltip(content){cov_1cdwwf0oat().f[5]++;cov_1cdwwf0oat().s[
|
|
53
|
+
*/set tooltip(content){cov_1cdwwf0oat().f[5]++;cov_1cdwwf0oat().s[21]++;if(content!==undefined){cov_1cdwwf0oat().b[1][0]++;cov_1cdwwf0oat().s[22]++;document.body.appendChild(content.nativeElement);}else{cov_1cdwwf0oat().b[1][1]++;}cov_1cdwwf0oat().s[23]++;this.tooltipcontainer=content;cov_1cdwwf0oat().s[24]++;this.onContentChange();cov_1cdwwf0oat().s[25]++;this.cdRef.detectChanges();}get tooltop(){cov_1cdwwf0oat().f[6]++;cov_1cdwwf0oat().s[26]++;return this.tooltipcontainer;}// #endregion Public Getters And Setters
|
|
50
54
|
// #region Public Methods
|
|
51
55
|
/**
|
|
52
56
|
* Returns the position of the tooltip
|
|
53
|
-
*/GetTooltipPosition(){cov_1cdwwf0oat().f[7]++;cov_1cdwwf0oat().s[
|
|
57
|
+
*/GetTooltipPosition(){cov_1cdwwf0oat().f[7]++;cov_1cdwwf0oat().s[27]++;return this.popupHelper.getDisplayPosition(this.content,this.tooltipcontainer,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true);}/**
|
|
54
58
|
* Hide tooltip
|
|
55
|
-
*/HideTooltip(){cov_1cdwwf0oat().f[8]++;cov_1cdwwf0oat().s[
|
|
59
|
+
*/HideTooltip(){cov_1cdwwf0oat().f[8]++;cov_1cdwwf0oat().s[28]++;this._isTooltipVisible=false;cov_1cdwwf0oat().s[29]++;this.IsTooltipContentVisible=false;}/**
|
|
56
60
|
* Defines whether the tooltip is present in the markup
|
|
57
|
-
*/IsTooltipVisible(){cov_1cdwwf0oat().f[9]++;cov_1cdwwf0oat().s[
|
|
61
|
+
*/IsTooltipVisible(){cov_1cdwwf0oat().f[9]++;cov_1cdwwf0oat().s[30]++;return this._isTooltipVisible;}/**
|
|
58
62
|
* Show tooltip
|
|
59
|
-
*/ShowTooltip(){cov_1cdwwf0oat().f[10]++;cov_1cdwwf0oat().s[
|
|
63
|
+
*/ShowTooltip(){cov_1cdwwf0oat().f[10]++;cov_1cdwwf0oat().s[31]++;this._isTooltipVisible=true;cov_1cdwwf0oat().s[32]++;this.cdRef.detectChanges();cov_1cdwwf0oat().s[33]++;setTimeout(()=>{cov_1cdwwf0oat().f[11]++;cov_1cdwwf0oat().s[34]++;this.getLeftPosition();cov_1cdwwf0oat().s[35]++;this.getTopPosition();cov_1cdwwf0oat().s[36]++;this.IsTooltipContentVisible=true;});}/**
|
|
60
64
|
* Calculates the height of the tooltip
|
|
61
|
-
*/getToolTipHeight(){cov_1cdwwf0oat().f[12]++;cov_1cdwwf0oat().s[
|
|
65
|
+
*/getToolTipHeight(){cov_1cdwwf0oat().f[12]++;cov_1cdwwf0oat().s[37]++;return this.popupHelper.getPopupHeight(this.tooltipcontainer);}/**
|
|
62
66
|
* Calculates the width of the tooltips
|
|
63
|
-
*/getToolTipWidth(){cov_1cdwwf0oat().f[13]++;cov_1cdwwf0oat().s[
|
|
67
|
+
*/getToolTipWidth(){cov_1cdwwf0oat().f[13]++;cov_1cdwwf0oat().s[38]++;return this.popupHelper.getPopupWidth(this.tooltipcontainer);}/**
|
|
64
68
|
* Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error
|
|
65
|
-
*/ngAfterViewChecked(){cov_1cdwwf0oat().f[14]++;cov_1cdwwf0oat().s[
|
|
66
|
-
if(!this._isTooltipVisible){cov_1cdwwf0oat().b[2][0]++;cov_1cdwwf0oat().s[
|
|
69
|
+
*/ngAfterViewChecked(){cov_1cdwwf0oat().f[14]++;cov_1cdwwf0oat().s[39]++;// Do nothing if is not visibile
|
|
70
|
+
if(!this._isTooltipVisible){cov_1cdwwf0oat().b[2][0]++;cov_1cdwwf0oat().s[40]++;return;}else{cov_1cdwwf0oat().b[2][1]++;}cov_1cdwwf0oat().s[41]++;this.cdRef.detectChanges();}/**
|
|
67
71
|
* Detect UI Changes to Calculate Tooltip correct
|
|
68
|
-
*/ngDoCheck(){cov_1cdwwf0oat().f[15]++;cov_1cdwwf0oat().s[
|
|
69
|
-
if(!this._isTooltipVisible){cov_1cdwwf0oat().b[3][0]++;cov_1cdwwf0oat().s[
|
|
72
|
+
*/ngDoCheck(){cov_1cdwwf0oat().f[15]++;cov_1cdwwf0oat().s[42]++;// Do nothing if is not visibile
|
|
73
|
+
if(!this._isTooltipVisible){cov_1cdwwf0oat().b[3][0]++;cov_1cdwwf0oat().s[43]++;return;}else{cov_1cdwwf0oat().b[3][1]++;}cov_1cdwwf0oat().s[44]++;this.getLeftPosition();cov_1cdwwf0oat().s[45]++;this.getTopPosition();}/**
|
|
70
74
|
* Event when the control is destroyed.
|
|
71
|
-
*/ngOnDestroy(){cov_1cdwwf0oat().f[16]++;cov_1cdwwf0oat().s[
|
|
72
|
-
window.removeEventListener('scroll',this.onContentChange,true);cov_1cdwwf0oat().s[
|
|
75
|
+
*/ngOnDestroy(){cov_1cdwwf0oat().f[16]++;cov_1cdwwf0oat().s[46]++;// Unregister Event Listener
|
|
76
|
+
window.removeEventListener('scroll',this.onContentChange,true);cov_1cdwwf0oat().s[47]++;window.removeEventListener('resize',this.onContentChange,true);cov_1cdwwf0oat().s[48]++;if(this.tooltipcontainer!==undefined){cov_1cdwwf0oat().b[4][0]++;cov_1cdwwf0oat().s[49]++;document.body.removeChild(this.tooltipcontainer.nativeElement);}else{cov_1cdwwf0oat().b[4][1]++;}}/**
|
|
73
77
|
* Event when the control is initialized
|
|
74
|
-
*/ngOnInit(){cov_1cdwwf0oat().f[17]++;cov_1cdwwf0oat().s[
|
|
75
|
-
window.addEventListener('scroll',this.onContentChange,true);cov_1cdwwf0oat().s[
|
|
78
|
+
*/ngOnInit(){cov_1cdwwf0oat().f[17]++;cov_1cdwwf0oat().s[50]++;// Register Event Listener
|
|
79
|
+
window.addEventListener('scroll',this.onContentChange,true);cov_1cdwwf0oat().s[51]++;window.addEventListener('resize',this.onContentChange,true);cov_1cdwwf0oat().s[52]++;if(this.tooltipcontainer!==undefined){cov_1cdwwf0oat().b[5][0]++;cov_1cdwwf0oat().s[53]++;document.body.appendChild(this.tooltipcontainer.nativeElement);}else{cov_1cdwwf0oat().b[5][1]++;}}// #endregion Protected Methods
|
|
76
80
|
// #region Private Methods
|
|
77
81
|
/**
|
|
78
82
|
* Calculates the position of the tooltip from links
|
|
79
|
-
*/getLeftPosition(){cov_1cdwwf0oat().f[18]++;const value=(cov_1cdwwf0oat().s[
|
|
83
|
+
*/getLeftPosition(){cov_1cdwwf0oat().f[18]++;const value=(cov_1cdwwf0oat().s[54]++,this.popupHelper.getPositionLeft(this.content,this.tooltipcontainer,this.ref,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true));cov_1cdwwf0oat().s[55]++;this.LeftPos=value;const requiredPosition=(cov_1cdwwf0oat().s[56]++,this.GetTooltipPosition());cov_1cdwwf0oat().s[57]++;if((cov_1cdwwf0oat().b[7][0]++,requiredPosition===TooltipPosition.left)||(cov_1cdwwf0oat().b[7][1]++,requiredPosition===TooltipPosition.right)){cov_1cdwwf0oat().b[6][0]++;cov_1cdwwf0oat().s[58]++;this.posArrowTop=this.getToolTipHeight()/2-6.5;}else{cov_1cdwwf0oat().b[6][1]++;cov_1cdwwf0oat().s[59]++;this.posArrowTop=null;}cov_1cdwwf0oat().s[60]++;return value;}/**
|
|
80
84
|
* Calculates the position of the tooltip from the top
|
|
81
|
-
*/getTopPosition(){cov_1cdwwf0oat().f[19]++;const value=(cov_1cdwwf0oat().s[59]++,this.popupHelper.getPositionTop(this.content,this.tooltipcontainer,this.ref,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true));cov_1cdwwf0oat().s[60]++;this.TopPos=value;const requiredPosition=(cov_1cdwwf0oat().s[61]++,this.GetTooltipPosition());cov_1cdwwf0oat().s[62]++;if((cov_1cdwwf0oat().b[9][0]++,requiredPosition===TooltipPosition.bottom)||(cov_1cdwwf0oat().b[9][1]++,requiredPosition===TooltipPosition.top)){cov_1cdwwf0oat().b[8][0]++;cov_1cdwwf0oat().s[63]++;this.posArrowLeft=this.getToolTipWidth()/2-6.5;}else{cov_1cdwwf0oat().b[8][1]++;cov_1cdwwf0oat().s[64]++;this.posArrowLeft=null;}cov_1cdwwf0oat().s[65]++;return value;}static{cov_1cdwwf0oat().s[66]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,deps:[{token:i0.ChangeDetectorRef},{token:i0.ElementRef}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_1cdwwf0oat().s[67]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacTooltipCommon,inputs:{position:"position",tooltiptext:"tooltiptext",inlinemode:"inlinemode"},viewQueries:[{propertyName:"content",first:true,predicate:["container"],descendants:true,static:true},{propertyName:"tooltip",first:true,predicate:["tooltip"],descendants:true}],ngImport:i0});}}export{SacTooltipCommon};cov_1cdwwf0oat().s[68]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_1cdwwf0oat().f[20]++;cov_1cdwwf0oat().s[69]++;return[{type:i0.ChangeDetectorRef},{type:i0.ElementRef}];},propDecorators:{content:[{type:ViewChild,args:['container',{static:true}]}],position:[{type:Input}],tooltiptext:[{type:Input}],inlinemode:[{type:Input}],tooltip:[{type:ViewChild,args:['tooltip',{static:false}]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFHSCxTQUFTLEVBR1QsS0FBSyxFQUdMLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQ3NCLGdCQUFnQjtJQXlFbEMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUE2QixLQUF3QixFQUFtQixHQUFlO1FBQTFELFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQW1CLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFoRnZGLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNjLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFPOUQ7O1dBRUc7UUFDSyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFPM0M7O1dBRUc7UUFDSSw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFFaEQ7O1dBRUc7UUFDSSxZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBRTNCOztXQUVHO1FBQ0ksb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFFekM7O1dBRUc7UUFDSSxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBUTFCOztXQUVHO1FBQ0ksaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRTFDOztXQUVHO1FBQ0ksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBRXpDOzs7O1dBSUc7UUFFSSxhQUFRLEdBQVcsWUFBWSxDQUFDO1FBc092Qzs7V0FFRztRQUNjLG9CQUFlLEdBQUcsR0FBUyxFQUFFO1lBQzFDLCtCQUErQjtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN6QixPQUFPO2FBQ1Y7WUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO0lBbk93RixDQUFDO0lBRTNGLDBCQUEwQjtJQUUxQixxQ0FBcUM7SUFFckM7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLE9BQU8sQ0FBQyxPQUFtQjtRQUNsQyxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUN0QyxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUN2QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUNyQixnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVM7UUFDWixnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDZCw0QkFBNEI7UUFDNUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVqRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUU7WUFDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNYLDBCQUEwQjtRQUMxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlELElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDO0lBV0QsK0JBQStCO0lBRS9CLDBCQUEwQjtJQUUxQjs7T0FFRztJQUNLLGVBQWU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQzFDLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkQsSUFBSSxnQkFBZ0IsS0FBSyxlQUFlLENBQUMsSUFBSSxJQUFJLGdCQUFnQixLQUFLLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDekYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3hEO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQ3pDLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkQsSUFBSSxnQkFBZ0IsS0FBSyxlQUFlLENBQUMsTUFBTSxJQUFJLGdCQUFnQixLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDekYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDNUI7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOytHQXJTaUIsZ0JBQWdCO21HQUFoQixnQkFBZ0I7O1NBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQURyQyxTQUFTO2lJQWdEQyxPQUFPO3NCQURiLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFtQmpDLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQTRCSyxVQUFVO3NCQURwQixLQUFLO2dCQVNLLE9BQU87c0JBRGpCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29udmVydGlvbic7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZW51bXMnO1xuaW1wb3J0IHsgUG9wVXBIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9wdXBoZWxwZXInO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRvb2x0aXAgQ29tcG9uZW50XG4gKlxuICogUmVxdWlyZXMgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVycyBpbiB0aGUgSFRNTCBtYXJrdXBcbiAqIC0gY29udGFpbmVyOiBDb250YWluZXIgZm9yIG5nLWNvbnRlbnQgaW4gd2hpY2ggdGhlIGVsZW1lbnQgaXMgZGlzcGxheWVkIHdoZXJlIHRoZSB0b29sdGlwIGlzIGF0dGFjaGVkLlxuICogLSB0b29sdGlwOiBDb250YWluZXIgZm9yIHRvb2x0aXBcbiAqXG4gKiBUb29sdGlwIG11c3QgYmUgZGlzcGxheWVkIGluIDIgc3RlcHMuIEluIGEgZmlyc3Qgc3RlcCB0aGUgdG9vbHRpcCBtYXJrdXAgaXMgY3JlYXRlZCB3aXRoIChuZ0lmKS4gSW4gYSAybmQgc3RlcFxuICogdGhlIHRvb2x0aXAgY2FuIHRoZW4gYmUgZGlzcGxheWVkIHZpYSB0aGUgQ1NTIHZpc2liaWxpdHkuIElmIHRoaXMgaXMgbm90IGRvbmUsIGl0IGNhbiBsZWFkIHRvIGEgZmxpY2tlcmluZyBlZmZlY3QgaW4gY2VydGFpbiBicm93c2Vycy5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY1Rvb2x0aXBDb21tb24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjayB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgY2xhc3MgdG8gZGlzcGxheSB0b29sdGlwIG9uIGNvcnJlY3QgcG9zaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwSGVscGVyOiBQb3BVcEhlbHBlciA9IG5ldyBQb3BVcEhlbHBlcigpO1xuXG4gICAgLyoqXG4gICAgICogSW5saW5lIG1vZGUgZm9yIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pbmxpbmVtb2RlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHZpc2libGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pc1Rvb2x0aXBWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXJzIGZvciB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHByaXZhdGUgdG9vbHRpcGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBvbiB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBJc1Rvb2x0aXBDb250ZW50VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gZGVzIFRvb2x0aXBzIGxpbmtzXG4gICAgICovXG4gICAgcHVibGljIExlZnRQb3M6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgZW51bSBpbiBBbmd1bGFyIEhUTUwgdGVtcGxhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgYXQgdGhlIHRvcFxuICAgICAqL1xuICAgIHB1YmxpYyBUb3BQb3M6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIGNvbnRlbnQgKGUuZy4gaWNvbikgb24gd2hpY2ggdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGNvbnRlbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd0xlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXG4gICAgICpcbiAgICAgKiBWYWx1ZSAnYXV0bycgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW5vdGhlciB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0fGF1dG8nO1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBmb3IgVG9vbFRpcFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvb2x0aXB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSByZWYgRWxlbWVudCBSZWZlcmVuelxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgaW5saW5lIG1vZGUgZm9yIHRvb2x0aXAuIFNldHMgdGhlIGRpc3BsYXkgbW9kZSBvbiB0aGUgd3JhcHBlciBlbGVtZW50IHRvIGBpbmxpbmVgXG4gICAgICovXG4gICAgcHVibGljIGdldCBpbmxpbmVtb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5saW5lbW9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXR0ZXIgZm9yIGlubGluZSBtb2RlIGZvciB0b29sdGlwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlubGluZW1vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faW5saW5lbW9kZSA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHRlciBmb3IgdGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHRvb2x0aXAuIElzIHJlcXVpcmVkIGFzIHRoZSB0b29sdGlwIGNhbiBiZSBoaWRkZW4gdmlhIG5nSWYuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgdG9vbHRpcChjb250ZW50OiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGlmIChjb250ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lciA9IGNvbnRlbnQ7XG4gICAgICAgIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9vbHRvcCgpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBHZXRUb29sdGlwUG9zaXRpb24oKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBIZWxwZXIuZ2V0RGlzcGxheVBvc2l0aW9uKFxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIEhpZGVUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgcHJlc2VudCBpbiB0aGUgbWFya3VwXG4gICAgICovXG4gICAgcHVibGljIElzVG9vbHRpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBTaG93VG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNUb29sdGlwVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbFRpcEhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnRvb2x0aXBjb250YWluZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSB0b29sdGlwc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb29sVGlwV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9wdXBXaWR0aCh0aGlzLnRvb2x0aXBjb250YWluZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVjdCBDaGFuZ2VzIGFmdGVyIHZpZXcgY2hlY2tlZC4gUHJldmVudCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yIGVycm9yXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJpbGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlY3QgVUkgQ2hhbmdlcyB0byBDYWxjdWxhdGUgVG9vbHRpcCBjb3JyZWN0XG4gICAgICovXG4gICAgcHVibGljIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJpbGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBkZXN0cm95ZWQuXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdoZW4gdGhlIGNvbnRyb2wgaXMgaW5pdGlhbGl6ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIE9mZnNldCBmb3IgVG9vbHRpcC4gUmVxdWlyZWQgZm9yIEJTNC9CUzUgdG8gY3JlYXRlIHBhZGRpbmdcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0VG9vbHRpcE9mZnNldCgpOiBudW1iZXI7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TGVmdFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvbkxlZnQoXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLnJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLkxlZnRQb3MgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCByZXF1aXJlZFBvc2l0aW9uID0gdGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKTtcbiAgICAgICAgaWYgKHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5sZWZ0IHx8IHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xuICAgICAgICAgICAgdGhpcy5wb3NBcnJvd1RvcCA9IHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMiAtIDYuNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvcFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0VG9wUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uVG9wKFxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5yZWYsXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5Ub3BQb3MgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCByZXF1aXJlZFBvc2l0aW9uID0gdGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKTtcbiAgICAgICAgaWYgKHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5ib3R0b20gfHwgcmVxdWlyZWRQb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLnRvcCkge1xuICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPSB0aGlzLmdldFRvb2xUaXBXaWR0aCgpIC8gMiAtIDYuNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBtZXRob2QgaWYgY29udGVudCBoYXMgY2hhbmdlZCBhbmQgcHJvcG9ydGlvbnMgbmVlZCB0byBiZSByZXNldCBpbiB0aGUgVUkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2libGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMWNkd3dmMG9hdCIsImFjdHVhbENvdmVyYWdlIiwiY29udmVydFRvQm9vbGVhbiIsIlRvb2x0aXBQb3NpdGlvbiIsIlBvcFVwSGVscGVyIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJWaWV3Q2hpbGQiLCJTYWNUb29sdGlwQ29tbW9uIiwiY29uc3RydWN0b3IiLCJjZFJlZiIsInJlZiIsImYiLCJzIiwicG9wdXBIZWxwZXIiLCJfaXNUb29sdGlwVmlzaWJsZSIsIklzVG9vbHRpcENvbnRlbnRWaXNpYmxlIiwiTGVmdFBvcyIsIlRvcFBvcyIsInBvc0Fycm93TGVmdCIsInBvc0Fycm93VG9wIiwicG9zaXRpb24iLCJvbkNvbnRlbnRDaGFuZ2UiLCJiIiwic2V0VGltZW91dCIsImdldExlZnRQb3NpdGlvbiIsImdldFRvcFBvc2l0aW9uIiwiaW5saW5lbW9kZSIsIl9pbmxpbmVtb2RlIiwidmFsdWUiLCJ0b29sdGlwIiwiY29udGVudCIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwibmF0aXZlRWxlbWVudCIsInRvb2x0aXBjb250YWluZXIiLCJkZXRlY3RDaGFuZ2VzIiwidG9vbHRvcCIsIkdldFRvb2x0aXBQb3NpdGlvbiIsImdldERpc3BsYXlQb3NpdGlvbiIsImdldFRvb2x0aXBPZmZzZXQiLCJIaWRlVG9vbHRpcCIsIklzVG9vbHRpcFZpc2libGUiLCJTaG93VG9vbHRpcCIsImdldFRvb2xUaXBIZWlnaHQiLCJnZXRQb3B1cEhlaWdodCIsImdldFRvb2xUaXBXaWR0aCIsImdldFBvcHVwV2lkdGgiLCJuZ0FmdGVyVmlld0NoZWNrZWQiLCJuZ0RvQ2hlY2siLCJuZ09uRGVzdHJveSIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW1vdmVDaGlsZCIsIm5nT25Jbml0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImdldFBvc2l0aW9uTGVmdCIsInJlcXVpcmVkUG9zaXRpb24iLCJsZWZ0IiwicmlnaHQiLCJnZXRQb3NpdGlvblRvcCIsImJvdHRvbSIsInRvcCIsImRlcHMiLCJ0b2tlbiIsImkwIiwiQ2hhbmdlRGV0ZWN0b3JSZWYiLCJFbGVtZW50UmVmIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJ0b29sdGlwdGV4dCIsInZpZXdRdWVyaWVzIiwicHJvcGVydHlOYW1lIiwiZmlyc3QiLCJwcmVkaWNhdGUiLCJkZXNjZW5kYW50cyIsInN0YXRpYyIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2VudW1zJztcbmltcG9ydCB7IFBvcFVwSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3BvcHVwaGVscGVyJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUb29sdGlwIENvbXBvbmVudFxuICpcbiAqIFJlcXVpcmVzIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnMgaW4gdGhlIEhUTUwgbWFya3VwXG4gKiAtIGNvbnRhaW5lcjogQ29udGFpbmVyIGZvciBuZy1jb250ZW50IGluIHdoaWNoIHRoZSBlbGVtZW50IGlzIGRpc3BsYXllZCB3aGVyZSB0aGUgdG9vbHRpcCBpcyBhdHRhY2hlZC5cbiAqIC0gdG9vbHRpcDogQ29udGFpbmVyIGZvciB0b29sdGlwXG4gKlxuICogVG9vbHRpcCBtdXN0IGJlIGRpc3BsYXllZCBpbiAyIHN0ZXBzLiBJbiBhIGZpcnN0IHN0ZXAgdGhlIHRvb2x0aXAgbWFya3VwIGlzIGNyZWF0ZWQgd2l0aCAobmdJZikuIEluIGEgMm5kIHN0ZXBcbiAqIHRoZSB0b29sdGlwIGNhbiB0aGVuIGJlIGRpc3BsYXllZCB2aWEgdGhlIENTUyB2aXNpYmlsaXR5LiBJZiB0aGlzIGlzIG5vdCBkb25lLCBpdCBjYW4gbGVhZCB0byBhIGZsaWNrZXJpbmcgZWZmZWN0IGluIGNlcnRhaW4gYnJvd3NlcnMuXG4gKlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNUb29sdGlwQ29tbW9uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQsIERvQ2hlY2sge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogSGVscGVyIGNsYXNzIHRvIGRpc3BsYXkgdG9vbHRpcCBvbiBjb3JyZWN0IHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cEhlbHBlcjogUG9wVXBIZWxwZXIgPSBuZXcgUG9wVXBIZWxwZXIoKTtcblxuICAgIC8qKlxuICAgICAqIElubGluZSBtb2RlIGZvciB0b29sdGlwXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaW5saW5lbW9kZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgdG9vbHRpcCBpcyB2aXNpYmxlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaXNUb29sdGlwVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVycyBmb3IgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwcml2YXRlIHRvb2x0aXBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgb24gdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgSXNUb29sdGlwQ29udGVudFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIGRlcyBUb29sdGlwcyBsaW5rc1xuICAgICAqL1xuICAgIHB1YmxpYyBMZWZ0UG9zOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIGVudW0gaW4gQW5ndWxhciBIVE1MIHRlbXBsYXRlXG4gICAgICovXG4gICAgcHVibGljIFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGF0IHRoZSB0b3BcbiAgICAgKi9cbiAgICBwdWJsaWMgVG9wUG9zOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciBjb250ZW50IChlLmcuIGljb24pIG9uIHdoaWNoIHRoZSB0b29sdGlwIGlzIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zQXJyb3dMZWZ0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIHRvcFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd1RvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC4gVmFsdWVzOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xuICAgICAqXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodHxhdXRvJztcblxuICAgIC8qKlxuICAgICAqIFRleHQgZm9yIFRvb2xUaXBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0b29sdGlwdGV4dDogc3RyaW5nO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWt0b3JcbiAgICAgKiBAcGFyYW0gcmVmIEVsZW1lbnQgUmVmZXJlbnpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWFkb25seSByZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIGlubGluZSBtb2RlIGZvciB0b29sdGlwLiBTZXRzIHRoZSBkaXNwbGF5IG1vZGUgb24gdGhlIHdyYXBwZXIgZWxlbWVudCB0byBgaW5saW5lYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaW5saW5lbW9kZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZW1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGZvciBpbmxpbmUgbW9kZSBmb3IgdG9vbHRpcFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpbmxpbmVtb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lubGluZW1vZGUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXR0ZXIgZm9yIHRoZSBuYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIHRoZSB0b29sdGlwLiBJcyByZXF1aXJlZCBhcyB0aGUgdG9vbHRpcCBjYW4gYmUgaGlkZGVuIHZpYSBuZ0lmLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHRvb2x0aXAoY29udGVudDogRWxlbWVudFJlZikge1xuICAgICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvb2x0aXBjb250YWluZXIgPSBjb250ZW50O1xuICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2x0aXBjb250YWluZXI7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgR2V0VG9vbHRpcFBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBIaWRlVG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNUb29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHByZXNlbnQgaW4gdGhlIG1hcmt1cFxuICAgICAqL1xuICAgIHB1YmxpYyBJc1Rvb2x0aXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNUb29sdGlwVmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgU2hvd1Rvb2x0aXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIGdldFRvb2xUaXBIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9wdXBIZWlnaHQodGhpcy50b29sdGlwY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgdG9vbHRpcHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbFRpcFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwV2lkdGgodGhpcy50b29sdGlwY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlY3QgQ2hhbmdlcyBhZnRlciB2aWV3IGNoZWNrZWQuIFByZXZlbnQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvclxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXG4gICAgICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZWN0IFVJIENoYW5nZXMgdG8gQ2FsY3VsYXRlIFRvb2x0aXAgY29ycmVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXG4gICAgICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdoZW4gdGhlIGNvbnRyb2wgaXMgZGVzdHJveWVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBSZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBPZmZzZXQgZm9yIFRvb2x0aXAuIFJlcXVpcmVkIGZvciBCUzQvQlM1IHRvIGNyZWF0ZSBwYWRkaW5nXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvb2x0aXBPZmZzZXQoKTogbnVtYmVyO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gbGlua3NcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldExlZnRQb3NpdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5yZWYsXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5MZWZ0UG9zID0gdmFsdWU7XG5cbiAgICAgICAgY29uc3QgcmVxdWlyZWRQb3NpdGlvbiA9IHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChyZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ubGVmdCB8fCByZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSB0aGlzLmdldFRvb2xUaXBIZWlnaHQoKSAvIDIgLSA2LjU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFRvcFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvblRvcChcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMucmVmLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuVG9wUG9zID0gdmFsdWU7XG5cbiAgICAgICAgY29uc3QgcmVxdWlyZWRQb3NpdGlvbiA9IHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChyZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24uYm90dG9tIHx8IHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi50b3ApIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIgLSA2LjU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbWV0aG9kIGlmIGNvbnRlbnQgaGFzIGNoYW5nZWQgYW5kIHByb3BvcnRpb25zIG5lZWQgdG8gYmUgcmVzZXQgaW4gdGhlIFVJLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25Db250ZW50Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmxlXG4gICAgICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6IncrdkJBeUJHO0FBQUFBLGNBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsY0FBQSxHQXpCSCxPQUFTRSxnQkFBZ0IsS0FBUSw0QkFBNEIsQ0FDN0QsT0FBU0MsZUFBZSxLQUFRLHVCQUF1QixDQUN2RCxPQUFTQyxXQUFXLEtBQVEsNkJBQTZCLENBQ3pELE9BR0lDLFNBQVMsQ0FHVEMsS0FBSyxDQUdMQyxTQUFTLEtBQ04sZUFBZSxDLGlDQUV0Qjs7Ozs7Ozs7OztHQVdBLEtBQ3NCLENBQUFDLGdCQUFnQixDQXlFbEM7QUFFQTtBQUVBOzs7T0FJQUMsWUFBNkJDLEtBQXdCLENBQW1CQyxHQUFlLEVBQUFYLGNBQUEsR0FBQVksQ0FBQSxNQUFBWixjQUFBLEdBQUFhLENBQUEsTUFBMUQsS0FBQUgsS0FBSyxDQUFMQSxLQUFLLENBQW1CVixjQUFBLEdBQUFhLENBQUEsTUFBbUIsS0FBQUYsR0FBRyxDQUFIQSxHQUFHLENBaEYzRTtBQUVBOztXQUFBWCxjQUFBLEdBQUFhLENBQUEsTUFHaUIsS0FBQUMsV0FBVyxDQUFnQixHQUFJLENBQUFWLFdB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
|
|
85
|
+
*/getTopPosition(){cov_1cdwwf0oat().f[19]++;const value=(cov_1cdwwf0oat().s[61]++,this.popupHelper.getPositionTop(this.content,this.tooltipcontainer,this.ref,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true));cov_1cdwwf0oat().s[62]++;this.TopPos=value;const requiredPosition=(cov_1cdwwf0oat().s[63]++,this.GetTooltipPosition());cov_1cdwwf0oat().s[64]++;if((cov_1cdwwf0oat().b[9][0]++,requiredPosition===TooltipPosition.bottom)||(cov_1cdwwf0oat().b[9][1]++,requiredPosition===TooltipPosition.top)){cov_1cdwwf0oat().b[8][0]++;cov_1cdwwf0oat().s[65]++;this.posArrowLeft=this.getToolTipWidth()/2-6.5;}else{cov_1cdwwf0oat().b[8][1]++;cov_1cdwwf0oat().s[66]++;this.posArrowLeft=null;}cov_1cdwwf0oat().s[67]++;return value;}static{cov_1cdwwf0oat().s[68]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,deps:[{token:i0.ChangeDetectorRef},{token:i0.ElementRef}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_1cdwwf0oat().s[69]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacTooltipCommon,inputs:{e2eidentifier:"e2eidentifier",name:"name",position:"position",tooltiptext:"tooltiptext",inlinemode:"inlinemode"},viewQueries:[{propertyName:"content",first:true,predicate:["container"],descendants:true,static:true},{propertyName:"tooltip",first:true,predicate:["tooltip"],descendants:true}],ngImport:i0});}}export{SacTooltipCommon};cov_1cdwwf0oat().s[70]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_1cdwwf0oat().f[20]++;cov_1cdwwf0oat().s[71]++;return[{type:i0.ChangeDetectorRef},{type:i0.ElementRef}];},propDecorators:{content:[{type:ViewChild,args:['container',{static:true}]}],e2eidentifier:[{type:Input}],name:[{type:Input}],position:[{type:Input}],tooltiptext:[{type:Input}],inlinemode:[{type:Input}],tooltip:[{type:ViewChild,args:['tooltip',{static:false}]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQXVDLFNBQVMsRUFBdUIsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpJOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUNzQixnQkFBZ0I7SUFxRmxDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBNkIsS0FBd0IsRUFBbUIsR0FBZTtRQUExRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBNUZ2RixxQkFBcUI7UUFFckI7O1dBRUc7UUFDYyxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBTzlEOztXQUVHO1FBQ0ssc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBTzNDOztXQUVHO1FBQ0ksNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBRWhEOztXQUVHO1FBQ0ksWUFBTyxHQUFXLENBQUMsQ0FBQztRQUUzQjs7V0FFRztRQUNJLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBRXpDOztXQUVHO1FBQ0ksV0FBTSxHQUFXLENBQUMsQ0FBQztRQVExQjs7V0FFRztRQUVJLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUUzQzs7V0FFRztRQUVJLFNBQUksR0FBVyxVQUFVLEVBQUUsQ0FBQztRQUVuQzs7V0FFRztRQUNJ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Q3pGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDeEQ7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0FqVGlCLGdCQUFnQjttR0FBaEIsZ0JBQWdCOztTQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFEckMsU0FBUztpSUFnREMsT0FBTztzQkFEYixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT2pDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsSUFBSTtzQkFEVixLQUFLO2dCQW1CQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsS0FBSztnQkE0QkssVUFBVTtzQkFEcEIsS0FBSztnQkFTSyxPQUFPO3NCQURqQixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2VudW1zJztcbmltcG9ydCB7IGNyZWF0ZUd1aWQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ3VpZCc7XG5pbXBvcnQgeyBQb3BVcEhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9wb3B1cGhlbHBlcic7XG5pbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBEb0NoZWNrLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRvb2x0aXAgQ29tcG9uZW50XG4gKlxuICogUmVxdWlyZXMgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVycyBpbiB0aGUgSFRNTCBtYXJrdXBcbiAqIC0gY29udGFpbmVyOiBDb250YWluZXIgZm9yIG5nLWNvbnRlbnQgaW4gd2hpY2ggdGhlIGVsZW1lbnQgaXMgZGlzcGxheWVkIHdoZXJlIHRoZSB0b29sdGlwIGlzIGF0dGFjaGVkLlxuICogLSB0b29sdGlwOiBDb250YWluZXIgZm9yIHRvb2x0aXBcbiAqXG4gKiBUb29sdGlwIG11c3QgYmUgZGlzcGxheWVkIGluIDIgc3RlcHMuIEluIGEgZmlyc3Qgc3RlcCB0aGUgdG9vbHRpcCBtYXJrdXAgaXMgY3JlYXRlZCB3aXRoIChuZ0lmKS4gSW4gYSAybmQgc3RlcFxuICogdGhlIHRvb2x0aXAgY2FuIHRoZW4gYmUgZGlzcGxheWVkIHZpYSB0aGUgQ1NTIHZpc2liaWxpdHkuIElmIHRoaXMgaXMgbm90IGRvbmUsIGl0IGNhbiBsZWFkIHRvIGEgZmxpY2tlcmluZyBlZmZlY3QgaW4gY2VydGFpbiBicm93c2Vycy5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY1Rvb2x0aXBDb21tb24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjayB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgY2xhc3MgdG8gZGlzcGxheSB0b29sdGlwIG9uIGNvcnJlY3QgcG9zaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwSGVscGVyOiBQb3BVcEhlbHBlciA9IG5ldyBQb3BVcEhlbHBlcigpO1xuXG4gICAgLyoqXG4gICAgICogSW5saW5lIG1vZGUgZm9yIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pbmxpbmVtb2RlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHZpc2libGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pc1Rvb2x0aXBWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXJzIGZvciB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHByaXZhdGUgdG9vbHRpcGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBvbiB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBJc1Rvb2x0aXBDb250ZW50VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gZGVzIFRvb2x0aXBzIGxpbmtzXG4gICAgICovXG4gICAgcHVibGljIExlZnRQb3M6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgZW51bSBpbiBBbmd1bGFyIEhUTUwgdGVtcGxhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgYXQgdGhlIHRvcFxuICAgICAqL1xuICAgIHB1YmxpYyBUb3BQb3M6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIGNvbnRlbnQgKGUuZy4gaWNvbikgb24gd2hpY2ggdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGNvbnRlbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciB1c2VkIGZvciB0aGUgRTJFIGRhdGEgYXR0cmlidXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGUyZWlkZW50aWZpZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogbmFtZSBvZiBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nID0gY3JlYXRlR3VpZCgpO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd0xlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXG4gICAgICpcbiAgICAgKiBWYWx1ZSAnYXV0bycgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW5vdGhlciB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0fGF1dG8nO1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBmb3IgVG9vbFRpcFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvb2x0aXB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSByZWYgRWxlbWVudCBSZWZlcmVuelxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgaW5saW5lIG1vZGUgZm9yIHRvb2x0aXAuIFNldHMgdGhlIGRpc3BsYXkgbW9kZSBvbiB0aGUgd3JhcHBlciBlbGVtZW50IHRvIGBpbmxpbmVgXG4gICAgICovXG4gICAgcHVibGljIGdldCBpbmxpbmVtb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5saW5lbW9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXR0ZXIgZm9yIGlubGluZSBtb2RlIGZvciB0b29sdGlwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlubGluZW1vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faW5saW5lbW9kZSA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHRlciBmb3IgdGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHRvb2x0aXAuIElzIHJlcXVpcmVkIGFzIHRoZSB0b29sdGlwIGNhbiBiZSBoaWRkZW4gdmlhIG5nSWYuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgdG9vbHRpcChjb250ZW50OiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGlmIChjb250ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lciA9IGNvbnRlbnQ7XG4gICAgICAgIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9vbHRvcCgpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBHZXRUb29sdGlwUG9zaXRpb24oKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBIZWxwZXIuZ2V0RGlzcGxheVBvc2l0aW9uKFxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIEhpZGVUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgcHJlc2VudCBpbiB0aGUgbWFya3VwXG4gICAgICovXG4gICAgcHVibGljIElzVG9vbHRpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBTaG93VG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNUb29sdGlwVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbFRpcEhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnRvb2x0aXBjb250YWluZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSB0b29sdGlwc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb29sVGlwV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9wdXBXaWR0aCh0aGlzLnRvb2x0aXBjb250YWluZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVjdCBDaGFuZ2VzIGFmdGVyIHZpZXcgY2hlY2tlZC4gUHJldmVudCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yIGVycm9yXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJpbGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlY3QgVUkgQ2hhbmdlcyB0byBDYWxjdWxhdGUgVG9vbHRpcCBjb3JyZWN0XG4gICAgICovXG4gICAgcHVibGljIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJpbGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBkZXN0cm95ZWQuXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdoZW4gdGhlIGNvbnRyb2wgaXMgaW5pdGlhbGl6ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIE9mZnNldCBmb3IgVG9vbHRpcC4gUmVxdWlyZWQgZm9yIEJTNC9CUzUgdG8gY3JlYXRlIHBhZGRpbmdcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0VG9vbHRpcE9mZnNldCgpOiBudW1iZXI7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TGVmdFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvbkxlZnQoXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLnJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLkxlZnRQb3MgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCByZXF1aXJlZFBvc2l0aW9uID0gdGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKTtcbiAgICAgICAgaWYgKHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5sZWZ0IHx8IHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xuICAgICAgICAgICAgdGhpcy5wb3NBcnJvd1RvcCA9IHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMiAtIDYuNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvcFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0VG9wUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uVG9wKFxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5yZWYsXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5Ub3BQb3MgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCByZXF1aXJlZFBvc2l0aW9uID0gdGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKTtcbiAgICAgICAgaWYgKHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5ib3R0b20gfHwgcmVxdWlyZWRQb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLnRvcCkge1xuICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPSB0aGlzLmdldFRvb2xUaXBXaWR0aCgpIC8gMiAtIDYuNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBtZXRob2QgaWYgY29udGVudCBoYXMgY2hhbmdlZCBhbmQgcHJvcG9ydGlvbnMgbmVlZCB0byBiZSByZXNldCBpbiB0aGUgVUkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2libGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb252ZXJ0VG9Cb29sZWFuIiwiVG9vbHRpcFBvc2l0aW9uIiwiY3JlYXRlR3VpZCIsIlBvcFVwSGVscGVyIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJWaWV3Q2hpbGQiLCJTYWNUb29sdGlwQ29tbW9uIiwiY29uc3RydWN0b3IiLCJjZFJlZiIsInJlZiIsImNvdl8xY2R3d2Ywb2F0IiwiZiIsInMiLCJwb3B1cEhlbHBlciIsIl9pc1Rvb2x0aXBWaXNpYmxlIiwiSXNUb29sdGlwQ29udGVudFZpc2libGUiLCJMZWZ0UG9zIiwiVG9wUG9zIiwiZTJlaWRlbnRpZmllciIsIm5hbWUiLCJwb3NBcnJvd0xlZnQiLCJwb3NBcnJvd1RvcCIsInBvc2l0aW9uIiwib25Db250ZW50Q2hhbmdlIiwiYiIsInNldFRpbWVvdXQiLCJnZXRMZWZ0UG9zaXRpb24iLCJnZXRUb3BQb3NpdGlvbiIsImlubGluZW1vZGUiLCJfaW5saW5lbW9kZSIsInZhbHVlIiwidG9vbHRpcCIsImNvbnRlbnQiLCJ1bmRlZmluZWQiLCJkb2N1bWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsIm5hdGl2ZUVsZW1lbnQiLCJ0b29sdGlwY29udGFpbmVyIiwiZGV0ZWN0Q2hhbmdlcyIsInRvb2x0b3AiLCJHZXRUb29sdGlwUG9zaXRpb24iLCJnZXREaXNwbGF5UG9zaXRpb24iLCJnZXRUb29sdGlwT2Zmc2V0IiwiSGlkZVRvb2x0aXAiLCJJc1Rvb2x0aXBWaXNpYmxlIiwiU2hvd1Rvb2x0aXAiLCJnZXRUb29sVGlwSGVpZ2h0IiwiZ2V0UG9wdXBIZWlnaHQiLCJnZXRUb29sVGlwV2lkdGgiLCJnZXRQb3B1cFdpZHRoIiwibmdBZnRlclZpZXdDaGVja2VkIiwibmdEb0NoZWNrIiwibmdPbkRlc3Ryb3kiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVtb3ZlQ2hpbGQiLCJuZ09uSW5pdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJnZXRQb3NpdGlvbkxlZnQiLCJyZXF1aXJlZFBvc2l0aW9uIiwibGVmdCIsInJpZ2h0IiwiZ2V0UG9zaXRpb25Ub3AiLCJib3R0b20iLCJ0b3AiLCJkZXBzIiwidG9rZW4iLCJpMCIsIkNoYW5nZURldGVjdG9yUmVmIiwiRWxlbWVudFJlZiIsInRhcmdldCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiaW5wdXRzIiwidG9vbHRpcHRleHQiLCJ2aWV3UXVlcmllcyIsInByb3BlcnR5TmFtZSIsImZpcnN0IiwicHJlZGljYXRlIiwiZGVzY2VuZGFudHMiLCJzdGF0aWMiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy90b29sdGlwL3Rvb2x0aXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb252ZXJ0aW9uJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9lbnVtcyc7XG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2d1aWQnO1xuaW1wb3J0IHsgUG9wVXBIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9wdXBoZWxwZXInO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRG9DaGVjaywgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUb29sdGlwIENvbXBvbmVudFxuICpcbiAqIFJlcXVpcmVzIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnMgaW4gdGhlIEhUTUwgbWFya3VwXG4gKiAtIGNvbnRhaW5lcjogQ29udGFpbmVyIGZvciBuZy1jb250ZW50IGluIHdoaWNoIHRoZSBlbGVtZW50IGlzIGRpc3BsYXllZCB3aGVyZSB0aGUgdG9vbHRpcCBpcyBhdHRhY2hlZC5cbiAqIC0gdG9vbHRpcDogQ29udGFpbmVyIGZvciB0b29sdGlwXG4gKlxuICogVG9vbHRpcCBtdXN0IGJlIGRpc3BsYXllZCBpbiAyIHN0ZXBzLiBJbiBhIGZpcnN0IHN0ZXAgdGhlIHRvb2x0aXAgbWFya3VwIGlzIGNyZWF0ZWQgd2l0aCAobmdJZikuIEluIGEgMm5kIHN0ZXBcbiAqIHRoZSB0b29sdGlwIGNhbiB0aGVuIGJlIGRpc3BsYXllZCB2aWEgdGhlIENTUyB2aXNpYmlsaXR5LiBJZiB0aGlzIGlzIG5vdCBkb25lLCBpdCBjYW4gbGVhZCB0byBhIGZsaWNrZXJpbmcgZWZmZWN0IGluIGNlcnRhaW4gYnJvd3NlcnMuXG4gKlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNUb29sdGlwQ29tbW9uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQsIERvQ2hlY2sge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogSGVscGVyIGNsYXNzIHRvIGRpc3BsYXkgdG9vbHRpcCBvbiBjb3JyZWN0IHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cEhlbHBlcjogUG9wVXBIZWxwZXIgPSBuZXcgUG9wVXBIZWxwZXIoKTtcblxuICAgIC8qKlxuICAgICAqIElubGluZSBtb2RlIGZvciB0b29sdGlwXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaW5saW5lbW9kZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgdG9vbHRpcCBpcyB2aXNpYmxlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaXNUb29sdGlwVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVycyBmb3IgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwcml2YXRlIHRvb2x0aXBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgb24gdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgSXNUb29sdGlwQ29udGVudFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIGRlcyBUb29sdGlwcyBsaW5rc1xuICAgICAqL1xuICAgIHB1YmxpYyBMZWZ0UG9zOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIGVudW0gaW4gQW5ndWxhciBIVE1MIHRlbXBsYXRlXG4gICAgICovXG4gICAgcHVibGljIFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGF0IHRoZSB0b3BcbiAgICAgKi9cbiAgICBwdWJsaWMgVG9wUG9zOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciBjb250ZW50IChlLmcuIGljb24pIG9uIHdoaWNoIHRoZSB0b29sdGlwIGlzIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgdXNlZCBmb3IgdGhlIEUyRSBkYXRhIGF0dHJpYnV0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlMmVpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zQXJyb3dMZWZ0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIHRvcFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd1RvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC4gVmFsdWVzOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xuICAgICAqXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodHxhdXRvJztcblxuICAgIC8qKlxuICAgICAqIFRleHQgZm9yIFRvb2xUaXBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0b29sdGlwdGV4dDogc3RyaW5nO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWt0b3JcbiAgICAgKiBAcGFyYW0gcmVmIEVsZW1lbnQgUmVmZXJlbnpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWFkb25seSByZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIGlubGluZSBtb2RlIGZvciB0b29sdGlwLiBTZXRzIHRoZSBkaXNwbGF5IG1vZGUgb24gdGhlIHdyYXBwZXIgZWxlbWVudCB0byBgaW5saW5lYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaW5saW5lbW9kZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZW1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGZvciBpbmxpbmUgbW9kZSBmb3IgdG9vbHRpcFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpbmxpbmVtb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lubGluZW1vZGUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXR0ZXIgZm9yIHRoZSBuYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIHRoZSB0b29sdGlwLiBJcyByZXF1aXJlZCBhcyB0aGUgdG9vbHRpcCBjYW4gYmUgaGlkZGVuIHZpYSBuZ0lmLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHRvb2x0aXAoY29udGVudDogRWxlbWVudFJlZikge1xuICAgICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvb2x0aXBjb250YWluZXIgPSBjb250ZW50O1xuICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2x0aXBjb250YWluZXI7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgR2V0VG9vbHRpcFBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBIaWRlVG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNUb29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHByZXNlbnQgaW4gdGhlIG1hcmt1cFxuICAgICAqL1xuICAgIHB1YmxpYyBJc1Rvb2x0aXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNUb29sdGlwVmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgU2hvd1Rvb2x0aXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIGdldFRvb2xUaXBIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9wdXBIZWlnaHQodGhpcy50b29sdGlwY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgdG9vbHRpcHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbFRpcFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwV2lkdGgodGhpcy50b29sdGlwY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlY3QgQ2hhbmdlcyBhZnRlciB2aWV3IGNoZWNrZWQuIFByZXZlbnQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvclxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXG4gICAgICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZWN0IFVJIENoYW5nZXMgdG8gQ2FsY3VsYXRlIFRvb2x0aXAgY29ycmVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXG4gICAgICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdoZW4gdGhlIGNvbnRyb2wgaXMgZGVzdHJveWVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBSZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBPZmZzZXQgZm9yIFRvb2x0aXAuIFJlcXVpcmVkIGZvciBCUzQvQlM1IHRvIGNyZWF0ZSBwYWRkaW5nXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvb2x0aXBPZmZzZXQoKTogbnVtYmVyO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gbGlua3NcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldExlZnRQb3NpdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5yZWYsXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5MZWZ0UG9zID0gdmFsdWU7XG5cbiAgICAgICAgY29uc3QgcmVxdWlyZWRQb3NpdGlvbiA9IHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChyZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ubGVmdCB8fCByZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSB0aGlzLmdldFRvb2xUaXBIZWlnaHQoKSAvIDIgLSA2LjU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFRvcFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvblRvcChcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMucmVmLFxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuVG9wUG9zID0gdmFsdWU7XG5cbiAgICAgICAgY29uc3QgcmVxdWlyZWRQb3NpdGlvbiA9IHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChyZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24uYm90dG9tIHx8IHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi50b3ApIHtcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIgLSA2LjU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbWV0aG9kIGlmIGNvbnRlbnQgaGFzIGNoYW5nZWQgYW5kIHByb3BvcnRpb25zIG5lZWQgdG8gYmUgcmVzZXQgaW4gdGhlIFVJLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25Db250ZW50Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmxlXG4gICAgICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6IjsyRkFBQSxPQUFTQSxnQkFBZ0IsS0FBUSw0QkFBNEIsQ0FDN0QsT0FBU0MsZUFBZSxLQUFRLHVCQUF1QixDQUN2RCxPQUFTQyxVQUFVLEtBQVEsc0JBQXNCLENBQ2pELE9BQVNDLFdBQVcsS0FBUSw2QkFBNkIsQ0FDekQsT0FBOENDLFNBQVMsQ0FBdUJDLEtBQUssQ0FBcUJDLFNBQVMsS0FBUSxlQUFlLEMsaUNBRXhJOzs7Ozs7Ozs7O0dBV0EsS0FDc0IsQ0FBQUMsZ0JBQWdCLENBcUZsQztBQUVBO0FBRUE7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
|