@simpleangularcontrols/sac-common 13.0.0-rc.2 → 13.0.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/common/basedatetimecontrol.d.ts +176 -86
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/basedatetimecontrol.ngfactory.d.ts +3 -3
- package/common/basedatetimecontrol.ngsummary.d.ts +1 -1
- package/common/baseinputcontrol.d.ts +41 -45
- package/common/baseinputcontrol.d.ts.map +1 -1
- package/common/baseinputcontrol.ngfactory.d.ts +3 -3
- package/common/baseinputcontrol.ngsummary.d.ts +1 -1
- package/common/baselistcontrol.d.ts +46 -46
- package/common/baselistcontrol.ngfactory.d.ts +3 -3
- package/common/baselistcontrol.ngsummary.d.ts +1 -1
- package/common/basemodelcontrol.d.ts +287 -200
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.ngfactory.d.ts +3 -3
- package/common/basemodelcontrol.ngsummary.d.ts +1 -1
- package/common/baseselectcontrol.d.ts +17 -17
- package/common/baseselectcontrol.ngfactory.d.ts +3 -3
- package/common/baseselectcontrol.ngsummary.d.ts +1 -1
- package/common/baseuploadcontrol.d.ts +307 -287
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.ngfactory.d.ts +3 -3
- package/common/baseuploadcontrol.ngsummary.d.ts +1 -1
- package/components/browser/browser.d.ts +270 -265
- package/components/browser/browser.d.ts.map +1 -1
- package/components/browser/browser.ngfactory.d.ts +3 -3
- package/components/browser/browser.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfile.d.ts +17 -17
- package/components/browser/models/browserfile.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfile.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
- package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
- package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfileresponse.d.ts +10 -10
- package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfileresponse.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfilesaverequest.d.ts +22 -22
- package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfilesaverequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernode.d.ts +34 -34
- package/components/browser/models/browsernode.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernode.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
- package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernodenewrequest.d.ts +18 -18
- package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernodenewrequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
- package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernoderequest.d.ts +18 -18
- package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernoderequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernoderesponse.d.ts +10 -10
- package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernoderesponse.ngsummary.d.ts +1 -1
- package/controls/buttons/button.d.ts +77 -72
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/buttons/button.ngfactory.d.ts +3 -3
- package/controls/buttons/button.ngsummary.d.ts +1 -1
- package/controls/checkbox/checkbox.d.ts +35 -22
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/checkbox.ngfactory.d.ts +3 -3
- package/controls/checkbox/checkbox.ngsummary.d.ts +1 -1
- package/controls/checkbox/radiobutton.d.ts +117 -73
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.ngfactory.d.ts +3 -3
- package/controls/checkbox/radiobutton.ngsummary.d.ts +1 -1
- package/controls/checkbox/radiobuttons.d.ts +63 -62
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.ngfactory.d.ts +3 -3
- package/controls/checkbox/radiobuttons.ngsummary.d.ts +1 -1
- package/controls/confirm/confirm.button.d.ts +25 -19
- package/controls/confirm/confirm.button.d.ts.map +1 -1
- package/controls/confirm/confirm.button.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.button.ngsummary.d.ts +1 -1
- package/controls/confirm/confirm.d.ts +52 -52
- package/controls/confirm/confirm.d.ts.map +1 -1
- package/controls/confirm/confirm.ngfactory.d.ts +3 -3
- package/controls/confirm/confirm.ngsummary.d.ts +1 -1
- package/controls/confirm/confirm.service.d.ts +63 -58
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.service.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenu.d.ts +131 -116
- 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/contextmenu.interface.ngfactory.d.ts +2 -0
- package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts +2 -0
- package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenu.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +18 -18
- package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +18 -18
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenuitem.d.ts +13 -8
- package/controls/contextmenu/contextmenuitem.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenuitem.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenuitembutton.d.ts +70 -69
- package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts +1 -1
- package/controls/datetime/date.d.ts +120 -123
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/date.ngfactory.d.ts +3 -3
- package/controls/datetime/date.ngsummary.d.ts +1 -1
- package/controls/datetime/dateselector.d.ts +172 -164
- package/controls/datetime/dateselector.d.ts.map +1 -1
- package/controls/datetime/dateselector.ngfactory.d.ts +3 -3
- package/controls/datetime/dateselector.ngsummary.d.ts +1 -1
- package/controls/datetime/datetime.d.ts +131 -138
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/datetime.ngfactory.d.ts +3 -3
- package/controls/datetime/datetime.ngsummary.d.ts +1 -1
- package/controls/datetime/time.d.ts +114 -118
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/datetime/time.ngfactory.d.ts +3 -3
- package/controls/datetime/time.ngsummary.d.ts +1 -1
- package/controls/dialog/dialog.d.ts +100 -108
- package/controls/dialog/dialog.d.ts.map +1 -1
- package/controls/dialog/dialog.ngfactory.d.ts +3 -3
- package/controls/dialog/dialog.ngsummary.d.ts +1 -1
- package/controls/form/form.d.ts +50 -86
- package/controls/form/form.d.ts.map +1 -1
- package/controls/form/form.ngfactory.d.ts +3 -3
- package/controls/form/form.ngsummary.d.ts +1 -1
- package/controls/grid/grid.d.ts +134 -125
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/grid/grid.ngfactory.d.ts +3 -3
- package/controls/grid/grid.ngsummary.d.ts +1 -1
- package/controls/grid/gridbutton.d.ts +55 -36
- package/controls/grid/gridbutton.d.ts.map +1 -1
- package/controls/grid/gridbutton.ngfactory.d.ts +3 -3
- package/controls/grid/gridbutton.ngsummary.d.ts +1 -1
- package/controls/grid/gridcolumn.d.ts +31 -31
- package/controls/grid/gridcolumn.d.ts.map +1 -1
- package/controls/grid/gridcolumn.ngfactory.d.ts +3 -3
- package/controls/grid/gridcolumn.ngsummary.d.ts +1 -1
- package/controls/grid/gridcolumnaction.d.ts +18 -18
- package/controls/grid/gridcolumnaction.d.ts.map +1 -1
- package/controls/grid/gridcolumnaction.ngfactory.d.ts +3 -3
- package/controls/grid/gridcolumnaction.ngsummary.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +113 -89
- package/controls/grid/gridcolumnbase.d.ts.map +1 -1
- package/controls/grid/gridcolumnbase.ngfactory.d.ts +3 -3
- package/controls/grid/gridcolumnbase.ngsummary.d.ts +1 -1
- package/controls/grid/gridimage.d.ts +12 -12
- package/controls/grid/gridimage.d.ts.map +1 -1
- package/controls/grid/gridimage.ngfactory.d.ts +3 -3
- package/controls/grid/gridimage.ngsummary.d.ts +1 -1
- package/controls/grid/model.d.ts +92 -83
- package/controls/grid/model.d.ts.map +1 -1
- package/controls/grid/model.ngfactory.d.ts +1 -1
- package/controls/grid/model.ngsummary.d.ts +1 -1
- package/controls/grid/paging.d.ts +152 -147
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/grid/paging.ngfactory.d.ts +3 -3
- package/controls/grid/paging.ngsummary.d.ts +1 -1
- package/controls/input/input.d.ts +38 -38
- package/controls/input/input.d.ts.map +1 -1
- package/controls/input/input.ngfactory.d.ts +3 -3
- package/controls/input/input.ngsummary.d.ts +1 -1
- package/controls/input/inputarea.d.ts +29 -29
- package/controls/input/inputarea.d.ts.map +1 -1
- package/controls/input/inputarea.ngfactory.d.ts +3 -3
- package/controls/input/inputarea.ngsummary.d.ts +1 -1
- package/controls/input/inputcurrency.d.ts +14 -9
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/input/inputcurrency.ngfactory.d.ts +3 -3
- package/controls/input/inputcurrency.ngsummary.d.ts +1 -1
- package/controls/input/inputdecimal.d.ts +62 -62
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputdecimal.ngfactory.d.ts +3 -3
- package/controls/input/inputdecimal.ngsummary.d.ts +1 -1
- package/controls/input/inputemail.d.ts +22 -22
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputemail.ngfactory.d.ts +3 -3
- package/controls/input/inputemail.ngsummary.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +62 -62
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputinteger.ngfactory.d.ts +3 -3
- package/controls/input/inputinteger.ngsummary.d.ts +1 -1
- package/controls/input/inputpassword.d.ts +46 -26
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputpassword.ngfactory.d.ts +3 -3
- package/controls/input/inputpassword.ngsummary.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +35 -26
- package/controls/input/inputsearch.d.ts.map +1 -1
- package/controls/input/inputsearch.ngfactory.d.ts +3 -3
- package/controls/input/inputsearch.ngsummary.d.ts +1 -1
- package/controls/layout/formlayout.d.ts +66 -0
- package/controls/layout/formlayout.d.ts.map +1 -0
- package/controls/layout/formlayout.ngfactory.d.ts +4 -0
- package/controls/layout/formlayout.ngfactory.d.ts.map +1 -0
- package/controls/layout/formlayout.ngsummary.d.ts +2 -0
- package/controls/layout/formlayout.ngsummary.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/buildvaluestring.ngfactory.d.ts +2 -0
- package/controls/list/buildvaluestring.ngfactory.d.ts.map +1 -0
- package/controls/list/buildvaluestring.ngsummary.d.ts +2 -0
- package/controls/list/buildvaluestring.ngsummary.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts +99 -143
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/dropdown.ngfactory.d.ts +3 -4
- package/controls/list/dropdown.ngfactory.d.ts.map +1 -1
- package/controls/list/dropdown.ngsummary.d.ts +1 -2
- package/controls/list/dropdown.ngsummary.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/dropdownoptions.ngfactory.d.ts +4 -0
- package/controls/list/dropdownoptions.ngfactory.d.ts.map +1 -0
- package/controls/list/dropdownoptions.ngsummary.d.ts +2 -0
- package/controls/list/dropdownoptions.ngsummary.d.ts.map +1 -0
- package/controls/list/list.module.d.ts +6 -6
- package/controls/list/list.module.d.ts.map +1 -1
- package/controls/list/list.module.ngfactory.d.ts +3 -3
- package/controls/list/list.module.ngsummary.d.ts +1 -1
- package/controls/list/listbox.d.ts +91 -91
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/list/listbox.ngfactory.d.ts +4 -4
- package/controls/list/listbox.ngsummary.d.ts +2 -2
- package/controls/multilanguage/multilanguageinput.d.ts +105 -104
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +3 -3
- package/controls/multilanguage/multilanguageinput.ngsummary.d.ts +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +110 -109
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +3 -3
- package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts +1 -1
- package/controls/static/formcontainer.d.ts +38 -34
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/static/formcontainer.ngfactory.d.ts +3 -3
- package/controls/static/formcontainer.ngsummary.d.ts +1 -1
- package/controls/static/staticlabel.d.ts +21 -21
- package/controls/static/staticlabel.d.ts.map +1 -1
- package/controls/static/staticlabel.ngfactory.d.ts +3 -3
- package/controls/static/staticlabel.ngsummary.d.ts +1 -1
- package/controls/tabs/tab.d.ts +52 -48
- package/controls/tabs/tab.d.ts.map +1 -1
- package/controls/tabs/tab.ngfactory.d.ts +3 -3
- package/controls/tabs/tab.ngsummary.d.ts +1 -1
- package/controls/tabs/tabitem.d.ts +33 -33
- package/controls/tabs/tabitem.d.ts.map +1 -1
- package/controls/tabs/tabitem.ngfactory.d.ts +3 -3
- package/controls/tabs/tabitem.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymce.d.ts +156 -152
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tinymce/tinymce.ngfactory.d.ts +3 -3
- package/controls/tinymce/tinymce.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
- package/controls/tinymce/tinymcedialogsettings.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymceinstance.d.ts +10 -10
- package/controls/tinymce/tinymceinstance.d.ts.map +1 -1
- package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -1
- package/controls/tinymce/tinymceinstance.ngsummary.d.ts +1 -1
- package/controls/tooltip/tooltip.d.ts +156 -141
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/tooltip/tooltip.ngfactory.d.ts +3 -3
- package/controls/tooltip/tooltip.ngsummary.d.ts +1 -1
- package/controls/treeview/treeview.d.ts +188 -188
- package/controls/treeview/treeview.d.ts.map +1 -1
- package/controls/treeview/treeview.ngfactory.d.ts +3 -3
- package/controls/treeview/treeview.ngsummary.d.ts +1 -1
- package/controls/upload/dropzonemultiple.d.ts +77 -73
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +3 -3
- package/controls/upload/dropzonemultiple.ngsummary.d.ts +1 -1
- package/controls/upload/dropzonesingle.d.ts +54 -50
- package/controls/upload/dropzonesingle.d.ts.map +1 -1
- package/controls/upload/dropzonesingle.ngfactory.d.ts +3 -3
- package/controls/upload/dropzonesingle.ngsummary.d.ts +1 -1
- package/controls/upload/uploadmultiple.d.ts +57 -53
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/upload/uploadmultiple.ngfactory.d.ts +3 -3
- package/controls/upload/uploadmultiple.ngsummary.d.ts +1 -1
- package/controls/upload/uploadsingle.d.ts +34 -30
- package/controls/upload/uploadsingle.d.ts.map +1 -1
- package/controls/upload/uploadsingle.ngfactory.d.ts +3 -3
- package/controls/upload/uploadsingle.ngsummary.d.ts +1 -1
- package/controls/validation/validationsummary.d.ts +67 -58
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/controls/validation/validationsummary.ngfactory.d.ts +3 -3
- package/controls/validation/validationsummary.ngsummary.d.ts +1 -1
- package/controls/wizard/wizard.d.ts +76 -76
- package/controls/wizard/wizard.d.ts.map +1 -1
- package/controls/wizard/wizard.ngfactory.d.ts +3 -3
- package/controls/wizard/wizard.ngsummary.d.ts +1 -1
- package/controls/wizard/wizarditem.d.ts +28 -28
- package/controls/wizard/wizarditem.d.ts.map +1 -1
- package/controls/wizard/wizarditem.ngfactory.d.ts +3 -3
- package/controls/wizard/wizarditem.ngsummary.d.ts +1 -1
- package/enums/ButtonRoleType.d.ts +2 -0
- package/enums/ButtonRoleType.d.ts.map +1 -0
- package/enums/ButtonRoleType.ngfactory.d.ts +2 -0
- package/enums/ButtonRoleType.ngfactory.d.ts.map +1 -0
- package/enums/ButtonRoleType.ngsummary.d.ts +2 -0
- package/enums/ButtonRoleType.ngsummary.d.ts.map +1 -0
- package/enums/ControlHeight.d.ts +18 -0
- package/enums/ControlHeight.d.ts.map +1 -0
- package/enums/ControlHeight.ngfactory.d.ts +2 -0
- package/enums/ControlHeight.ngfactory.d.ts.map +1 -0
- package/enums/ControlHeight.ngsummary.d.ts +2 -0
- package/enums/ControlHeight.ngsummary.d.ts.map +1 -0
- package/enums/IconType.d.ts +7 -7
- package/enums/IconType.ngfactory.d.ts +1 -1
- package/enums/IconType.ngsummary.d.ts +1 -1
- package/esm2020/common/basedatetimecontrol.mjs +93 -173
- package/esm2020/common/basedatetimecontrol.ngfactory.mjs +3 -4
- package/esm2020/common/basedatetimecontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baseinputcontrol.mjs +27 -85
- package/esm2020/common/baseinputcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baseinputcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baselistcontrol.mjs +19 -63
- package/esm2020/common/baselistcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baselistcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/basemodelcontrol.mjs +151 -367
- package/esm2020/common/basemodelcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/basemodelcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baseselectcontrol.mjs +9 -29
- package/esm2020/common/baseselectcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baseselectcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baseuploadcontrol.mjs +148 -460
- package/esm2020/common/baseuploadcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baseuploadcontrol.ngsummary.mjs +3 -2
- package/esm2020/components/browser/browser.mjs +146 -553
- package/esm2020/components/browser/browser.ngfactory.mjs +3 -4
- package/esm2020/components/browser/browser.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfile.mjs +3 -2
- package/esm2020/components/browser/models/browserfile.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfile.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfiledeleterequest.mjs +8 -13
- package/esm2020/components/browser/models/browserfiledeleterequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfiledeleterequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfilerenamerequest.mjs +8 -13
- package/esm2020/components/browser/models/browserfilerenamerequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfilerenamerequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfileresponse.mjs +3 -2
- package/esm2020/components/browser/models/browserfileresponse.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfileresponse.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfilesaverequest.mjs +8 -13
- package/esm2020/components/browser/models/browserfilesaverequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfilesaverequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernode.mjs +3 -2
- package/esm2020/components/browser/models/browsernode.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernode.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernodedeleterequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernodedeleterequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernodedeleterequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernodenewrequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernodenewrequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernodenewrequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderenamerequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernoderenamerequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderenamerequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernoderequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderesponse.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderesponse.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderesponse.ngsummary.mjs +3 -2
- package/esm2020/controls/buttons/button.mjs +47 -143
- package/esm2020/controls/buttons/button.ngfactory.mjs +3 -4
- package/esm2020/controls/buttons/button.ngsummary.mjs +3 -2
- package/esm2020/controls/checkbox/checkbox.mjs +17 -31
- package/esm2020/controls/checkbox/checkbox.ngfactory.mjs +3 -4
- package/esm2020/controls/checkbox/checkbox.ngsummary.mjs +3 -2
- package/esm2020/controls/checkbox/radiobutton.mjs +53 -109
- package/esm2020/controls/checkbox/radiobutton.ngfactory.mjs +3 -4
- package/esm2020/controls/checkbox/radiobutton.ngsummary.mjs +3 -2
- package/esm2020/controls/checkbox/radiobuttons.mjs +36 -112
- package/esm2020/controls/checkbox/radiobuttons.ngfactory.mjs +3 -4
- package/esm2020/controls/checkbox/radiobuttons.ngsummary.mjs +3 -2
- package/esm2020/controls/confirm/confirm.button.mjs +19 -23
- package/esm2020/controls/confirm/confirm.button.ngfactory.mjs +3 -2
- package/esm2020/controls/confirm/confirm.button.ngsummary.mjs +3 -2
- package/esm2020/controls/confirm/confirm.mjs +29 -80
- package/esm2020/controls/confirm/confirm.ngfactory.mjs +3 -4
- package/esm2020/controls/confirm/confirm.ngsummary.mjs +3 -2
- package/esm2020/controls/confirm/confirm.service.mjs +37 -82
- package/esm2020/controls/confirm/confirm.service.ngfactory.mjs +3 -2
- package/esm2020/controls/confirm/confirm.service.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenu.interface.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.interface.ngfactory.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.interface.ngsummary.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.mjs +68 -191
- package/esm2020/controls/contextmenu/contextmenu.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenu.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenuanchor.mjs +10 -20
- package/esm2020/controls/contextmenu/contextmenuanchor.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenuanchor.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenucontainer.mjs +10 -20
- package/esm2020/controls/contextmenu/contextmenucontainer.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenucontainer.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenuitem.mjs +8 -13
- package/esm2020/controls/contextmenu/contextmenuitem.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenuitem.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +36 -103
- package/esm2020/controls/contextmenu/contextmenuitembutton.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenuitembutton.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/date.mjs +55 -218
- package/esm2020/controls/datetime/date.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/date.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/dateselector.mjs +127 -462
- package/esm2020/controls/datetime/dateselector.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/dateselector.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/datetime.mjs +55 -236
- package/esm2020/controls/datetime/datetime.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/datetime.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/time.mjs +54 -217
- package/esm2020/controls/datetime/time.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/time.ngsummary.mjs +3 -2
- package/esm2020/controls/dialog/dialog.mjs +59 -221
- package/esm2020/controls/dialog/dialog.ngfactory.mjs +3 -4
- package/esm2020/controls/dialog/dialog.ngsummary.mjs +3 -2
- package/esm2020/controls/form/form.mjs +37 -163
- package/esm2020/controls/form/form.ngfactory.mjs +3 -4
- package/esm2020/controls/form/form.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/grid.mjs +54 -156
- package/esm2020/controls/grid/grid.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/grid.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridbutton.mjs +31 -59
- package/esm2020/controls/grid/gridbutton.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridbutton.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridcolumn.mjs +22 -46
- package/esm2020/controls/grid/gridcolumn.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridcolumn.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridcolumnaction.mjs +11 -24
- package/esm2020/controls/grid/gridcolumnaction.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridcolumnaction.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridcolumnbase.mjs +44 -128
- package/esm2020/controls/grid/gridcolumnbase.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridcolumnbase.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridimage.mjs +5 -15
- package/esm2020/controls/grid/gridimage.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridimage.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/model.mjs +54 -79
- package/esm2020/controls/grid/model.ngfactory.mjs +3 -2
- package/esm2020/controls/grid/model.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/paging.mjs +89 -253
- package/esm2020/controls/grid/paging.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/paging.ngsummary.mjs +3 -2
- package/esm2020/controls/input/input.mjs +22 -69
- package/esm2020/controls/input/input.ngfactory.mjs +3 -4
- package/esm2020/controls/input/input.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputarea.mjs +21 -58
- package/esm2020/controls/input/inputarea.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputarea.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputcurrency.mjs +10 -14
- package/esm2020/controls/input/inputcurrency.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputcurrency.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputdecimal.mjs +41 -150
- package/esm2020/controls/input/inputdecimal.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputdecimal.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputemail.mjs +14 -40
- package/esm2020/controls/input/inputemail.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputemail.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputinteger.mjs +40 -134
- package/esm2020/controls/input/inputinteger.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputinteger.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputpassword.mjs +28 -46
- package/esm2020/controls/input/inputpassword.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputpassword.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputsearch.mjs +20 -41
- package/esm2020/controls/input/inputsearch.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputsearch.ngsummary.mjs +3 -2
- package/esm2020/controls/layout/formlayout.mjs +34 -0
- package/esm2020/controls/layout/formlayout.ngfactory.mjs +3 -0
- package/esm2020/controls/layout/formlayout.ngsummary.mjs +3 -0
- package/esm2020/controls/list/buildvaluestring.mjs +12 -0
- package/esm2020/controls/list/buildvaluestring.ngfactory.mjs +3 -0
- package/esm2020/controls/list/buildvaluestring.ngsummary.mjs +3 -0
- package/esm2020/controls/list/dropdown.mjs +69 -249
- package/esm2020/controls/list/dropdown.ngfactory.mjs +3 -4
- package/esm2020/controls/list/dropdown.ngsummary.mjs +3 -3
- package/esm2020/controls/list/dropdownoptions.mjs +29 -0
- package/esm2020/controls/list/dropdownoptions.ngfactory.mjs +3 -0
- package/esm2020/controls/list/dropdownoptions.ngsummary.mjs +3 -0
- package/esm2020/controls/list/list.module.mjs +3 -16
- package/esm2020/controls/list/list.module.ngfactory.mjs +3 -4
- package/esm2020/controls/list/list.module.ngsummary.mjs +3 -2
- package/esm2020/controls/list/listbox.mjs +58 -175
- package/esm2020/controls/list/listbox.ngfactory.mjs +3 -4
- package/esm2020/controls/list/listbox.ngsummary.mjs +3 -3
- package/esm2020/controls/multilanguage/multilanguageinput.mjs +62 -228
- package/esm2020/controls/multilanguage/multilanguageinput.ngfactory.mjs +3 -4
- package/esm2020/controls/multilanguage/multilanguageinput.ngsummary.mjs +3 -2
- package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +65 -230
- package/esm2020/controls/multilanguage/multilanguageinputarea.ngfactory.mjs +3 -4
- package/esm2020/controls/multilanguage/multilanguageinputarea.ngsummary.mjs +3 -2
- package/esm2020/controls/static/formcontainer.mjs +27 -53
- package/esm2020/controls/static/formcontainer.ngfactory.mjs +3 -4
- package/esm2020/controls/static/formcontainer.ngsummary.mjs +3 -2
- package/esm2020/controls/static/staticlabel.mjs +16 -33
- package/esm2020/controls/static/staticlabel.ngfactory.mjs +3 -4
- package/esm2020/controls/static/staticlabel.ngsummary.mjs +3 -2
- package/esm2020/controls/tabs/tab.mjs +29 -77
- package/esm2020/controls/tabs/tab.ngfactory.mjs +3 -4
- package/esm2020/controls/tabs/tab.ngsummary.mjs +3 -2
- package/esm2020/controls/tabs/tabitem.mjs +12 -40
- package/esm2020/controls/tabs/tabitem.ngfactory.mjs +3 -4
- package/esm2020/controls/tabs/tabitem.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymce.mjs +82 -249
- package/esm2020/controls/tinymce/tinymce.ngfactory.mjs +3 -4
- package/esm2020/controls/tinymce/tinymce.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +10 -13
- package/esm2020/controls/tinymce/tinymcedialogsettings.ngfactory.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettings.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +3 -5
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymceinstance.mjs +3 -2
- package/esm2020/controls/tinymce/tinymceinstance.ngfactory.mjs +3 -2
- package/esm2020/controls/tinymce/tinymceinstance.ngsummary.mjs +3 -2
- package/esm2020/controls/tooltip/tooltip.mjs +86 -365
- package/esm2020/controls/tooltip/tooltip.ngfactory.mjs +3 -4
- package/esm2020/controls/tooltip/tooltip.ngsummary.mjs +3 -2
- package/esm2020/controls/treeview/treeview.mjs +104 -343
- package/esm2020/controls/treeview/treeview.ngfactory.mjs +3 -4
- package/esm2020/controls/treeview/treeview.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/dropzonemultiple.mjs +50 -165
- package/esm2020/controls/upload/dropzonemultiple.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/dropzonemultiple.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/dropzonesingle.mjs +35 -106
- package/esm2020/controls/upload/dropzonesingle.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/dropzonesingle.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/uploadmultiple.mjs +39 -124
- package/esm2020/controls/upload/uploadmultiple.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/uploadmultiple.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/uploadsingle.mjs +24 -58
- package/esm2020/controls/upload/uploadsingle.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/uploadsingle.ngsummary.mjs +3 -2
- package/esm2020/controls/validation/validationsummary.mjs +33 -127
- package/esm2020/controls/validation/validationsummary.ngfactory.mjs +3 -4
- package/esm2020/controls/validation/validationsummary.ngsummary.mjs +3 -2
- package/esm2020/controls/wizard/wizard.mjs +41 -144
- package/esm2020/controls/wizard/wizard.ngfactory.mjs +3 -4
- package/esm2020/controls/wizard/wizard.ngsummary.mjs +3 -2
- package/esm2020/controls/wizard/wizarditem.mjs +9 -33
- package/esm2020/controls/wizard/wizarditem.ngfactory.mjs +3 -4
- package/esm2020/controls/wizard/wizarditem.ngsummary.mjs +3 -2
- package/esm2020/enums/ButtonRoleType.mjs +3 -0
- package/esm2020/enums/ButtonRoleType.ngfactory.mjs +3 -0
- package/esm2020/enums/ButtonRoleType.ngsummary.mjs +3 -0
- package/esm2020/enums/ControlHeight.mjs +11 -0
- package/esm2020/enums/ControlHeight.ngfactory.mjs +3 -0
- package/esm2020/enums/ControlHeight.ngsummary.mjs +3 -0
- package/esm2020/enums/IconType.mjs +5 -9
- package/esm2020/enums/IconType.ngfactory.mjs +3 -2
- package/esm2020/enums/IconType.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacConfigurationService.mjs +3 -0
- package/esm2020/interfaces/ISacConfigurationService.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacConfigurationService.ngsummary.mjs +3 -0
- package/esm2020/interfaces/ISacFileBrowserService.mjs +3 -2
- package/esm2020/interfaces/ISacFileBrowserService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacFileBrowserService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacIconService.mjs +3 -2
- package/esm2020/interfaces/ISacIconService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacIconService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacLabelSizes.mjs +3 -0
- package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +3 -0
- package/esm2020/interfaces/ISacLanguageService.mjs +3 -2
- package/esm2020/interfaces/ISacLanguageService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacLanguageService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacLocalisationService.mjs +3 -2
- package/esm2020/interfaces/ISacLocalisationService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacLocalisationService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacUploadEventCompleteState.mjs +3 -0
- package/esm2020/interfaces/ISacUploadEventCompleteState.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacUploadEventCompleteState.ngsummary.mjs +3 -0
- package/esm2020/interfaces/ISacValidationKeyService.mjs +3 -0
- package/esm2020/interfaces/ISacValidationKeyService.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacValidationKeyService.ngsummary.mjs +3 -0
- package/esm2020/interfaces/iabstractcontrollabel.mjs +3 -2
- package/esm2020/interfaces/iabstractcontrollabel.ngfactory.mjs +3 -2
- package/esm2020/interfaces/iabstractcontrollabel.ngsummary.mjs +3 -2
- package/esm2020/interfaces/iconfirmcomponent.mjs +3 -2
- package/esm2020/interfaces/iconfirmcomponent.ngfactory.mjs +3 -2
- package/esm2020/interfaces/iconfirmcomponent.ngsummary.mjs +3 -2
- package/esm2020/interfaces/idatetimecontrol.mjs +3 -2
- package/esm2020/interfaces/idatetimecontrol.ngfactory.mjs +3 -2
- package/esm2020/interfaces/idatetimecontrol.ngsummary.mjs +3 -2
- package/esm2020/interfaces/iuploadcontrol.mjs +3 -2
- package/esm2020/interfaces/iuploadcontrol.ngfactory.mjs +3 -2
- package/esm2020/interfaces/iuploadcontrol.ngsummary.mjs +3 -2
- package/esm2020/interfaces/treeviewaction.interface.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.ngfactory.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.ngsummary.mjs +3 -0
- package/esm2020/models/languagemodel.mjs +7 -13
- package/esm2020/models/languagemodel.ngfactory.mjs +3 -2
- package/esm2020/models/languagemodel.ngsummary.mjs +3 -2
- package/esm2020/public_api.mjs +27 -96
- package/esm2020/public_api.ngfactory.mjs +3 -2
- package/esm2020/public_api.ngsummary.mjs +3 -2
- package/esm2020/services/index.mjs +3 -5
- package/esm2020/services/index.ngfactory.mjs +3 -2
- package/esm2020/services/index.ngsummary.mjs +3 -2
- package/esm2020/services/sac-configuration.service.mjs +41 -0
- package/esm2020/services/sac-configuration.service.ngfactory.mjs +3 -0
- package/esm2020/services/sac-configuration.service.ngsummary.mjs +3 -0
- package/esm2020/services/sac-filebrowser.service.mjs +53 -203
- package/esm2020/services/sac-filebrowser.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-filebrowser.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-icon.service.mjs +81 -159
- package/esm2020/services/sac-icon.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-icon.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-language.service.mjs +11 -47
- package/esm2020/services/sac-language.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-language.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-localisation.service.mjs +41 -433
- package/esm2020/services/sac-localisation.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-localisation.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-validationkey.service.mjs +7 -0
- package/esm2020/services/sac-validationkey.service.ngfactory.mjs +3 -0
- package/esm2020/services/sac-validationkey.service.ngsummary.mjs +3 -0
- package/esm2020/simpleangularcontrols-sac-common.mjs +5 -5
- package/esm2020/utilities/convertion.mjs +12 -32
- package/esm2020/utilities/convertion.ngfactory.mjs +3 -2
- package/esm2020/utilities/convertion.ngsummary.mjs +3 -2
- package/esm2020/utilities/datatypes.mjs +7 -9
- package/esm2020/utilities/datatypes.ngfactory.mjs +3 -2
- package/esm2020/utilities/datatypes.ngsummary.mjs +3 -2
- package/esm2020/utilities/enums.mjs +11 -16
- package/esm2020/utilities/enums.ngfactory.mjs +3 -2
- package/esm2020/utilities/enums.ngsummary.mjs +3 -2
- package/esm2020/utilities/guid.mjs +8 -0
- package/esm2020/utilities/guid.ngfactory.mjs +3 -0
- package/esm2020/utilities/guid.ngsummary.mjs +3 -0
- package/esm2020/utilities/interpolation.mjs +15 -50
- package/esm2020/utilities/interpolation.ngfactory.mjs +3 -2
- package/esm2020/utilities/interpolation.ngsummary.mjs +3 -2
- package/esm2020/utilities/popuphelper.mjs +80 -0
- package/esm2020/utilities/popuphelper.ngfactory.mjs +3 -0
- package/esm2020/utilities/popuphelper.ngsummary.mjs +3 -0
- package/esm2020/utilities/positioning.mjs +58 -301
- package/esm2020/utilities/positioning.ngfactory.mjs +3 -2
- package/esm2020/utilities/positioning.ngsummary.mjs +3 -2
- package/esm2020/utilities/testingattribute.pipe.mjs +12 -0
- package/esm2020/utilities/testingattribute.pipe.ngfactory.mjs +3 -0
- package/esm2020/utilities/testingattribute.pipe.ngsummary.mjs +3 -0
- package/esm2020/utilities/utilities.module.mjs +3 -0
- package/esm2020/utilities/utilities.module.ngfactory.mjs +3 -0
- package/esm2020/utilities/utilities.module.ngsummary.mjs +3 -0
- package/esm2020/validation/email.validator.mjs +3 -13
- package/esm2020/validation/email.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/email.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/equals.validator.mjs +3 -0
- package/esm2020/validation/equals.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/equals.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/index.mjs +3 -3
- package/esm2020/validation/index.ngfactory.mjs +3 -2
- package/esm2020/validation/index.ngsummary.mjs +3 -2
- package/esm2020/validation/invaliddate.validator.mjs +3 -14
- package/esm2020/validation/invaliddate.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/invaliddate.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/isDateValid.mjs +11 -15
- package/esm2020/validation/isDateValid.ngfactory.mjs +3 -2
- package/esm2020/validation/isDateValid.ngsummary.mjs +3 -2
- package/esm2020/validation/maxdate.validator.mjs +4 -21
- package/esm2020/validation/maxdate.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/maxdate.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/maxtime.validator.mjs +4 -21
- package/esm2020/validation/maxtime.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/maxtime.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/maxvalue.validator.mjs +3 -16
- package/esm2020/validation/maxvalue.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/maxvalue.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/mindate.validator.mjs +4 -21
- package/esm2020/validation/mindate.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/mindate.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/minfiles.validator.mjs +4 -19
- package/esm2020/validation/minfiles.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/minfiles.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/mintextlength.validator.mjs +5 -0
- package/esm2020/validation/mintextlength.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/mintextlength.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/mintime.validator.mjs +4 -21
- package/esm2020/validation/mintime.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/mintime.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/minvalue.validator.mjs +3 -16
- package/esm2020/validation/minvalue.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/minvalue.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/multilanguagerequired.validator.mjs +3 -22
- package/esm2020/validation/multilanguagerequired.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/multilanguagerequired.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/multilanguagerequiredany.validator.mjs +3 -22
- package/esm2020/validation/multilanguagerequiredany.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/multilanguagerequiredany.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/notequals.validator.mjs +3 -0
- package/esm2020/validation/notequals.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/notequals.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/pattern.validator.mjs +3 -16
- package/esm2020/validation/pattern.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/pattern.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/required.validator.mjs +3 -13
- package/esm2020/validation/required.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/required.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/validation.mjs +128 -188
- package/esm2020/validation/validation.ngfactory.mjs +3 -2
- package/esm2020/validation/validation.ngsummary.mjs +3 -2
- package/esm2020/validation/validationerrorcreator.mjs +3 -11
- package/esm2020/validation/validationerrorcreator.ngfactory.mjs +3 -2
- package/esm2020/validation/validationerrorcreator.ngsummary.mjs +3 -2
- package/esm2020/validation/validationerroritem.mjs +15 -27
- package/esm2020/validation/validationerroritem.ngfactory.mjs +3 -2
- package/esm2020/validation/validationerroritem.ngsummary.mjs +3 -2
- package/fesm2015/simpleangularcontrols-sac-common.mjs +3196 -9983
- package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/fesm2020/simpleangularcontrols-sac-common.mjs +3196 -9972
- package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +63 -0
- package/interfaces/ISacConfigurationService.d.ts.map +1 -0
- package/interfaces/ISacConfigurationService.ngfactory.d.ts +2 -0
- package/interfaces/ISacConfigurationService.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacConfigurationService.ngsummary.d.ts +2 -0
- package/interfaces/ISacConfigurationService.ngsummary.d.ts.map +1 -0
- package/interfaces/ISacFileBrowserService.d.ts +65 -65
- package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -1
- package/interfaces/ISacFileBrowserService.ngsummary.d.ts +1 -1
- package/interfaces/ISacIconService.d.ts +141 -89
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacIconService.ngfactory.d.ts +1 -1
- package/interfaces/ISacIconService.ngsummary.d.ts +1 -1
- package/interfaces/ISacLabelSizes.d.ts +27 -0
- package/interfaces/ISacLabelSizes.d.ts.map +1 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts +2 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacLabelSizes.ngsummary.d.ts +2 -0
- package/interfaces/ISacLabelSizes.ngsummary.d.ts.map +1 -0
- package/interfaces/ISacLanguageService.d.ts +12 -12
- package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -1
- package/interfaces/ISacLanguageService.ngsummary.d.ts +1 -1
- package/interfaces/ISacLocalisationService.d.ts +10 -10
- package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -1
- package/interfaces/ISacLocalisationService.ngsummary.d.ts +1 -1
- package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
- package/interfaces/ISacUploadEventCompleteState.d.ts.map +1 -0
- package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts +2 -0
- package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts +2 -0
- package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.d.ts +53 -0
- package/interfaces/ISacValidationKeyService.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts +2 -0
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.ngsummary.d.ts +2 -0
- package/interfaces/ISacValidationKeyService.ngsummary.d.ts.map +1 -0
- package/interfaces/iabstractcontrollabel.d.ts +6 -6
- package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -1
- package/interfaces/iabstractcontrollabel.ngsummary.d.ts +1 -1
- package/interfaces/iconfirmcomponent.d.ts +18 -18
- package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -1
- package/interfaces/iconfirmcomponent.ngsummary.d.ts +1 -1
- package/interfaces/idatetimecontrol.d.ts +7 -7
- package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -1
- package/interfaces/idatetimecontrol.ngsummary.d.ts +1 -1
- package/interfaces/iuploadcontrol.d.ts +9 -9
- package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -1
- package/interfaces/iuploadcontrol.ngsummary.d.ts +1 -1
- package/interfaces/treeviewaction.interface.d.ts +5 -0
- package/interfaces/treeviewaction.interface.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts +2 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.ngsummary.d.ts +2 -0
- package/interfaces/treeviewaction.interface.ngsummary.d.ts.map +1 -0
- package/models/languagemodel.d.ts +22 -22
- package/models/languagemodel.ngfactory.d.ts +1 -1
- package/models/languagemodel.ngsummary.d.ts +1 -1
- package/package.json +2 -2
- package/public_api.d.ts +88 -74
- package/public_api.d.ts.map +1 -1
- package/public_api.ngfactory.d.ts +1 -1
- package/public_api.ngsummary.d.ts +1 -1
- package/services/index.d.ts +6 -4
- package/services/index.d.ts.map +1 -1
- package/services/index.ngfactory.d.ts +1 -1
- package/services/index.ngsummary.d.ts +1 -1
- package/services/sac-configuration.service.d.ts +135 -0
- package/services/sac-configuration.service.d.ts.map +1 -0
- package/services/sac-configuration.service.ngfactory.d.ts +5 -0
- package/services/sac-configuration.service.ngfactory.d.ts.map +1 -0
- package/services/sac-configuration.service.ngsummary.d.ts +3 -0
- package/services/sac-configuration.service.ngsummary.d.ts.map +1 -0
- package/services/sac-filebrowser.service.d.ts +145 -145
- package/services/sac-filebrowser.service.ngfactory.d.ts +4 -4
- package/services/sac-filebrowser.service.ngsummary.d.ts +2 -2
- package/services/sac-icon.service.d.ts +293 -189
- package/services/sac-icon.service.d.ts.map +1 -1
- package/services/sac-icon.service.ngfactory.d.ts +4 -4
- package/services/sac-icon.service.ngsummary.d.ts +2 -2
- package/services/sac-language.service.d.ts +31 -31
- package/services/sac-language.service.ngfactory.d.ts +4 -4
- package/services/sac-language.service.ngsummary.d.ts +2 -2
- package/services/sac-localisation.service.d.ts +142 -136
- package/services/sac-localisation.service.d.ts.map +1 -1
- package/services/sac-localisation.service.ngfactory.d.ts +4 -4
- package/services/sac-localisation.service.ngsummary.d.ts +2 -2
- package/services/sac-validationkey.service.d.ts +59 -0
- package/services/sac-validationkey.service.d.ts.map +1 -0
- package/services/sac-validationkey.service.ngfactory.d.ts +4 -0
- package/services/sac-validationkey.service.ngfactory.d.ts.map +1 -0
- package/services/sac-validationkey.service.ngsummary.d.ts +2 -0
- package/services/sac-validationkey.service.ngsummary.d.ts.map +1 -0
- package/simpleangularcontrols-sac-common-13.0.0-rc.21.tgz +0 -0
- package/simpleangularcontrols-sac-common.d.ts +5 -5
- package/utilities/convertion.d.ts +15 -15
- package/utilities/convertion.ngfactory.d.ts +1 -1
- package/utilities/convertion.ngsummary.d.ts +1 -1
- package/utilities/datatypes.d.ts +6 -6
- package/utilities/datatypes.ngfactory.d.ts +1 -1
- package/utilities/datatypes.ngsummary.d.ts +1 -1
- package/utilities/enums.d.ts +12 -10
- package/utilities/enums.d.ts.map +1 -1
- package/utilities/enums.ngfactory.d.ts +1 -1
- package/utilities/enums.ngsummary.d.ts +1 -1
- package/utilities/guid.d.ts +5 -0
- package/utilities/guid.d.ts.map +1 -0
- package/utilities/guid.ngfactory.d.ts +2 -0
- package/utilities/guid.ngfactory.d.ts.map +1 -0
- package/utilities/guid.ngsummary.d.ts +2 -0
- package/utilities/guid.ngsummary.d.ts.map +1 -0
- package/utilities/interpolation.d.ts +21 -21
- package/utilities/interpolation.ngfactory.d.ts +1 -1
- package/utilities/interpolation.ngsummary.d.ts +1 -1
- package/utilities/popuphelper.d.ts +84 -0
- package/utilities/popuphelper.d.ts.map +1 -0
- package/utilities/popuphelper.ngfactory.d.ts +2 -0
- package/utilities/popuphelper.ngfactory.d.ts.map +1 -0
- package/utilities/popuphelper.ngsummary.d.ts +2 -0
- package/utilities/popuphelper.ngsummary.d.ts.map +1 -0
- package/utilities/positioning.d.ts +82 -82
- package/utilities/positioning.ngfactory.d.ts +1 -1
- package/utilities/positioning.ngsummary.d.ts +1 -1
- package/utilities/testingattribute.pipe.d.ts +16 -0
- package/utilities/testingattribute.pipe.d.ts.map +1 -0
- package/utilities/testingattribute.pipe.ngfactory.d.ts +4 -0
- package/utilities/testingattribute.pipe.ngfactory.d.ts.map +1 -0
- package/utilities/testingattribute.pipe.ngsummary.d.ts +2 -0
- package/utilities/testingattribute.pipe.ngsummary.d.ts.map +1 -0
- package/utilities/utilities.module.d.ts +8 -0
- package/utilities/utilities.module.d.ts.map +1 -0
- package/utilities/utilities.module.ngfactory.d.ts +4 -0
- package/utilities/utilities.module.ngfactory.d.ts.map +1 -0
- package/utilities/utilities.module.ngsummary.d.ts +2 -0
- package/utilities/utilities.module.ngsummary.d.ts.map +1 -0
- package/validation/email.validator.d.ts +2 -2
- package/validation/email.validator.ngfactory.d.ts +1 -1
- package/validation/email.validator.ngsummary.d.ts +1 -1
- package/validation/equals.validator.d.ts +3 -0
- package/validation/equals.validator.d.ts.map +1 -0
- package/validation/equals.validator.ngfactory.d.ts +2 -0
- package/validation/equals.validator.ngfactory.d.ts.map +1 -0
- package/validation/equals.validator.ngsummary.d.ts +2 -0
- package/validation/equals.validator.ngsummary.d.ts.map +1 -0
- package/validation/index.d.ts +2 -2
- package/validation/index.ngfactory.d.ts +1 -1
- package/validation/index.ngsummary.d.ts +1 -1
- package/validation/invaliddate.validator.d.ts +2 -2
- package/validation/invaliddate.validator.ngfactory.d.ts +1 -1
- package/validation/invaliddate.validator.ngsummary.d.ts +1 -1
- package/validation/isDateValid.d.ts +5 -5
- package/validation/isDateValid.d.ts.map +1 -1
- package/validation/isDateValid.ngfactory.d.ts +1 -1
- package/validation/isDateValid.ngsummary.d.ts +1 -1
- package/validation/maxdate.validator.d.ts +2 -2
- package/validation/maxdate.validator.ngfactory.d.ts +1 -1
- package/validation/maxdate.validator.ngsummary.d.ts +1 -1
- package/validation/maxtime.validator.d.ts +2 -2
- package/validation/maxtime.validator.ngfactory.d.ts +1 -1
- package/validation/maxtime.validator.ngsummary.d.ts +1 -1
- package/validation/maxvalue.validator.d.ts +2 -2
- package/validation/maxvalue.validator.ngfactory.d.ts +1 -1
- package/validation/maxvalue.validator.ngsummary.d.ts +1 -1
- package/validation/mindate.validator.d.ts +2 -2
- package/validation/mindate.validator.ngfactory.d.ts +1 -1
- package/validation/mindate.validator.ngsummary.d.ts +1 -1
- package/validation/minfiles.validator.d.ts +2 -2
- package/validation/minfiles.validator.ngfactory.d.ts +1 -1
- package/validation/minfiles.validator.ngsummary.d.ts +1 -1
- package/validation/mintextlength.validator.d.ts +3 -0
- package/validation/mintextlength.validator.d.ts.map +1 -0
- package/validation/mintextlength.validator.ngfactory.d.ts +2 -0
- package/validation/mintextlength.validator.ngfactory.d.ts.map +1 -0
- package/validation/mintextlength.validator.ngsummary.d.ts +2 -0
- package/validation/mintextlength.validator.ngsummary.d.ts.map +1 -0
- package/validation/mintime.validator.d.ts +2 -2
- package/validation/mintime.validator.ngfactory.d.ts +1 -1
- package/validation/mintime.validator.ngsummary.d.ts +1 -1
- package/validation/minvalue.validator.d.ts +2 -2
- package/validation/minvalue.validator.ngfactory.d.ts +1 -1
- package/validation/minvalue.validator.ngsummary.d.ts +1 -1
- package/validation/multilanguagerequired.validator.d.ts +3 -3
- package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -1
- package/validation/multilanguagerequired.validator.ngsummary.d.ts +1 -1
- package/validation/multilanguagerequiredany.validator.d.ts +3 -3
- package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -1
- package/validation/multilanguagerequiredany.validator.ngsummary.d.ts +1 -1
- package/validation/notequals.validator.d.ts +3 -0
- package/validation/notequals.validator.d.ts.map +1 -0
- package/validation/notequals.validator.ngfactory.d.ts +2 -0
- package/validation/notequals.validator.ngfactory.d.ts.map +1 -0
- package/validation/notequals.validator.ngsummary.d.ts +2 -0
- package/validation/notequals.validator.ngsummary.d.ts.map +1 -0
- package/validation/pattern.validator.d.ts +2 -2
- package/validation/pattern.validator.ngfactory.d.ts +1 -1
- package/validation/pattern.validator.ngsummary.d.ts +1 -1
- package/validation/required.validator.d.ts +2 -2
- package/validation/required.validator.ngfactory.d.ts +1 -1
- package/validation/required.validator.ngsummary.d.ts +1 -1
- package/validation/validation.d.ts +157 -139
- package/validation/validation.d.ts.map +1 -1
- package/validation/validation.ngfactory.d.ts +1 -1
- package/validation/validation.ngsummary.d.ts +1 -1
- package/validation/validationerrorcreator.d.ts +1 -1
- package/validation/validationerrorcreator.ngfactory.d.ts +1 -1
- package/validation/validationerrorcreator.ngsummary.d.ts +1 -1
- package/validation/validationerroritem.d.ts +33 -33
- package/validation/validationerroritem.ngfactory.d.ts +1 -1
- package/validation/validationerroritem.ngsummary.d.ts +1 -1
- package/controls/treeview/ngtreeitemaction.d.ts +0 -44
- package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +0 -4
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts +0 -2
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.d.ts +0 -16
- package/controls/treeview/treeviewchild.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngfactory.d.ts +0 -4
- package/controls/treeview/treeviewchild.ngfactory.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngsummary.d.ts +0 -2
- package/controls/treeview/treeviewchild.ngsummary.d.ts.map +0 -1
- package/esm2020/controls/treeview/ngtreeitemaction.mjs +0 -62
- package/esm2020/controls/treeview/ngtreeitemaction.ngfactory.mjs +0 -4
- package/esm2020/controls/treeview/ngtreeitemaction.ngsummary.mjs +0 -2
- package/esm2020/controls/treeview/treeviewchild.mjs +0 -21
- package/esm2020/controls/treeview/treeviewchild.ngfactory.mjs +0 -4
- package/esm2020/controls/treeview/treeviewchild.ngsummary.mjs +0 -2
- package/esm2020/validation/minlength.validator.mjs +0 -21
- package/esm2020/validation/minlength.validator.ngfactory.mjs +0 -2
- package/esm2020/validation/minlength.validator.ngsummary.mjs +0 -2
- package/simpleangularcontrols-sac-common-13.0.0-rc.2.tgz +0 -0
- package/validation/minlength.validator.d.ts +0 -3
- package/validation/minlength.validator.d.ts.map +0 -1
- package/validation/minlength.validator.ngfactory.d.ts +0 -2
- package/validation/minlength.validator.ngfactory.d.ts.map +0 -1
- package/validation/minlength.validator.ngsummary.d.ts +0 -2
- package/validation/minlength.validator.ngsummary.d.ts.map +0 -1
|
@@ -1,50 +1,15 @@
|
|
|
1
|
-
import { isDefined } from './datatypes';
|
|
2
|
-
|
|
3
|
-
* Klasse zum ersetzen von Platzhaltern in Strings
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
interpolateString(text, params) {
|
|
18
|
-
if (!params) {
|
|
19
|
-
return text;
|
|
20
|
-
}
|
|
21
|
-
return text.replace(this.templateMatcher, (substring, b) => {
|
|
22
|
-
const r = this.getValue(params, b);
|
|
23
|
-
return isDefined(r) ? r : substring;
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Wert aus Objekt in Objekt oder Objektstruktur lesen
|
|
28
|
-
* @param target Objekt das zu parsen ist.
|
|
29
|
-
* @param key Key nach welchem gesucht wird. Navigation in Properties des Objekt mit einem Punkt.
|
|
30
|
-
*/
|
|
31
|
-
getValue(target, key) {
|
|
32
|
-
const keys = key.split('.');
|
|
33
|
-
key = '';
|
|
34
|
-
do {
|
|
35
|
-
key += keys.shift();
|
|
36
|
-
if (isDefined(target) && isDefined(target[key]) && (typeof target[key] === 'object' || !keys.length)) {
|
|
37
|
-
target = target[key];
|
|
38
|
-
key = '';
|
|
39
|
-
}
|
|
40
|
-
else if (!keys.length) {
|
|
41
|
-
target = undefined;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
key += '.';
|
|
45
|
-
}
|
|
46
|
-
} while (keys.length);
|
|
47
|
-
return target;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJwb2xhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3V0aWxpdGllcy9pbnRlcnBvbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUVFOztXQUVHO1FBQ0ssb0JBQWUsR0FBVyx1QkFBdUIsQ0FBQztJQXlDNUQsQ0FBQztJQXZDQzs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsSUFBWSxFQUFFLE1BQVk7UUFDakQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQWlCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDekUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxRQUFRLENBQUMsTUFBVyxFQUFFLEdBQVc7UUFDdkMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsR0FBRztZQUNELEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNwRyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixHQUFHLEdBQUcsRUFBRSxDQUFDO2FBQ1Y7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxTQUFTLENBQUM7YUFDcEI7aUJBQU07Z0JBQ0wsR0FBRyxJQUFJLEdBQUcsQ0FBQzthQUNaO1NBQ0YsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBRXRCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4vZGF0YXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiAgS2xhc3NlIHp1bSBlcnNldHplbiB2b24gUGxhdHpoYWx0ZXJuIGluIFN0cmluZ3NcclxuICovXHJcbmV4cG9ydCBjbGFzcyBJbnRlcnBvbGF0aW9uIHtcclxuXHJcbiAgLyoqXHJcbiAgICogIFRlbXBsYXRlIHp1bSBQYXJzZW4gZGVyIFBsYXR6aGFsdGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0ZW1wbGF0ZU1hdGNoZXI6IFJlZ0V4cCA9IC97e1xccz8oW157fVxcc10qKVxccz99fS9nO1xyXG5cclxuICAvKipcclxuICAgKiBQbGF0emhhbHRlciBpbiBTdHJpbmcgZXJzZXR6ZW5cclxuICAgKiBAcGFyYW0gdGV4dCBUZXh0IGluIHdlbGNoZW0gZGllIFBsYXR6aGFsdGVyIGVyc2V0enQgd2VyZGVuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPYmpla3QgbWl0IFBhcmFtZXRlci5cclxuICAgKi9cclxuICBwdWJsaWMgaW50ZXJwb2xhdGVTdHJpbmcodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UodGhpcy50ZW1wbGF0ZU1hdGNoZXIsIChzdWJzdHJpbmc6IHN0cmluZywgYjogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IHIgPSB0aGlzLmdldFZhbHVlKHBhcmFtcywgYik7XHJcbiAgICAgIHJldHVybiBpc0RlZmluZWQocikgPyByIDogc3Vic3RyaW5nO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IGF1cyBPYmpla3QgaW4gT2JqZWt0IG9kZXIgT2JqZWt0c3RydWt0dXIgbGVzZW5cclxuICAgKiBAcGFyYW0gdGFyZ2V0IE9iamVrdCBkYXMgenUgcGFyc2VuIGlzdC5cclxuICAgKiBAcGFyYW0ga2V5IEtleSBuYWNoIHdlbGNoZW0gZ2VzdWNodCB3aXJkLiBOYXZpZ2F0aW9uIGluIFByb3BlcnRpZXMgZGVzIE9iamVrdCBtaXQgZWluZW0gUHVua3QuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRWYWx1ZSh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnLicpO1xyXG4gICAga2V5ID0gJyc7XHJcbiAgICBkbyB7XHJcbiAgICAgIGtleSArPSBrZXlzLnNoaWZ0KCk7XHJcbiAgICAgIGlmIChpc0RlZmluZWQodGFyZ2V0KSAmJiBpc0RlZmluZWQodGFyZ2V0W2tleV0pICYmICh0eXBlb2YgdGFyZ2V0W2tleV0gPT09ICdvYmplY3QnIHx8ICFrZXlzLmxlbmd0aCkpIHtcclxuICAgICAgICB0YXJnZXQgPSB0YXJnZXRba2V5XTtcclxuICAgICAgICBrZXkgPSAnJztcclxuICAgICAgfSBlbHNlIGlmICgha2V5cy5sZW5ndGgpIHtcclxuICAgICAgICB0YXJnZXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAga2V5ICs9ICcuJztcclxuICAgICAgfVxyXG4gICAgfSB3aGlsZSAoa2V5cy5sZW5ndGgpO1xyXG5cclxuICAgIHJldHVybiB0YXJnZXQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
1
|
+
function cov_8jn3z7t37(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/interpolation.mjs";var hash="8cf3c36901f72efec1cbe148a5d632fde7addcc6";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/interpolation.mjs",statementMap:{"0":{start:{line:10,column:8},end:{line:10,column:55}},"1":{start:{line:18,column:8},end:{line:20,column:9}},"2":{start:{line:19,column:12},end:{line:19,column:24}},"3":{start:{line:21,column:8},end:{line:24,column:11}},"4":{start:{line:22,column:22},end:{line:22,column:46}},"5":{start:{line:23,column:12},end:{line:23,column:48}},"6":{start:{line:32,column:21},end:{line:32,column:35}},"7":{start:{line:33,column:8},end:{line:33,column:17}},"8":{start:{line:34,column:8},end:{line:46,column:30}},"9":{start:{line:35,column:12},end:{line:35,column:32}},"10":{start:{line:36,column:12},end:{line:45,column:13}},"11":{start:{line:37,column:16},end:{line:37,column:37}},"12":{start:{line:38,column:16},end:{line:38,column:25}},"13":{start:{line:40,column:17},end:{line:45,column:13}},"14":{start:{line:41,column:16},end:{line:41,column:35}},"15":{start:{line:44,column:16},end:{line:44,column:27}},"16":{start:{line:47,column:8},end:{line:47,column:22}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:6,column:4},end:{line:6,column:5}},loc:{start:{line:6,column:18},end:{line:11,column:5}},line:6},"1":{name:"(anonymous_1)",decl:{start:{line:17,column:4},end:{line:17,column:5}},loc:{start:{line:17,column:36},end:{line:25,column:5}},line:17},"2":{name:"(anonymous_2)",decl:{start:{line:21,column:50},end:{line:21,column:51}},loc:{start:{line:21,column:68},end:{line:24,column:9}},line:21},"3":{name:"(anonymous_3)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:26},end:{line:48,column:5}},line:31}},branchMap:{"0":{loc:{start:{line:18,column:8},end:{line:20,column:9}},type:"if",locations:[{start:{line:18,column:8},end:{line:20,column:9}},{start:{line:18,column:8},end:{line:20,column:9}}],line:18},"1":{loc:{start:{line:23,column:19},end:{line:23,column:47}},type:"cond-expr",locations:[{start:{line:23,column:34},end:{line:23,column:35}},{start:{line:23,column:38},end:{line:23,column:47}}],line:23},"2":{loc:{start:{line:36,column:12},end:{line:45,column:13}},type:"if",locations:[{start:{line:36,column:12},end:{line:45,column:13}},{start:{line:36,column:12},end:{line:45,column:13}}],line:36},"3":{loc:{start:{line:36,column:16},end:{line:36,column:112}},type:"binary-expr",locations:[{start:{line:36,column:16},end:{line:36,column:33}},{start:{line:36,column:37},end:{line:36,column:59}},{start:{line:36,column:64},end:{line:36,column:95}},{start:{line:36,column:99},end:{line:36,column:111}}],line:36},"4":{loc:{start:{line:40,column:17},end:{line:45,column:13}},type:"if",locations:[{start:{line:40,column:17},end:{line:45,column:13}},{start:{line:40,column:17},end:{line:45,column:13}}],line:40}},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},f:{"0":0,"1":0,"2":0,"3":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0]},inputSourceMap:{version:3,file:"interpolation.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/utilities/interpolation.ts"],names:[],mappings:"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,aAAa;IAA1B;QAEE;;WAEG;QACK,oBAAe,GAAW,uBAAuB,CAAC;IAyC5D,CAAC;IAvCC;;;;OAIG;IACI,iBAAiB,CAAC,IAAY,EAAE,MAAY;QACjD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,SAAiB,EAAE,CAAS,EAAE,EAAE;YACzE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,QAAQ,CAAC,MAAW,EAAE,GAAW;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,GAAG,EAAE,CAAC;QACT,GAAG;YACD,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACpG,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,GAAG,GAAG,EAAE,CAAC;aACV;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACvB,MAAM,GAAG,SAAS,CAAC;aACpB;iBAAM;gBACL,GAAG,IAAI,GAAG,CAAC;aACZ;SACF,QAAQ,IAAI,CAAC,MAAM,EAAE;QAEtB,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF",sourcesContent:["import { isDefined } from './datatypes';\n\n/**\n * Klasse zum ersetzen von Platzhaltern in Strings\n */\nexport class Interpolation {\n\n /**\n * Template zum Parsen der Platzhalter\n */\n private templateMatcher: RegExp = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n /**\n * Platzhalter in String ersetzen\n * @param text Text in welchem die Platzhalter ersetzt werden\n * @param params Objekt mit Parameter.\n */\n public interpolateString(text: string, params?: any) {\n if (!params) {\n return text;\n }\n\n return text.replace(this.templateMatcher, (substring: string, b: string) => {\n const r = this.getValue(params, b);\n return isDefined(r) ? r : substring;\n });\n }\n\n /**\n * Wert aus Objekt in Objekt oder Objektstruktur lesen\n * @param target Objekt das zu parsen ist.\n * @param key Key nach welchem gesucht wird. Navigation in Properties des Objekt mit einem Punkt.\n */\n private getValue(target: any, key: string): any {\n const keys = key.split('.');\n key = '';\n do {\n key += keys.shift();\n if (isDefined(target) && isDefined(target[key]) && (typeof target[key] === 'object' || !keys.length)) {\n target = target[key];\n key = '';\n } else if (!keys.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys.length);\n\n return target;\n }\n\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8cf3c36901f72efec1cbe148a5d632fde7addcc6"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_8jn3z7t37=function(){return actualCoverage;};}return actualCoverage;}cov_8jn3z7t37();import{isDefined}from'./datatypes';/**
|
|
3
|
+
* Klasse zum ersetzen von Platzhaltern in Strings
|
|
4
|
+
*/export class Interpolation{constructor(){cov_8jn3z7t37().f[0]++;cov_8jn3z7t37().s[0]++;/**
|
|
5
|
+
* Template zum Parsen der Platzhalter
|
|
6
|
+
*/this.templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;}/**
|
|
7
|
+
* Platzhalter in String ersetzen
|
|
8
|
+
* @param text Text in welchem die Platzhalter ersetzt werden
|
|
9
|
+
* @param params Objekt mit Parameter.
|
|
10
|
+
*/interpolateString(text,params){cov_8jn3z7t37().f[1]++;cov_8jn3z7t37().s[1]++;if(!params){cov_8jn3z7t37().b[0][0]++;cov_8jn3z7t37().s[2]++;return text;}else{cov_8jn3z7t37().b[0][1]++;}cov_8jn3z7t37().s[3]++;return text.replace(this.templateMatcher,(substring,b)=>{cov_8jn3z7t37().f[2]++;const r=(cov_8jn3z7t37().s[4]++,this.getValue(params,b));cov_8jn3z7t37().s[5]++;return isDefined(r)?(cov_8jn3z7t37().b[1][0]++,r):(cov_8jn3z7t37().b[1][1]++,substring);});}/**
|
|
11
|
+
* Wert aus Objekt in Objekt oder Objektstruktur lesen
|
|
12
|
+
* @param target Objekt das zu parsen ist.
|
|
13
|
+
* @param key Key nach welchem gesucht wird. Navigation in Properties des Objekt mit einem Punkt.
|
|
14
|
+
*/getValue(target,key){cov_8jn3z7t37().f[3]++;const keys=(cov_8jn3z7t37().s[6]++,key.split('.'));cov_8jn3z7t37().s[7]++;key='';cov_8jn3z7t37().s[8]++;do{cov_8jn3z7t37().s[9]++;key+=keys.shift();cov_8jn3z7t37().s[10]++;if((cov_8jn3z7t37().b[3][0]++,isDefined(target))&&(cov_8jn3z7t37().b[3][1]++,isDefined(target[key]))&&((cov_8jn3z7t37().b[3][2]++,typeof target[key]==='object')||(cov_8jn3z7t37().b[3][3]++,!keys.length))){cov_8jn3z7t37().b[2][0]++;cov_8jn3z7t37().s[11]++;target=target[key];cov_8jn3z7t37().s[12]++;key='';}else{cov_8jn3z7t37().b[2][1]++;cov_8jn3z7t37().s[13]++;if(!keys.length){cov_8jn3z7t37().b[4][0]++;cov_8jn3z7t37().s[14]++;target=undefined;}else{cov_8jn3z7t37().b[4][1]++;cov_8jn3z7t37().s[15]++;key+='.';}}}while(keys.length);cov_8jn3z7t37().s[16]++;return target;}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJwb2xhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3V0aWxpdGllcy9pbnRlcnBvbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUVFOztXQUVHO1FBQ0ssb0JBQWUsR0FBVyx1QkFBdUIsQ0FBQztJQXlDNUQsQ0FBQztJQXZDQzs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsSUFBWSxFQUFFLE1BQVk7UUFDakQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQWlCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDekUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxRQUFRLENBQUMsTUFBVyxFQUFFLEdBQVc7UUFDdkMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsR0FBRztZQUNELEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNwRyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixHQUFHLEdBQUcsRUFBRSxDQUFDO2FBQ1Y7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxTQUFTLENBQUM7YUFDcEI7aUJBQU07Z0JBQ0wsR0FBRyxJQUFJLEdBQUcsQ0FBQzthQUNaO1NBQ0YsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBRXRCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4vZGF0YXR5cGVzJztcblxuLyoqXG4gKiAgS2xhc3NlIHp1bSBlcnNldHplbiB2b24gUGxhdHpoYWx0ZXJuIGluIFN0cmluZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIEludGVycG9sYXRpb24ge1xuXG4gIC8qKlxuICAgKiAgVGVtcGxhdGUgenVtIFBhcnNlbiBkZXIgUGxhdHpoYWx0ZXJcbiAgICovXG4gIHByaXZhdGUgdGVtcGxhdGVNYXRjaGVyOiBSZWdFeHAgPSAve3tcXHM/KFtee31cXHNdKilcXHM/fX0vZztcblxuICAvKipcbiAgICogUGxhdHpoYWx0ZXIgaW4gU3RyaW5nIGVyc2V0emVuXG4gICAqIEBwYXJhbSB0ZXh0IFRleHQgaW4gd2VsY2hlbSBkaWUgUGxhdHpoYWx0ZXIgZXJzZXR6dCB3ZXJkZW5cbiAgICogQHBhcmFtIHBhcmFtcyBPYmpla3QgbWl0IFBhcmFtZXRlci5cbiAgICovXG4gIHB1YmxpYyBpbnRlcnBvbGF0ZVN0cmluZyh0ZXh0OiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xuICAgIGlmICghcGFyYW1zKSB7XG4gICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dC5yZXBsYWNlKHRoaXMudGVtcGxhdGVNYXRjaGVyLCAoc3Vic3RyaW5nOiBzdHJpbmcsIGI6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgciA9IHRoaXMuZ2V0VmFsdWUocGFyYW1zLCBiKTtcbiAgICAgIHJldHVybiBpc0RlZmluZWQocikgPyByIDogc3Vic3RyaW5nO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlcnQgYXVzIE9iamVrdCBpbiBPYmpla3Qgb2RlciBPYmpla3RzdHJ1a3R1ciBsZXNlblxuICAgKiBAcGFyYW0gdGFyZ2V0IE9iamVrdCBkYXMgenUgcGFyc2VuIGlzdC5cbiAgICogQHBhcmFtIGtleSBLZXkgbmFjaCB3ZWxjaGVtIGdlc3VjaHQgd2lyZC4gTmF2aWdhdGlvbiBpbiBQcm9wZXJ0aWVzIGRlcyBPYmpla3QgbWl0IGVpbmVtIFB1bmt0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRWYWx1ZSh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJy4nKTtcbiAgICBrZXkgPSAnJztcbiAgICBkbyB7XG4gICAgICBrZXkgKz0ga2V5cy5zaGlmdCgpO1xuICAgICAgaWYgKGlzRGVmaW5lZCh0YXJnZXQpICYmIGlzRGVmaW5lZCh0YXJnZXRba2V5XSkgJiYgKHR5cGVvZiB0YXJnZXRba2V5XSA9PT0gJ29iamVjdCcgfHwgIWtleXMubGVuZ3RoKSkge1xuICAgICAgICB0YXJnZXQgPSB0YXJnZXRba2V5XTtcbiAgICAgICAga2V5ID0gJyc7XG4gICAgICB9IGVsc2UgaWYgKCFrZXlzLmxlbmd0aCkge1xuICAgICAgICB0YXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXkgKz0gJy4nO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKGtleXMubGVuZ3RoKTtcblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxufVxuIl19
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfOGpuM3o3dDM3IiwiYWN0dWFsQ292ZXJhZ2UiLCJpc0RlZmluZWQiLCJJbnRlcnBvbGF0aW9uIiwiY29uc3RydWN0b3IiLCJmIiwicyIsInRlbXBsYXRlTWF0Y2hlciIsImludGVycG9sYXRlU3RyaW5nIiwidGV4dCIsInBhcmFtcyIsImIiLCJyZXBsYWNlIiwic3Vic3RyaW5nIiwiciIsImdldFZhbHVlIiwidGFyZ2V0Iiwia2V5Iiwia2V5cyIsInNwbGl0Iiwic2hpZnQiLCJsZW5ndGgiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy91dGlsaXRpZXMvaW50ZXJwb2xhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuL2RhdGF0eXBlcyc7XG5cbi8qKlxuICogIEtsYXNzZSB6dW0gZXJzZXR6ZW4gdm9uIFBsYXR6aGFsdGVybiBpbiBTdHJpbmdzXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcnBvbGF0aW9uIHtcblxuICAvKipcbiAgICogIFRlbXBsYXRlIHp1bSBQYXJzZW4gZGVyIFBsYXR6aGFsdGVyXG4gICAqL1xuICBwcml2YXRlIHRlbXBsYXRlTWF0Y2hlcjogUmVnRXhwID0gL3t7XFxzPyhbXnt9XFxzXSopXFxzP319L2c7XG5cbiAgLyoqXG4gICAqIFBsYXR6aGFsdGVyIGluIFN0cmluZyBlcnNldHplblxuICAgKiBAcGFyYW0gdGV4dCBUZXh0IGluIHdlbGNoZW0gZGllIFBsYXR6aGFsdGVyIGVyc2V0enQgd2VyZGVuXG4gICAqIEBwYXJhbSBwYXJhbXMgT2JqZWt0IG1pdCBQYXJhbWV0ZXIuXG4gICAqL1xuICBwdWJsaWMgaW50ZXJwb2xhdGVTdHJpbmcodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcbiAgICBpZiAoIXBhcmFtcykge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQucmVwbGFjZSh0aGlzLnRlbXBsYXRlTWF0Y2hlciwgKHN1YnN0cmluZzogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHIgPSB0aGlzLmdldFZhbHVlKHBhcmFtcywgYik7XG4gICAgICByZXR1cm4gaXNEZWZpbmVkKHIpID8gciA6IHN1YnN0cmluZztcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXZXJ0IGF1cyBPYmpla3QgaW4gT2JqZWt0IG9kZXIgT2JqZWt0c3RydWt0dXIgbGVzZW5cbiAgICogQHBhcmFtIHRhcmdldCBPYmpla3QgZGFzIHp1IHBhcnNlbiBpc3QuXG4gICAqIEBwYXJhbSBrZXkgS2V5IG5hY2ggd2VsY2hlbSBnZXN1Y2h0IHdpcmQuIE5hdmlnYXRpb24gaW4gUHJvcGVydGllcyBkZXMgT2JqZWt0IG1pdCBlaW5lbSBQdW5rdC5cbiAgICovXG4gIHByaXZhdGUgZ2V0VmFsdWUodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCcuJyk7XG4gICAga2V5ID0gJyc7XG4gICAgZG8ge1xuICAgICAga2V5ICs9IGtleXMuc2hpZnQoKTtcbiAgICAgIGlmIChpc0RlZmluZWQodGFyZ2V0KSAmJiBpc0RlZmluZWQodGFyZ2V0W2tleV0pICYmICh0eXBlb2YgdGFyZ2V0W2tleV0gPT09ICdvYmplY3QnIHx8ICFrZXlzLmxlbmd0aCkpIHtcbiAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0W2tleV07XG4gICAgICAgIGtleSA9ICcnO1xuICAgICAgfSBlbHNlIGlmICgha2V5cy5sZW5ndGgpIHtcbiAgICAgICAgdGFyZ2V0ID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAga2V5ICs9ICcuJztcbiAgICAgIH1cbiAgICB9IHdoaWxlIChrZXlzLmxlbmd0aCk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbn1cbiJdLCJtYXBwaW5ncyI6InNrTUFnQks7QUFBQUEsYUFBQSxTQUFBQSxD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
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
function cov_1yw9hko7zb(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/interpolation.ngfactory.mjs";var hash="49c990fad3956907f294a2b1e2a645bd7e940357";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/interpolation.ngfactory.mjs",statementMap:{"0":{start:{line:1,column:31},end:{line:1,column:35}}},fnMap:{},branchMap:{},s:{"0":0},f:{},b:{},inputSourceMap:{version:3,file:"interpolation.ngfactory.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/utilities/interpolation.ngfactory.ts"],names:[],mappings:"AACA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC",sourcesContent:["\nexport const \u0275NonEmptyModule = true;"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"49c990fad3956907f294a2b1e2a645bd7e940357"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_1yw9hko7zb=function(){return actualCoverage;};}return actualCoverage;}cov_1yw9hko7zb();export const ɵNonEmptyModule=(cov_1yw9hko7zb().s[0]++,true);//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJwb2xhdGlvbi5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy91dGlsaXRpZXMvaW50ZXJwb2xhdGlvbi5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNvbnN0IMm1Tm9uRW1wdHlNb2R1bGUgPSB0cnVlOyJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyLJtU5vbkVtcHR5TW9kdWxlIiwiY292XzF5dzloa283emIiLCJzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvdXRpbGl0aWVzL2ludGVycG9sYXRpb24ubmdmYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNvbnN0IMm1Tm9uRW1wdHlNb2R1bGUgPSB0cnVlOyJdLCJtYXBwaW5ncyI6IjsyRkFDQSxNQUFPLE1BQU0sQ0FBQUEsZUFBZSxFQUFBQyxjQUFBLEdBQUFDLENBQUEsTUFBRyxJQUFJLEUiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export const
|
|
2
|
-
|
|
1
|
+
function cov_1qqhfrhkwk(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/interpolation.ngsummary.mjs";var hash="f7bb931c4d55c58b060bdb3d7d1e897d5d6bf5f4";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/interpolation.ngsummary.mjs",statementMap:{"0":{start:{line:1,column:22},end:{line:1,column:26}}},fnMap:{},branchMap:{},s:{"0":0},f:{},b:{},inputSourceMap:{version:3,file:"interpolation.ngsummary.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/utilities/interpolation.ngsummary.ts"],names:[],mappings:"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC",sourcesContent:["export const \u0275empty = null;"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f7bb931c4d55c58b060bdb3d7d1e897d5d6bf5f4"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_1qqhfrhkwk=function(){return actualCoverage;};}return actualCoverage;}cov_1qqhfrhkwk();export const ɵempty=(cov_1qqhfrhkwk().s[0]++,null);//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJwb2xhdGlvbi5uZ3N1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy91dGlsaXRpZXMvaW50ZXJwb2xhdGlvbi5uZ3N1bW1hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCDJtWVtcHR5ID0gbnVsbDsiXX0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyLJtWVtcHR5IiwiY292XzFxcWhmcmhrd2siLCJzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvdXRpbGl0aWVzL2ludGVycG9sYXRpb24ubmdzdW1tYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCDJtWVtcHR5ID0gbnVsbDsiXSwibWFwcGluZ3MiOiI7MkZBQUEsTUFBTyxNQUFNLENBQUFBLE1BQU0sRUFBQUMsY0FBQSxHQUFBQyxDQUFBLE1BQUcsSUFBSSxFIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
function cov_20dzm1ja8p(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/popuphelper.mjs";var hash="b26b536afb148ec4cb94e9cb4dd190748ddefa17";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/popuphelper.mjs",statementMap:{"0":{start:{line:5,column:8},end:{line:12,column:9}},"1":{start:{line:6,column:12},end:{line:8,column:64}},"2":{start:{line:11,column:12},end:{line:11,column:21}},"3":{start:{line:15,column:8},end:{line:22,column:9}},"4":{start:{line:16,column:12},end:{line:18,column:63}},"5":{start:{line:21,column:12},end:{line:21,column:21}},"6":{start:{line:34,column:31},end:{line:34,column:143}},"7":{start:{line:36,column:8},end:{line:38,column:9}},"8":{start:{line:37,column:12},end:{line:37,column:41}},"9":{start:{line:40,column:8},end:{line:42,column:9}},"10":{start:{line:41,column:12},end:{line:41,column:39}},"11":{start:{line:44,column:8},end:{line:46,column:9}},"12":{start:{line:45,column:12},end:{line:45,column:40}},"13":{start:{line:48,column:8},end:{line:50,column:9}},"14":{start:{line:49,column:12},end:{line:49,column:42}},"15":{start:{line:51,column:8},end:{line:53,column:9}},"16":{start:{line:52,column:12},end:{line:52,column:42}},"17":{start:{line:54,column:8},end:{line:57,column:9}},"18":{start:{line:56,column:12},end:{line:56,column:45}},"19":{start:{line:59,column:8},end:{line:80,column:9}},"20":{start:{line:61,column:12},end:{line:63,column:13}},"21":{start:{line:62,column:16},end:{line:62,column:45}},"22":{start:{line:65,column:12},end:{line:67,column:13}},"23":{start:{line:66,column:16},end:{line:66,column:43}},"24":{start:{line:69,column:12},end:{line:71,column:13}},"25":{start:{line:70,column:16},end:{line:70,column:44}},"26":{start:{line:73,column:12},end:{line:75,column:13}},"27":{start:{line:74,column:16},end:{line:74,column:46}},"28":{start:{line:76,column:12},end:{line:76,column:41}},"29":{start:{line:79,column:12},end:{line:79,column:54}},"30":{start:{line:88,column:8},end:{line:93,column:9}},"31":{start:{line:89,column:12},end:{line:89,column:79}},"32":{start:{line:92,column:12},end:{line:92,column:21}},"33":{start:{line:101,column:8},end:{line:106,column:9}},"34":{start:{line:102,column:12},end:{line:102,column:73}},"35":{start:{line:105,column:12},end:{line:105,column:21}},"36":{start:{line:114,column:8},end:{line:116,column:9}},"37":{start:{line:115,column:12},end:{line:115,column:40}},"38":{start:{line:117,column:8},end:{line:119,column:9}},"39":{start:{line:118,column:12},end:{line:118,column:39}},"40":{start:{line:120,column:8},end:{line:122,column:9}},"41":{start:{line:121,column:12},end:{line:121,column:41}},"42":{start:{line:123,column:8},end:{line:125,column:9}},"43":{start:{line:124,column:12},end:{line:124,column:42}},"44":{start:{line:126,column:8},end:{line:128,column:9}},"45":{start:{line:127,column:12},end:{line:127,column:42}},"46":{start:{line:129,column:8},end:{line:131,column:9}},"47":{start:{line:130,column:12},end:{line:130,column:45}},"48":{start:{line:133,column:8},end:{line:133,column:37}},"49":{start:{line:145,column:8},end:{line:170,column:9}},"50":{start:{line:146,column:25},end:{line:146,column:57}},"51":{start:{line:147,column:12},end:{line:166,column:13}},"52":{start:{line:148,column:34},end:{line:148,column:86}},"53":{start:{line:149,column:40},end:{line:149,column:73}},"54":{start:{line:150,column:16},end:{line:161,column:17}},"55":{start:{line:153,column:24},end:{line:153,column:123}},"56":{start:{line:156,column:24},end:{line:156,column:113}},"57":{start:{line:158,column:24},end:{line:158,column:93}},"58":{start:{line:160,column:24},end:{line:160,column:113}},"59":{start:{line:162,column:16},end:{line:162,column:66}},"60":{start:{line:165,column:16},end:{line:165,column:66}},"61":{start:{line:169,column:12},end:{line:169,column:61}},"62":{start:{line:182,column:8},end:{line:212,column:9}},"63":{start:{line:183,column:25},end:{line:183,column:57}},"64":{start:{line:184,column:12},end:{line:208,column:13}},"65":{start:{line:185,column:34},end:{line:185,column:86}},"66":{start:{line:186,column:40},end:{line:186,column:73}},"67":{start:{line:188,column:43},end:{line:190,column:68}},"68":{start:{line:191,column:16},end:{line:201,column:17}},"69":{start:{line:194,column:24},end:{line:194,column:113}},"70":{start:{line:197,column:24},end:{line:197,column:123}},"71":{start:{line:200,column:24},end:{line:200,column:93}},"72":{start:{line:202,column:16},end:{line:204,column:92}},"73":{start:{line:207,column:16},end:{line:207,column:66}},"74":{start:{line:211,column:12},end:{line:211,column:60}},"75":{start:{line:221,column:26},end:{line:221,column:53}},"76":{start:{line:222,column:8},end:{line:224,column:9}},"77":{start:{line:223,column:12},end:{line:223,column:24}},"78":{start:{line:225,column:8},end:{line:227,column:9}},"79":{start:{line:226,column:12},end:{line:226,column:24}},"80":{start:{line:228,column:8},end:{line:230,column:9}},"81":{start:{line:229,column:12},end:{line:229,column:24}},"82":{start:{line:231,column:8},end:{line:233,column:9}},"83":{start:{line:232,column:12},end:{line:232,column:24}},"84":{start:{line:234,column:8},end:{line:236,column:9}},"85":{start:{line:235,column:12},end:{line:235,column:24}},"86":{start:{line:237,column:8},end:{line:239,column:9}},"87":{start:{line:238,column:12},end:{line:238,column:24}},"88":{start:{line:240,column:8},end:{line:240,column:21}},"89":{start:{line:247,column:26},end:{line:247,column:53}},"90":{start:{line:248,column:8},end:{line:248,column:46}},"91":{start:{line:255,column:8},end:{line:257,column:9}},"92":{start:{line:256,column:12},end:{line:256,column:41}},"93":{start:{line:258,column:31},end:{line:258,column:51}},"94":{start:{line:259,column:29},end:{line:261,column:70}},"95":{start:{line:262,column:28},end:{line:262,column:105}},"96":{start:{line:263,column:26},end:{line:263,column:87}},"97":{start:{line:264,column:27},end:{line:264,column:98}},"98":{start:{line:265,column:25},end:{line:265,column:82}},"99":{start:{line:266,column:28},end:{line:266,column:103}},"100":{start:{line:267,column:30},end:{line:267,column:75}},"101":{start:{line:268,column:31},end:{line:268,column:93}},"102":{start:{line:269,column:29},end:{line:269,column:74}},"103":{start:{line:270,column:32},end:{line:270,column:97}},"104":{start:{line:271,column:8},end:{line:274,column:9}},"105":{start:{line:273,column:12},end:{line:273,column:73}},"106":{start:{line:275,column:8},end:{line:278,column:9}},"107":{start:{line:277,column:12},end:{line:277,column:76}},"108":{start:{line:279,column:8},end:{line:282,column:9}},"109":{start:{line:281,column:12},end:{line:281,column:71}},"110":{start:{line:283,column:8},end:{line:286,column:9}},"111":{start:{line:285,column:12},end:{line:285,column:72}},"112":{start:{line:287,column:8},end:{line:290,column:9}},"113":{start:{line:289,column:12},end:{line:289,column:70}},"114":{start:{line:291,column:8},end:{line:294,column:9}},"115":{start:{line:293,column:12},end:{line:293,column:73}},"116":{start:{line:295,column:8},end:{line:295,column:32}},"117":{start:{line:305,column:8},end:{line:307,column:9}},"118":{start:{line:306,column:12},end:{line:306,column:21}},"119":{start:{line:308,column:8},end:{line:310,column:9}},"120":{start:{line:309,column:12},end:{line:309,column:37}},"121":{start:{line:311,column:28},end:{line:311,column:73}},"122":{start:{line:312,column:21},end:{line:312,column:38}},"123":{start:{line:313,column:8},end:{line:313,column:36}},"124":{start:{line:322,column:8},end:{line:324,column:9}},"125":{start:{line:323,column:12},end:{line:323,column:21}},"126":{start:{line:326,column:8},end:{line:328,column:9}},"127":{start:{line:327,column:12},end:{line:327,column:51}},"128":{start:{line:329,column:29},end:{line:329,column:34}},"129":{start:{line:330,column:8},end:{line:332,column:9}},"130":{start:{line:331,column:12},end:{line:331,column:34}},"131":{start:{line:333,column:28},end:{line:333,column:101}},"132":{start:{line:334,column:8},end:{line:339,column:9}},"133":{start:{line:335,column:12},end:{line:335,column:51}},"134":{start:{line:338,column:12},end:{line:338,column:56}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:4,column:4},end:{line:4,column:5}},loc:{start:{line:4,column:65},end:{line:13,column:5}},line:4},"1":{name:"(anonymous_1)",decl:{start:{line:14,column:4},end:{line:14,column:5}},loc:{start:{line:14,column:64},end:{line:23,column:5}},line:14},"2":{name:"(anonymous_2)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:131},end:{line:81,column:5}},line:33},"3":{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:30},end:{line:94,column:5}},line:87},"4":{name:"(anonymous_4)",decl:{start:{line:100,column:4},end:{line:100,column:5}},loc:{start:{line:100,column:29},end:{line:107,column:5}},line:100},"5":{name:"(anonymous_5)",decl:{start:{line:113,column:4},end:{line:113,column:5}},loc:{start:{line:113,column:34},end:{line:134,column:5}},line:113},"6":{name:"(anonymous_6)",decl:{start:{line:144,column:4},end:{line:144,column:5}},loc:{start:{line:144,column:140},end:{line:171,column:5}},line:144},"7":{name:"(anonymous_7)",decl:{start:{line:181,column:4},end:{line:181,column:5}},loc:{start:{line:181,column:139},end:{line:213,column:5}},line:181},"8":{name:"(anonymous_8)",decl:{start:{line:220,column:4},end:{line:220,column:5}},loc:{start:{line:220,column:53},end:{line:241,column:5}},line:220},"9":{name:"(anonymous_9)",decl:{start:{line:246,column:4},end:{line:246,column:5}},loc:{start:{line:246,column:37},end:{line:249,column:5}},line:246},"10":{name:"(anonymous_10)",decl:{start:{line:253,column:4},end:{line:253,column:5}},loc:{start:{line:253,column:112},end:{line:296,column:5}},line:253},"11":{name:"(anonymous_11)",decl:{start:{line:304,column:4},end:{line:304,column:5}},loc:{start:{line:304,column:32},end:{line:314,column:5}},line:304},"12":{name:"(anonymous_12)",decl:{start:{line:321,column:4},end:{line:321,column:5}},loc:{start:{line:321,column:49},end:{line:340,column:5}},line:321}},branchMap:{"0":{loc:{start:{line:5,column:8},end:{line:12,column:9}},type:"if",locations:[{start:{line:5,column:8},end:{line:12,column:9}},{start:{line:5,column:8},end:{line:12,column:9}}],line:5},"1":{loc:{start:{line:6,column:19},end:{line:8,column:63}},type:"cond-expr",locations:[{start:{line:7,column:18},end:{line:7,column:81}},{start:{line:8,column:18},end:{line:8,column:63}}],line:6},"2":{loc:{start:{line:15,column:8},end:{line:22,column:9}},type:"if",locations:[{start:{line:15,column:8},end:{line:22,column:9}},{start:{line:15,column:8},end:{line:22,column:9}}],line:15},"3":{loc:{start:{line:16,column:19},end:{line:18,column:62}},type:"cond-expr",locations:[{start:{line:17,column:18},end:{line:17,column:80}},{start:{line:18,column:18},end:{line:18,column:62}}],line:16},"4":{loc:{start:{line:36,column:8},end:{line:38,column:9}},type:"if",locations:[{start:{line:36,column:8},end:{line:38,column:9}},{start:{line:36,column:8},end:{line:38,column:9}}],line:36},"5":{loc:{start:{line:36,column:12},end:{line:36,column:111}},type:"binary-expr",locations:[{start:{line:36,column:12},end:{line:36,column:69}},{start:{line:36,column:73},end:{line:36,column:111}}],line:36},"6":{loc:{start:{line:40,column:8},end:{line:42,column:9}},type:"if",locations:[{start:{line:40,column:8},end:{line:42,column:9}},{start:{line:40,column:8},end:{line:42,column:9}}],line:40},"7":{loc:{start:{line:40,column:12},end:{line:40,column:107}},type:"binary-expr",locations:[{start:{line:40,column:12},end:{line:40,column:67}},{start:{line:40,column:71},end:{line:40,column:107}}],line:40},"8":{loc:{start:{line:44,column:8},end:{line:46,column:9}},type:"if",locations:[{start:{line:44,column:8},end:{line:46,column:9}},{start:{line:44,column:8},end:{line:46,column:9}}],line:44},"9":{loc:{start:{line:44,column:12},end:{line:44,column:109}},type:"binary-expr",locations:[{start:{line:44,column:12},end:{line:44,column:68}},{start:{line:44,column:72},end:{line:44,column:109}}],line:44},"10":{loc:{start:{line:48,column:8},end:{line:50,column:9}},type:"if",locations:[{start:{line:48,column:8},end:{line:50,column:9}},{start:{line:48,column:8},end:{line:50,column:9}}],line:48},"11":{loc:{start:{line:48,column:12},end:{line:48,column:113}},type:"binary-expr",locations:[{start:{line:48,column:12},end:{line:48,column:70}},{start:{line:48,column:74},end:{line:48,column:113}}],line:48},"12":{loc:{start:{line:51,column:8},end:{line:53,column:9}},type:"if",locations:[{start:{line:51,column:8},end:{line:53,column:9}},{start:{line:51,column:8},end:{line:53,column:9}}],line:51},"13":{loc:{start:{line:51,column:12},end:{line:51,column:113}},type:"binary-expr",locations:[{start:{line:51,column:12},end:{line:51,column:70}},{start:{line:51,column:74},end:{line:51,column:113}}],line:51},"14":{loc:{start:{line:54,column:8},end:{line:57,column:9}},type:"if",locations:[{start:{line:54,column:8},end:{line:57,column:9}},{start:{line:54,column:8},end:{line:57,column:9}}],line:54},"15":{loc:{start:{line:54,column:12},end:{line:55,column:54}},type:"binary-expr",locations:[{start:{line:54,column:12},end:{line:54,column:73}},{start:{line:55,column:12},end:{line:55,column:54}}],line:54},"16":{loc:{start:{line:59,column:8},end:{line:80,column:9}},type:"if",locations:[{start:{line:59,column:8},end:{line:80,column:9}},{start:{line:59,column:8},end:{line:80,column:9}}],line:59},"17":{loc:{start:{line:61,column:12},end:{line:63,column:13}},type:"if",locations:[{start:{line:61,column:12},end:{line:63,column:13}},{start:{line:61,column:12},end:{line:63,column:13}}],line:61},"18":{loc:{start:{line:65,column:12},end:{line:67,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:67,column:13}},{start:{line:65,column:12},end:{line:67,column:13}}],line:65},"19":{loc:{start:{line:69,column:12},end:{line:71,column:13}},type:"if",locations:[{start:{line:69,column:12},end:{line:71,column:13}},{start:{line:69,column:12},end:{line:71,column:13}}],line:69},"20":{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:73,column:12},end:{line:75,column:13}}],line:73},"21":{loc:{start:{line:88,column:8},end:{line:93,column:9}},type:"if",locations:[{start:{line:88,column:8},end:{line:93,column:9}},{start:{line:88,column:8},end:{line:93,column:9}}],line:88},"22":{loc:{start:{line:89,column:19},end:{line:89,column:78}},type:"binary-expr",locations:[{start:{line:89,column:19},end:{line:89,column:73}},{start:{line:89,column:77},end:{line:89,column:78}}],line:89},"23":{loc:{start:{line:101,column:8},end:{line:106,column:9}},type:"if",locations:[{start:{line:101,column:8},end:{line:106,column:9}},{start:{line:101,column:8},end:{line:106,column:9}}],line:101},"24":{loc:{start:{line:114,column:8},end:{line:116,column:9}},type:"if",locations:[{start:{line:114,column:8},end:{line:116,column:9}},{start:{line:114,column:8},end:{line:116,column:9}}],line:114},"25":{loc:{start:{line:117,column:8},end:{line:119,column:9}},type:"if",locations:[{start:{line:117,column:8},end:{line:119,column:9}},{start:{line:117,column:8},end:{line:119,column:9}}],line:117},"26":{loc:{start:{line:120,column:8},end:{line:122,column:9}},type:"if",locations:[{start:{line:120,column:8},end:{line:122,column:9}},{start:{line:120,column:8},end:{line:122,column:9}}],line:120},"27":{loc:{start:{line:123,column:8},end:{line:125,column:9}},type:"if",locations:[{start:{line:123,column:8},end:{line:125,column:9}},{start:{line:123,column:8},end:{line:125,column:9}}],line:123},"28":{loc:{start:{line:126,column:8},end:{line:128,column:9}},type:"if",locations:[{start:{line:126,column:8},end:{line:128,column:9}},{start:{line:126,column:8},end:{line:128,column:9}}],line:126},"29":{loc:{start:{line:129,column:8},end:{line:131,column:9}},type:"if",locations:[{start:{line:129,column:8},end:{line:131,column:9}},{start:{line:129,column:8},end:{line:131,column:9}}],line:129},"30":{loc:{start:{line:145,column:8},end:{line:170,column:9}},type:"if",locations:[{start:{line:145,column:8},end:{line:170,column:9}},{start:{line:145,column:8},end:{line:170,column:9}}],line:145},"31":{loc:{start:{line:145,column:12},end:{line:145,column:75}},type:"binary-expr",locations:[{start:{line:145,column:12},end:{line:145,column:39}},{start:{line:145,column:43},end:{line:145,column:75}}],line:145},"32":{loc:{start:{line:147,column:12},end:{line:166,column:13}},type:"if",locations:[{start:{line:147,column:12},end:{line:166,column:13}},{start:{line:147,column:12},end:{line:166,column:13}}],line:147},"33":{loc:{start:{line:148,column:34},end:{line:148,column:86}},type:"cond-expr",locations:[{start:{line:148,column:57},end:{line:148,column:79}},{start:{line:148,column:82},end:{line:148,column:86}}],line:148},"34":{loc:{start:{line:150,column:16},end:{line:161,column:17}},type:"switch",locations:[{start:{line:151,column:20},end:{line:151,column:45}},{start:{line:152,column:20},end:{line:153,column:123}},{start:{line:154,column:20},end:{line:154,column:48}},{start:{line:155,column:20},end:{line:156,column:113}},{start:{line:157,column:20},end:{line:158,column:93}},{start:{line:159,column:20},end:{line:160,column:113}}],line:150},"35":{loc:{start:{line:182,column:8},end:{line:212,column:9}},type:"if",locations:[{start:{line:182,column:8},end:{line:212,column:9}},{start:{line:182,column:8},end:{line:212,column:9}}],line:182},"36":{loc:{start:{line:182,column:12},end:{line:182,column:75}},type:"binary-expr",locations:[{start:{line:182,column:12},end:{line:182,column:39}},{start:{line:182,column:43},end:{line:182,column:75}}],line:182},"37":{loc:{start:{line:184,column:12},end:{line:208,column:13}},type:"if",locations:[{start:{line:184,column:12},end:{line:208,column:13}},{start:{line:184,column:12},end:{line:208,column:13}}],line:184},"38":{loc:{start:{line:185,column:34},end:{line:185,column:86}},type:"cond-expr",locations:[{start:{line:185,column:57},end:{line:185,column:79}},{start:{line:185,column:82},end:{line:185,column:86}}],line:185},"39":{loc:{start:{line:191,column:16},end:{line:201,column:17}},type:"switch",locations:[{start:{line:192,column:20},end:{line:192,column:45}},{start:{line:193,column:20},end:{line:194,column:113}},{start:{line:195,column:20},end:{line:195,column:47}},{start:{line:196,column:20},end:{line:197,column:123}},{start:{line:198,column:20},end:{line:198,column:48}},{start:{line:199,column:20},end:{line:200,column:93}}],line:191},"40":{loc:{start:{line:222,column:8},end:{line:224,column:9}},type:"if",locations:[{start:{line:222,column:8},end:{line:224,column:9}},{start:{line:222,column:8},end:{line:224,column:9}}],line:222},"41":{loc:{start:{line:222,column:12},end:{line:222,column:90}},type:"binary-expr",locations:[{start:{line:222,column:12},end:{line:222,column:55}},{start:{line:222,column:59},end:{line:222,column:90}}],line:222},"42":{loc:{start:{line:225,column:8},end:{line:227,column:9}},type:"if",locations:[{start:{line:225,column:8},end:{line:227,column:9}},{start:{line:225,column:8},end:{line:227,column:9}}],line:225},"43":{loc:{start:{line:225,column:12},end:{line:225,column:86}},type:"binary-expr",locations:[{start:{line:225,column:12},end:{line:225,column:53}},{start:{line:225,column:57},end:{line:225,column:86}}],line:225},"44":{loc:{start:{line:228,column:8},end:{line:230,column:9}},type:"if",locations:[{start:{line:228,column:8},end:{line:230,column:9}},{start:{line:228,column:8},end:{line:230,column:9}}],line:228},"45":{loc:{start:{line:228,column:12},end:{line:228,column:88}},type:"binary-expr",locations:[{start:{line:228,column:12},end:{line:228,column:54}},{start:{line:228,column:58},end:{line:228,column:88}}],line:228},"46":{loc:{start:{line:231,column:8},end:{line:233,column:9}},type:"if",locations:[{start:{line:231,column:8},end:{line:233,column:9}},{start:{line:231,column:8},end:{line:233,column:9}}],line:231},"47":{loc:{start:{line:231,column:12},end:{line:231,column:92}},type:"binary-expr",locations:[{start:{line:231,column:12},end:{line:231,column:56}},{start:{line:231,column:60},end:{line:231,column:92}}],line:231},"48":{loc:{start:{line:234,column:8},end:{line:236,column:9}},type:"if",locations:[{start:{line:234,column:8},end:{line:236,column:9}},{start:{line:234,column:8},end:{line:236,column:9}}],line:234},"49":{loc:{start:{line:234,column:12},end:{line:234,column:92}},type:"binary-expr",locations:[{start:{line:234,column:12},end:{line:234,column:56}},{start:{line:234,column:60},end:{line:234,column:92}}],line:234},"50":{loc:{start:{line:237,column:8},end:{line:239,column:9}},type:"if",locations:[{start:{line:237,column:8},end:{line:239,column:9}},{start:{line:237,column:8},end:{line:239,column:9}}],line:237},"51":{loc:{start:{line:237,column:12},end:{line:237,column:98}},type:"binary-expr",locations:[{start:{line:237,column:12},end:{line:237,column:59}},{start:{line:237,column:63},end:{line:237,column:98}}],line:237},"52":{loc:{start:{line:255,column:8},end:{line:257,column:9}},type:"if",locations:[{start:{line:255,column:8},end:{line:257,column:9}},{start:{line:255,column:8},end:{line:257,column:9}}],line:255},"53":{loc:{start:{line:259,column:29},end:{line:261,column:70}},type:"cond-expr",locations:[{start:{line:260,column:14},end:{line:260,column:88}},{start:{line:261,column:14},end:{line:261,column:70}}],line:259},"54":{loc:{start:{line:271,column:8},end:{line:274,column:9}},type:"if",locations:[{start:{line:271,column:8},end:{line:274,column:9}},{start:{line:271,column:8},end:{line:274,column:9}}],line:271},"55":{loc:{start:{line:275,column:8},end:{line:278,column:9}},type:"if",locations:[{start:{line:275,column:8},end:{line:278,column:9}},{start:{line:275,column:8},end:{line:278,column:9}}],line:275},"56":{loc:{start:{line:279,column:8},end:{line:282,column:9}},type:"if",locations:[{start:{line:279,column:8},end:{line:282,column:9}},{start:{line:279,column:8},end:{line:282,column:9}}],line:279},"57":{loc:{start:{line:279,column:12},end:{line:279,column:56}},type:"binary-expr",locations:[{start:{line:279,column:12},end:{line:279,column:21}},{start:{line:279,column:25},end:{line:279,column:37}},{start:{line:279,column:41},end:{line:279,column:56}}],line:279},"58":{loc:{start:{line:283,column:8},end:{line:286,column:9}},type:"if",locations:[{start:{line:283,column:8},end:{line:286,column:9}},{start:{line:283,column:8},end:{line:286,column:9}}],line:283},"59":{loc:{start:{line:283,column:12},end:{line:283,column:57}},type:"binary-expr",locations:[{start:{line:283,column:12},end:{line:283,column:22}},{start:{line:283,column:26},end:{line:283,column:38}},{start:{line:283,column:42},end:{line:283,column:57}}],line:283},"60":{loc:{start:{line:287,column:8},end:{line:290,column:9}},type:"if",locations:[{start:{line:287,column:8},end:{line:290,column:9}},{start:{line:287,column:8},end:{line:290,column:9}}],line:287},"61":{loc:{start:{line:287,column:12},end:{line:287,column:55}},type:"binary-expr",locations:[{start:{line:287,column:12},end:{line:287,column:20}},{start:{line:287,column:24},end:{line:287,column:37}},{start:{line:287,column:41},end:{line:287,column:55}}],line:287},"62":{loc:{start:{line:291,column:8},end:{line:294,column:9}},type:"if",locations:[{start:{line:291,column:8},end:{line:294,column:9}},{start:{line:291,column:8},end:{line:294,column:9}}],line:291},"63":{loc:{start:{line:291,column:12},end:{line:291,column:58}},type:"binary-expr",locations:[{start:{line:291,column:12},end:{line:291,column:23}},{start:{line:291,column:27},end:{line:291,column:40}},{start:{line:291,column:44},end:{line:291,column:58}}],line:291},"64":{loc:{start:{line:305,column:8},end:{line:307,column:9}},type:"if",locations:[{start:{line:305,column:8},end:{line:307,column:9}},{start:{line:305,column:8},end:{line:307,column:9}}],line:305},"65":{loc:{start:{line:308,column:8},end:{line:310,column:9}},type:"if",locations:[{start:{line:308,column:8},end:{line:310,column:9}},{start:{line:308,column:8},end:{line:310,column:9}}],line:308},"66":{loc:{start:{line:321,column:32},end:{line:321,column:47}},type:"default-arg",locations:[{start:{line:321,column:42},end:{line:321,column:47}}],line:321},"67":{loc:{start:{line:322,column:8},end:{line:324,column:9}},type:"if",locations:[{start:{line:322,column:8},end:{line:324,column:9}},{start:{line:322,column:8},end:{line:324,column:9}}],line:322},"68":{loc:{start:{line:326,column:8},end:{line:328,column:9}},type:"if",locations:[{start:{line:326,column:8},end:{line:328,column:9}},{start:{line:326,column:8},end:{line:328,column:9}}],line:326},"69":{loc:{start:{line:327,column:19},end:{line:327,column:50}},type:"cond-expr",locations:[{start:{line:327,column:29},end:{line:327,column:46}},{start:{line:327,column:49},end:{line:327,column:50}}],line:327},"70":{loc:{start:{line:330,column:8},end:{line:332,column:9}},type:"if",locations:[{start:{line:330,column:8},end:{line:332,column:9}},{start:{line:330,column:8},end:{line:332,column:9}}],line:330},"71":{loc:{start:{line:333,column:75},end:{line:333,column:100}},type:"binary-expr",locations:[{start:{line:333,column:75},end:{line:333,column:82}},{start:{line:333,column:86},end:{line:333,column:100}}],line:333},"72":{loc:{start:{line:334,column:8},end:{line:339,column:9}},type:"if",locations:[{start:{line:334,column:8},end:{line:339,column:9}},{start:{line:334,column:8},end:{line:339,column:9}}],line:334}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":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},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],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0,0,0,0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0,0,0,0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0,0],"58":[0,0],"59":[0,0,0],"60":[0,0],"61":[0,0,0],"62":[0,0],"63":[0,0,0],"64":[0,0],"65":[0,0],"66":[0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0]},inputSourceMap:{version:3,file:"popuphelper.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/utilities/popuphelper.ts"],names:[],mappings:"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",sourcesContent:["import { TooltipPosition } from './enums';\nimport { ElementRef } from '@angular/core';\n\nexport class PopUpHelper {\n // #region Public Methods\n\n public getContainerHeight(referenceContainer: ElementRef<HTMLElement>, referenceIsContainer: boolean): number {\n if (referenceContainer) {\n return referenceIsContainer\n ? referenceContainer.nativeElement.firstElementChild.clientHeight\n : referenceContainer.nativeElement.offsetHeight;\n } else {\n return 0;\n }\n }\n\n public getContainerWidth(referenceContainer: ElementRef<HTMLElement>, referenceIsContainer: boolean): number {\n if (referenceContainer) {\n return referenceIsContainer\n ? referenceContainer.nativeElement.firstElementChild.clientWidth\n : referenceContainer.nativeElement.offsetWidth;\n } else {\n return 0;\n }\n }\n\n /**\n * Get Position who the popup would be positioned\n *\n * @param referenceContainer Element Reference to HTML Element which is the reference to positioning the popup\n * @param popupcontentcontainer Element Reference to container of popup\n * @param popupOffset Offset for popup positioning\n * @param allowedPositions Allowed Positions for the popup\n * @returns Returns the position where the popup should be displayed\n */\n public getDisplayPosition(\n referenceContainer: ElementRef<HTMLElement>,\n popupcontentcontainer: ElementRef<HTMLElement>,\n arrowWidth: number,\n arrowHeight: number,\n allowedPositions: string,\n referenceIsContainer: boolean\n ): TooltipPosition {\n const validPositions: TooltipPosition = this.validatePositions(\n referenceContainer,\n popupcontentcontainer,\n arrowWidth,\n arrowHeight,\n referenceIsContainer\n );\n\n // tslint:disable-next-line:no-bitwise\n if (this.hasPosition(allowedPositions, TooltipPosition.right) && validPositions & TooltipPosition.right) {\n return TooltipPosition.right;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (this.hasPosition(allowedPositions, TooltipPosition.top) && validPositions & TooltipPosition.top) {\n return TooltipPosition.top;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (this.hasPosition(allowedPositions, TooltipPosition.left) && validPositions & TooltipPosition.left) {\n return TooltipPosition.left;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (this.hasPosition(allowedPositions, TooltipPosition.bottom) && validPositions & TooltipPosition.bottom) {\n return TooltipPosition.bottom;\n }\n\n if (this.hasPosition(allowedPositions, TooltipPosition.topend) && validPositions & TooltipPosition.topend) {\n return TooltipPosition.topend;\n }\n\n if (\n this.hasPosition(allowedPositions, TooltipPosition.bottomend) &&\n validPositions & TooltipPosition.bottomend\n ) {\n return TooltipPosition.bottomend;\n }\n\n // Get Auto Position or Default\n if (this.isAutoPosition(allowedPositions)) {\n // tslint:disable-next-line:no-bitwise\n if (validPositions & TooltipPosition.right) {\n return TooltipPosition.right;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (validPositions & TooltipPosition.top) {\n return TooltipPosition.top;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (validPositions & TooltipPosition.left) {\n return TooltipPosition.left;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (validPositions & TooltipPosition.bottom) {\n return TooltipPosition.bottom;\n }\n\n return TooltipPosition.right;\n } else {\n return this.getPosition(allowedPositions);\n }\n }\n\n /**\n * Calculates the height of the popup\n *\n * @param container Element Reference to container of popup\n */\n public getPopupHeight(container: ElementRef<HTMLElement>): number {\n if (container) {\n return container.nativeElement.firstElementChild.clientHeight ?? 0;\n } else {\n return 0;\n }\n }\n\n /**\n * Calculates the width of the popup\n *\n * @param container Element Reference to container of popup\n */\n public getPopupWidth(container: ElementRef<HTMLElement>): number {\n if (container) {\n return container.nativeElement.firstElementChild.clientWidth;\n } else {\n return 0;\n }\n }\n\n /**\n * Returns the defined position for the tooltip\n *\n * @param allowedPositions Allowed positions defined in markup for popup\n */\n public getPosition(allowedPositions: string): TooltipPosition {\n if (this.hasPosition(allowedPositions, TooltipPosition.left)) {\n return TooltipPosition.left;\n }\n\n if (this.hasPosition(allowedPositions, TooltipPosition.top)) {\n return TooltipPosition.top;\n }\n\n if (this.hasPosition(allowedPositions, TooltipPosition.right)) {\n return TooltipPosition.right;\n }\n\n if (this.hasPosition(allowedPositions, TooltipPosition.bottom)) {\n return TooltipPosition.bottom;\n }\n\n if (this.hasPosition(allowedPositions, TooltipPosition.topend)) {\n return TooltipPosition.topend;\n }\n\n if (this.hasPosition(allowedPositions, TooltipPosition.bottomend)) {\n return TooltipPosition.bottomend;\n }\n\n // Default Position if empty\n return TooltipPosition.right;\n }\n\n /**\n * Calculates the position of the tooltip from links\n *\n * @param controlReference Element Reference to angular component\n * @param popupContainer Element Reference to container of popup\n * @param referenceContainer Element Reference to HTML Element which is the reference to positioning the popup\n * @param popupOffset Offset for popup positioning\n * @param requestedPosition Requested Position by Control\n */\n public getPositionLeft(\n referenceContainer: ElementRef<HTMLElement>,\n popupContainer: ElementRef<HTMLElement>,\n controlReference: ElementRef,\n arrowWidth: number,\n arrowHeight: number,\n requestedPosition: string,\n referenceIsContainer: boolean\n ): number {\n if (referenceContainer !== null && referenceContainer !== undefined) {\n const item = referenceContainer.nativeElement;\n\n if (item.children.length >= 1) {\n const childItem = referenceIsContainer ? (item.firstElementChild as HTMLElement) : item;\n const contentPosition: DOMRect = childItem.getBoundingClientRect();\n\n switch (\n this.getDisplayPosition(\n referenceContainer,\n popupContainer,\n arrowWidth,\n arrowHeight,\n requestedPosition,\n referenceIsContainer\n )\n ) {\n case TooltipPosition.top:\n case TooltipPosition.bottom:\n return (\n contentPosition.left + contentPosition.width / 2 - this.getPopupWidth(popupContainer) / 2\n );\n case TooltipPosition.topend:\n case TooltipPosition.bottomend:\n return contentPosition.left + contentPosition.width - this.getPopupWidth(popupContainer);\n case TooltipPosition.right:\n return contentPosition.left + contentPosition.width + arrowWidth / 2;\n case TooltipPosition.left:\n return contentPosition.left - this.getPopupWidth(popupContainer) + (arrowWidth / 2) * -1;\n }\n\n return referenceContainer.nativeElement.offsetTop;\n } else {\n return referenceContainer.nativeElement.offsetTop;\n }\n } else {\n return controlReference.nativeElement.offsetLeft;\n }\n }\n\n /**\n * Calculates the position of the tooltip from the top\n *\n * @param controlReference Element Reference to angular component\n * @param popupContainer Element Reference to container of popup\n * @param referenceContainer Element Reference to HTML Element which is the reference to positioning the popup\n * @param popupOffset Offset for popup positioning\n * @param requestedPosition Requested Position by Control\n */\n public getPositionTop(\n referenceContainer: ElementRef<HTMLElement>,\n popupContainer: ElementRef<HTMLElement>,\n controlReference: ElementRef,\n arrowWidth: number,\n arrowHeight: number,\n requestedPosition: string,\n referenceIsContainer: boolean\n ): number {\n if (referenceContainer !== null && referenceContainer !== undefined) {\n const item = referenceContainer.nativeElement;\n if (item.children.length >= 1) {\n const childItem = referenceIsContainer ? (item.firstElementChild as HTMLElement) : item;\n const contentPosition: DOMRect = childItem.getBoundingClientRect();\n\n // Get Position with Scroll (Scrollbars inside page should be substracted)\n const contentPositionTop =\n childItem.offsetTop +\n this.getOffsetTopParent(childItem.offsetParent as HTMLElement) +\n this.getScrollTopParent(childItem.parentElement);\n\n switch (\n this.getDisplayPosition(\n referenceContainer,\n popupContainer,\n arrowWidth,\n arrowHeight,\n requestedPosition,\n referenceIsContainer\n )\n ) {\n case TooltipPosition.top:\n case TooltipPosition.topend:\n return contentPositionTop - this.getPopupHeight(popupContainer) + (arrowHeight / 2) * -1;\n case TooltipPosition.right:\n case TooltipPosition.left:\n return (\n contentPositionTop + contentPosition.height / 2 - this.getPopupHeight(popupContainer) / 2\n );\n case TooltipPosition.bottom:\n case TooltipPosition.bottomend:\n return contentPositionTop + contentPosition.height + arrowHeight / 2;\n }\n\n return (\n childItem.clientTop +\n childItem.offsetTop -\n (this.getPopupHeight(popupContainer) / 2 - childItem.offsetHeight / 2)\n );\n } else {\n return referenceContainer.nativeElement.offsetTop;\n }\n } else {\n return controlReference.nativeElement.offsetTop;\n }\n }\n\n /**\n * Returns whether the position has been configured\n *\n * @param allowedPositions Positions that allowed by control\n * @param requestedPosition Position to be checked\n */\n public hasPosition(allowedPositions: string, requestedPosition: TooltipPosition): boolean {\n const positions = allowedPositions.split('|');\n\n if (requestedPosition === TooltipPosition.right && positions.indexOf('right') >= 0) {\n return true;\n }\n\n if (requestedPosition === TooltipPosition.top && positions.indexOf('top') >= 0) {\n return true;\n }\n\n if (requestedPosition === TooltipPosition.left && positions.indexOf('left') >= 0) {\n return true;\n }\n\n if (requestedPosition === TooltipPosition.bottom && positions.indexOf('bottom') >= 0) {\n return true;\n }\n\n if (requestedPosition === TooltipPosition.topend && positions.indexOf('topend') >= 0) {\n return true;\n }\n if (requestedPosition === TooltipPosition.bottomend && positions.indexOf('bottomend') >= 0) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Defines whether AutoPosition is active\n * @param positionProperty List of allowed positions\n */\n public isAutoPosition(positionProperty: string): boolean {\n const positions = positionProperty.split('|');\n return positions.indexOf('auto') >= 0;\n }\n\n /**\n * Checks whether the position is valid or whether the tooltip on the position has space\n */\n public validatePositions(\n referenceContainer: ElementRef<HTMLElement>,\n popupcontentcontainer: ElementRef<HTMLElement>,\n arrowWidth: number,\n arrowHeight: number,\n referenceIsContainer: boolean\n ): TooltipPosition {\n // Check if Container is false\n if (popupcontentcontainer === undefined) {\n return TooltipPosition.right;\n }\n\n let allowedPositions: TooltipPosition = TooltipPosition.none;\n const basePosition: DOMRect = referenceIsContainer\n ? referenceContainer.nativeElement.firstElementChild.getBoundingClientRect()\n : referenceContainer.nativeElement.getBoundingClientRect();\n const tooltipRect: DOMRect = popupcontentcontainer.nativeElement.firstElementChild.getBoundingClientRect();\n\n const leftPosOk: boolean = basePosition.left - (tooltipRect.width + arrowWidth * -1) > 0;\n const rightPosOk: boolean = basePosition.right + tooltipRect.width + arrowWidth < window.innerWidth;\n const topPosOk: boolean = basePosition.top - (tooltipRect.height + arrowHeight) > 0;\n const bottomPosOk: boolean = basePosition.bottom + tooltipRect.height + arrowHeight < window.innerHeight;\n\n const leftHalfPosOk: boolean = basePosition.left - tooltipRect.width / 2 > 0;\n const rightHalfPosOk: boolean = basePosition.right + tooltipRect.width / 2 < window.innerWidth;\n const topHalfPosOk: boolean = basePosition.top - tooltipRect.height / 2 > 0;\n const bottomHalfPosOk: boolean = basePosition.bottom + tooltipRect.height / 2 < window.innerHeight;\n\n if (topPosOk) {\n // tslint:disable-next-line:no-bitwise\n allowedPositions = allowedPositions | TooltipPosition.topend;\n }\n\n if (bottomPosOk) {\n // tslint:disable-next-line:no-bitwise\n allowedPositions = allowedPositions | TooltipPosition.bottomend;\n }\n\n if (leftPosOk && topHalfPosOk && bottomHalfPosOk) {\n // tslint:disable-next-line:no-bitwise\n allowedPositions = allowedPositions | TooltipPosition.left;\n }\n\n if (rightPosOk && topHalfPosOk && bottomHalfPosOk) {\n // tslint:disable-next-line:no-bitwise\n allowedPositions = allowedPositions | TooltipPosition.right;\n }\n\n if (topPosOk && leftHalfPosOk && rightHalfPosOk) {\n // tslint:disable-next-line:no-bitwise\n allowedPositions = allowedPositions | TooltipPosition.top;\n }\n\n if (bottomPosOk && leftHalfPosOk && rightHalfPosOk) {\n // tslint:disable-next-line:no-bitwise\n allowedPositions = allowedPositions | TooltipPosition.bottom;\n }\n\n return allowedPositions;\n }\n\n // #endregion Public Methods\n\n // #region Private Methods\n\n /**\n * Calculates the top of the page inside all elements\n * @param element HTML Element\n * @returns summarized top value for absolute position\n */\n private getOffsetTopParent(element: HTMLElement): number {\n if (element === null) {\n return 0;\n }\n\n if (!element.offsetParent) {\n return element.offsetTop;\n }\n\n const parentValue = this.getOffsetTopParent(element.offsetParent as HTMLElement);\n let offset = element.offsetTop;\n return parentValue + offset;\n }\n\n /**\n * Caclulate Scrollbars inside tree\n * @param element HTML Element\n * @param [isFixed=false] Invert Scroll Position value when style is fixed to preserve negative values\n * @returns Scroll top value of element with all childs\n */\n private getScrollTopParent(element: HTMLElement, isFixed = false): number {\n if (element === null) {\n return 0;\n }\n\n // Body Scroll should not be calculated\n if (!element.parentElement) {\n return isFixed ? element.scrollTop : 0;\n }\n\n let isCurrentFixed = false;\n if (window.getComputedStyle(element).getPropertyValue('position') === 'fixed') {\n isCurrentFixed = true;\n }\n\n const parentValue = this.getScrollTopParent(element.parentElement, isFixed || isCurrentFixed);\n\n if (isFixed) {\n return parentValue + element.scrollTop;\n } else {\n return parentValue + element.scrollTop * -1;\n }\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"b26b536afb148ec4cb94e9cb4dd190748ddefa17"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_20dzm1ja8p=function(){return actualCoverage;};}return actualCoverage;}cov_20dzm1ja8p();import{TooltipPosition}from'./enums';export class PopUpHelper{// #region Public Methods
|
|
3
|
+
getContainerHeight(referenceContainer,referenceIsContainer){cov_20dzm1ja8p().f[0]++;cov_20dzm1ja8p().s[0]++;if(referenceContainer){cov_20dzm1ja8p().b[0][0]++;cov_20dzm1ja8p().s[1]++;return referenceIsContainer?(cov_20dzm1ja8p().b[1][0]++,referenceContainer.nativeElement.firstElementChild.clientHeight):(cov_20dzm1ja8p().b[1][1]++,referenceContainer.nativeElement.offsetHeight);}else{cov_20dzm1ja8p().b[0][1]++;cov_20dzm1ja8p().s[2]++;return 0;}}getContainerWidth(referenceContainer,referenceIsContainer){cov_20dzm1ja8p().f[1]++;cov_20dzm1ja8p().s[3]++;if(referenceContainer){cov_20dzm1ja8p().b[2][0]++;cov_20dzm1ja8p().s[4]++;return referenceIsContainer?(cov_20dzm1ja8p().b[3][0]++,referenceContainer.nativeElement.firstElementChild.clientWidth):(cov_20dzm1ja8p().b[3][1]++,referenceContainer.nativeElement.offsetWidth);}else{cov_20dzm1ja8p().b[2][1]++;cov_20dzm1ja8p().s[5]++;return 0;}}/**
|
|
4
|
+
* Get Position who the popup would be positioned
|
|
5
|
+
*
|
|
6
|
+
* @param referenceContainer Element Reference to HTML Element which is the reference to positioning the popup
|
|
7
|
+
* @param popupcontentcontainer Element Reference to container of popup
|
|
8
|
+
* @param popupOffset Offset for popup positioning
|
|
9
|
+
* @param allowedPositions Allowed Positions for the popup
|
|
10
|
+
* @returns Returns the position where the popup should be displayed
|
|
11
|
+
*/getDisplayPosition(referenceContainer,popupcontentcontainer,arrowWidth,arrowHeight,allowedPositions,referenceIsContainer){cov_20dzm1ja8p().f[2]++;const validPositions=(cov_20dzm1ja8p().s[6]++,this.validatePositions(referenceContainer,popupcontentcontainer,arrowWidth,arrowHeight,referenceIsContainer));// tslint:disable-next-line:no-bitwise
|
|
12
|
+
cov_20dzm1ja8p().s[7]++;if((cov_20dzm1ja8p().b[5][0]++,this.hasPosition(allowedPositions,TooltipPosition.right))&&(cov_20dzm1ja8p().b[5][1]++,validPositions&TooltipPosition.right)){cov_20dzm1ja8p().b[4][0]++;cov_20dzm1ja8p().s[8]++;return TooltipPosition.right;}else{cov_20dzm1ja8p().b[4][1]++;}// tslint:disable-next-line:no-bitwise
|
|
13
|
+
cov_20dzm1ja8p().s[9]++;if((cov_20dzm1ja8p().b[7][0]++,this.hasPosition(allowedPositions,TooltipPosition.top))&&(cov_20dzm1ja8p().b[7][1]++,validPositions&TooltipPosition.top)){cov_20dzm1ja8p().b[6][0]++;cov_20dzm1ja8p().s[10]++;return TooltipPosition.top;}else{cov_20dzm1ja8p().b[6][1]++;}// tslint:disable-next-line:no-bitwise
|
|
14
|
+
cov_20dzm1ja8p().s[11]++;if((cov_20dzm1ja8p().b[9][0]++,this.hasPosition(allowedPositions,TooltipPosition.left))&&(cov_20dzm1ja8p().b[9][1]++,validPositions&TooltipPosition.left)){cov_20dzm1ja8p().b[8][0]++;cov_20dzm1ja8p().s[12]++;return TooltipPosition.left;}else{cov_20dzm1ja8p().b[8][1]++;}// tslint:disable-next-line:no-bitwise
|
|
15
|
+
cov_20dzm1ja8p().s[13]++;if((cov_20dzm1ja8p().b[11][0]++,this.hasPosition(allowedPositions,TooltipPosition.bottom))&&(cov_20dzm1ja8p().b[11][1]++,validPositions&TooltipPosition.bottom)){cov_20dzm1ja8p().b[10][0]++;cov_20dzm1ja8p().s[14]++;return TooltipPosition.bottom;}else{cov_20dzm1ja8p().b[10][1]++;}cov_20dzm1ja8p().s[15]++;if((cov_20dzm1ja8p().b[13][0]++,this.hasPosition(allowedPositions,TooltipPosition.topend))&&(cov_20dzm1ja8p().b[13][1]++,validPositions&TooltipPosition.topend)){cov_20dzm1ja8p().b[12][0]++;cov_20dzm1ja8p().s[16]++;return TooltipPosition.topend;}else{cov_20dzm1ja8p().b[12][1]++;}cov_20dzm1ja8p().s[17]++;if((cov_20dzm1ja8p().b[15][0]++,this.hasPosition(allowedPositions,TooltipPosition.bottomend))&&(cov_20dzm1ja8p().b[15][1]++,validPositions&TooltipPosition.bottomend)){cov_20dzm1ja8p().b[14][0]++;cov_20dzm1ja8p().s[18]++;return TooltipPosition.bottomend;}else{cov_20dzm1ja8p().b[14][1]++;}// Get Auto Position or Default
|
|
16
|
+
cov_20dzm1ja8p().s[19]++;if(this.isAutoPosition(allowedPositions)){cov_20dzm1ja8p().b[16][0]++;cov_20dzm1ja8p().s[20]++;// tslint:disable-next-line:no-bitwise
|
|
17
|
+
if(validPositions&TooltipPosition.right){cov_20dzm1ja8p().b[17][0]++;cov_20dzm1ja8p().s[21]++;return TooltipPosition.right;}else{cov_20dzm1ja8p().b[17][1]++;}// tslint:disable-next-line:no-bitwise
|
|
18
|
+
cov_20dzm1ja8p().s[22]++;if(validPositions&TooltipPosition.top){cov_20dzm1ja8p().b[18][0]++;cov_20dzm1ja8p().s[23]++;return TooltipPosition.top;}else{cov_20dzm1ja8p().b[18][1]++;}// tslint:disable-next-line:no-bitwise
|
|
19
|
+
cov_20dzm1ja8p().s[24]++;if(validPositions&TooltipPosition.left){cov_20dzm1ja8p().b[19][0]++;cov_20dzm1ja8p().s[25]++;return TooltipPosition.left;}else{cov_20dzm1ja8p().b[19][1]++;}// tslint:disable-next-line:no-bitwise
|
|
20
|
+
cov_20dzm1ja8p().s[26]++;if(validPositions&TooltipPosition.bottom){cov_20dzm1ja8p().b[20][0]++;cov_20dzm1ja8p().s[27]++;return TooltipPosition.bottom;}else{cov_20dzm1ja8p().b[20][1]++;}cov_20dzm1ja8p().s[28]++;return TooltipPosition.right;}else{cov_20dzm1ja8p().b[16][1]++;cov_20dzm1ja8p().s[29]++;return this.getPosition(allowedPositions);}}/**
|
|
21
|
+
* Calculates the height of the popup
|
|
22
|
+
*
|
|
23
|
+
* @param container Element Reference to container of popup
|
|
24
|
+
*/getPopupHeight(container){cov_20dzm1ja8p().f[3]++;cov_20dzm1ja8p().s[30]++;if(container){cov_20dzm1ja8p().b[21][0]++;cov_20dzm1ja8p().s[31]++;return(cov_20dzm1ja8p().b[22][0]++,container.nativeElement.firstElementChild.clientHeight)??(cov_20dzm1ja8p().b[22][1]++,0);}else{cov_20dzm1ja8p().b[21][1]++;cov_20dzm1ja8p().s[32]++;return 0;}}/**
|
|
25
|
+
* Calculates the width of the popup
|
|
26
|
+
*
|
|
27
|
+
* @param container Element Reference to container of popup
|
|
28
|
+
*/getPopupWidth(container){cov_20dzm1ja8p().f[4]++;cov_20dzm1ja8p().s[33]++;if(container){cov_20dzm1ja8p().b[23][0]++;cov_20dzm1ja8p().s[34]++;return container.nativeElement.firstElementChild.clientWidth;}else{cov_20dzm1ja8p().b[23][1]++;cov_20dzm1ja8p().s[35]++;return 0;}}/**
|
|
29
|
+
* Returns the defined position for the tooltip
|
|
30
|
+
*
|
|
31
|
+
* @param allowedPositions Allowed positions defined in markup for popup
|
|
32
|
+
*/getPosition(allowedPositions){cov_20dzm1ja8p().f[5]++;cov_20dzm1ja8p().s[36]++;if(this.hasPosition(allowedPositions,TooltipPosition.left)){cov_20dzm1ja8p().b[24][0]++;cov_20dzm1ja8p().s[37]++;return TooltipPosition.left;}else{cov_20dzm1ja8p().b[24][1]++;}cov_20dzm1ja8p().s[38]++;if(this.hasPosition(allowedPositions,TooltipPosition.top)){cov_20dzm1ja8p().b[25][0]++;cov_20dzm1ja8p().s[39]++;return TooltipPosition.top;}else{cov_20dzm1ja8p().b[25][1]++;}cov_20dzm1ja8p().s[40]++;if(this.hasPosition(allowedPositions,TooltipPosition.right)){cov_20dzm1ja8p().b[26][0]++;cov_20dzm1ja8p().s[41]++;return TooltipPosition.right;}else{cov_20dzm1ja8p().b[26][1]++;}cov_20dzm1ja8p().s[42]++;if(this.hasPosition(allowedPositions,TooltipPosition.bottom)){cov_20dzm1ja8p().b[27][0]++;cov_20dzm1ja8p().s[43]++;return TooltipPosition.bottom;}else{cov_20dzm1ja8p().b[27][1]++;}cov_20dzm1ja8p().s[44]++;if(this.hasPosition(allowedPositions,TooltipPosition.topend)){cov_20dzm1ja8p().b[28][0]++;cov_20dzm1ja8p().s[45]++;return TooltipPosition.topend;}else{cov_20dzm1ja8p().b[28][1]++;}cov_20dzm1ja8p().s[46]++;if(this.hasPosition(allowedPositions,TooltipPosition.bottomend)){cov_20dzm1ja8p().b[29][0]++;cov_20dzm1ja8p().s[47]++;return TooltipPosition.bottomend;}else{cov_20dzm1ja8p().b[29][1]++;}// Default Position if empty
|
|
33
|
+
cov_20dzm1ja8p().s[48]++;return TooltipPosition.right;}/**
|
|
34
|
+
* Calculates the position of the tooltip from links
|
|
35
|
+
*
|
|
36
|
+
* @param controlReference Element Reference to angular component
|
|
37
|
+
* @param popupContainer Element Reference to container of popup
|
|
38
|
+
* @param referenceContainer Element Reference to HTML Element which is the reference to positioning the popup
|
|
39
|
+
* @param popupOffset Offset for popup positioning
|
|
40
|
+
* @param requestedPosition Requested Position by Control
|
|
41
|
+
*/getPositionLeft(referenceContainer,popupContainer,controlReference,arrowWidth,arrowHeight,requestedPosition,referenceIsContainer){cov_20dzm1ja8p().f[6]++;cov_20dzm1ja8p().s[49]++;if((cov_20dzm1ja8p().b[31][0]++,referenceContainer!==null)&&(cov_20dzm1ja8p().b[31][1]++,referenceContainer!==undefined)){cov_20dzm1ja8p().b[30][0]++;const item=(cov_20dzm1ja8p().s[50]++,referenceContainer.nativeElement);cov_20dzm1ja8p().s[51]++;if(item.children.length>=1){cov_20dzm1ja8p().b[32][0]++;const childItem=(cov_20dzm1ja8p().s[52]++,referenceIsContainer?(cov_20dzm1ja8p().b[33][0]++,item.firstElementChild):(cov_20dzm1ja8p().b[33][1]++,item));const contentPosition=(cov_20dzm1ja8p().s[53]++,childItem.getBoundingClientRect());cov_20dzm1ja8p().s[54]++;switch(this.getDisplayPosition(referenceContainer,popupContainer,arrowWidth,arrowHeight,requestedPosition,referenceIsContainer)){case TooltipPosition.top:cov_20dzm1ja8p().b[34][0]++;case TooltipPosition.bottom:cov_20dzm1ja8p().b[34][1]++;cov_20dzm1ja8p().s[55]++;return contentPosition.left+contentPosition.width/2-this.getPopupWidth(popupContainer)/2;case TooltipPosition.topend:cov_20dzm1ja8p().b[34][2]++;case TooltipPosition.bottomend:cov_20dzm1ja8p().b[34][3]++;cov_20dzm1ja8p().s[56]++;return contentPosition.left+contentPosition.width-this.getPopupWidth(popupContainer);case TooltipPosition.right:cov_20dzm1ja8p().b[34][4]++;cov_20dzm1ja8p().s[57]++;return contentPosition.left+contentPosition.width+arrowWidth/2;case TooltipPosition.left:cov_20dzm1ja8p().b[34][5]++;cov_20dzm1ja8p().s[58]++;return contentPosition.left-this.getPopupWidth(popupContainer)+arrowWidth/2*-1;}cov_20dzm1ja8p().s[59]++;return referenceContainer.nativeElement.offsetTop;}else{cov_20dzm1ja8p().b[32][1]++;cov_20dzm1ja8p().s[60]++;return referenceContainer.nativeElement.offsetTop;}}else{cov_20dzm1ja8p().b[30][1]++;cov_20dzm1ja8p().s[61]++;return controlReference.nativeElement.offsetLeft;}}/**
|
|
42
|
+
* Calculates the position of the tooltip from the top
|
|
43
|
+
*
|
|
44
|
+
* @param controlReference Element Reference to angular component
|
|
45
|
+
* @param popupContainer Element Reference to container of popup
|
|
46
|
+
* @param referenceContainer Element Reference to HTML Element which is the reference to positioning the popup
|
|
47
|
+
* @param popupOffset Offset for popup positioning
|
|
48
|
+
* @param requestedPosition Requested Position by Control
|
|
49
|
+
*/getPositionTop(referenceContainer,popupContainer,controlReference,arrowWidth,arrowHeight,requestedPosition,referenceIsContainer){cov_20dzm1ja8p().f[7]++;cov_20dzm1ja8p().s[62]++;if((cov_20dzm1ja8p().b[36][0]++,referenceContainer!==null)&&(cov_20dzm1ja8p().b[36][1]++,referenceContainer!==undefined)){cov_20dzm1ja8p().b[35][0]++;const item=(cov_20dzm1ja8p().s[63]++,referenceContainer.nativeElement);cov_20dzm1ja8p().s[64]++;if(item.children.length>=1){cov_20dzm1ja8p().b[37][0]++;const childItem=(cov_20dzm1ja8p().s[65]++,referenceIsContainer?(cov_20dzm1ja8p().b[38][0]++,item.firstElementChild):(cov_20dzm1ja8p().b[38][1]++,item));const contentPosition=(cov_20dzm1ja8p().s[66]++,childItem.getBoundingClientRect());// Get Position with Scroll (Scrollbars inside page should be substracted)
|
|
50
|
+
const contentPositionTop=(cov_20dzm1ja8p().s[67]++,childItem.offsetTop+this.getOffsetTopParent(childItem.offsetParent)+this.getScrollTopParent(childItem.parentElement));cov_20dzm1ja8p().s[68]++;switch(this.getDisplayPosition(referenceContainer,popupContainer,arrowWidth,arrowHeight,requestedPosition,referenceIsContainer)){case TooltipPosition.top:cov_20dzm1ja8p().b[39][0]++;case TooltipPosition.topend:cov_20dzm1ja8p().b[39][1]++;cov_20dzm1ja8p().s[69]++;return contentPositionTop-this.getPopupHeight(popupContainer)+arrowHeight/2*-1;case TooltipPosition.right:cov_20dzm1ja8p().b[39][2]++;case TooltipPosition.left:cov_20dzm1ja8p().b[39][3]++;cov_20dzm1ja8p().s[70]++;return contentPositionTop+contentPosition.height/2-this.getPopupHeight(popupContainer)/2;case TooltipPosition.bottom:cov_20dzm1ja8p().b[39][4]++;case TooltipPosition.bottomend:cov_20dzm1ja8p().b[39][5]++;cov_20dzm1ja8p().s[71]++;return contentPositionTop+contentPosition.height+arrowHeight/2;}cov_20dzm1ja8p().s[72]++;return childItem.clientTop+childItem.offsetTop-(this.getPopupHeight(popupContainer)/2-childItem.offsetHeight/2);}else{cov_20dzm1ja8p().b[37][1]++;cov_20dzm1ja8p().s[73]++;return referenceContainer.nativeElement.offsetTop;}}else{cov_20dzm1ja8p().b[35][1]++;cov_20dzm1ja8p().s[74]++;return controlReference.nativeElement.offsetTop;}}/**
|
|
51
|
+
* Returns whether the position has been configured
|
|
52
|
+
*
|
|
53
|
+
* @param allowedPositions Positions that allowed by control
|
|
54
|
+
* @param requestedPosition Position to be checked
|
|
55
|
+
*/hasPosition(allowedPositions,requestedPosition){cov_20dzm1ja8p().f[8]++;const positions=(cov_20dzm1ja8p().s[75]++,allowedPositions.split('|'));cov_20dzm1ja8p().s[76]++;if((cov_20dzm1ja8p().b[41][0]++,requestedPosition===TooltipPosition.right)&&(cov_20dzm1ja8p().b[41][1]++,positions.indexOf('right')>=0)){cov_20dzm1ja8p().b[40][0]++;cov_20dzm1ja8p().s[77]++;return true;}else{cov_20dzm1ja8p().b[40][1]++;}cov_20dzm1ja8p().s[78]++;if((cov_20dzm1ja8p().b[43][0]++,requestedPosition===TooltipPosition.top)&&(cov_20dzm1ja8p().b[43][1]++,positions.indexOf('top')>=0)){cov_20dzm1ja8p().b[42][0]++;cov_20dzm1ja8p().s[79]++;return true;}else{cov_20dzm1ja8p().b[42][1]++;}cov_20dzm1ja8p().s[80]++;if((cov_20dzm1ja8p().b[45][0]++,requestedPosition===TooltipPosition.left)&&(cov_20dzm1ja8p().b[45][1]++,positions.indexOf('left')>=0)){cov_20dzm1ja8p().b[44][0]++;cov_20dzm1ja8p().s[81]++;return true;}else{cov_20dzm1ja8p().b[44][1]++;}cov_20dzm1ja8p().s[82]++;if((cov_20dzm1ja8p().b[47][0]++,requestedPosition===TooltipPosition.bottom)&&(cov_20dzm1ja8p().b[47][1]++,positions.indexOf('bottom')>=0)){cov_20dzm1ja8p().b[46][0]++;cov_20dzm1ja8p().s[83]++;return true;}else{cov_20dzm1ja8p().b[46][1]++;}cov_20dzm1ja8p().s[84]++;if((cov_20dzm1ja8p().b[49][0]++,requestedPosition===TooltipPosition.topend)&&(cov_20dzm1ja8p().b[49][1]++,positions.indexOf('topend')>=0)){cov_20dzm1ja8p().b[48][0]++;cov_20dzm1ja8p().s[85]++;return true;}else{cov_20dzm1ja8p().b[48][1]++;}cov_20dzm1ja8p().s[86]++;if((cov_20dzm1ja8p().b[51][0]++,requestedPosition===TooltipPosition.bottomend)&&(cov_20dzm1ja8p().b[51][1]++,positions.indexOf('bottomend')>=0)){cov_20dzm1ja8p().b[50][0]++;cov_20dzm1ja8p().s[87]++;return true;}else{cov_20dzm1ja8p().b[50][1]++;}cov_20dzm1ja8p().s[88]++;return false;}/**
|
|
56
|
+
* Defines whether AutoPosition is active
|
|
57
|
+
* @param positionProperty List of allowed positions
|
|
58
|
+
*/isAutoPosition(positionProperty){cov_20dzm1ja8p().f[9]++;const positions=(cov_20dzm1ja8p().s[89]++,positionProperty.split('|'));cov_20dzm1ja8p().s[90]++;return positions.indexOf('auto')>=0;}/**
|
|
59
|
+
* Checks whether the position is valid or whether the tooltip on the position has space
|
|
60
|
+
*/validatePositions(referenceContainer,popupcontentcontainer,arrowWidth,arrowHeight,referenceIsContainer){cov_20dzm1ja8p().f[10]++;cov_20dzm1ja8p().s[91]++;// Check if Container is false
|
|
61
|
+
if(popupcontentcontainer===undefined){cov_20dzm1ja8p().b[52][0]++;cov_20dzm1ja8p().s[92]++;return TooltipPosition.right;}else{cov_20dzm1ja8p().b[52][1]++;}let allowedPositions=(cov_20dzm1ja8p().s[93]++,TooltipPosition.none);const basePosition=(cov_20dzm1ja8p().s[94]++,referenceIsContainer?(cov_20dzm1ja8p().b[53][0]++,referenceContainer.nativeElement.firstElementChild.getBoundingClientRect()):(cov_20dzm1ja8p().b[53][1]++,referenceContainer.nativeElement.getBoundingClientRect()));const tooltipRect=(cov_20dzm1ja8p().s[95]++,popupcontentcontainer.nativeElement.firstElementChild.getBoundingClientRect());const leftPosOk=(cov_20dzm1ja8p().s[96]++,basePosition.left-(tooltipRect.width+arrowWidth*-1)>0);const rightPosOk=(cov_20dzm1ja8p().s[97]++,basePosition.right+tooltipRect.width+arrowWidth<window.innerWidth);const topPosOk=(cov_20dzm1ja8p().s[98]++,basePosition.top-(tooltipRect.height+arrowHeight)>0);const bottomPosOk=(cov_20dzm1ja8p().s[99]++,basePosition.bottom+tooltipRect.height+arrowHeight<window.innerHeight);const leftHalfPosOk=(cov_20dzm1ja8p().s[100]++,basePosition.left-tooltipRect.width/2>0);const rightHalfPosOk=(cov_20dzm1ja8p().s[101]++,basePosition.right+tooltipRect.width/2<window.innerWidth);const topHalfPosOk=(cov_20dzm1ja8p().s[102]++,basePosition.top-tooltipRect.height/2>0);const bottomHalfPosOk=(cov_20dzm1ja8p().s[103]++,basePosition.bottom+tooltipRect.height/2<window.innerHeight);cov_20dzm1ja8p().s[104]++;if(topPosOk){cov_20dzm1ja8p().b[54][0]++;cov_20dzm1ja8p().s[105]++;// tslint:disable-next-line:no-bitwise
|
|
62
|
+
allowedPositions=allowedPositions|TooltipPosition.topend;}else{cov_20dzm1ja8p().b[54][1]++;}cov_20dzm1ja8p().s[106]++;if(bottomPosOk){cov_20dzm1ja8p().b[55][0]++;cov_20dzm1ja8p().s[107]++;// tslint:disable-next-line:no-bitwise
|
|
63
|
+
allowedPositions=allowedPositions|TooltipPosition.bottomend;}else{cov_20dzm1ja8p().b[55][1]++;}cov_20dzm1ja8p().s[108]++;if((cov_20dzm1ja8p().b[57][0]++,leftPosOk)&&(cov_20dzm1ja8p().b[57][1]++,topHalfPosOk)&&(cov_20dzm1ja8p().b[57][2]++,bottomHalfPosOk)){cov_20dzm1ja8p().b[56][0]++;cov_20dzm1ja8p().s[109]++;// tslint:disable-next-line:no-bitwise
|
|
64
|
+
allowedPositions=allowedPositions|TooltipPosition.left;}else{cov_20dzm1ja8p().b[56][1]++;}cov_20dzm1ja8p().s[110]++;if((cov_20dzm1ja8p().b[59][0]++,rightPosOk)&&(cov_20dzm1ja8p().b[59][1]++,topHalfPosOk)&&(cov_20dzm1ja8p().b[59][2]++,bottomHalfPosOk)){cov_20dzm1ja8p().b[58][0]++;cov_20dzm1ja8p().s[111]++;// tslint:disable-next-line:no-bitwise
|
|
65
|
+
allowedPositions=allowedPositions|TooltipPosition.right;}else{cov_20dzm1ja8p().b[58][1]++;}cov_20dzm1ja8p().s[112]++;if((cov_20dzm1ja8p().b[61][0]++,topPosOk)&&(cov_20dzm1ja8p().b[61][1]++,leftHalfPosOk)&&(cov_20dzm1ja8p().b[61][2]++,rightHalfPosOk)){cov_20dzm1ja8p().b[60][0]++;cov_20dzm1ja8p().s[113]++;// tslint:disable-next-line:no-bitwise
|
|
66
|
+
allowedPositions=allowedPositions|TooltipPosition.top;}else{cov_20dzm1ja8p().b[60][1]++;}cov_20dzm1ja8p().s[114]++;if((cov_20dzm1ja8p().b[63][0]++,bottomPosOk)&&(cov_20dzm1ja8p().b[63][1]++,leftHalfPosOk)&&(cov_20dzm1ja8p().b[63][2]++,rightHalfPosOk)){cov_20dzm1ja8p().b[62][0]++;cov_20dzm1ja8p().s[115]++;// tslint:disable-next-line:no-bitwise
|
|
67
|
+
allowedPositions=allowedPositions|TooltipPosition.bottom;}else{cov_20dzm1ja8p().b[62][1]++;}cov_20dzm1ja8p().s[116]++;return allowedPositions;}// #endregion Public Methods
|
|
68
|
+
// #region Private Methods
|
|
69
|
+
/**
|
|
70
|
+
* Calculates the top of the page inside all elements
|
|
71
|
+
* @param element HTML Element
|
|
72
|
+
* @returns summarized top value for absolute position
|
|
73
|
+
*/getOffsetTopParent(element){cov_20dzm1ja8p().f[11]++;cov_20dzm1ja8p().s[117]++;if(element===null){cov_20dzm1ja8p().b[64][0]++;cov_20dzm1ja8p().s[118]++;return 0;}else{cov_20dzm1ja8p().b[64][1]++;}cov_20dzm1ja8p().s[119]++;if(!element.offsetParent){cov_20dzm1ja8p().b[65][0]++;cov_20dzm1ja8p().s[120]++;return element.offsetTop;}else{cov_20dzm1ja8p().b[65][1]++;}const parentValue=(cov_20dzm1ja8p().s[121]++,this.getOffsetTopParent(element.offsetParent));let offset=(cov_20dzm1ja8p().s[122]++,element.offsetTop);cov_20dzm1ja8p().s[123]++;return parentValue+offset;}/**
|
|
74
|
+
* Caclulate Scrollbars inside tree
|
|
75
|
+
* @param element HTML Element
|
|
76
|
+
* @param [isFixed=false] Invert Scroll Position value when style is fixed to preserve negative values
|
|
77
|
+
* @returns Scroll top value of element with all childs
|
|
78
|
+
*/getScrollTopParent(element,isFixed=(cov_20dzm1ja8p().b[66][0]++,false)){cov_20dzm1ja8p().f[12]++;cov_20dzm1ja8p().s[124]++;if(element===null){cov_20dzm1ja8p().b[67][0]++;cov_20dzm1ja8p().s[125]++;return 0;}else{cov_20dzm1ja8p().b[67][1]++;}// Body Scroll should not be calculated
|
|
79
|
+
cov_20dzm1ja8p().s[126]++;if(!element.parentElement){cov_20dzm1ja8p().b[68][0]++;cov_20dzm1ja8p().s[127]++;return isFixed?(cov_20dzm1ja8p().b[69][0]++,element.scrollTop):(cov_20dzm1ja8p().b[69][1]++,0);}else{cov_20dzm1ja8p().b[68][1]++;}let isCurrentFixed=(cov_20dzm1ja8p().s[128]++,false);cov_20dzm1ja8p().s[129]++;if(window.getComputedStyle(element).getPropertyValue('position')==='fixed'){cov_20dzm1ja8p().b[70][0]++;cov_20dzm1ja8p().s[130]++;isCurrentFixed=true;}else{cov_20dzm1ja8p().b[70][1]++;}const parentValue=(cov_20dzm1ja8p().s[131]++,this.getScrollTopParent(element.parentElement,(cov_20dzm1ja8p().b[71][0]++,isFixed)||(cov_20dzm1ja8p().b[71][1]++,isCurrentFixed)));cov_20dzm1ja8p().s[132]++;if(isFixed){cov_20dzm1ja8p().b[72][0]++;cov_20dzm1ja8p().s[133]++;return parentValue+element.scrollTop;}else{cov_20dzm1ja8p().b[72][1]++;cov_20dzm1ja8p().s[134]++;return parentValue+element.scrollTop*-1;}}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXBoZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy91dGlsaXRpZXMvcG9wdXBoZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sV0FBVztJQUNwQix5QkFBeUI7SUFFbEIsa0JBQWtCLENBQUMsa0JBQTJDLEVBQUUsb0JBQTZCO1FBQ2hHLElBQUksa0JBQWtCLEVBQUU7WUFDcEIsT0FBTyxvQkFBb0I7Z0JBQ3ZCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsWUFBWTtnQkFDakUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7U0FDdkQ7YUFBTTtZQUNILE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsa0JBQTJDLEVBQUUsb0JBQTZCO1FBQy9GLElBQUksa0JBQWtCLEVBQUU7WUFDcEIsT0FBTyxvQkFBb0I7Z0JBQ3ZCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsV0FBVztnQkFDaEUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7U0FDdEQ7YUFBTTtZQUNILE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxrQkFBa0IsQ0FDckIsa0JBQTJDLEVBQzNDLHFCQUE4QyxFQUM5QyxVQUFrQixFQUNsQixXQUFtQixFQUNuQixnQkFBd0IsRUFDeEIsb0JBQTZCO1FBRTdCLE1BQU0sY0FBYyxHQUFvQixJQUFJLENBQUMsaUJBQWlCLENBQzFELGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsVUFBVSxFQUNWLFdBQVcsRUFDWCxvQkFBb0IsQ0FDdkIsQ0FBQztRQUVGLHNDQUFzQztRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQ3JHLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQztTQUNoQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ2pHLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztTQUM5QjtRQUVELHNDQUFzQztRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQ25HLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQztTQUMvQjtRQUVELHNDQUFzQztRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQ3ZHLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDdkcsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ2pDO1FBRUQsSUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDN0QsY0FBYyxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQzVDO1lBQ0UsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDO1NBQ3BDO1FBRUQsK0JBQStCO1FBQy9CLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZDLHNDQUFzQztZQUN0QyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUM7YUFDaEM7WUFFRCxzQ0FBc0M7WUFDdEMsSUFBSSxjQUFjLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDO2FBQzlCO1lBRUQsc0NBQXNDO1lBQ3RDLElBQUksY0FBYyxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZDLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQzthQUMvQjtZQUVELHNDQUFzQztZQUN0QyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFO2dCQUN6QyxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDakM7WUFFRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDaEM7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsU0FBa0M7UUFDcEQsSUFBSSxTQUFTLEVBQUU7WUFDWCxPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQztTQUN0RTthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUM7U0FDWjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLFNBQWtDO1FBQ25ELElBQUksU0FBUyxFQUFFO1lBQ1gsT0FBTyxTQUFTLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztTQUNoRTthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUM7U0FDWjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLGdCQUF3QjtRQUN2QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQztTQUMvQjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekQsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDaEM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVELE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUQsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvRCxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUM7U0FDcEM7UUFFRCw0QkFBNEI7UUFDNUIsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLGVBQWUsQ0FDbEIsa0JBQTJDLEVBQzNDLGNBQXVDLEVBQ3ZDLGdCQUE0QixFQUM1QixVQUFrQixFQUNsQixXQUFtQixFQUNuQixpQkFBeUIsRUFDekIsb0JBQTZCO1FBRTdCLElBQUksa0JBQWtCLEtBQUssSUFBSSxJQUFJLGtCQUFrQixLQUFLLFNBQVMsRUFBRTtZQUNqRSxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7WUFFOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sU0FBUyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsaUJBQWlDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEYsTUFBTSxlQUFlLEdBQVksU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBRW5FLFFBQ0ksSUFBSSxDQUFDLGtCQUFrQixDQUNuQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG9CQUFvQixDQUN2QixFQUNIO29CQUNFLEtBQUssZUFBZSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsS0FBSyxlQUFlLENBQUMsTUFBTTt3QkFDdkIsT0FBTyxDQUNILGVBQWUsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQzVGLENBQUM7b0JBQ04sS0FBSyxlQUFlLENBQUMsTUFBTSxDQUFDO29CQUM1QixLQUFLLGVBQWUsQ0FBQyxTQUFTO3dCQUMxQixPQUFPLGVBQWUsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUM3RixLQUFLLGVBQWUsQ0FBQyxLQUFLO3dCQUN0QixPQUFPLGVBQWUsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO29CQUN6RSxLQUFLLGVBQWUsQ0FBQyxJQUFJO3dCQUNyQixPQUFPLGVBQWUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDaEc7Z0JBRUQsT0FBTyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNILE9BQU8sa0JBQWtCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQzthQUNyRDtTQUNKO2FBQU07WUFDSCxPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxjQUFjLENBQ2pCLGtCQUEyQyxFQUMzQyxjQUF1QyxFQUN2QyxnQkFBNEIsRUFDNUIsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsaUJBQXlCLEVBQ3pCLG9CQUE2QjtRQUU3QixJQUFJLGtCQUFrQixLQUFLLElBQUksSUFBSSxrQkFBa0IsS0FBSyxTQUFTLEVBQUU7WUFDakUsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDO1lBQzlDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO2dCQUMzQixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLGlCQUFpQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hGLE1BQU0sZUFBZSxHQUFZLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUVuRSwwRUFBMEU7Z0JBQzFFLE1BQU0sa0JBQWtCLEdBQ3BCLFNBQVMsQ0FBQyxTQUFTO29CQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFlBQTJCLENBQUM7b0JBQzlELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBRXJELFFBQ0ksSUFBSSxDQUFDLGtCQUFrQixDQUNuQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG9CQUFvQixDQUN2QixFQUNIO29CQUNFLEtBQUssZUFBZSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsS0FBSyxlQUFlLENBQUMsTUFBTTt3QkFDdkIsT0FBTyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUM3RixLQUFLLGVBQWUsQ0FBQyxLQUFLLENBQUM7b0JBQzNCLEtBQUssZUFBZSxDQUFDLElBQUk7d0JBQ3JCLE9BQU8sQ0FDSCxrQkFBa0IsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FDNUYsQ0FBQztvQkFDTixLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUM7b0JBQzVCLEtBQUssZUFBZSxDQUFDLFNBQVM7d0JBQzFCLE9BQU8sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLE1BQU0sR0FBRyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2lCQUM1RTtnQkFFRCxPQUFPLENBQ0gsU0FBUyxDQUFDLFNBQVM7b0JBQ25CLFNBQVMsQ0FBQyxTQUFTO29CQUNuQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQ3pFLENBQUM7YUFDTDtpQkFBTTtnQkFDSCxPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7YUFDckQ7U0FDSjthQUFNO1lBQ0gsT0FBTyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksV0FBVyxDQUFDLGdCQUF3QixFQUFFLGlCQUFrQztRQUMzRSxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFOUMsSUFBSSxpQkFBaUIsS0FBSyxlQUFlLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLGlCQUFpQixLQUFLLGVBQWUsQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUUsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELElBQUksaUJBQWlCLEtBQUssZUFBZSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RSxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSSxpQkFBaUIsS0FBSyxlQUFlLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLGlCQUFpQixLQUFLLGVBQWUsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEYsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELElBQUksaUJBQWlCLEtBQUssZUFBZSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGNBQWMsQ0FBQyxnQkFBd0I7UUFDMUMsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQ3BCLGtCQUEyQyxFQUMzQyxxQkFBOEMsRUFDOUMsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsb0JBQTZCO1FBRTdCLDhCQUE4QjtRQUM5QixJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRTtZQUNyQyxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDaEM7UUFFRCxJQUFJLGdCQUFnQixHQUFvQixlQUFlLENBQUMsSUFBSSxDQUFDO1FBQzdELE1BQU0sWUFBWSxHQUFZLG9CQUFvQjtZQUM5QyxDQUFDLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFO1lBQzVFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBWSxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUUzRyxNQUFNLFNBQVMsR0FBWSxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekYsTUFBTSxVQUFVLEdBQVksWUFBWSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BHLE1BQU0sUUFBUSxHQUFZLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRixNQUFNLFdBQVcsR0FBWSxZQUFZLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFFekcsTUFBTSxhQUFhLEdBQVksWUFBWSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0UsTUFBTSxjQUFjLEdBQVksWUFBWSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQy9GLE1BQU0sWUFBWSxHQUFZLFlBQVksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sZUFBZSxHQUFZLFlBQVksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUVuRyxJQUFJLFFBQVEsRUFBRTtZQUNWLHNDQUFzQztZQUN0QyxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxXQUFXLEVBQUU7WUFDYixzQ0FBc0M7WUFDdEMsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztTQUNuRTtRQUVELElBQUksU0FBUyxJQUFJLFlBQVksSUFBSSxlQUFlLEVBQUU7WUFDOUMsc0NBQXNDO1lBQ3RDLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7U0FDOUQ7UUFFRCxJQUFJLFVBQVUsSUFBSSxZQUFZLElBQUksZUFBZSxFQUFFO1lBQy9DLHNDQUFzQztZQUN0QyxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxRQUFRLElBQUksYUFBYSxJQUFJLGNBQWMsRUFBRTtZQUM3QyxzQ0FBc0M7WUFDdEMsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQztTQUM3RDtRQUVELElBQUksV0FBVyxJQUFJLGFBQWEsSUFBSSxjQUFjLEVBQUU7WUFDaEQsc0NBQXNDO1lBQ3RDLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7U0FDaEU7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsMEJBQTBCO0lBRTFCOzs7O09BSUc7SUFDSyxrQkFBa0IsQ0FBQyxPQUFvQjtRQUMzQyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDbEIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQztTQUM1QjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsWUFBMkIsQ0FBQyxDQUFDO1FBQ2pGLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDL0IsT0FBTyxXQUFXLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGtCQUFrQixDQUFDLE9BQW9CLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDNUQsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7UUFFRCx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxPQUFPLEVBQUU7WUFDM0UsY0FBYyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sSUFBSSxjQUFjLENBQUMsQ0FBQztRQUU5RixJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7U0FDMUM7YUFBTTtZQUNILE9BQU8sV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIFBvcFVwSGVscGVyIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICBwdWJsaWMgZ2V0Q29udGFpbmVySGVpZ2h0KHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHJlZmVyZW5jZUlzQ29udGFpbmVyOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHJlZmVyZW5jZUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZUlzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRIZWlnaHRcbiAgICAgICAgICAgICAgICA6IHJlZmVyZW5jZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbnRhaW5lcldpZHRoKHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHJlZmVyZW5jZUlzQ29udGFpbmVyOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHJlZmVyZW5jZUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZUlzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRXaWR0aFxuICAgICAgICAgICAgICAgIDogcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBQb3NpdGlvbiB3aG8gdGhlIHBvcHVwIHdvdWxkIGJlIHBvc2l0aW9uZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VDb250YWluZXIgRWxlbWVudCBSZWZlcmVuY2UgdG8gSFRNTCBFbGVtZW50IHdoaWNoIGlzIHRoZSByZWZlcmVuY2UgdG8gcG9zaXRpb25pbmcgdGhlIHBvcHVwXG4gICAgICogQHBhcmFtIHBvcHVwY29udGVudGNvbnRhaW5lciBFbGVtZW50IFJlZmVyZW5jZSB0byBjb250YWluZXIgb2YgcG9wdXBcbiAgICAgKiBAcGFyYW0gcG9wdXBPZmZzZXQgT2Zmc2V0IGZvciBwb3B1cCBwb3NpdGlvbmluZ1xuICAgICAqIEBwYXJhbSBhbGxvd2VkUG9zaXRpb25zIEFsbG93ZWQgUG9zaXRpb25zIGZvciB0aGUgcG9wdXBcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIHRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgcG9wdXAgc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgIHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHBvcHVwY29udGVudGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIGFycm93V2lkdGg6IG51bWJlcixcbiAgICAgICAgYXJyb3dIZWlnaHQ6IG51bWJlcixcbiAgICAgICAgYWxsb3dlZFBvc2l0aW9uczogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2VJc0NvbnRhaW5lcjogYm9vbGVhblxuICAgICk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIGNvbnN0IHZhbGlkUG9zaXRpb25zOiBUb29sdGlwUG9zaXRpb24gPSB0aGlzLnZhbGlkYXRlUG9zaXRpb25zKFxuICAgICAgICAgICAgcmVmZXJlbmNlQ29udGFpbmVyLFxuICAgICAgICAgICAgcG9wdXBjb250ZW50Y29udGFpbmVyLFxuICAgICAgICAgICAgYXJyb3dXaWR0aCxcbiAgICAgICAgICAgIGFycm93SGVpZ2h0LFxuICAgICAgICAgICAgcmVmZXJlbmNlSXNDb250YWluZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24ucmlnaHQpICYmIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLnRvcCkgJiYgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgIGlmICh0aGlzLmhhc1Bvc2l0aW9uKGFsbG93ZWRQb3NpdGlvbnMsIFRvb2x0aXBQb3NpdGlvbi5sZWZ0KSAmJiB2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5sZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24uYm90dG9tKSAmJiB2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkgJiYgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wZW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZCkgJiZcbiAgICAgICAgICAgIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IEF1dG8gUG9zaXRpb24gb3IgRGVmYXVsdFxuICAgICAgICBpZiAodGhpcy5pc0F1dG9Qb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zKSkge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBpZiAodmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi50b3A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBpZiAodmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24ubGVmdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ubGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBvc2l0aW9uKGFsbG93ZWRQb3NpdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSBwb3B1cFxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRhaW5lciBFbGVtZW50IFJlZmVyZW5jZSB0byBjb250YWluZXIgb2YgcG9wdXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9wdXBIZWlnaHQoY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IG51bWJlciB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBjb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRIZWlnaHQgPz8gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBvcHVwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGNvbnRhaW5lciBvZiBwb3B1cFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQb3B1cFdpZHRoKGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiBudW1iZXIge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xpZW50V2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGRlZmluZWQgcG9zaXRpb24gZm9yIHRoZSB0b29sdGlwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWxsb3dlZFBvc2l0aW9ucyBBbGxvd2VkIHBvc2l0aW9ucyBkZWZpbmVkIGluIG1hcmt1cCBmb3IgcG9wdXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9zaXRpb24oYWxsb3dlZFBvc2l0aW9uczogc3RyaW5nKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmxlZnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24udG9wKSkge1xuICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi50b3A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24ucmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24udG9wZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBQb3NpdGlvbiBpZiBlbXB0eVxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gbGlua3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sUmVmZXJlbmNlIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGFuZ3VsYXIgY29tcG9uZW50XG4gICAgICogQHBhcmFtIHBvcHVwQ29udGFpbmVyIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGNvbnRhaW5lciBvZiBwb3B1cFxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VDb250YWluZXIgRWxlbWVudCBSZWZlcmVuY2UgdG8gSFRNTCBFbGVtZW50IHdoaWNoIGlzIHRoZSByZWZlcmVuY2UgdG8gcG9zaXRpb25pbmcgdGhlIHBvcHVwXG4gICAgICogQHBhcmFtIHBvcHVwT2Zmc2V0IE9mZnNldCBmb3IgcG9wdXAgcG9zaXRpb25pbmdcbiAgICAgKiBAcGFyYW0gcmVxdWVzdGVkUG9zaXRpb24gUmVxdWVzdGVkIFBvc2l0aW9uIGJ5IENvbnRyb2xcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICByZWZlcmVuY2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwb3B1cENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIGNvbnRyb2xSZWZlcmVuY2U6IEVsZW1lbnRSZWYsXG4gICAgICAgIGFycm93V2lkdGg6IG51bWJlcixcbiAgICAgICAgYXJyb3dIZWlnaHQ6IG51bWJlcixcbiAgICAgICAgcmVxdWVzdGVkUG9zaXRpb246IHN0cmluZyxcbiAgICAgICAgcmVmZXJlbmNlSXNDb250YWluZXI6IGJvb2xlYW5cbiAgICApOiBudW1iZXIge1xuICAgICAgICBpZiAocmVmZXJlbmNlQ29udGFpbmVyICE9PSBudWxsICYmIHJlZmVyZW5jZUNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuLmxlbmd0aCA+PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gcmVmZXJlbmNlSXNDb250YWluZXIgPyAoaXRlbS5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkgOiBpdGVtO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvbjogRE9NUmVjdCA9IGNoaWxkSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIHN3aXRjaCAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGlzcGxheVBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlQ29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXBDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcnJvd1dpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3dIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUlzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b206XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoIC8gMiAtIHRoaXMuZ2V0UG9wdXBXaWR0aChwb3B1cENvbnRhaW5lcikgLyAyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb24ubGVmdCArIGNvbnRlbnRQb3NpdGlvbi53aWR0aCAtIHRoaXMuZ2V0UG9wdXBXaWR0aChwb3B1cENvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoICsgYXJyb3dXaWR0aCAvIDI7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLmxlZnQgLSB0aGlzLmdldFBvcHVwV2lkdGgocG9wdXBDb250YWluZXIpICsgKGFycm93V2lkdGggLyAyKSAqIC0xO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sUmVmZXJlbmNlIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGFuZ3VsYXIgY29tcG9uZW50XG4gICAgICogQHBhcmFtIHBvcHVwQ29udGFpbmVyIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGNvbnRhaW5lciBvZiBwb3B1cFxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VDb250YWluZXIgRWxlbWVudCBSZWZlcmVuY2UgdG8gSFRNTCBFbGVtZW50IHdoaWNoIGlzIHRoZSByZWZlcmVuY2UgdG8gcG9zaXRpb25pbmcgdGhlIHBvcHVwXG4gICAgICogQHBhcmFtIHBvcHVwT2Zmc2V0IE9mZnNldCBmb3IgcG9wdXAgcG9zaXRpb25pbmdcbiAgICAgKiBAcGFyYW0gcmVxdWVzdGVkUG9zaXRpb24gUmVxdWVzdGVkIFBvc2l0aW9uIGJ5IENvbnRyb2xcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9zaXRpb25Ub3AoXG4gICAgICAgIHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHBvcHVwQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgY29udHJvbFJlZmVyZW5jZTogRWxlbWVudFJlZixcbiAgICAgICAgYXJyb3dXaWR0aDogbnVtYmVyLFxuICAgICAgICBhcnJvd0hlaWdodDogbnVtYmVyLFxuICAgICAgICByZXF1ZXN0ZWRQb3NpdGlvbjogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2VJc0NvbnRhaW5lcjogYm9vbGVhblxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGlmIChyZWZlcmVuY2VDb250YWluZXIgIT09IG51bGwgJiYgcmVmZXJlbmNlQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuLmxlbmd0aCA+PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gcmVmZXJlbmNlSXNDb250YWluZXIgPyAoaXRlbS5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkgOiBpdGVtO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvbjogRE9NUmVjdCA9IGNoaWxkSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIC8vIEdldCBQb3NpdGlvbiB3aXRoIFNjcm9sbCAoU2Nyb2xsYmFycyBpbnNpZGUgcGFnZSBzaG91bGQgYmUgc3Vic3RyYWN0ZWQpXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudFBvc2l0aW9uVG9wID1cbiAgICAgICAgICAgICAgICAgICAgY2hpbGRJdGVtLm9mZnNldFRvcCArXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0T2Zmc2V0VG9wUGFyZW50KGNoaWxkSXRlbS5vZmZzZXRQYXJlbnQgYXMgSFRNTEVsZW1lbnQpICtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRTY3JvbGxUb3BQYXJlbnQoY2hpbGRJdGVtLnBhcmVudEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1cENvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFycm93V2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcnJvd0hlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlSXNDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3A6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb25Ub3AgLSB0aGlzLmdldFBvcHVwSGVpZ2h0KHBvcHVwQ29udGFpbmVyKSArIChhcnJvd0hlaWdodCAvIDIpICogLTE7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5sZWZ0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50UG9zaXRpb25Ub3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0IC8gMiAtIHRoaXMuZ2V0UG9wdXBIZWlnaHQocG9wdXBDb250YWluZXIpIC8gMlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uVG9wICsgY29udGVudFBvc2l0aW9uLmhlaWdodCArIGFycm93SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICBjaGlsZEl0ZW0uY2xpZW50VG9wICtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRJdGVtLm9mZnNldFRvcCAtXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmdldFBvcHVwSGVpZ2h0KHBvcHVwQ29udGFpbmVyKSAvIDIgLSBjaGlsZEl0ZW0ub2Zmc2V0SGVpZ2h0IC8gMilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xSZWZlcmVuY2UubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHBvc2l0aW9uIGhhcyBiZWVuIGNvbmZpZ3VyZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhbGxvd2VkUG9zaXRpb25zIFBvc2l0aW9ucyB0aGF0IGFsbG93ZWQgYnkgY29udHJvbFxuICAgICAqIEBwYXJhbSByZXF1ZXN0ZWRQb3NpdGlvbiBQb3NpdGlvbiB0byBiZSBjaGVja2VkXG4gICAgICovXG4gICAgcHVibGljIGhhc1Bvc2l0aW9uKGFsbG93ZWRQb3NpdGlvbnM6IHN0cmluZywgcmVxdWVzdGVkUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zLnNwbGl0KCd8Jyk7XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHQgJiYgcG9zaXRpb25zLmluZGV4T2YoJ3JpZ2h0JykgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdGVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi50b3AgJiYgcG9zaXRpb25zLmluZGV4T2YoJ3RvcCcpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ubGVmdCAmJiBwb3NpdGlvbnMuaW5kZXhPZignbGVmdCcpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24uYm90dG9tICYmIHBvc2l0aW9ucy5pbmRleE9mKCdib3R0b20nKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXF1ZXN0ZWRQb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCAmJiBwb3NpdGlvbnMuaW5kZXhPZigndG9wZW5kJykgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kICYmIHBvc2l0aW9ucy5pbmRleE9mKCdib3R0b21lbmQnKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgQXV0b1Bvc2l0aW9uIGlzIGFjdGl2ZVxuICAgICAqIEBwYXJhbSBwb3NpdGlvblByb3BlcnR5IExpc3Qgb2YgYWxsb3dlZCBwb3NpdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNBdXRvUG9zaXRpb24ocG9zaXRpb25Qcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHBvc2l0aW9uUHJvcGVydHkuc3BsaXQoJ3wnKTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9ucy5pbmRleE9mKCdhdXRvJykgPj0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgcG9zaXRpb24gaXMgdmFsaWQgb3Igd2hldGhlciB0aGUgdG9vbHRpcCBvbiB0aGUgcG9zaXRpb24gaGFzIHNwYWNlXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlUG9zaXRpb25zKFxuICAgICAgICByZWZlcmVuY2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwb3B1cGNvbnRlbnRjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBhcnJvd1dpZHRoOiBudW1iZXIsXG4gICAgICAgIGFycm93SGVpZ2h0OiBudW1iZXIsXG4gICAgICAgIHJlZmVyZW5jZUlzQ29udGFpbmVyOiBib29sZWFuXG4gICAgKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgQ29udGFpbmVyIGlzIGZhbHNlXG4gICAgICAgIGlmIChwb3B1cGNvbnRlbnRjb250YWluZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhbGxvd2VkUG9zaXRpb25zOiBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24ubm9uZTtcbiAgICAgICAgY29uc3QgYmFzZVBvc2l0aW9uOiBET01SZWN0ID0gcmVmZXJlbmNlSXNDb250YWluZXJcbiAgICAgICAgICAgID8gcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgICAgIDogcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0OiBET01SZWN0ID0gcG9wdXBjb250ZW50Y29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgY29uc3QgbGVmdFBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLmxlZnQgLSAodG9vbHRpcFJlY3Qud2lkdGggKyBhcnJvd1dpZHRoICogLTEpID4gMDtcbiAgICAgICAgY29uc3QgcmlnaHRQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5yaWdodCArIHRvb2x0aXBSZWN0LndpZHRoICsgYXJyb3dXaWR0aCA8IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICBjb25zdCB0b3BQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi50b3AgLSAodG9vbHRpcFJlY3QuaGVpZ2h0ICsgYXJyb3dIZWlnaHQpID4gMDtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24uYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgYXJyb3dIZWlnaHQgPCB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICAgICAgY29uc3QgbGVmdEhhbGZQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyID4gMDtcbiAgICAgICAgY29uc3QgcmlnaHRIYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24ucmlnaHQgKyB0b29sdGlwUmVjdC53aWR0aCAvIDIgPCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgY29uc3QgdG9wSGFsZlBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAvIDIgPiAwO1xuICAgICAgICBjb25zdCBib3R0b21IYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24uYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiA8IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgICAgICBpZiAodG9wUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYm90dG9tUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGVmdFBvc09rICYmIHRvcEhhbGZQb3NPayAmJiBib3R0b21IYWxmUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJpZ2h0UG9zT2sgJiYgdG9wSGFsZlBvc09rICYmIGJvdHRvbUhhbGZQb3NPaykge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRvcFBvc09rICYmIGxlZnRIYWxmUG9zT2sgJiYgcmlnaHRIYWxmUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi50b3A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYm90dG9tUG9zT2sgJiYgbGVmdEhhbGZQb3NPayAmJiByaWdodEhhbGZQb3NPaykge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbGxvd2VkUG9zaXRpb25zO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB0b3Agb2YgdGhlIHBhZ2UgaW5zaWRlIGFsbCBlbGVtZW50c1xuICAgICAqIEBwYXJhbSBlbGVtZW50IEhUTUwgRWxlbWVudFxuICAgICAqIEByZXR1cm5zIHN1bW1hcml6ZWQgdG9wIHZhbHVlIGZvciBhYnNvbHV0ZSBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0T2Zmc2V0VG9wUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFlbGVtZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWUgPSB0aGlzLmdldE9mZnNldFRvcFBhcmVudChlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIGxldCBvZmZzZXQgPSBlbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgcmV0dXJuIHBhcmVudFZhbHVlICsgb2Zmc2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhY2x1bGF0ZSBTY3JvbGxiYXJzIGluc2lkZSB0cmVlXG4gICAgICogQHBhcmFtIGVsZW1lbnQgSFRNTCBFbGVtZW50XG4gICAgICogQHBhcmFtIFtpc0ZpeGVkPWZhbHNlXSBJbnZlcnQgU2Nyb2xsIFBvc2l0aW9uIHZhbHVlIHdoZW4gc3R5bGUgaXMgZml4ZWQgdG8gcHJlc2VydmUgbmVnYXRpdmUgdmFsdWVzXG4gICAgICogQHJldHVybnMgU2Nyb2xsIHRvcCB2YWx1ZSBvZiBlbGVtZW50IHdpdGggYWxsIGNoaWxkc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U2Nyb2xsVG9wUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpc0ZpeGVkID0gZmFsc2UpOiBudW1iZXIge1xuICAgICAgICBpZiAoZWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCb2R5IFNjcm9sbCBzaG91bGQgbm90IGJlIGNhbGN1bGF0ZWRcbiAgICAgICAgaWYgKCFlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBpc0ZpeGVkID8gZWxlbWVudC5zY3JvbGxUb3AgOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlzQ3VycmVudEZpeGVkID0gZmFsc2U7XG4gICAgICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCdwb3NpdGlvbicpID09PSAnZml4ZWQnKSB7XG4gICAgICAgICAgICBpc0N1cnJlbnRGaXhlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZSA9IHRoaXMuZ2V0U2Nyb2xsVG9wUGFyZW50KGVsZW1lbnQucGFyZW50RWxlbWVudCwgaXNGaXhlZCB8fCBpc0N1cnJlbnRGaXhlZCk7XG5cbiAgICAgICAgaWYgKGlzRml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnRWYWx1ZSArIGVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudFZhbHVlICsgZWxlbWVudC5zY3JvbGxUb3AgKiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXX0=
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMjBkem0xamE4cCIsImFjdHVhbENvdmVyYWdlIiwiVG9vbHRpcFBvc2l0aW9uIiwiUG9wVXBIZWxwZXIiLCJnZXRDb250YWluZXJIZWlnaHQiLCJyZWZlcmVuY2VDb250YWluZXIiLCJyZWZlcmVuY2VJc0NvbnRhaW5lciIsImYiLCJzIiwiYiIsIm5hdGl2ZUVsZW1lbnQiLCJmaXJzdEVsZW1lbnRDaGlsZCIsImNsaWVudEhlaWdodCIsIm9mZnNldEhlaWdodCIsImdldENvbnRhaW5lcldpZHRoIiwiY2xpZW50V2lkdGgiLCJvZmZzZXRXaWR0aCIsImdldERpc3BsYXlQb3NpdGlvbiIsInBvcHVwY29udGVudGNvbnRhaW5lciIsImFycm93V2lkdGgiLCJhcnJvd0hlaWdodCIsImFsbG93ZWRQb3NpdGlvbnMiLCJ2YWxpZFBvc2l0aW9ucyIsInZhbGlkYXRlUG9zaXRpb25zIiwiaGFzUG9zaXRpb24iLCJyaWdodCIsInRvcCIsImxlZnQiLCJib3R0b20iLCJ0b3BlbmQiLCJib3R0b21lbmQiLCJpc0F1dG9Qb3NpdGlvbiIsImdldFBvc2l0aW9uIiwiZ2V0UG9wdXBIZWlnaHQiLCJjb250YWluZXIiLCJnZXRQb3B1cFdpZHRoIiwiZ2V0UG9zaXRpb25MZWZ0IiwicG9wdXBDb250YWluZXIiLCJjb250cm9sUmVmZXJlbmNlIiwicmVxdWVzdGVkUG9zaXRpb24iLCJ1bmRlZmluZWQiLCJpdGVtIiwiY2hpbGRyZW4iLCJsZW5ndGgiLCJjaGlsZEl0ZW0iLCJjb250ZW50UG9zaXRpb24iLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aWR0aCIsIm9mZnNldFRvcCIsIm9mZnNldExlZnQiLCJnZXRQb3NpdGlvblRvcCIsImNvbnRlbnRQb3NpdGlvblRvcCIsImdldE9mZnNldFRvcFBhcmVudCIsIm9mZnNldFBhcmVudCIsImdldFNjcm9sbFRvcFBhcmVudCIsInBhcmVudEVsZW1lbnQiLCJoZWlnaHQiLCJjbGllbnRUb3AiLCJwb3NpdGlvbnMiLCJzcGxpdCIsImluZGV4T2YiLCJwb3NpdGlvblByb3BlcnR5Iiwibm9uZSIsImJhc2VQb3NpdGlvbiIsInRvb2x0aXBSZWN0IiwibGVmdFBvc09rIiwicmlnaHRQb3NPayIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJ0b3BQb3NPayIsImJvdHRvbVBvc09rIiwiaW5uZXJIZWlnaHQiLCJsZWZ0SGFsZlBvc09rIiwicmlnaHRIYWxmUG9zT2siLCJ0b3BIYWxmUG9zT2siLCJib3R0b21IYWxmUG9zT2siLCJlbGVtZW50IiwicGFyZW50VmFsdWUiLCJvZmZzZXQiLCJpc0ZpeGVkIiwic2Nyb2xsVG9wIiwiaXNDdXJyZW50Rml4ZWQiLCJnZXRDb21wdXRlZFN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3V0aWxpdGllcy9wb3B1cGhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIFBvcFVwSGVscGVyIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICBwdWJsaWMgZ2V0Q29udGFpbmVySGVpZ2h0KHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHJlZmVyZW5jZUlzQ29udGFpbmVyOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHJlZmVyZW5jZUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZUlzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRIZWlnaHRcbiAgICAgICAgICAgICAgICA6IHJlZmVyZW5jZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbnRhaW5lcldpZHRoKHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHJlZmVyZW5jZUlzQ29udGFpbmVyOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHJlZmVyZW5jZUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZUlzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRXaWR0aFxuICAgICAgICAgICAgICAgIDogcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBQb3NpdGlvbiB3aG8gdGhlIHBvcHVwIHdvdWxkIGJlIHBvc2l0aW9uZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VDb250YWluZXIgRWxlbWVudCBSZWZlcmVuY2UgdG8gSFRNTCBFbGVtZW50IHdoaWNoIGlzIHRoZSByZWZlcmVuY2UgdG8gcG9zaXRpb25pbmcgdGhlIHBvcHVwXG4gICAgICogQHBhcmFtIHBvcHVwY29udGVudGNvbnRhaW5lciBFbGVtZW50IFJlZmVyZW5jZSB0byBjb250YWluZXIgb2YgcG9wdXBcbiAgICAgKiBAcGFyYW0gcG9wdXBPZmZzZXQgT2Zmc2V0IGZvciBwb3B1cCBwb3NpdGlvbmluZ1xuICAgICAqIEBwYXJhbSBhbGxvd2VkUG9zaXRpb25zIEFsbG93ZWQgUG9zaXRpb25zIGZvciB0aGUgcG9wdXBcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIHRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgcG9wdXAgc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgIHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHBvcHVwY29udGVudGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIGFycm93V2lkdGg6IG51bWJlcixcbiAgICAgICAgYXJyb3dIZWlnaHQ6IG51bWJlcixcbiAgICAgICAgYWxsb3dlZFBvc2l0aW9uczogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2VJc0NvbnRhaW5lcjogYm9vbGVhblxuICAgICk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIGNvbnN0IHZhbGlkUG9zaXRpb25zOiBUb29sdGlwUG9zaXRpb24gPSB0aGlzLnZhbGlkYXRlUG9zaXRpb25zKFxuICAgICAgICAgICAgcmVmZXJlbmNlQ29udGFpbmVyLFxuICAgICAgICAgICAgcG9wdXBjb250ZW50Y29udGFpbmVyLFxuICAgICAgICAgICAgYXJyb3dXaWR0aCxcbiAgICAgICAgICAgIGFycm93SGVpZ2h0LFxuICAgICAgICAgICAgcmVmZXJlbmNlSXNDb250YWluZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24ucmlnaHQpICYmIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLnRvcCkgJiYgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgIGlmICh0aGlzLmhhc1Bvc2l0aW9uKGFsbG93ZWRQb3NpdGlvbnMsIFRvb2x0aXBQb3NpdGlvbi5sZWZ0KSAmJiB2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5sZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24uYm90dG9tKSAmJiB2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkgJiYgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wZW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZCkgJiZcbiAgICAgICAgICAgIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IEF1dG8gUG9zaXRpb24gb3IgRGVmYXVsdFxuICAgICAgICBpZiAodGhpcy5pc0F1dG9Qb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zKSkge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBpZiAodmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi50b3A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBpZiAodmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24ubGVmdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ubGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBvc2l0aW9uKGFsbG93ZWRQb3NpdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSBwb3B1cFxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRhaW5lciBFbGVtZW50IFJlZmVyZW5jZSB0byBjb250YWluZXIgb2YgcG9wdXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9wdXBIZWlnaHQoY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IG51bWJlciB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBjb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRIZWlnaHQgPz8gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBvcHVwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGNvbnRhaW5lciBvZiBwb3B1cFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQb3B1cFdpZHRoKGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiBudW1iZXIge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xpZW50V2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGRlZmluZWQgcG9zaXRpb24gZm9yIHRoZSB0b29sdGlwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWxsb3dlZFBvc2l0aW9ucyBBbGxvd2VkIHBvc2l0aW9ucyBkZWZpbmVkIGluIG1hcmt1cCBmb3IgcG9wdXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9zaXRpb24oYWxsb3dlZFBvc2l0aW9uczogc3RyaW5nKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmxlZnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24udG9wKSkge1xuICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi50b3A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNQb3NpdGlvbihhbGxvd2VkUG9zaXRpb25zLCBUb29sdGlwUG9zaXRpb24ucmlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24udG9wZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUG9zaXRpb24oYWxsb3dlZFBvc2l0aW9ucywgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBQb3NpdGlvbiBpZiBlbXB0eVxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gbGlua3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sUmVmZXJlbmNlIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGFuZ3VsYXIgY29tcG9uZW50XG4gICAgICogQHBhcmFtIHBvcHVwQ29udGFpbmVyIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGNvbnRhaW5lciBvZiBwb3B1cFxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VDb250YWluZXIgRWxlbWVudCBSZWZlcmVuY2UgdG8gSFRNTCBFbGVtZW50IHdoaWNoIGlzIHRoZSByZWZlcmVuY2UgdG8gcG9zaXRpb25pbmcgdGhlIHBvcHVwXG4gICAgICogQHBhcmFtIHBvcHVwT2Zmc2V0IE9mZnNldCBmb3IgcG9wdXAgcG9zaXRpb25pbmdcbiAgICAgKiBAcGFyYW0gcmVxdWVzdGVkUG9zaXRpb24gUmVxdWVzdGVkIFBvc2l0aW9uIGJ5IENvbnRyb2xcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICByZWZlcmVuY2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwb3B1cENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIGNvbnRyb2xSZWZlcmVuY2U6IEVsZW1lbnRSZWYsXG4gICAgICAgIGFycm93V2lkdGg6IG51bWJlcixcbiAgICAgICAgYXJyb3dIZWlnaHQ6IG51bWJlcixcbiAgICAgICAgcmVxdWVzdGVkUG9zaXRpb246IHN0cmluZyxcbiAgICAgICAgcmVmZXJlbmNlSXNDb250YWluZXI6IGJvb2xlYW5cbiAgICApOiBudW1iZXIge1xuICAgICAgICBpZiAocmVmZXJlbmNlQ29udGFpbmVyICE9PSBudWxsICYmIHJlZmVyZW5jZUNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuLmxlbmd0aCA+PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gcmVmZXJlbmNlSXNDb250YWluZXIgPyAoaXRlbS5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkgOiBpdGVtO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvbjogRE9NUmVjdCA9IGNoaWxkSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIHN3aXRjaCAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGlzcGxheVBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlQ29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXBDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcnJvd1dpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3dIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUlzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b206XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoIC8gMiAtIHRoaXMuZ2V0UG9wdXBXaWR0aChwb3B1cENvbnRhaW5lcikgLyAyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb24ubGVmdCArIGNvbnRlbnRQb3NpdGlvbi53aWR0aCAtIHRoaXMuZ2V0UG9wdXBXaWR0aChwb3B1cENvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoICsgYXJyb3dXaWR0aCAvIDI7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLmxlZnQgLSB0aGlzLmdldFBvcHVwV2lkdGgocG9wdXBDb250YWluZXIpICsgKGFycm93V2lkdGggLyAyKSAqIC0xO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sUmVmZXJlbmNlIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGFuZ3VsYXIgY29tcG9uZW50XG4gICAgICogQHBhcmFtIHBvcHVwQ29udGFpbmVyIEVsZW1lbnQgUmVmZXJlbmNlIHRvIGNvbnRhaW5lciBvZiBwb3B1cFxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VDb250YWluZXIgRWxlbWVudCBSZWZlcmVuY2UgdG8gSFRNTCBFbGVtZW50IHdoaWNoIGlzIHRoZSByZWZlcmVuY2UgdG8gcG9zaXRpb25pbmcgdGhlIHBvcHVwXG4gICAgICogQHBhcmFtIHBvcHVwT2Zmc2V0IE9mZnNldCBmb3IgcG9wdXAgcG9zaXRpb25pbmdcbiAgICAgKiBAcGFyYW0gcmVxdWVzdGVkUG9zaXRpb24gUmVxdWVzdGVkIFBvc2l0aW9uIGJ5IENvbnRyb2xcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9zaXRpb25Ub3AoXG4gICAgICAgIHJlZmVyZW5jZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHBvcHVwQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgY29udHJvbFJlZmVyZW5jZTogRWxlbWVudFJlZixcbiAgICAgICAgYXJyb3dXaWR0aDogbnVtYmVyLFxuICAgICAgICBhcnJvd0hlaWdodDogbnVtYmVyLFxuICAgICAgICByZXF1ZXN0ZWRQb3NpdGlvbjogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2VJc0NvbnRhaW5lcjogYm9vbGVhblxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGlmIChyZWZlcmVuY2VDb250YWluZXIgIT09IG51bGwgJiYgcmVmZXJlbmNlQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSByZWZlcmVuY2VDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuLmxlbmd0aCA+PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gcmVmZXJlbmNlSXNDb250YWluZXIgPyAoaXRlbS5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkgOiBpdGVtO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvbjogRE9NUmVjdCA9IGNoaWxkSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIC8vIEdldCBQb3NpdGlvbiB3aXRoIFNjcm9sbCAoU2Nyb2xsYmFycyBpbnNpZGUgcGFnZSBzaG91bGQgYmUgc3Vic3RyYWN0ZWQpXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudFBvc2l0aW9uVG9wID1cbiAgICAgICAgICAgICAgICAgICAgY2hpbGRJdGVtLm9mZnNldFRvcCArXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0T2Zmc2V0VG9wUGFyZW50KGNoaWxkSXRlbS5vZmZzZXRQYXJlbnQgYXMgSFRNTEVsZW1lbnQpICtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRTY3JvbGxUb3BQYXJlbnQoY2hpbGRJdGVtLnBhcmVudEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1cENvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFycm93V2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcnJvd0hlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlSXNDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3A6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb25Ub3AgLSB0aGlzLmdldFBvcHVwSGVpZ2h0KHBvcHVwQ29udGFpbmVyKSArIChhcnJvd0hlaWdodCAvIDIpICogLTE7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5sZWZ0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50UG9zaXRpb25Ub3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0IC8gMiAtIHRoaXMuZ2V0UG9wdXBIZWlnaHQocG9wdXBDb250YWluZXIpIC8gMlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uVG9wICsgY29udGVudFBvc2l0aW9uLmhlaWdodCArIGFycm93SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICBjaGlsZEl0ZW0uY2xpZW50VG9wICtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRJdGVtLm9mZnNldFRvcCAtXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmdldFBvcHVwSGVpZ2h0KHBvcHVwQ29udGFpbmVyKSAvIDIgLSBjaGlsZEl0ZW0ub2Zmc2V0SGVpZ2h0IC8gMilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xSZWZlcmVuY2UubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHBvc2l0aW9uIGhhcyBiZWVuIGNvbmZpZ3VyZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhbGxvd2VkUG9zaXRpb25zIFBvc2l0aW9ucyB0aGF0IGFsbG93ZWQgYnkgY29udHJvbFxuICAgICAqIEBwYXJhbSByZXF1ZXN0ZWRQb3NpdGlvbiBQb3NpdGlvbiB0byBiZSBjaGVja2VkXG4gICAgICovXG4gICAgcHVibGljIGhhc1Bvc2l0aW9uKGFsbG93ZWRQb3NpdGlvbnM6IHN0cmluZywgcmVxdWVzdGVkUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zLnNwbGl0KCd8Jyk7XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHQgJiYgcG9zaXRpb25zLmluZGV4T2YoJ3JpZ2h0JykgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdGVkUG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi50b3AgJiYgcG9zaXRpb25zLmluZGV4T2YoJ3RvcCcpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ubGVmdCAmJiBwb3NpdGlvbnMuaW5kZXhPZignbGVmdCcpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24uYm90dG9tICYmIHBvc2l0aW9ucy5pbmRleE9mKCdib3R0b20nKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXF1ZXN0ZWRQb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCAmJiBwb3NpdGlvbnMuaW5kZXhPZigndG9wZW5kJykgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3RlZFBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kICYmIHBvc2l0aW9ucy5pbmRleE9mKCdib3R0b21lbmQnKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgQXV0b1Bvc2l0aW9uIGlzIGFjdGl2ZVxuICAgICAqIEBwYXJhbSBwb3NpdGlvblByb3BlcnR5IExpc3Qgb2YgYWxsb3dlZCBwb3NpdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNBdXRvUG9zaXRpb24ocG9zaXRpb25Qcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHBvc2l0aW9uUHJvcGVydHkuc3BsaXQoJ3wnKTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9ucy5pbmRleE9mKCdhdXRvJykgPj0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgcG9zaXRpb24gaXMgdmFsaWQgb3Igd2hldGhlciB0aGUgdG9vbHRpcCBvbiB0aGUgcG9zaXRpb24gaGFzIHNwYWNlXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlUG9zaXRpb25zKFxuICAgICAgICByZWZlcmVuY2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwb3B1cGNvbnRlbnRjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBhcnJvd1dpZHRoOiBudW1iZXIsXG4gICAgICAgIGFycm93SGVpZ2h0OiBudW1iZXIsXG4gICAgICAgIHJlZmVyZW5jZUlzQ29udGFpbmVyOiBib29sZWFuXG4gICAgKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgQ29udGFpbmVyIGlzIGZhbHNlXG4gICAgICAgIGlmIChwb3B1cGNvbnRlbnRjb250YWluZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhbGxvd2VkUG9zaXRpb25zOiBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24ubm9uZTtcbiAgICAgICAgY29uc3QgYmFzZVBvc2l0aW9uOiBET01SZWN0ID0gcmVmZXJlbmNlSXNDb250YWluZXJcbiAgICAgICAgICAgID8gcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgICAgIDogcmVmZXJlbmNlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0OiBET01SZWN0ID0gcG9wdXBjb250ZW50Y29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgY29uc3QgbGVmdFBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLmxlZnQgLSAodG9vbHRpcFJlY3Qud2lkdGggKyBhcnJvd1dpZHRoICogLTEpID4gMDtcbiAgICAgICAgY29uc3QgcmlnaHRQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5yaWdodCArIHRvb2x0aXBSZWN0LndpZHRoICsgYXJyb3dXaWR0aCA8IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICBjb25zdCB0b3BQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi50b3AgLSAodG9vbHRpcFJlY3QuaGVpZ2h0ICsgYXJyb3dIZWlnaHQpID4gMDtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24uYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgYXJyb3dIZWlnaHQgPCB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICAgICAgY29uc3QgbGVmdEhhbGZQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyID4gMDtcbiAgICAgICAgY29uc3QgcmlnaHRIYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24ucmlnaHQgKyB0b29sdGlwUmVjdC53aWR0aCAvIDIgPCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgY29uc3QgdG9wSGFsZlBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAvIDIgPiAwO1xuICAgICAgICBjb25zdCBib3R0b21IYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24uYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiA8IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgICAgICBpZiAodG9wUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYm90dG9tUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGVmdFBvc09rICYmIHRvcEhhbGZQb3NPayAmJiBib3R0b21IYWxmUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJpZ2h0UG9zT2sgJiYgdG9wSGFsZlBvc09rICYmIGJvdHRvbUhhbGZQb3NPaykge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRvcFBvc09rICYmIGxlZnRIYWxmUG9zT2sgJiYgcmlnaHRIYWxmUG9zT2spIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi50b3A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYm90dG9tUG9zT2sgJiYgbGVmdEhhbGZQb3NPayAmJiByaWdodEhhbGZQb3NPaykge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbGxvd2VkUG9zaXRpb25zO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB0b3Agb2YgdGhlIHBhZ2UgaW5zaWRlIGFsbCBlbGVtZW50c1xuICAgICAqIEBwYXJhbSBlbGVtZW50IEhUTUwgRWxlbWVudFxuICAgICAqIEByZXR1cm5zIHN1bW1hcml6ZWQgdG9wIHZhbHVlIGZvciBhYnNvbHV0ZSBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0T2Zmc2V0VG9wUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFlbGVtZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWUgPSB0aGlzLmdldE9mZnNldFRvcFBhcmVudChlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIGxldCBvZmZzZXQgPSBlbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgcmV0dXJuIHBhcmVudFZhbHVlICsgb2Zmc2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhY2x1bGF0ZSBTY3JvbGxiYXJzIGluc2lkZSB0cmVlXG4gICAgICogQHBhcmFtIGVsZW1lbnQgSFRNTCBFbGVtZW50XG4gICAgICogQHBhcmFtIFtpc0ZpeGVkPWZhbHNlXSBJbnZlcnQgU2Nyb2xsIFBvc2l0aW9uIHZhbHVlIHdoZW4gc3R5bGUgaXMgZml4ZWQgdG8gcHJlc2VydmUgbmVnYXRpdmUgdmFsdWVzXG4gICAgICogQHJldHVybnMgU2Nyb2xsIHRvcCB2YWx1ZSBvZiBlbGVtZW50IHdpdGggYWxsIGNoaWxkc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U2Nyb2xsVG9wUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpc0ZpeGVkID0gZmFsc2UpOiBudW1iZXIge1xuICAgICAgICBpZiAoZWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCb2R5IFNjcm9sbCBzaG91bGQgbm90IGJlIGNhbGN1bGF0ZWRcbiAgICAgICAgaWYgKCFlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBpc0ZpeGVkID8gZWxlbWVudC5zY3JvbGxUb3AgOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlzQ3VycmVudEZpeGVkID0gZmFsc2U7XG4gICAgICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCdwb3NpdGlvbicpID09PSAnZml4ZWQnKSB7XG4gICAgICAgICAgICBpc0N1cnJlbnRGaXhlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZSA9IHRoaXMuZ2V0U2Nyb2xsVG9wUGFyZW50KGVsZW1lbnQucGFyZW50RWxlbWVudCwgaXNGaXhlZCB8fCBpc0N1cnJlbnRGaXhlZCk7XG5cbiAgICAgICAgaWYgKGlzRml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnRWYWx1ZSArIGVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudFZhbHVlICsgZWxlbWVudC5zY3JvbGxUb3AgKiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiJ5OHJEQWtCWTtBQUFBQSxjQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGNBQUEsR0FsQlosT0FBU0UsZUFBZSxLQUFRLFNBQVMsQ0FHekMsTUFBTSxNQUFPLENBQUFDLFdBQVcsQ0FDcEI7QUFFT0Msa0JBQWtCQSxDQUFDQyxrQkFBMkMsQ0FBRUMsb0JBQTZCLEVBQUFOLGNBQUEsR0FBQU8sQ0FBQSxLQUFBUCxDQUFBLGlCQUFBUSxDQUFBLE1BQ2hHLEdBQUlILGtCQUFrQixDQUFFLENBQUFMLGNBQUEsR0FBQVMsQ0FBQSxRQUFBVCxDQUFBLGlCQUFBUSxDQUFBLE1BQ3BCLE1BQU8sQ0FBQUYsb0JBQW9CLEVBQUFOLGNBQUEsR0FBQVMsQ0FBQSxTQUNyQkosa0JBQWtCLENBQUNLLGFBQWEsQ0FBQ0MsaUJBQWlCLENBQUNDLFlBQVksR0FBQVosY0FBQSxHQUFBUyxDQUFBLFNBQy9ESixrQkFBa0IsQ0FBQ0ssYUFBYSxDQUFDRyxZQUFZLEUsQ0FDdEQsSUFBTSxDQUFBYixjQUFBLEdBQUFTLENBQUEsUUFBQVQsQ0FBQSxpQkFBQVEsQ0FBQSxNQUNILE1BQU8sRUFBQyxDLENBRWhCLENBRU9NLGlCQUFpQkEsQ0FBQ1Qsa0JBQTJDLENBQUVDLG9CQUE2QixFQUFBTixjQUFBLEdBQUFPLENBQUEsS0FBQVAsQ0FBQSxpQkFBQVEsQ0FBQSxNQUMvRixHQUFJSCxrQkFBa0IsQ0FBRSxDQUFBTCxjQUFBLEdBQUFTLENBQUEsUUFBQVQsQ0FBQSxpQkFBQVEsQ0FBQSxNQUNwQixNQUFPLENBQUFGLG9CQUFvQixF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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
function cov_h99jtghd2(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/popuphelper.ngfactory.mjs";var hash="206b997c55dd35d6cfbfdff7a382a25b8c0749f1";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/utilities/popuphelper.ngfactory.mjs",statementMap:{"0":{start:{line:1,column:31},end:{line:1,column:35}}},fnMap:{},branchMap:{},s:{"0":0},f:{},b:{},inputSourceMap:{version:3,file:"popuphelper.ngfactory.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/utilities/popuphelper.ngfactory.ts"],names:[],mappings:"AACA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC",sourcesContent:["\nexport const \u0275NonEmptyModule = true;"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"206b997c55dd35d6cfbfdff7a382a25b8c0749f1"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_h99jtghd2=function(){return actualCoverage;};}return actualCoverage;}cov_h99jtghd2();export const ɵNonEmptyModule=(cov_h99jtghd2().s[0]++,true);//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXBoZWxwZXIubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvdXRpbGl0aWVzL3BvcHVwaGVscGVyLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY29uc3QgybVOb25FbXB0eU1vZHVsZSA9IHRydWU7Il19
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyLJtU5vbkVtcHR5TW9kdWxlIiwiY292X2g5OWp0Z2hkMiIsInMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy91dGlsaXRpZXMvcG9wdXBoZWxwZXIubmdmYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNvbnN0IMm1Tm9uRW1wdHlNb2R1bGUgPSB0cnVlOyJdLCJtYXBwaW5ncyI6Ijt5RkFDQSxNQUFPLE1BQU0sQ0FBQUEsZUFBZSxFQUFBQyxhQUFBLEdBQUFDLENBQUEsTUFBRyxJQUFJLEUiLCJpZ25vcmVMaXN0IjpbXX0=
|