@simpleangularcontrols/sac-common 16.0.0-rc.1 → 16.0.0-rc.11
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/README.md +8 -16
- package/common/basedatetimecontrol.d.ts +116 -30
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/baseinputcontrol.d.ts +9 -13
- package/common/baseinputcontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.d.ts +168 -85
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.d.ts +136 -141
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/components/browser/browser.d.ts +11 -6
- package/components/browser/browser.d.ts.map +1 -1
- package/controls/buttons/button.d.ts +23 -22
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/checkbox/checkbox.d.ts +18 -5
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.d.ts +68 -24
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.d.ts +21 -20
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/confirm/confirm.button.d.ts +14 -8
- package/controls/confirm/confirm.button.d.ts.map +1 -1
- package/controls/confirm/confirm.service.d.ts +24 -19
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +51 -44
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.interface.d.ts +4 -0
- package/controls/contextmenu/contextmenu.interface.d.ts.map +1 -0
- package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
- package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitem.d.ts +6 -1
- package/controls/contextmenu/contextmenuitem.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitembutton.d.ts +22 -21
- package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
- package/controls/datetime/date.d.ts +33 -36
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/datetime.d.ts +33 -37
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/time.d.ts +32 -36
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/dialog/dialog.d.ts +32 -44
- package/controls/dialog/dialog.d.ts.map +1 -1
- package/controls/form/form.d.ts +7 -43
- package/controls/form/form.d.ts.map +1 -1
- package/controls/grid/grid.d.ts +67 -62
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/grid/gridbutton.d.ts +14 -14
- package/controls/grid/gridbutton.d.ts.map +1 -1
- package/controls/grid/gridcolumn.d.ts +8 -8
- package/controls/grid/gridcolumn.d.ts.map +1 -1
- package/controls/grid/gridcolumnaction.d.ts +3 -3
- package/controls/grid/gridcolumnaction.d.ts.map +1 -1
- package/controls/grid/gridcolumnbase.d.ts +46 -38
- package/controls/grid/gridcolumnbase.d.ts.map +1 -1
- package/controls/grid/gridimage.d.ts +2 -2
- package/controls/grid/gridimage.d.ts.map +1 -1
- package/controls/grid/model.d.ts +51 -42
- package/controls/grid/model.d.ts.map +1 -1
- package/controls/grid/paging.d.ts +77 -76
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/input/input.d.ts +11 -11
- package/controls/input/input.d.ts.map +1 -1
- package/controls/input/inputcurrency.d.ts +6 -1
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/input/inputdecimal.d.ts +21 -21
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputinteger.d.ts +21 -21
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputpassword.d.ts +5 -5
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputsearch.d.ts +14 -5
- package/controls/input/inputsearch.d.ts.map +1 -1
- package/controls/layout/formlayout.d.ts +66 -0
- package/controls/layout/formlayout.d.ts.map +1 -0
- package/controls/list/buildvaluestring.d.ts +7 -0
- package/controls/list/buildvaluestring.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts +36 -80
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/dropdownoptions.d.ts +42 -0
- package/controls/list/dropdownoptions.d.ts.map +1 -0
- package/controls/list/listbox.d.ts +20 -20
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts +36 -35
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +39 -38
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/static/formcontainer.d.ts +8 -4
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/tinymce/tinymce.d.ts +63 -63
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tooltip/tooltip.d.ts +76 -69
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/treeview/treeview.d.ts +89 -123
- package/controls/treeview/treeview.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.d.ts +24 -24
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/uploadmultiple.d.ts +9 -9
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/validation/validationsummary.d.ts +18 -13
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/enums/ButtonRoleType.d.ts +2 -0
- package/enums/ButtonRoleType.d.ts.map +1 -0
- package/enums/ControlHeight.d.ts +18 -0
- package/enums/ControlHeight.d.ts.map +1 -0
- package/esm2022/common/basedatetimecontrol.mjs +80 -164
- package/esm2022/common/baseinputcontrol.mjs +21 -80
- package/esm2022/common/baselistcontrol.mjs +11 -56
- package/esm2022/common/basemodelcontrol.mjs +134 -354
- package/esm2022/common/baseselectcontrol.mjs +6 -27
- package/esm2022/common/baseuploadcontrol.mjs +109 -433
- package/esm2022/components/browser/browser.mjs +66 -474
- package/esm2022/components/browser/models/browserfile.mjs +3 -2
- package/esm2022/components/browser/models/browserfiledeleterequest.mjs +5 -10
- package/esm2022/components/browser/models/browserfilerenamerequest.mjs +5 -10
- package/esm2022/components/browser/models/browserfileresponse.mjs +3 -2
- package/esm2022/components/browser/models/browserfilesaverequest.mjs +5 -10
- package/esm2022/components/browser/models/browsernode.mjs +3 -2
- package/esm2022/components/browser/models/browsernodedeleterequest.mjs +5 -10
- package/esm2022/components/browser/models/browsernodenewrequest.mjs +5 -10
- package/esm2022/components/browser/models/browsernoderenamerequest.mjs +5 -10
- package/esm2022/components/browser/models/browsernoderequest.mjs +5 -10
- package/esm2022/components/browser/models/browsernoderesponse.mjs +3 -2
- package/esm2022/controls/buttons/button.mjs +32 -131
- package/esm2022/controls/checkbox/checkbox.mjs +15 -30
- package/esm2022/controls/checkbox/radiobutton.mjs +45 -102
- package/esm2022/controls/checkbox/radiobuttons.mjs +29 -106
- package/esm2022/controls/confirm/confirm.button.mjs +17 -21
- package/esm2022/controls/confirm/confirm.mjs +19 -69
- package/esm2022/controls/confirm/confirm.service.mjs +29 -74
- package/esm2022/controls/contextmenu/contextmenu.interface.mjs +3 -0
- package/esm2022/controls/contextmenu/contextmenu.mjs +43 -171
- package/esm2022/controls/contextmenu/contextmenuanchor.mjs +8 -19
- package/esm2022/controls/contextmenu/contextmenucontainer.mjs +8 -19
- package/esm2022/controls/contextmenu/contextmenuitem.mjs +7 -13
- package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +25 -93
- package/esm2022/controls/datetime/date.mjs +42 -206
- package/esm2022/controls/datetime/dateselector.mjs +65 -409
- package/esm2022/controls/datetime/datetime.mjs +43 -223
- package/esm2022/controls/datetime/time.mjs +40 -204
- package/esm2022/controls/dialog/dialog.mjs +35 -209
- package/esm2022/controls/form/form.mjs +27 -153
- package/esm2022/controls/grid/grid.mjs +48 -155
- package/esm2022/controls/grid/gridbutton.mjs +21 -59
- package/esm2022/controls/grid/gridcolumn.mjs +21 -46
- package/esm2022/controls/grid/gridcolumnaction.mjs +8 -22
- package/esm2022/controls/grid/gridcolumnbase.mjs +35 -124
- package/esm2022/controls/grid/gridimage.mjs +5 -16
- package/esm2022/controls/grid/model.mjs +49 -74
- package/esm2022/controls/grid/paging.mjs +82 -251
- package/esm2022/controls/input/input.mjs +17 -65
- package/esm2022/controls/input/inputarea.mjs +10 -53
- package/esm2022/controls/input/inputcurrency.mjs +9 -14
- package/esm2022/controls/input/inputdecimal.mjs +33 -143
- package/esm2022/controls/input/inputemail.mjs +10 -37
- package/esm2022/controls/input/inputinteger.mjs +32 -127
- package/esm2022/controls/input/inputpassword.mjs +12 -43
- package/esm2022/controls/input/inputsearch.mjs +16 -38
- package/esm2022/controls/layout/formlayout.mjs +31 -0
- package/esm2022/controls/list/buildvaluestring.mjs +10 -0
- package/esm2022/controls/list/dropdown.mjs +45 -236
- package/esm2022/controls/list/dropdownoptions.mjs +22 -0
- package/esm2022/controls/list/listbox.mjs +40 -159
- package/esm2022/controls/multilanguage/multilanguageinput.mjs +48 -215
- package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +51 -217
- package/esm2022/controls/static/formcontainer.mjs +18 -45
- package/esm2022/controls/static/staticlabel.mjs +7 -28
- package/esm2022/controls/tabs/tab.mjs +14 -68
- package/esm2022/controls/tabs/tabitem.mjs +7 -37
- package/esm2022/controls/tinymce/tinymce.mjs +62 -232
- package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +5 -10
- package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +4 -4
- package/esm2022/controls/tinymce/tinymceinstance.mjs +3 -2
- package/esm2022/controls/tooltip/tooltip.mjs +74 -358
- package/esm2022/controls/treeview/treeview.mjs +79 -343
- package/esm2022/controls/upload/dropzonemultiple.mjs +32 -152
- package/esm2022/controls/upload/dropzonesingle.mjs +12 -91
- package/esm2022/controls/upload/uploadmultiple.mjs +21 -111
- package/esm2022/controls/upload/uploadsingle.mjs +8 -50
- package/esm2022/controls/validation/validationsummary.mjs +23 -120
- package/esm2022/controls/wizard/wizard.mjs +20 -128
- package/esm2022/controls/wizard/wizarditem.mjs +6 -31
- package/esm2022/enums/ButtonRoleType.mjs +3 -0
- package/esm2022/enums/ControlHeight.mjs +11 -0
- package/esm2022/enums/IconType.mjs +4 -8
- package/esm2022/interfaces/ISacConfigurationService.mjs +3 -0
- package/esm2022/interfaces/ISacFileBrowserService.mjs +3 -2
- package/esm2022/interfaces/ISacIconService.mjs +3 -2
- package/esm2022/interfaces/ISacLabelSizes.mjs +3 -0
- package/esm2022/interfaces/ISacLanguageService.mjs +3 -2
- package/esm2022/interfaces/ISacLocalisationService.mjs +3 -2
- package/esm2022/interfaces/ISacValidationKeyService.mjs +3 -0
- package/esm2022/interfaces/iabstractcontrollabel.mjs +3 -2
- package/esm2022/interfaces/iconfirmcomponent.mjs +3 -2
- package/esm2022/interfaces/idatetimecontrol.mjs +3 -2
- package/esm2022/interfaces/iuploadcontrol.mjs +3 -2
- package/esm2022/interfaces/treeviewaction.interface.mjs +3 -0
- package/esm2022/models/languagemodel.mjs +5 -11
- package/esm2022/public_api.mjs +25 -94
- package/esm2022/services/index.mjs +3 -5
- package/esm2022/services/sac-configuration.service.mjs +35 -0
- package/esm2022/services/sac-filebrowser.service.mjs +15 -167
- package/esm2022/services/sac-icon.service.mjs +61 -155
- package/esm2022/services/sac-language.service.mjs +7 -45
- package/esm2022/services/sac-localisation.service.mjs +33 -428
- package/esm2022/services/sac-validationkey.service.mjs +7 -0
- package/esm2022/simpleangularcontrols-sac-common.mjs +4 -4
- package/esm2022/utilities/convertion.mjs +6 -26
- package/esm2022/utilities/datatypes.mjs +4 -6
- package/esm2022/utilities/enums.mjs +10 -15
- package/esm2022/utilities/guid.mjs +8 -0
- package/esm2022/utilities/interpolation.mjs +7 -42
- package/esm2022/utilities/popuphelper.mjs +80 -0
- package/esm2022/utilities/positioning.mjs +23 -266
- package/esm2022/validation/email.validator.mjs +3 -13
- package/esm2022/validation/equals.validator.mjs +3 -0
- package/esm2022/validation/index.mjs +3 -3
- package/esm2022/validation/invaliddate.validator.mjs +3 -14
- package/esm2022/validation/isDateValid.mjs +9 -13
- package/esm2022/validation/maxdate.validator.mjs +4 -21
- package/esm2022/validation/maxtime.validator.mjs +4 -21
- package/esm2022/validation/maxvalue.validator.mjs +3 -16
- package/esm2022/validation/mindate.validator.mjs +4 -21
- package/esm2022/validation/minfiles.validator.mjs +4 -19
- package/esm2022/validation/minlength.validator.mjs +3 -21
- package/esm2022/validation/mintime.validator.mjs +4 -21
- package/esm2022/validation/minvalue.validator.mjs +3 -16
- package/esm2022/validation/multilanguagerequired.validator.mjs +3 -22
- package/esm2022/validation/multilanguagerequiredany.validator.mjs +3 -22
- package/esm2022/validation/notequals.validator.mjs +3 -0
- package/esm2022/validation/pattern.validator.mjs +3 -16
- package/esm2022/validation/required.validator.mjs +3 -13
- package/esm2022/validation/validation.mjs +41 -106
- package/esm2022/validation/validationerrorcreator.mjs +3 -11
- package/esm2022/validation/validationerroritem.mjs +7 -19
- package/fesm2022/simpleangularcontrols-sac-common.mjs +2276 -9240
- package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +59 -0
- package/interfaces/ISacConfigurationService.d.ts.map +1 -0
- package/interfaces/ISacIconService.d.ts +26 -2
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacLabelSizes.d.ts +27 -0
- package/interfaces/ISacLabelSizes.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.d.ts +53 -0
- package/interfaces/ISacValidationKeyService.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.d.ts +5 -0
- package/interfaces/treeviewaction.interface.d.ts.map +1 -0
- package/package.json +2 -2
- package/public_api.d.ts +32 -21
- package/public_api.d.ts.map +1 -1
- package/services/index.d.ts +6 -4
- package/services/index.d.ts.map +1 -1
- package/services/sac-configuration.service.d.ts +127 -0
- package/services/sac-configuration.service.d.ts.map +1 -0
- package/services/sac-icon.service.d.ts +49 -1
- package/services/sac-icon.service.d.ts.map +1 -1
- package/services/sac-localisation.service.d.ts +103 -97
- package/services/sac-localisation.service.d.ts.map +1 -1
- package/services/sac-validationkey.service.d.ts +59 -0
- package/services/sac-validationkey.service.d.ts.map +1 -0
- package/simpleangularcontrols-sac-common-16.0.0-rc.11.tgz +0 -0
- package/utilities/enums.d.ts +3 -1
- package/utilities/enums.d.ts.map +1 -1
- package/utilities/guid.d.ts +5 -0
- package/utilities/guid.d.ts.map +1 -0
- package/utilities/popuphelper.d.ts +84 -0
- package/utilities/popuphelper.d.ts.map +1 -0
- package/validation/equals.validator.d.ts +3 -0
- package/validation/equals.validator.d.ts.map +1 -0
- package/validation/isDateValid.d.ts.map +1 -1
- package/validation/notequals.validator.d.ts +3 -0
- package/validation/notequals.validator.d.ts.map +1 -0
- package/validation/validation.d.ts +24 -6
- package/validation/validation.d.ts.map +1 -1
- package/controls/treeview/ngtreeitemaction.d.ts +0 -44
- package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.d.ts +0 -16
- package/controls/treeview/treeviewchild.d.ts.map +0 -1
- package/esm2022/controls/treeview/ngtreeitemaction.mjs +0 -63
- package/esm2022/controls/treeview/treeviewchild.mjs +0 -22
- package/simpleangularcontrols-sac-common-13.0.0-rc.1.tgz +0 -0
- package/simpleangularcontrols-sac-common-16.0.0-rc.1.tgz +0 -0
|
@@ -1,366 +1,82 @@
|
|
|
1
|
-
import { Directive, Input, ViewChild } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
import { TooltipPosition } from '../../utilities/enums';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
1
|
+
function cov_vnuuxsm2m(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\tooltip\\tooltip.mjs";var hash="def2c968776e4e72632bc6ae769533cb4d3b3745";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\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';\r\nimport { TooltipPosition } from '../../utilities/enums';\r\nimport { PopUpHelper } from '../../utilities/popuphelper';\r\nimport {\r\n AfterViewChecked,\r\n ChangeDetectorRef,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\n/**\r\n * Tooltip Component\r\n *\r\n * Requires the following identifiers in the HTML markup\r\n * - container: Container for ng-content in which the element is displayed where the tooltip is attached.\r\n * - tooltip: Container for tooltip\r\n *\r\n * Tooltip must be displayed in 2 steps. In a first step the tooltip markup is created with (ngIf). In a 2nd step\r\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.\r\n *\r\n */\r\n@Directive()\r\nexport abstract class SacTooltipCommon implements OnInit, OnDestroy, AfterViewChecked, DoCheck {\r\n // #region Properties\r\n\r\n /**\r\n * Helper class to display tooltip on correct position\r\n */\r\n private readonly popupHelper: PopUpHelper = new PopUpHelper();\r\n\r\n /**\r\n * Inline mode for tooltip\r\n */\r\n private _inlinemode: boolean;\r\n\r\n /**\r\n * Defines whether the tooltip is visible\r\n */\r\n private _isTooltipVisible: boolean = false;\r\n\r\n /**\r\n * Containers for the tooltip\r\n */\r\n private tooltipcontainer: ElementRef<HTMLElement>;\r\n\r\n /**\r\n * Position of the tooltip on the left\r\n */\r\n public IsTooltipContentVisible: boolean = false;\r\n\r\n /**\r\n * Position des Tooltips links\r\n */\r\n public LeftPos: number = 0;\r\n\r\n /**\r\n * Property for enum in Angular HTML template\r\n */\r\n public TooltipPosition = TooltipPosition;\r\n\r\n /**\r\n * Position of the tooltip at the top\r\n */\r\n public TopPos: number = 0;\r\n\r\n /**\r\n * Name of the container for content (e.g. icon) on which the tooltip is displayed.\r\n */\r\n @ViewChild('container', { static: true })\r\n public content: ElementRef<HTMLElement>;\r\n\r\n /**\r\n * Position of the picker arrow at the left\r\n */\r\n public posArrowLeft: number | null = null;\r\n\r\n /**\r\n * Position of the picker arrow at the top\r\n */\r\n public posArrowTop: number | null = null;\r\n\r\n /**\r\n * Position of the tooltip. Values: left|top|right|bottom|auto\r\n *\r\n * Value 'auto' can be combined with another value.\r\n */\r\n @Input()\r\n public position: string = 'right|auto';\r\n\r\n /**\r\n * Text for ToolTip\r\n */\r\n @Input()\r\n public tooltiptext: string;\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * @param ref Element Referenz\r\n */\r\n constructor(private readonly cdRef: ChangeDetectorRef, private readonly ref: ElementRef) {}\r\n\r\n // #endregion Constructors\r\n\r\n // #region Public Getters And Setters\r\n\r\n /**\r\n * Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`\r\n */\r\n public get inlinemode(): boolean {\r\n return this._inlinemode;\r\n }\r\n\r\n /**\r\n * Setter for inline mode for tooltip\r\n */\r\n @Input()\r\n public set inlinemode(value: boolean) {\r\n this._inlinemode = convertToBoolean(value);\r\n }\r\n\r\n /**\r\n * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.\r\n */\r\n @ViewChild('tooltip', { static: false })\r\n public set tooltip(content: ElementRef) {\r\n if (content !== undefined) {\r\n document.body.appendChild(content.nativeElement);\r\n }\r\n\r\n this.tooltipcontainer = content;\r\n this.onContentChange();\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n public get tooltop(): ElementRef {\r\n return this.tooltipcontainer;\r\n }\r\n\r\n // #endregion Public Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Returns the position of the tooltip\r\n */\r\n public GetTooltipPosition(): TooltipPosition {\r\n return this.popupHelper.getDisplayPosition(\r\n this.content,\r\n this.tooltipcontainer,\r\n this.getTooltipOffset(),\r\n this.getTooltipOffset(),\r\n this.position,\r\n true\r\n );\r\n }\r\n\r\n /**\r\n * Hide tooltip\r\n */\r\n public HideTooltip(): void {\r\n this._isTooltipVisible = false;\r\n this.IsTooltipContentVisible = false;\r\n }\r\n\r\n /**\r\n * Defines whether the tooltip is present in the markup\r\n */\r\n public IsTooltipVisible(): boolean {\r\n return this._isTooltipVisible;\r\n }\r\n\r\n /**\r\n * Show tooltip\r\n */\r\n public ShowTooltip(): void {\r\n this._isTooltipVisible = true;\r\n this.cdRef.detectChanges();\r\n\r\n setTimeout(() => {\r\n this.getLeftPosition();\r\n this.getTopPosition();\r\n this.IsTooltipContentVisible = true;\r\n });\r\n }\r\n\r\n /**\r\n * Calculates the height of the tooltip\r\n */\r\n public getToolTipHeight(): number {\r\n return this.popupHelper.getPopupHeight(this.tooltipcontainer);\r\n }\r\n\r\n /**\r\n * Calculates the width of the tooltips\r\n */\r\n public getToolTipWidth(): number {\r\n return this.popupHelper.getPopupWidth(this.tooltipcontainer);\r\n }\r\n\r\n /**\r\n * Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error\r\n */\r\n public ngAfterViewChecked(): void {\r\n // Do nothing if is not visibile\r\n if (!this._isTooltipVisible) {\r\n return;\r\n }\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Detect UI Changes to Calculate Tooltip correct\r\n */\r\n public ngDoCheck(): void {\r\n // Do nothing if is not visibile\r\n if (!this._isTooltipVisible) {\r\n return;\r\n }\r\n\r\n this.getLeftPosition();\r\n this.getTopPosition();\r\n }\r\n\r\n /**\r\n * Event when the control is destroyed.\r\n */\r\n public ngOnDestroy() {\r\n // Unregister Event Listener\r\n window.removeEventListener('scroll', this.onContentChange, true);\r\n window.removeEventListener('resize', this.onContentChange, true);\r\n\r\n if (this.tooltipcontainer !== undefined) {\r\n document.body.removeChild(this.tooltipcontainer.nativeElement);\r\n }\r\n }\r\n\r\n /**\r\n * Event when the control is initialized\r\n */\r\n public ngOnInit() {\r\n // Register Event Listener\r\n window.addEventListener('scroll', this.onContentChange, true);\r\n window.addEventListener('resize', this.onContentChange, true);\r\n\r\n if (this.tooltipcontainer !== undefined) {\r\n document.body.appendChild(this.tooltipcontainer.nativeElement);\r\n }\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Protected Methods\r\n\r\n /**\r\n * Offset for Tooltip. Required for BS4/BS5 to create padding\r\n */\r\n protected abstract getTooltipOffset(): number;\r\n\r\n // #endregion Protected Methods\r\n\r\n // #region Private Methods\r\n\r\n /**\r\n * Calculates the position of the tooltip from links\r\n */\r\n private getLeftPosition(): number {\r\n const value = this.popupHelper.getPositionLeft(\r\n this.content,\r\n this.tooltipcontainer,\r\n this.ref,\r\n this.getTooltipOffset(),\r\n this.getTooltipOffset(),\r\n this.position,\r\n true\r\n );\r\n this.LeftPos = value;\r\n\r\n const requiredPosition = this.GetTooltipPosition();\r\n if (requiredPosition === TooltipPosition.left || requiredPosition === TooltipPosition.right) {\r\n this.posArrowTop = this.getToolTipHeight() / 2 - 6.5;\r\n } else {\r\n this.posArrowTop = null;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * Calculates the position of the tooltip from the top\r\n */\r\n private getTopPosition(): number {\r\n const value = this.popupHelper.getPositionTop(\r\n this.content,\r\n this.tooltipcontainer,\r\n this.ref,\r\n this.getTooltipOffset(),\r\n this.getTooltipOffset(),\r\n this.position,\r\n true\r\n );\r\n this.TopPos = value;\r\n\r\n const requiredPosition = this.GetTooltipPosition();\r\n if (requiredPosition === TooltipPosition.bottom || requiredPosition === TooltipPosition.top) {\r\n this.posArrowLeft = this.getToolTipWidth() / 2 - 6.5;\r\n } else {\r\n this.posArrowLeft = null;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * method if content has changed and proportions need to be reset in the UI.\r\n */\r\n private readonly onContentChange = (): void => {\r\n // Do nothing if is not visible\r\n if (!this._isTooltipVisible) {\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n this.getLeftPosition();\r\n this.getTopPosition();\r\n });\r\n };\r\n\r\n // #endregion Private Methods\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"def2c968776e4e72632bc6ae769533cb4d3b3745"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_vnuuxsm2m=function(){return actualCoverage;};}return actualCoverage;}cov_vnuuxsm2m();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";/**
|
|
6
3
|
* Tooltip Component
|
|
7
4
|
*
|
|
8
|
-
*
|
|
9
|
-
* - container: Container
|
|
10
|
-
* - tooltip: Container
|
|
5
|
+
* Requires the following identifiers in the HTML markup
|
|
6
|
+
* - container: Container for ng-content in which the element is displayed where the tooltip is attached.
|
|
7
|
+
* - tooltip: Container for tooltip
|
|
11
8
|
*
|
|
12
|
-
* Tooltip
|
|
13
|
-
*
|
|
9
|
+
* Tooltip must be displayed in 2 steps. In a first step the tooltip markup is created with (ngIf). In a 2nd step
|
|
10
|
+
* 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.
|
|
14
11
|
*
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* Setter für Inline Mode für Tooltip
|
|
19
|
-
*/
|
|
20
|
-
set inlinemode(value) {
|
|
21
|
-
this._inlinemode = convertToBoolean(value);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Getter für Inline Mode für Tooltip
|
|
25
|
-
*/
|
|
26
|
-
get inlinemode() {
|
|
27
|
-
return this._inlinemode;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Setter für Name des Containers für den Tooltip. Wird benötigt, da Tooltip via NGIF ausgeblendet werden kann.
|
|
31
|
-
*/
|
|
32
|
-
set tooltip(content) {
|
|
33
|
-
if (content !== undefined) {
|
|
34
|
-
document.body.appendChild(content.nativeElement);
|
|
35
|
-
}
|
|
36
|
-
this.tooltipcontainer = content;
|
|
37
|
-
this.onContentChange();
|
|
38
|
-
this.cdRef.detectChanges();
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
12
|
+
*/class SacTooltipCommon{// #endregion Properties
|
|
13
|
+
// #region Constructors
|
|
14
|
+
/**
|
|
41
15
|
* Konstruktor
|
|
42
16
|
* @param ref Element Referenz
|
|
43
|
-
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Definiert ob der Tooltip sichtbar ist
|
|
53
|
-
*/
|
|
54
|
-
this._isTooltipVisible = false;
|
|
55
|
-
/**
|
|
56
|
-
* Position des Tooltips oben
|
|
57
|
-
*/
|
|
58
|
-
this.TopPos = 0;
|
|
59
|
-
/**
|
|
17
|
+
*/constructor(cdRef,ref){cov_vnuuxsm2m().f[0]++;cov_vnuuxsm2m().s[0]++;this.cdRef=cdRef;cov_vnuuxsm2m().s[1]++;this.ref=ref;// #region Properties
|
|
18
|
+
/**
|
|
19
|
+
* Helper class to display tooltip on correct position
|
|
20
|
+
*/cov_vnuuxsm2m().s[2]++;this.popupHelper=new PopUpHelper();/**
|
|
21
|
+
* Defines whether the tooltip is visible
|
|
22
|
+
*/cov_vnuuxsm2m().s[3]++;this._isTooltipVisible=false;/**
|
|
23
|
+
* Position of the tooltip on the left
|
|
24
|
+
*/cov_vnuuxsm2m().s[4]++;this.IsTooltipContentVisible=false;/**
|
|
60
25
|
* Position des Tooltips links
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* Position
|
|
26
|
+
*/cov_vnuuxsm2m().s[5]++;this.LeftPos=0;/**
|
|
27
|
+
* Property for enum in Angular HTML template
|
|
28
|
+
*/cov_vnuuxsm2m().s[6]++;this.TooltipPosition=TooltipPosition;/**
|
|
29
|
+
* Position of the tooltip at the top
|
|
30
|
+
*/cov_vnuuxsm2m().s[7]++;this.TopPos=0;/**
|
|
31
|
+
* Position of the picker arrow at the left
|
|
32
|
+
*/cov_vnuuxsm2m().s[8]++;this.posArrowLeft=null;/**
|
|
33
|
+
* Position of the picker arrow at the top
|
|
34
|
+
*/cov_vnuuxsm2m().s[9]++;this.posArrowTop=null;/**
|
|
35
|
+
* Position of the tooltip. Values: left|top|right|bottom|auto
|
|
65
36
|
*
|
|
66
|
-
*
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const item = this.content.nativeElement;
|
|
111
|
-
if (item.children.length >= 1) {
|
|
112
|
-
const childItem = item.firstElementChild;
|
|
113
|
-
const contentPosition = childItem.getBoundingClientRect();
|
|
114
|
-
switch (this.GetTooltipPosition()) {
|
|
115
|
-
case TooltipPosition.top:
|
|
116
|
-
this.TopPos = contentPosition.top - this.getToolTipHeight();
|
|
117
|
-
return contentPosition.top - this.getToolTipHeight();
|
|
118
|
-
case TooltipPosition.right:
|
|
119
|
-
this.TopPos = contentPosition.top + (contentPosition.height / 2) - (this.getToolTipHeight() / 2);
|
|
120
|
-
return contentPosition.top + (contentPosition.height / 2) - (this.getToolTipHeight() / 2);
|
|
121
|
-
case TooltipPosition.bottom:
|
|
122
|
-
this.TopPos = contentPosition.top + contentPosition.height;
|
|
123
|
-
return contentPosition.top + contentPosition.height;
|
|
124
|
-
case TooltipPosition.left:
|
|
125
|
-
this.TopPos = contentPosition.top + (contentPosition.height / 2) - (this.getToolTipHeight() / 2);
|
|
126
|
-
return contentPosition.top + (contentPosition.height / 2) - (this.getToolTipHeight() / 2);
|
|
127
|
-
}
|
|
128
|
-
return childItem.clientTop + childItem.offsetTop - ((this.getToolTipHeight() / 2) - (childItem.clientHeight / 2));
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
return this.content.nativeElement.offsetTop;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
return this.ref.nativeElement.offsetTop;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Berechnet die Position des Tooltips von Links
|
|
140
|
-
*/
|
|
141
|
-
getLeftPosition() {
|
|
142
|
-
if (this.content !== null && this.content !== undefined) {
|
|
143
|
-
const item = this.content.nativeElement;
|
|
144
|
-
if (item.children.length >= 1) {
|
|
145
|
-
const childItem = item.firstElementChild;
|
|
146
|
-
const contentPosition = childItem.getBoundingClientRect();
|
|
147
|
-
switch (this.GetTooltipPosition()) {
|
|
148
|
-
case TooltipPosition.top:
|
|
149
|
-
this.LeftPos = contentPosition.left + (contentPosition.width / 2) - (this.getToolTipWidth() / 2);
|
|
150
|
-
return contentPosition.left + (contentPosition.width / 2) - (this.getToolTipWidth() / 2);
|
|
151
|
-
case TooltipPosition.right:
|
|
152
|
-
this.LeftPos = contentPosition.left + contentPosition.width;
|
|
153
|
-
return contentPosition.left + contentPosition.width;
|
|
154
|
-
case TooltipPosition.bottom:
|
|
155
|
-
this.LeftPos = contentPosition.left + (childItem.clientWidth / 2) - (this.getToolTipWidth() / 2);
|
|
156
|
-
return contentPosition.left + (childItem.clientWidth / 2) - (this.getToolTipWidth() / 2);
|
|
157
|
-
case TooltipPosition.left:
|
|
158
|
-
this.LeftPos = contentPosition.left - this.getToolTipWidth();
|
|
159
|
-
return contentPosition.left - this.getToolTipWidth();
|
|
160
|
-
}
|
|
161
|
-
return this.content.nativeElement.offsetTop;
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
return this.content.nativeElement.offsetTop;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
return this.ref.nativeElement.offsetLeft;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Berechnet die Höhe des Tooltips
|
|
173
|
-
*/
|
|
174
|
-
getToolTipHeight() {
|
|
175
|
-
if (this.tooltipcontainer) {
|
|
176
|
-
return this.tooltipcontainer.nativeElement.clientHeight;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
return 0;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Berechnet die Breite die Tooltips
|
|
184
|
-
*/
|
|
185
|
-
getToolTipWidth() {
|
|
186
|
-
if (this.tooltipcontainer) {
|
|
187
|
-
return this.tooltipcontainer.nativeElement.clientWidth;
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
return 0;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Definiert ob der Tooltip im Markup vorhanden ist
|
|
195
|
-
*/
|
|
196
|
-
IsTooltipVisible() {
|
|
197
|
-
return this._isTooltipVisible;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Tooltip anzeigen
|
|
201
|
-
*/
|
|
202
|
-
ShowTooltip() {
|
|
203
|
-
this._isTooltipVisible = true;
|
|
204
|
-
setTimeout(() => {
|
|
205
|
-
this.getLeftPosition();
|
|
206
|
-
this.getTopPosition();
|
|
207
|
-
this.IsTooltipContentVisible = true;
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Tooltip ausblenden
|
|
212
|
-
*/
|
|
213
|
-
HideTooltip() {
|
|
214
|
-
this._isTooltipVisible = false;
|
|
215
|
-
this.IsTooltipContentVisible = false;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Gibt die Position des Tooltips zurück
|
|
219
|
-
*/
|
|
220
|
-
GetTooltipPosition() {
|
|
221
|
-
const validPositions = this.ValidatePositions();
|
|
222
|
-
// tslint:disable-next-line:no-bitwise
|
|
223
|
-
if (this.HasPosition(TooltipPosition.right) && (validPositions & TooltipPosition.right)) {
|
|
224
|
-
return TooltipPosition.right;
|
|
225
|
-
}
|
|
226
|
-
// tslint:disable-next-line:no-bitwise
|
|
227
|
-
if (this.HasPosition(TooltipPosition.top) && (validPositions & TooltipPosition.top)) {
|
|
228
|
-
return TooltipPosition.top;
|
|
229
|
-
}
|
|
230
|
-
// tslint:disable-next-line:no-bitwise
|
|
231
|
-
if (this.HasPosition(TooltipPosition.left) && (validPositions & TooltipPosition.left)) {
|
|
232
|
-
return TooltipPosition.left;
|
|
233
|
-
}
|
|
234
|
-
// tslint:disable-next-line:no-bitwise
|
|
235
|
-
if (this.HasPosition(TooltipPosition.bottom) && (validPositions & TooltipPosition.bottom)) {
|
|
236
|
-
return TooltipPosition.bottom;
|
|
237
|
-
}
|
|
238
|
-
// Get Auto Position or Default
|
|
239
|
-
if (this.IsAutoPosition()) {
|
|
240
|
-
// tslint:disable-next-line:no-bitwise
|
|
241
|
-
if (validPositions & TooltipPosition.right) {
|
|
242
|
-
return TooltipPosition.right;
|
|
243
|
-
}
|
|
244
|
-
// tslint:disable-next-line:no-bitwise
|
|
245
|
-
if (validPositions & TooltipPosition.top) {
|
|
246
|
-
return TooltipPosition.top;
|
|
247
|
-
}
|
|
248
|
-
// tslint:disable-next-line:no-bitwise
|
|
249
|
-
if (validPositions & TooltipPosition.left) {
|
|
250
|
-
return TooltipPosition.left;
|
|
251
|
-
}
|
|
252
|
-
// tslint:disable-next-line:no-bitwise
|
|
253
|
-
if (validPositions & TooltipPosition.bottom) {
|
|
254
|
-
return TooltipPosition.bottom;
|
|
255
|
-
}
|
|
256
|
-
return TooltipPosition.right;
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
return this.GetPosition();
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Definiert ob AutoPosition aktiv ist
|
|
264
|
-
*/
|
|
265
|
-
IsAutoPosition() {
|
|
266
|
-
const positions = this.position.split('|');
|
|
267
|
-
return positions.indexOf('auto') >= 0;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Gibt die definierte Position für den Tooltip zurück
|
|
271
|
-
*/
|
|
272
|
-
GetPosition() {
|
|
273
|
-
const positions = this.position.split('|');
|
|
274
|
-
if (this.HasPosition(TooltipPosition.left)) {
|
|
275
|
-
return TooltipPosition.left;
|
|
276
|
-
}
|
|
277
|
-
if (this.HasPosition(TooltipPosition.top)) {
|
|
278
|
-
return TooltipPosition.top;
|
|
279
|
-
}
|
|
280
|
-
if (this.HasPosition(TooltipPosition.right)) {
|
|
281
|
-
return TooltipPosition.right;
|
|
282
|
-
}
|
|
283
|
-
if (this.HasPosition(TooltipPosition.bottom)) {
|
|
284
|
-
return TooltipPosition.bottom;
|
|
285
|
-
}
|
|
286
|
-
// Default Position if empty
|
|
287
|
-
return TooltipPosition.right;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Gibt zurück, ob die Position konfiguriert wurde
|
|
291
|
-
*
|
|
292
|
-
* @param position Position auf welche geprüft wird
|
|
293
|
-
*/
|
|
294
|
-
HasPosition(position) {
|
|
295
|
-
const positions = this.position.split('|');
|
|
296
|
-
if (position === TooltipPosition.right && positions.indexOf('right') >= 0) {
|
|
297
|
-
return true;
|
|
298
|
-
}
|
|
299
|
-
if (position === TooltipPosition.top && positions.indexOf('top') >= 0) {
|
|
300
|
-
return true;
|
|
301
|
-
}
|
|
302
|
-
if (position === TooltipPosition.left && positions.indexOf('left') >= 0) {
|
|
303
|
-
return true;
|
|
304
|
-
}
|
|
305
|
-
if (position === TooltipPosition.bottom && positions.indexOf('bottom') >= 0) {
|
|
306
|
-
return true;
|
|
307
|
-
}
|
|
308
|
-
return false;
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Prüft ob die Position gültig ist, resp. der Tooltip auf die Position platz hat
|
|
312
|
-
*/
|
|
313
|
-
ValidatePositions() {
|
|
314
|
-
// Check if Container is false
|
|
315
|
-
if (this.tooltipcontainer === undefined) {
|
|
316
|
-
return TooltipPosition.right;
|
|
317
|
-
}
|
|
318
|
-
let allowedPositions = TooltipPosition.none;
|
|
319
|
-
const basePosition = this.content.nativeElement.firstElementChild.getBoundingClientRect();
|
|
320
|
-
const tooltipRect = this.tooltipcontainer.nativeElement.getBoundingClientRect();
|
|
321
|
-
const leftPosOk = basePosition.left - tooltipRect.width > 0;
|
|
322
|
-
const rightPosOk = basePosition.right + tooltipRect.width < window.innerWidth;
|
|
323
|
-
const topPosOk = basePosition.top - tooltipRect.height > 0;
|
|
324
|
-
const bottomPosOk = basePosition.bottom + tooltipRect.height < window.innerHeight;
|
|
325
|
-
const leftHalfPosOk = basePosition.left - (tooltipRect.width / 2) > 0;
|
|
326
|
-
const rightHalfPosOk = basePosition.right + (tooltipRect.width / 2) < window.innerWidth;
|
|
327
|
-
const topHalfPosOk = basePosition.top - (tooltipRect.height / 2) > 0;
|
|
328
|
-
const bottomHalfPosOk = basePosition.bottom + (tooltipRect.height / 2) < window.innerHeight;
|
|
329
|
-
if (leftPosOk && topHalfPosOk && bottomHalfPosOk) {
|
|
330
|
-
// tslint:disable-next-line:no-bitwise
|
|
331
|
-
allowedPositions = allowedPositions | TooltipPosition.left;
|
|
332
|
-
}
|
|
333
|
-
if (rightPosOk && topHalfPosOk && bottomHalfPosOk) {
|
|
334
|
-
// tslint:disable-next-line:no-bitwise
|
|
335
|
-
allowedPositions = allowedPositions | TooltipPosition.right;
|
|
336
|
-
}
|
|
337
|
-
if (topPosOk && leftHalfPosOk && rightHalfPosOk) {
|
|
338
|
-
// tslint:disable-next-line:no-bitwise
|
|
339
|
-
allowedPositions = allowedPositions | TooltipPosition.top;
|
|
340
|
-
}
|
|
341
|
-
if (bottomPosOk && leftHalfPosOk && rightHalfPosOk) {
|
|
342
|
-
// tslint:disable-next-line:no-bitwise
|
|
343
|
-
allowedPositions = allowedPositions | TooltipPosition.bottom;
|
|
344
|
-
}
|
|
345
|
-
return allowedPositions;
|
|
346
|
-
}
|
|
347
|
-
static { 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 }); }
|
|
348
|
-
static { 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, static: true }], ngImport: i0 }); }
|
|
349
|
-
}
|
|
350
|
-
export { SacTooltipCommon };
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipCommon, decorators: [{
|
|
352
|
-
type: Directive
|
|
353
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { position: [{
|
|
354
|
-
type: Input
|
|
355
|
-
}], tooltiptext: [{
|
|
356
|
-
type: Input
|
|
357
|
-
}], inlinemode: [{
|
|
358
|
-
type: Input
|
|
359
|
-
}], content: [{
|
|
360
|
-
type: ViewChild,
|
|
361
|
-
args: ['container', { static: true }]
|
|
362
|
-
}], tooltip: [{
|
|
363
|
-
type: ViewChild,
|
|
364
|
-
args: ['tooltip', { static: true }]
|
|
365
|
-
}] } });
|
|
366
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXhEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUNhLGdCQUFnQjtJQTZDM0I7O09BRUc7SUFDSCxJQUNJLFVBQVUsQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFZRDs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLE9BQW1CO1FBQzdCLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFvQixLQUF3QixFQUFVLEdBQWU7UUFBakQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBdEZyRTs7V0FFRztRQUNILG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBRWxD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QUNqRCxzQ0FBc0M7WUFDdEMsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztTQUM3RDtRQUVELElBQUksUUFBUSxJQUFJLGFBQWEsSUFBSSxjQUFjLEVBQUU7WUFDL0Msc0NBQXNDO1lBQ3RDLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7U0FDM0Q7UUFFRCxJQUFJLFdBQVcsSUFBSSxhQUFhLElBQUksY0FBYyxFQUFFO1lBQ2xELHNDQUFzQztZQUN0QyxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQzlEO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDOytHQXhaVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7U0FBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFNBQVM7aUlBNEJSLFFBQVE7c0JBRFAsS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBaUJGLFVBQVU7c0JBRGIsS0FBSztnQkFjb0MsT0FBTztzQkFBaEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVdwQyxPQUFPO3NCQURWLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29udmVydGlvbic7XHJcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9lbnVtcyc7XHJcblxyXG4vKipcclxuICogVG9vbHRpcCBDb21wb25lbnRcclxuICpcclxuICogQmVuw7Z0aWd0IGltIEhUTUwgTWFya3VwIGZvbGdlbmRlIElkZW50aWZpZXJcclxuICogLSBjb250YWluZXI6IENvbnRhaW5lciBmw7xyIG5nLWNvbnRlbnQgaW4gd2VsY2hlbSBkYXMgRWxlbWVudCBhbmdlemVpZ3Qgd2lyZCwgd28gZGVyIFRvb2x0aXAgYW5nZWjDpG5ndCB3aXJkLlxyXG4gKiAtIHRvb2x0aXA6IENvbnRhaW5lciBmw7xyIFRvb2x0aXBcclxuICpcclxuICogVG9vbHRpcCBtdXNzIGluIDIgU2Nocml0dGVuIGFuZ2V6ZWlndCB3ZXJkZW4uIEluIGVpbmVtIGVyc3RlbiBTY2hyaXR0IHdpcmQgZGVyIFRvb2x0aXAgTWFya3VwIGVyemV1Z3QgbWl0IChuZ0lmKS4gSW4gZWluZW0gMi4gU2Nocml0dFxyXG4gKiBrYW5uIGRlciBUb29sdGlwIGRhbm4gw7xiZXIgZGllIENTUyB2aXNpYmlsaXR5IGFuZ2V6ZWlndCB3ZXJkZW4uIFdpcmQgZGllcyBuaWNodCBzbyBnZW1hY2h0LCBrYW5uIGVzIGJlaSBnZXdpc3NlbiBCcm93c2VybiB6dSBlaW5lbSBGbGFja2VyIEVmZmVrdCBmw7xocmVuLlxyXG4gKlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNUb29sdGlwQ29tbW9uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIFByb3BlcnR5IGbDvHIgRW51bSBpbiBBbmd1bGFyIEhUTUwgVGVtcGxhdGVcclxuICAgKi9cclxuICBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBvYiBkZXIgVG9vbHRpcCBzaWNodGJhciBpc3RcclxuICAgKi9cclxuICBwcml2YXRlIF9pc1Rvb2x0aXBWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc2l0aW9uIGRlcyBUb29sdGlwcyBvYmVuXHJcbiAgICovXHJcbiAgVG9wUG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBQb3NpdGlvbiBkZXMgVG9vbHRpcHMgbGlua3NcclxuICAgKi9cclxuICBMZWZ0UG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBQb3NpdGlvbiBkZXMgVG9vbHRpcHMuIFdlcnRlOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xyXG4gICAqXHJcbiAgICogV2VydCAnYXV0bycga2FubiBtaXQgZWluZW0gYW5kZXJlbiBXZXJ0IGtvbWJpbmllcnQgd2VyZGVuLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodHxhdXRvJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCBmw7xyIFRvb2xUaXBcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHRvb2x0aXB0ZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIElubGluZSBNb2RlIGbDvHIgVG9vbHRpcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lubGluZW1vZGU6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBvYiBkZXIgVG9vbHRpcCBzaWNodGJhciBzZWluIHNvbGxcclxuICAgKi9cclxuICBJc1Rvb2x0aXBDb250ZW50VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIgZsO8ciBJbmxpbmUgTW9kZSBmw7xyIFRvb2x0aXBcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbmxpbmVtb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pbmxpbmVtb2RlID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHRlciBmw7xyIElubGluZSBNb2RlIGbDvHIgVG9vbHRpcFxyXG4gICAqL1xyXG4gIGdldCBpbmxpbmVtb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lubGluZW1vZGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYW1lIGRlcyBDb250YWluZXJzIGbDvHIgQ29udGVudCAoei5CLiBJY29uKSBhdWYgd2VsY2hlbSBkZXIgVG9vbHRpcCBhbmdlemVpZ3Qgd2lyZC5cclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udGFpbmVycyBmw7xyIGRlbiBUb29sdGlwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sdGlwY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyIGbDvHIgTmFtZSBkZXMgQ29udGFpbmVycyBmw7xyIGRlbiBUb29sdGlwLiBXaXJkIGJlbsO2dGlndCwgZGEgVG9vbHRpcCB2aWEgTkdJRiBhdXNnZWJsZW5kZXQgd2VyZGVuIGthbm4uXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc2V0IHRvb2x0aXAoY29udGVudDogRWxlbWVudFJlZikge1xyXG4gICAgaWYgKGNvbnRlbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRlbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b29sdGlwY29udGFpbmVyID0gY29udGVudDtcclxuICAgIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIHJlZiBFbGVtZW50IFJlZmVyZW56XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXJ2ZW50IHdlbm4gZGFzIENvbnRyb2wgaW5pdGlhbGlzZXJ0IHdpcmRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuXHJcbiAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3ZW5uIGRhcyBDb250cm9sIHplcnN0w7ZydCB3aXJkLlxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy50b29sdGlwY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmVyZWNobmV0IGRpZSBQb3NpdGlvbiBkZXMgVG9vbHRpcHMgdm9uIE9iZW5cclxuICAgKi9cclxuICBwcml2YXRlIGdldFRvcFBvc2l0aW9uKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5jb250ZW50ICE9PSBudWxsICYmIHRoaXMuY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gaXRlbS5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBjb25zdCBjb250ZW50UG9zaXRpb246IENsaWVudFJlY3QgPSBjaGlsZEl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKSkge1xyXG4gICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvbi50b3AgLSB0aGlzLmdldFRvb2xUaXBIZWlnaHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi50b3AgLSB0aGlzLmdldFRvb2xUaXBIZWlnaHQoKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvbi50b3AgKyAoY29udGVudFBvc2l0aW9uLmhlaWdodCAvIDIpIC0gKHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMik7XHJcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb24udG9wICsgKGNvbnRlbnRQb3NpdGlvbi5oZWlnaHQgLyAyKSAtICh0aGlzLmdldFRvb2xUaXBIZWlnaHQoKSAvIDIpO1xyXG4gICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tOlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvbi50b3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0O1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLnRvcCArIGNvbnRlbnRQb3NpdGlvbi5oZWlnaHQ7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5sZWZ0OlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvbi50b3AgKyAoY29udGVudFBvc2l0aW9uLmhlaWdodCAvIDIpIC0gKHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMik7XHJcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb24udG9wICsgKGNvbnRlbnRQb3NpdGlvbi5oZWlnaHQgLyAyKSAtICh0aGlzLmdldFRvb2xUaXBIZWlnaHQoKSAvIDIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNoaWxkSXRlbS5jbGllbnRUb3AgKyBjaGlsZEl0ZW0ub2Zmc2V0VG9wIC0gKCh0aGlzLmdldFRvb2xUaXBIZWlnaHQoKSAvIDIpIC0gKGNoaWxkSXRlbS5jbGllbnRIZWlnaHQgLyAyKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJlcmVjaG5ldCBkaWUgUG9zaXRpb24gZGVzIFRvb2x0aXBzIHZvbiBMaW5rc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0TGVmdFBvc2l0aW9uKCk6IG51bWJlciB7XHJcblxyXG4gICAgaWYgKHRoaXMuY29udGVudCAhPT0gbnVsbCAmJiB0aGlzLmNvbnRlbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPj0gMSkge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkSXRlbSA9IGl0ZW0uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgY29udGVudFBvc2l0aW9uOiBDbGllbnRSZWN0ID0gY2hpbGRJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCkpIHtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcDpcclxuICAgICAgICAgICAgdGhpcy5MZWZ0UG9zID0gY29udGVudFBvc2l0aW9uLmxlZnQgKyAoY29udGVudFBvc2l0aW9uLndpZHRoIC8gMikgLSAodGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLmxlZnQgKyAoY29udGVudFBvc2l0aW9uLndpZHRoIC8gMikgLSAodGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIpO1xyXG4gICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ucmlnaHQ6XHJcbiAgICAgICAgICAgIHRoaXMuTGVmdFBvcyA9IGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGg7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b206XHJcbiAgICAgICAgICAgIHRoaXMuTGVmdFBvcyA9IGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgKGNoaWxkSXRlbS5jbGllbnRXaWR0aCAvIDIpIC0gKHRoaXMuZ2V0VG9vbFRpcFdpZHRoKCkgLyAyKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgKGNoaWxkSXRlbS5jbGllbnRXaWR0aCAvIDIpIC0gKHRoaXMuZ2V0VG9vbFRpcFdpZHRoKCkgLyAyKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XHJcbiAgICAgICAgICAgIHRoaXMuTGVmdFBvcyA9IGNvbnRlbnRQb3NpdGlvbi5sZWZ0IC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi5sZWZ0IC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBCZXJlY2huZXQgZGllIEjDtmhlIGRlcyBUb29sdGlwc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0VG9vbFRpcEhlaWdodCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lcikge1xyXG4gICAgICByZXR1cm4gdGhpcy50b29sdGlwY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCZXJlY2huZXQgZGllIEJyZWl0ZSBkaWUgVG9vbHRpcHNcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRvb2xUaXBXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lcikge1xyXG4gICAgICByZXR1cm4gdGhpcy50b29sdGlwY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGVyIFRvb2x0aXAgaW0gTWFya3VwIHZvcmhhbmRlbiBpc3RcclxuICAgKi9cclxuICBJc1Rvb2x0aXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzVG9vbHRpcFZpc2libGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb29sdGlwIGFuemVpZ2VuXHJcbiAgICovXHJcbiAgU2hvd1Rvb2x0aXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xyXG4gICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XHJcbiAgICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb29sdGlwIGF1c2JsZW5kZW5cclxuICAgKi9cclxuICBIaWRlVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2VubiBDb250ZW50IGdlw6RuZGVydCBoYXQgdW5kIFByb3BvcnRpZXMgaW0gVUkgbmV1IGdlc2V0enQgd2VyZGVuIG3DvHNzZW4uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcclxuICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHaWJ0IGRpZSBQb3NpdGlvbiBkZXMgVG9vbHRpcHMgenVyw7xja1xyXG4gICAqL1xyXG4gIHB1YmxpYyBHZXRUb29sdGlwUG9zaXRpb24oKTogVG9vbHRpcFBvc2l0aW9uIHtcclxuICAgIGNvbnN0IHZhbGlkUG9zaXRpb25zOiBUb29sdGlwUG9zaXRpb24gPSB0aGlzLlZhbGlkYXRlUG9zaXRpb25zKCk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgIGlmICh0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5yaWdodCkgJiYgKHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0KSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICBpZiAodGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24udG9wKSAmJiAodmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wKSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcDtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgaWYgKHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLmxlZnQpICYmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5sZWZ0KSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgIGlmICh0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pICYmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEdldCBBdXRvIFBvc2l0aW9uIG9yIERlZmF1bHRcclxuICAgIGlmICh0aGlzLklzQXV0b1Bvc2l0aW9uKCkpIHtcclxuXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xyXG4gICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi50b3ApIHtcclxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgaWYgKHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmxlZnQpIHtcclxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHtcclxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLkdldFBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgQXV0b1Bvc2l0aW9uIGFrdGl2IGlzdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgSXNBdXRvUG9zaXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwb3NpdGlvbnMgPSB0aGlzLnBvc2l0aW9uLnNwbGl0KCd8Jyk7XHJcbiAgICByZXR1cm4gcG9zaXRpb25zLmluZGV4T2YoJ2F1dG8nKSA+PSAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkaWUgZGVmaW5pZXJ0ZSBQb3NpdGlvbiBmw7xyIGRlbiBUb29sdGlwIHp1csO8Y2tcclxuICAgKi9cclxuICBwcml2YXRlIEdldFBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XHJcbiAgICBjb25zdCBwb3NpdGlvbnMgPSB0aGlzLnBvc2l0aW9uLnNwbGl0KCd8Jyk7XHJcblxyXG4gICAgaWYgKHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLmxlZnQpKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ubGVmdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24udG9wKSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24ucmlnaHQpKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkpIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5ib3R0b207XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGVmYXVsdCBQb3NpdGlvbiBpZiBlbXB0eVxyXG4gICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdpYnQgenVyw7xjaywgb2IgZGllIFBvc2l0aW9uIGtvbmZpZ3VyaWVydCB3dXJkZVxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBvc2l0aW9uIFBvc2l0aW9uIGF1ZiB3ZWxjaGUgZ2VwcsO8ZnQgd2lyZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgSGFzUG9zaXRpb24ocG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcG9zaXRpb25zID0gdGhpcy5wb3NpdGlvbi5zcGxpdCgnfCcpO1xyXG5cclxuICAgIGlmIChwb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0ICYmIHBvc2l0aW9ucy5pbmRleE9mKCdyaWdodCcpID49IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24udG9wICYmIHBvc2l0aW9ucy5pbmRleE9mKCd0b3AnKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLmxlZnQgJiYgcG9zaXRpb25zLmluZGV4T2YoJ2xlZnQnKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSAmJiBwb3NpdGlvbnMuaW5kZXhPZignYm90dG9tJykgPj0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcsO8ZnQgb2IgZGllIFBvc2l0aW9uIGfDvGx0aWcgaXN0LCByZXNwLiBkZXIgVG9vbHRpcCBhdWYgZGllIFBvc2l0aW9uIHBsYXR6IGhhdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgVmFsaWRhdGVQb3NpdGlvbnMoKTogVG9vbHRpcFBvc2l0aW9uIHtcclxuICAgIC8vIENoZWNrIGlmIENvbnRhaW5lciBpcyBmYWxzZVxyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGFsbG93ZWRQb3NpdGlvbnM6IFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5ub25lO1xyXG4gICAgY29uc3QgYmFzZVBvc2l0aW9uOiBDbGllbnRSZWN0ID0gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB0b29sdGlwUmVjdDogQ2xpZW50UmVjdCA9IHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIGNvbnN0IGxlZnRQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggPiAwO1xyXG4gICAgY29uc3QgcmlnaHRQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5yaWdodCArIHRvb2x0aXBSZWN0LndpZHRoIDwgd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBjb25zdCB0b3BQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgPiAwO1xyXG4gICAgY29uc3QgYm90dG9tUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24uYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0IDwgd2luZG93LmlubmVySGVpZ2h0O1xyXG5cclxuICAgIGNvbnN0IGxlZnRIYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24ubGVmdCAtICh0b29sdGlwUmVjdC53aWR0aCAvIDIpID4gMDtcclxuICAgIGNvbnN0IHJpZ2h0SGFsZlBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLnJpZ2h0ICsgKHRvb2x0aXBSZWN0LndpZHRoIC8gMikgPCB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIGNvbnN0IHRvcEhhbGZQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi50b3AgLSAodG9vbHRpcFJlY3QuaGVpZ2h0IC8gMikgPiAwO1xyXG4gICAgY29uc3QgYm90dG9tSGFsZlBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLmJvdHRvbSArICh0b29sdGlwUmVjdC5oZWlnaHQgLyAyKSA8IHdpbmRvdy5pbm5lckhlaWdodDtcclxuXHJcbiAgICBpZiAobGVmdFBvc09rICYmIHRvcEhhbGZQb3NPayAmJiBib3R0b21IYWxmUG9zT2spIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgYWxsb3dlZFBvc2l0aW9ucyA9IGFsbG93ZWRQb3NpdGlvbnMgfCBUb29sdGlwUG9zaXRpb24ubGVmdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmlnaHRQb3NPayAmJiB0b3BIYWxmUG9zT2sgJiYgYm90dG9tSGFsZlBvc09rKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0b3BQb3NPayAmJiBsZWZ0SGFsZlBvc09rICYmIHJpZ2h0SGFsZlBvc09rKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLnRvcDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYm90dG9tUG9zT2sgJiYgbGVmdEhhbGZQb3NPayAmJiByaWdodEhhbGZQb3NPaykge1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5ib3R0b207XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFsbG93ZWRQb3NpdGlvbnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
37
|
+
* Value 'auto' can be combined with another value.
|
|
38
|
+
*/cov_vnuuxsm2m().s[10]++;this.position='right|auto';/**
|
|
39
|
+
* method if content has changed and proportions need to be reset in the UI.
|
|
40
|
+
*/cov_vnuuxsm2m().s[11]++;this.onContentChange=()=>{cov_vnuuxsm2m().f[1]++;cov_vnuuxsm2m().s[12]++;// Do nothing if is not visible
|
|
41
|
+
if(!this._isTooltipVisible){cov_vnuuxsm2m().b[0][0]++;cov_vnuuxsm2m().s[13]++;return;}else{cov_vnuuxsm2m().b[0][1]++;}cov_vnuuxsm2m().s[14]++;setTimeout(()=>{cov_vnuuxsm2m().f[2]++;cov_vnuuxsm2m().s[15]++;this.getLeftPosition();cov_vnuuxsm2m().s[16]++;this.getTopPosition();});};}// #endregion Constructors
|
|
42
|
+
// #region Public Getters And Setters
|
|
43
|
+
/**
|
|
44
|
+
* Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`
|
|
45
|
+
*/get inlinemode(){cov_vnuuxsm2m().f[3]++;cov_vnuuxsm2m().s[17]++;return this._inlinemode;}/**
|
|
46
|
+
* Setter for inline mode for tooltip
|
|
47
|
+
*/set inlinemode(value){cov_vnuuxsm2m().f[4]++;cov_vnuuxsm2m().s[18]++;this._inlinemode=convertToBoolean(value);}/**
|
|
48
|
+
* 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_vnuuxsm2m().f[5]++;cov_vnuuxsm2m().s[19]++;if(content!==undefined){cov_vnuuxsm2m().b[1][0]++;cov_vnuuxsm2m().s[20]++;document.body.appendChild(content.nativeElement);}else{cov_vnuuxsm2m().b[1][1]++;}cov_vnuuxsm2m().s[21]++;this.tooltipcontainer=content;cov_vnuuxsm2m().s[22]++;this.onContentChange();cov_vnuuxsm2m().s[23]++;this.cdRef.detectChanges();}get tooltop(){cov_vnuuxsm2m().f[6]++;cov_vnuuxsm2m().s[24]++;return this.tooltipcontainer;}// #endregion Public Getters And Setters
|
|
50
|
+
// #region Public Methods
|
|
51
|
+
/**
|
|
52
|
+
* Returns the position of the tooltip
|
|
53
|
+
*/GetTooltipPosition(){cov_vnuuxsm2m().f[7]++;cov_vnuuxsm2m().s[25]++;return this.popupHelper.getDisplayPosition(this.content,this.tooltipcontainer,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true);}/**
|
|
54
|
+
* Hide tooltip
|
|
55
|
+
*/HideTooltip(){cov_vnuuxsm2m().f[8]++;cov_vnuuxsm2m().s[26]++;this._isTooltipVisible=false;cov_vnuuxsm2m().s[27]++;this.IsTooltipContentVisible=false;}/**
|
|
56
|
+
* Defines whether the tooltip is present in the markup
|
|
57
|
+
*/IsTooltipVisible(){cov_vnuuxsm2m().f[9]++;cov_vnuuxsm2m().s[28]++;return this._isTooltipVisible;}/**
|
|
58
|
+
* Show tooltip
|
|
59
|
+
*/ShowTooltip(){cov_vnuuxsm2m().f[10]++;cov_vnuuxsm2m().s[29]++;this._isTooltipVisible=true;cov_vnuuxsm2m().s[30]++;this.cdRef.detectChanges();cov_vnuuxsm2m().s[31]++;setTimeout(()=>{cov_vnuuxsm2m().f[11]++;cov_vnuuxsm2m().s[32]++;this.getLeftPosition();cov_vnuuxsm2m().s[33]++;this.getTopPosition();cov_vnuuxsm2m().s[34]++;this.IsTooltipContentVisible=true;});}/**
|
|
60
|
+
* Calculates the height of the tooltip
|
|
61
|
+
*/getToolTipHeight(){cov_vnuuxsm2m().f[12]++;cov_vnuuxsm2m().s[35]++;return this.popupHelper.getPopupHeight(this.tooltipcontainer);}/**
|
|
62
|
+
* Calculates the width of the tooltips
|
|
63
|
+
*/getToolTipWidth(){cov_vnuuxsm2m().f[13]++;cov_vnuuxsm2m().s[36]++;return this.popupHelper.getPopupWidth(this.tooltipcontainer);}/**
|
|
64
|
+
* Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error
|
|
65
|
+
*/ngAfterViewChecked(){cov_vnuuxsm2m().f[14]++;cov_vnuuxsm2m().s[37]++;// Do nothing if is not visibile
|
|
66
|
+
if(!this._isTooltipVisible){cov_vnuuxsm2m().b[2][0]++;cov_vnuuxsm2m().s[38]++;return;}else{cov_vnuuxsm2m().b[2][1]++;}cov_vnuuxsm2m().s[39]++;this.cdRef.detectChanges();}/**
|
|
67
|
+
* Detect UI Changes to Calculate Tooltip correct
|
|
68
|
+
*/ngDoCheck(){cov_vnuuxsm2m().f[15]++;cov_vnuuxsm2m().s[40]++;// Do nothing if is not visibile
|
|
69
|
+
if(!this._isTooltipVisible){cov_vnuuxsm2m().b[3][0]++;cov_vnuuxsm2m().s[41]++;return;}else{cov_vnuuxsm2m().b[3][1]++;}cov_vnuuxsm2m().s[42]++;this.getLeftPosition();cov_vnuuxsm2m().s[43]++;this.getTopPosition();}/**
|
|
70
|
+
* Event when the control is destroyed.
|
|
71
|
+
*/ngOnDestroy(){cov_vnuuxsm2m().f[16]++;cov_vnuuxsm2m().s[44]++;// Unregister Event Listener
|
|
72
|
+
window.removeEventListener('scroll',this.onContentChange,true);cov_vnuuxsm2m().s[45]++;window.removeEventListener('resize',this.onContentChange,true);cov_vnuuxsm2m().s[46]++;if(this.tooltipcontainer!==undefined){cov_vnuuxsm2m().b[4][0]++;cov_vnuuxsm2m().s[47]++;document.body.removeChild(this.tooltipcontainer.nativeElement);}else{cov_vnuuxsm2m().b[4][1]++;}}/**
|
|
73
|
+
* Event when the control is initialized
|
|
74
|
+
*/ngOnInit(){cov_vnuuxsm2m().f[17]++;cov_vnuuxsm2m().s[48]++;// Register Event Listener
|
|
75
|
+
window.addEventListener('scroll',this.onContentChange,true);cov_vnuuxsm2m().s[49]++;window.addEventListener('resize',this.onContentChange,true);cov_vnuuxsm2m().s[50]++;if(this.tooltipcontainer!==undefined){cov_vnuuxsm2m().b[5][0]++;cov_vnuuxsm2m().s[51]++;document.body.appendChild(this.tooltipcontainer.nativeElement);}else{cov_vnuuxsm2m().b[5][1]++;}}// #endregion Protected Methods
|
|
76
|
+
// #region Private Methods
|
|
77
|
+
/**
|
|
78
|
+
* Calculates the position of the tooltip from links
|
|
79
|
+
*/getLeftPosition(){cov_vnuuxsm2m().f[18]++;const value=(cov_vnuuxsm2m().s[52]++,this.popupHelper.getPositionLeft(this.content,this.tooltipcontainer,this.ref,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true));cov_vnuuxsm2m().s[53]++;this.LeftPos=value;const requiredPosition=(cov_vnuuxsm2m().s[54]++,this.GetTooltipPosition());cov_vnuuxsm2m().s[55]++;if((cov_vnuuxsm2m().b[7][0]++,requiredPosition===TooltipPosition.left)||(cov_vnuuxsm2m().b[7][1]++,requiredPosition===TooltipPosition.right)){cov_vnuuxsm2m().b[6][0]++;cov_vnuuxsm2m().s[56]++;this.posArrowTop=this.getToolTipHeight()/2-6.5;}else{cov_vnuuxsm2m().b[6][1]++;cov_vnuuxsm2m().s[57]++;this.posArrowTop=null;}cov_vnuuxsm2m().s[58]++;return value;}/**
|
|
80
|
+
* Calculates the position of the tooltip from the top
|
|
81
|
+
*/getTopPosition(){cov_vnuuxsm2m().f[19]++;const value=(cov_vnuuxsm2m().s[59]++,this.popupHelper.getPositionTop(this.content,this.tooltipcontainer,this.ref,this.getTooltipOffset(),this.getTooltipOffset(),this.position,true));cov_vnuuxsm2m().s[60]++;this.TopPos=value;const requiredPosition=(cov_vnuuxsm2m().s[61]++,this.GetTooltipPosition());cov_vnuuxsm2m().s[62]++;if((cov_vnuuxsm2m().b[9][0]++,requiredPosition===TooltipPosition.bottom)||(cov_vnuuxsm2m().b[9][1]++,requiredPosition===TooltipPosition.top)){cov_vnuuxsm2m().b[8][0]++;cov_vnuuxsm2m().s[63]++;this.posArrowLeft=this.getToolTipWidth()/2-6.5;}else{cov_vnuuxsm2m().b[8][1]++;cov_vnuuxsm2m().s[64]++;this.posArrowLeft=null;}cov_vnuuxsm2m().s[65]++;return value;}static{cov_vnuuxsm2m().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_vnuuxsm2m().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_vnuuxsm2m().s[68]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_vnuuxsm2m().f[20]++;cov_vnuuxsm2m().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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFHSCxTQUFTLEVBR1QsS0FBSyxFQUdMLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQ3NCLGdCQUFnQjtJQXlFbEMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUE2QixLQUF3QixFQUFtQixHQUFlO1FBQTFELFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQW1CLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFoRnZGLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNjLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFPOUQ7O1dBRUc7UUFDSyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFPM0M7O1dBRUc7UUFDSSw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFFaEQ7O1dBRUc7UUFDSSxZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBRTNCOztXQUVHO1FBQ0ksb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFFekM7O1dBRUc7UUFDSSxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBUTFCOztXQUVHO1FBQ0ksaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRTFDOztXQUVHO1FBQ0ksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBRXpDOzs7O1dBSUc7UUFFSSxhQUFRLEdBQVcsWUFBWSxDQUFDO1FBc092Qzs7V0FFRztRQUNjLG9CQUFlLEdB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QUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOytHQXJTaUIsZ0JBQWdCO21HQUFoQixnQkFBZ0I7O1NBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQURyQyxTQUFTO2lJQWdEQyxPQUFPO3NCQURiLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFtQmpDLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQTRCSyxVQUFVO3NCQURwQixLQUFLO2dCQVNLLE9BQU87c0JBRGpCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29udmVydGlvbic7XHJcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcFVwSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3BvcHVwaGVscGVyJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIERvQ2hlY2ssXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVG9vbHRpcCBDb21wb25lbnRcclxuICpcclxuICogUmVxdWlyZXMgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVycyBpbiB0aGUgSFRNTCBtYXJrdXBcclxuICogLSBjb250YWluZXI6IENvbnRhaW5lciBmb3IgbmctY29udGVudCBpbiB3aGljaCB0aGUgZWxlbWVudCBpcyBkaXNwbGF5ZWQgd2hlcmUgdGhlIHRvb2x0aXAgaXMgYXR0YWNoZWQuXHJcbiAqIC0gdG9vbHRpcDogQ29udGFpbmVyIGZvciB0b29sdGlwXHJcbiAqXHJcbiAqIFRvb2x0aXAgbXVzdCBiZSBkaXNwbGF5ZWQgaW4gMiBzdGVwcy4gSW4gYSBmaXJzdCBzdGVwIHRoZSB0b29sdGlwIG1hcmt1cCBpcyBjcmVhdGVkIHdpdGggKG5nSWYpLiBJbiBhIDJuZCBzdGVwXHJcbiAqIHRoZSB0b29sdGlwIGNhbiB0aGVuIGJlIGRpc3BsYXllZCB2aWEgdGhlIENTUyB2aXNpYmlsaXR5LiBJZiB0aGlzIGlzIG5vdCBkb25lLCBpdCBjYW4gbGVhZCB0byBhIGZsaWNrZXJpbmcgZWZmZWN0IGluIGNlcnRhaW4gYnJvd3NlcnMuXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY1Rvb2x0aXBDb21tb24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjayB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjbGFzcyB0byBkaXNwbGF5IHRvb2x0aXAgb24gY29ycmVjdCBwb3NpdGlvblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwSGVscGVyOiBQb3BVcEhlbHBlciA9IG5ldyBQb3BVcEhlbHBlcigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5saW5lIG1vZGUgZm9yIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaW5saW5lbW9kZTogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgdG9vbHRpcCBpcyB2aXNpYmxlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2lzVG9vbHRpcFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRhaW5lcnMgZm9yIHRoZSB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9vbHRpcGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBvbiB0aGUgbGVmdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgSXNUb29sdGlwQ29udGVudFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvc2l0aW9uIGRlcyBUb29sdGlwcyBsaW5rc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgTGVmdFBvczogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb3BlcnR5IGZvciBlbnVtIGluIEFuZ3VsYXIgSFRNTCB0ZW1wbGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgYXQgdGhlIHRvcFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgVG9wUG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciBjb250ZW50IChlLmcuIGljb24pIG9uIHdoaWNoIHRoZSB0b29sdGlwIGlzIGRpc3BsYXllZC5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIGxlZnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBvc0Fycm93TGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGFycm93IGF0IHRoZSB0b3BcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXHJcbiAgICAgKlxyXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodHxhdXRvJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRleHQgZm9yIFRvb2xUaXBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0b29sdGlwdGV4dDogc3RyaW5nO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBLb25zdHJ1a3RvclxyXG4gICAgICogQHBhcmFtIHJlZiBFbGVtZW50IFJlZmVyZW56XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlZjogRWxlbWVudFJlZikge31cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb3BlcnR5IGZvciBpbmxpbmUgbW9kZSBmb3IgdG9vbHRpcC4gU2V0cyB0aGUgZGlzcGxheSBtb2RlIG9uIHRoZSB3cmFwcGVyIGVsZW1lbnQgdG8gYGlubGluZWBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBpbmxpbmVtb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmxpbmVtb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0dGVyIGZvciBpbmxpbmUgbW9kZSBmb3IgdG9vbHRpcFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBpbmxpbmVtb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faW5saW5lbW9kZSA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gICAgcHVibGljIHNldCB0b29sdGlwKGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lciA9IGNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5vbkNvbnRlbnRDaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcGNvbnRhaW5lcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHVibGljIEdldFRvb2x0aXBQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxyXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBjb250YWluZXIsXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxyXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcclxuICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHVibGljIEhpZGVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgcHJlc2VudCBpbiB0aGUgbWFya3VwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBJc1Rvb2x0aXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBTaG93VG9vbHRpcCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcclxuICAgICAgICAgICAgdGhpcy5Jc1Rvb2x0aXBDb250ZW50VmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRvb2xUaXBIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnRvb2x0aXBjb250YWluZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHRvb2x0aXBzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRUb29sVGlwV2lkdGgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cFdpZHRoKHRoaXMudG9vbHRpcGNvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXRlY3QgQ2hhbmdlcyBhZnRlciB2aWV3IGNoZWNrZWQuIFByZXZlbnQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGV0ZWN0IFVJIENoYW5nZXMgdG8gQ2FsY3VsYXRlIFRvb2x0aXAgY29ycmVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBkZXN0cm95ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBpbml0aWFsaXplZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgLy8gUmVnaXN0ZXIgRXZlbnQgTGlzdGVuZXJcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9mZnNldCBmb3IgVG9vbHRpcC4gUmVxdWlyZWQgZm9yIEJTNC9CUzUgdG8gY3JlYXRlIHBhZGRpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvb2x0aXBPZmZzZXQoKTogbnVtYmVyO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldExlZnRQb3NpdGlvbigpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvbkxlZnQoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxyXG4gICAgICAgICAgICB0aGlzLnJlZixcclxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLkxlZnRQb3MgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQb3NpdGlvbiA9IHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCk7XHJcbiAgICAgICAgaWYgKHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5sZWZ0IHx8IHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gdGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyIC0gNi41O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9wXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0VG9wUG9zaXRpb24oKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25Ub3AoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxyXG4gICAgICAgICAgICB0aGlzLnJlZixcclxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLlRvcFBvcyA9IHZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCByZXF1aXJlZFBvc2l0aW9uID0gdGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKTtcclxuICAgICAgICBpZiAocmVxdWlyZWRQb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSB8fCByZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIgLSA2LjU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogbWV0aG9kIGlmIGNvbnRlbnQgaGFzIGNoYW5nZWQgYW5kIHByb3BvcnRpb25zIG5lZWQgdG8gYmUgcmVzZXQgaW4gdGhlIFVJLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uQ29udGVudENoYW5nZSA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmxlXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xyXG4gICAgICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuIl19
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3Zfdm51dXhzbTJtIiwiYWN0dWFsQ292ZXJhZ2UiLCJjb252ZXJ0VG9Cb29sZWFuIiwiVG9vbHRpcFBvc2l0aW9uIiwiUG9wVXBIZWxwZXIiLCJEaXJlY3RpdmUiLCJJbnB1dCIsIlZpZXdDaGlsZCIsIlNhY1Rvb2x0aXBDb21tb24iLCJjb25zdHJ1Y3RvciIsImNkUmVmIiwicmVmIiwiZiIsInMiLCJwb3B1cEhlbHBlciIsIl9pc1Rvb2x0aXBWaXNpYmxlIiwiSXNUb29sdGlwQ29udGVudFZpc2libGUiLCJMZWZ0UG9zIiwiVG9wUG9zIiwicG9zQXJyb3dMZWZ0IiwicG9zQXJyb3dUb3AiLCJwb3NpdGlvbiIsIm9uQ29udGVudENoYW5nZSIsImIiLCJzZXRUaW1lb3V0IiwiZ2V0TGVmdFBvc2l0aW9uIiwiZ2V0VG9wUG9zaXRpb24iLCJpbmxpbmVtb2RlIiwiX2lubGluZW1vZGUiLCJ2YWx1ZSIsInRvb2x0aXAiLCJjb250ZW50IiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJuYXRpdmVFbGVtZW50IiwidG9vbHRpcGNvbnRhaW5lciIsImRldGVjdENoYW5nZXMiLCJ0b29sdG9wIiwiR2V0VG9vbHRpcFBvc2l0aW9uIiwiZ2V0RGlzcGxheVBvc2l0aW9uIiwiZ2V0VG9vbHRpcE9mZnNldCIsIkhpZGVUb29sdGlwIiwiSXNUb29sdGlwVmlzaWJsZSIsIlNob3dUb29sdGlwIiwiZ2V0VG9vbFRpcEhlaWdodCIsImdldFBvcHVwSGVpZ2h0IiwiZ2V0VG9vbFRpcFdpZHRoIiwiZ2V0UG9wdXBXaWR0aCIsIm5nQWZ0ZXJWaWV3Q2hlY2tlZCIsIm5nRG9DaGVjayIsIm5nT25EZXN0cm95Iiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbW92ZUNoaWxkIiwibmdPbkluaXQiLCJhZGRFdmVudExpc3RlbmVyIiwiZ2V0UG9zaXRpb25MZWZ0IiwicmVxdWlyZWRQb3NpdGlvbiIsImxlZnQiLCJyaWdodCIsImdldFBvc2l0aW9uVG9wIiwiYm90dG9tIiwidG9wIiwiZGVwcyIsInRva2VuIiwiaTAiLCJDaGFuZ2VEZXRlY3RvclJlZiIsIkVsZW1lbnRSZWYiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsInRvb2x0aXB0ZXh0Iiwidmlld1F1ZXJpZXMiLCJwcm9wZXJ0eU5hbWUiLCJmaXJzdCIsInByZWRpY2F0ZSIsImRlc2NlbmRhbnRzIiwic3RhdGljIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvdG9vbHRpcC90b29sdGlwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29udmVydGlvbic7XHJcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcFVwSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3BvcHVwaGVscGVyJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIERvQ2hlY2ssXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVG9vbHRpcCBDb21wb25lbnRcclxuICpcclxuICogUmVxdWlyZXMgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVycyBpbiB0aGUgSFRNTCBtYXJrdXBcclxuICogLSBjb250YWluZXI6IENvbnRhaW5lciBmb3IgbmctY29udGVudCBpbiB3aGljaCB0aGUgZWxlbWVudCBpcyBkaXNwbGF5ZWQgd2hlcmUgdGhlIHRvb2x0aXAgaXMgYXR0YWNoZWQuXHJcbiAqIC0gdG9vbHRpcDogQ29udGFpbmVyIGZvciB0b29sdGlwXHJcbiAqXHJcbiAqIFRvb2x0aXAgbXVzdCBiZSBkaXNwbGF5ZWQgaW4gMiBzdGVwcy4gSW4gYSBmaXJzdCBzdGVwIHRoZSB0b29sdGlwIG1hcmt1cCBpcyBjcmVhdGVkIHdpdGggKG5nSWYpLiBJbiBhIDJuZCBzdGVwXHJcbiAqIHRoZSB0b29sdGlwIGNhbiB0aGVuIGJlIGRpc3BsYXllZCB2aWEgdGhlIENTUyB2aXNpYmlsaXR5LiBJZiB0aGlzIGlzIG5vdCBkb25lLCBpdCBjYW4gbGVhZCB0byBhIGZsaWNrZXJpbmcgZWZmZWN0IGluIGNlcnRhaW4gYnJvd3NlcnMuXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY1Rvb2x0aXBDb21tb24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjayB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjbGFzcyB0byBkaXNwbGF5IHRvb2x0aXAgb24gY29ycmVjdCBwb3NpdGlvblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwSGVscGVyOiBQb3BVcEhlbHBlciA9IG5ldyBQb3BVcEhlbHBlcigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5saW5lIG1vZGUgZm9yIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaW5saW5lbW9kZTogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgdG9vbHRpcCBpcyB2aXNpYmxlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2lzVG9vbHRpcFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRhaW5lcnMgZm9yIHRoZSB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9vbHRpcGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBvbiB0aGUgbGVmdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgSXNUb29sdGlwQ29udGVudFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvc2l0aW9uIGRlcyBUb29sdGlwcyBsaW5rc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgTGVmdFBvczogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb3BlcnR5IGZvciBlbnVtIGluIEFuZ3VsYXIgSFRNTCB0ZW1wbGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgYXQgdGhlIHRvcFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgVG9wUG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciBjb250ZW50IChlLmcuIGljb24pIG9uIHdoaWNoIHRoZSB0b29sdGlwIGlzIGRpc3BsYXllZC5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIGxlZnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBvc0Fycm93TGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGFycm93IGF0IHRoZSB0b3BcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXHJcbiAgICAgKlxyXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodHxhdXRvJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRleHQgZm9yIFRvb2xUaXBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0b29sdGlwdGV4dDogc3RyaW5nO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBLb25zdHJ1a3RvclxyXG4gICAgICogQHBhcmFtIHJlZiBFbGVtZW50IFJlZmVyZW56XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlZjogRWxlbWVudFJlZikge31cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb3BlcnR5IGZvciBpbmxpbmUgbW9kZSBmb3IgdG9vbHRpcC4gU2V0cyB0aGUgZGlzcGxheSBtb2RlIG9uIHRoZSB3cmFwcGVyIGVsZW1lbnQgdG8gYGlubGluZWBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBpbmxpbmVtb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmxpbmVtb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0dGVyIGZvciBpbmxpbmUgbW9kZSBmb3IgdG9vbHRpcFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBpbmxpbmVtb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faW5saW5lbW9kZSA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gICAgcHVibGljIHNldCB0b29sdGlwKGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lciA9IGNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5vbkNvbnRlbnRDaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcGNvbnRhaW5lcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHVibGljIEdldFRvb2x0aXBQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LFxyXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBjb250YWluZXIsXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxyXG4gICAgICAgICAgICB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSxcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcclxuICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHVibGljIEhpZGVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgcHJlc2VudCBpbiB0aGUgbWFya3VwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBJc1Rvb2x0aXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBTaG93VG9vbHRpcCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcclxuICAgICAgICAgICAgdGhpcy5Jc1Rvb2x0aXBDb250ZW50VmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRvb2xUaXBIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnRvb2x0aXBjb250YWluZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHRvb2x0aXBzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRUb29sVGlwV2lkdGgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cFdpZHRoKHRoaXMudG9vbHRpcGNvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXRlY3QgQ2hhbmdlcyBhZnRlciB2aWV3IGNoZWNrZWQuIFByZXZlbnQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGV0ZWN0IFVJIENoYW5nZXMgdG8gQ2FsY3VsYXRlIFRvb2x0aXAgY29ycmVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBkZXN0cm95ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBpbml0aWFsaXplZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgLy8gUmVnaXN0ZXIgRXZlbnQgTGlzdGVuZXJcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9mZnNldCBmb3IgVG9vbHRpcC4gUmVxdWlyZWQgZm9yIEJTNC9CUzUgdG8gY3JlYXRlIHBhZGRpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvb2x0aXBPZmZzZXQoKTogbnVtYmVyO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldExlZnRQb3NpdGlvbigpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvbkxlZnQoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxyXG4gICAgICAgICAgICB0aGlzLnJlZixcclxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLkxlZnRQb3MgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQb3NpdGlvbiA9IHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCk7XHJcbiAgICAgICAgaWYgKHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5sZWZ0IHx8IHJlcXVpcmVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gdGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyIC0gNi41O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9wXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0VG9wUG9zaXRpb24oKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25Ub3AoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudCxcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwY29udGFpbmVyLFxyXG4gICAgICAgICAgICB0aGlzLnJlZixcclxuICAgICAgICAgICAgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCksXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpLFxyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLlRvcFBvcyA9IHZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCByZXF1aXJlZFBvc2l0aW9uID0gdGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKTtcclxuICAgICAgICBpZiAocmVxdWlyZWRQb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSB8fCByZXF1aXJlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIgLSA2LjU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogbWV0aG9kIGlmIGNvbnRlbnQgaGFzIGNoYW5nZWQgYW5kIHByb3BvcnRpb25zIG5lZWQgdG8gYmUgcmVzZXQgaW4gdGhlIFVJLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uQ29udGVudENoYW5nZSA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmxlXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xyXG4gICAgICAgICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiaW54QkF5Qkc7QUFBQUEsYUFBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxhQUFBLEdBekJILE9BQVNFLGdCQUFnQixLQUFRLDRCQUE0QixDQUM3RCxPQUFTQyxlQUFlLEtBQVEsdUJBQXVCLENBQ3ZELE9BQVNDLFdBQVcsS0FBUSw2QkFBNkIsQ0FDekQsT0FHSUMsU0FBUyxDQUdUQyxLQUFLLENBR0xDLFNBQVMsS0FDTixlQUFlLEMsaUNBRXRCOzs7Ozs7Ozs7O0dBV0EsS0FDc0IsQ0FBQUMsZ0JBQWdCLENBeUVsQztBQUVBO0FBRUE7OztPQUlBQyxZQUE2QkMsS0FBd0IsQ0FBbUJDLEdBQWUsRUFBQVgsYUFBQSxHQUFBWSxDQUFBLE1BQUFaLGFBQUEsR0FBQWEsQ0FBQSxNQUExRCxLQUFBSCxLQUFLLENBQUxBLEtBQUssQ0FBbUJWLGFBQUEsR0FBQWEsQ0FBQSxNQUFtQixLQUFBRixHQUFHLENBQUhBLEdBQUcsQ0FoRjNFO0FBRUE7O1dBQUFYLGFBQUEsR0FBQWEsQ0FBQSxNQUdpQixLQUFBQyxXQUFXLENBQWdCLEdBQUksQ0FBQVYsV0FBVyxFQUFFLENBTzdEOztXQUFBSixhQUFBLEdBQUFhLENBQUEsTUFHUSxLQUFBRSxpQkFBaUIsQ0FBWSxLQUFLLENBTzFDOztXQUFBZixhQUFBLEdBQUFhLENBQUEsTUFHTyxLQUFBRyx1QkFBdUIsQ0FBWSxLQUFLLENBRS9DOztXQUFBaEIsYUFBQSxHQUFBYSxDQUFBLE1BR08sS0FBQUksT0FBTyxDQUFXLENBQUMsQ0FFMUI7O1dBQUFqQixhQUFBLEdBQUFhLENBQUEsTUFHTyxLQUFBVixlQUFl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
|