@simpleangularcontrols/sac-common 13.0.0-rc.21 → 13.0.0-rc.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/basedatetimecontrol.d.ts +45 -18
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/baseinputcontrol.d.ts +10 -8
- package/common/baseinputcontrol.d.ts.map +1 -1
- package/common/baselistcontrol.d.ts +16 -16
- package/common/baselistcontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.d.ts +60 -44
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/baseselectcontrol.d.ts +6 -6
- package/common/baseselectcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.d.ts +78 -58
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/components/browser/browser.d.ts +86 -89
- package/components/browser/browser.d.ts.map +1 -1
- package/components/browser/models/browserfile.d.ts +6 -6
- package/components/browser/models/browserfile.d.ts.map +1 -1
- package/components/browser/models/browserfiledeleterequest.d.ts +7 -7
- package/components/browser/models/browserfiledeleterequest.d.ts.map +1 -1
- package/components/browser/models/browserfilerenamerequest.d.ts +10 -10
- package/components/browser/models/browserfilerenamerequest.d.ts.map +1 -1
- package/components/browser/models/browserfileresponse.d.ts +2 -2
- package/components/browser/models/browserfileresponse.d.ts.map +1 -1
- package/components/browser/models/browserfilesaverequest.d.ts +7 -7
- package/components/browser/models/browserfilesaverequest.d.ts.map +1 -1
- package/components/browser/models/browsernode.d.ts +13 -13
- package/components/browser/models/browsernode.d.ts.map +1 -1
- package/components/browser/models/browsernodedeleterequest.d.ts +6 -6
- package/components/browser/models/browsernodedeleterequest.d.ts.map +1 -1
- package/components/browser/models/browsernodenewrequest.d.ts +7 -7
- package/components/browser/models/browsernodenewrequest.d.ts.map +1 -1
- package/components/browser/models/browsernoderenamerequest.d.ts +7 -7
- package/components/browser/models/browsernoderenamerequest.d.ts.map +1 -1
- package/components/browser/models/browsernoderequest.d.ts +7 -7
- package/components/browser/models/browsernoderequest.d.ts.map +1 -1
- package/components/browser/models/browsernoderesponse.d.ts +1 -1
- package/components/browser/models/browsernoderesponse.d.ts.map +1 -1
- package/controls/buttons/button.d.ts +25 -19
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/checkbox/checkbox.d.ts +3 -3
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.d.ts +19 -13
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.d.ts +13 -10
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/confirm/confirm.button.d.ts +3 -3
- package/controls/confirm/confirm.button.d.ts.map +1 -1
- package/controls/confirm/confirm.d.ts +13 -12
- package/controls/confirm/confirm.d.ts.map +1 -1
- package/controls/confirm/confirm.service.d.ts +14 -14
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +33 -27
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.interface.d.ts +6 -0
- package/controls/contextmenu/contextmenu.interface.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +4 -4
- package/controls/contextmenu/contextmenucontainer.d.ts +4 -4
- package/controls/contextmenu/contextmenuitembutton.d.ts +12 -12
- package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
- package/controls/datetime/date.d.ts +11 -11
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/dateselector.d.ts +47 -40
- package/controls/datetime/dateselector.d.ts.map +1 -1
- package/controls/datetime/datetime.d.ts +15 -14
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/time.d.ts +22 -12
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/dialog/dialog.d.ts +29 -23
- package/controls/dialog/dialog.d.ts.map +1 -1
- package/controls/form/form.d.ts +17 -12
- package/controls/form/form.d.ts.map +1 -1
- package/controls/grid/grid.d.ts +1 -0
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/grid/gridbutton.d.ts +1 -0
- package/controls/grid/gridbutton.d.ts.map +1 -1
- package/controls/grid/gridcolumn.d.ts +5 -1
- package/controls/grid/gridcolumn.d.ts.map +1 -1
- package/controls/grid/gridcolumnaction.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +8 -3
- package/controls/grid/gridcolumnbase.d.ts.map +1 -1
- package/controls/grid/model.d.ts +5 -2
- package/controls/grid/model.d.ts.map +1 -1
- package/controls/grid/model.ngfactory.d.ts +3 -0
- package/controls/grid/model.ngfactory.d.ts.map +1 -1
- package/controls/grid/paging.d.ts +2 -3
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/input/input.d.ts +7 -7
- package/controls/input/inputarea.d.ts +8 -6
- package/controls/input/inputarea.d.ts.map +1 -1
- package/controls/input/inputcurrency.d.ts +4 -1
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/input/inputdecimal.d.ts +14 -14
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputemail.d.ts +4 -4
- package/controls/input/inputinteger.d.ts +14 -14
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputpassword.d.ts +3 -3
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputsearch.d.ts +8 -5
- package/controls/input/inputsearch.d.ts.map +1 -1
- package/controls/layout/formlayout.d.ts +9 -6
- package/controls/layout/formlayout.d.ts.map +1 -1
- package/controls/list/buildvaluestring.d.ts +2 -2
- package/controls/list/dropdown.d.ts +23 -22
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/dropdownoptions.d.ts +10 -10
- package/controls/list/dropdownoptions.d.ts.map +1 -1
- package/controls/list/listbox.d.ts +25 -23
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts +25 -25
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +27 -27
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/static/formcontainer.d.ts +8 -8
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/static/staticlabel.d.ts +5 -5
- package/controls/static/staticlabel.d.ts.map +1 -1
- package/controls/tabs/tab.d.ts +2 -2
- package/controls/tabs/tabitem.d.ts +7 -7
- package/controls/tabs/tabitem.d.ts.map +1 -1
- package/controls/tinymce/tinymce.d.ts +37 -37
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettings.d.ts +6 -6
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +2 -2
- package/controls/tinymce/tinymceinstance.d.ts +2 -2
- package/controls/tooltip/tooltip.d.ts +10 -5
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/treeview/treeview.d.ts +50 -5
- package/controls/treeview/treeview.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.d.ts +16 -16
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/dropzonesingle.d.ts +11 -11
- package/controls/upload/uploadmultiple.d.ts +12 -12
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/upload/uploadsingle.d.ts +7 -7
- package/controls/upload/uploadsingle.d.ts.map +1 -1
- package/controls/validation/validationsummary.d.ts +12 -11
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/controls/wizard/wizard.d.ts +25 -18
- package/controls/wizard/wizard.d.ts.map +1 -1
- package/controls/wizard/wizarditem.d.ts +5 -5
- package/controls/wizard/wizarditem.d.ts.map +1 -1
- package/enums/ButtonRoleType.d.ts +26 -1
- package/enums/ButtonRoleType.d.ts.map +1 -1
- package/enums/ControlHeight.d.ts +1 -1
- package/enums/ControlHeight.d.ts.map +1 -1
- package/enums/IconType.d.ts +1 -1
- package/enums/IconType.d.ts.map +1 -1
- package/esm2020/common/basedatetimecontrol.mjs +58 -37
- package/esm2020/common/baseinputcontrol.mjs +15 -13
- package/esm2020/common/baselistcontrol.mjs +19 -17
- package/esm2020/common/basemodelcontrol.mjs +81 -70
- package/esm2020/common/baseselectcontrol.mjs +10 -9
- package/esm2020/common/baseuploadcontrol.mjs +72 -56
- package/esm2020/components/browser/browser.mjs +87 -89
- package/esm2020/components/browser/models/browserfile.mjs +3 -3
- package/esm2020/components/browser/models/browserfiledeleterequest.mjs +9 -7
- package/esm2020/components/browser/models/browserfilerenamerequest.mjs +9 -7
- package/esm2020/components/browser/models/browserfileresponse.mjs +3 -3
- package/esm2020/components/browser/models/browserfilesaverequest.mjs +8 -6
- package/esm2020/components/browser/models/browsernode.mjs +3 -3
- package/esm2020/components/browser/models/browsernodedeleterequest.mjs +9 -7
- package/esm2020/components/browser/models/browsernodenewrequest.mjs +9 -7
- package/esm2020/components/browser/models/browsernoderenamerequest.mjs +9 -7
- package/esm2020/components/browser/models/browsernoderequest.mjs +9 -7
- package/esm2020/components/browser/models/browsernoderesponse.mjs +3 -3
- package/esm2020/controls/buttons/button.mjs +28 -24
- package/esm2020/controls/checkbox/checkbox.mjs +5 -5
- package/esm2020/controls/checkbox/radiobutton.mjs +22 -17
- package/esm2020/controls/checkbox/radiobuttons.mjs +16 -13
- package/esm2020/controls/confirm/confirm.button.mjs +6 -6
- package/esm2020/controls/confirm/confirm.mjs +16 -15
- package/esm2020/controls/confirm/confirm.service.mjs +23 -23
- package/esm2020/controls/contextmenu/contextmenu.interface.mjs +3 -3
- package/esm2020/controls/contextmenu/contextmenu.mjs +31 -26
- package/esm2020/controls/contextmenu/contextmenuanchor.mjs +6 -6
- package/esm2020/controls/contextmenu/contextmenucontainer.mjs +6 -6
- package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +12 -12
- package/esm2020/controls/datetime/date.mjs +15 -15
- package/esm2020/controls/datetime/dateselector.mjs +94 -93
- package/esm2020/controls/datetime/datetime.mjs +19 -18
- package/esm2020/controls/datetime/time.mjs +26 -16
- package/esm2020/controls/dialog/dialog.mjs +40 -36
- package/esm2020/controls/form/form.mjs +20 -16
- package/esm2020/controls/grid/grid.mjs +4 -3
- package/esm2020/controls/grid/gridbutton.mjs +4 -3
- package/esm2020/controls/grid/gridcolumn.mjs +8 -4
- package/esm2020/controls/grid/gridcolumnaction.mjs +4 -4
- package/esm2020/controls/grid/gridcolumnbase.mjs +11 -6
- package/esm2020/controls/grid/model.mjs +9 -7
- package/esm2020/controls/grid/model.ngfactory.mjs +5 -3
- package/esm2020/controls/grid/paging.mjs +8 -9
- package/esm2020/controls/input/input.mjs +10 -10
- package/esm2020/controls/input/inputarea.mjs +11 -9
- package/esm2020/controls/input/inputcurrency.mjs +8 -6
- package/esm2020/controls/input/inputdecimal.mjs +20 -20
- package/esm2020/controls/input/inputemail.mjs +7 -7
- package/esm2020/controls/input/inputinteger.mjs +19 -19
- package/esm2020/controls/input/inputpassword.mjs +6 -6
- package/esm2020/controls/input/inputsearch.mjs +11 -9
- package/esm2020/controls/layout/formlayout.mjs +11 -8
- package/esm2020/controls/list/buildvaluestring.mjs +8 -8
- package/esm2020/controls/list/dropdown.mjs +30 -29
- package/esm2020/controls/list/dropdownoptions.mjs +14 -14
- package/esm2020/controls/list/listbox.mjs +28 -26
- package/esm2020/controls/multilanguage/multilanguageinput.mjs +31 -31
- package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +33 -33
- package/esm2020/controls/static/formcontainer.mjs +12 -12
- package/esm2020/controls/static/staticlabel.mjs +9 -9
- package/esm2020/controls/tabs/tab.mjs +4 -4
- package/esm2020/controls/tabs/tabitem.mjs +7 -7
- package/esm2020/controls/tinymce/tinymce.mjs +37 -37
- package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +6 -6
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +3 -3
- package/esm2020/controls/tinymce/tinymceinstance.mjs +3 -3
- package/esm2020/controls/tooltip/tooltip.mjs +15 -10
- package/esm2020/controls/treeview/treeview.mjs +46 -10
- package/esm2020/controls/upload/dropzonemultiple.mjs +20 -20
- package/esm2020/controls/upload/dropzonesingle.mjs +14 -14
- package/esm2020/controls/upload/uploadmultiple.mjs +16 -16
- package/esm2020/controls/upload/uploadsingle.mjs +10 -10
- package/esm2020/controls/validation/validationsummary.mjs +16 -15
- package/esm2020/controls/wizard/wizard.mjs +25 -19
- package/esm2020/controls/wizard/wizarditem.mjs +6 -6
- package/esm2020/enums/ButtonRoleType.mjs +3 -3
- package/esm2020/enums/ControlHeight.mjs +4 -4
- package/esm2020/enums/IconType.mjs +4 -4
- package/esm2020/interfaces/ISacConfigurationService.mjs +3 -3
- package/esm2020/interfaces/ISacFileBrowserService.mjs +3 -3
- package/esm2020/interfaces/ISacIconService.mjs +3 -3
- package/esm2020/interfaces/ISacLabelSizes.mjs +3 -3
- package/esm2020/interfaces/ISacLanguageService.mjs +3 -3
- package/esm2020/interfaces/ISacLocalisationService.mjs +3 -3
- package/esm2020/interfaces/ISacUploadEventCompleteState.mjs +3 -3
- package/esm2020/interfaces/ISacValidationKeyService.mjs +3 -3
- package/esm2020/interfaces/iabstractcontrollabel.mjs +3 -3
- package/esm2020/interfaces/iconfirmcomponent.mjs +3 -3
- package/esm2020/interfaces/idatetimecontrol.mjs +3 -3
- package/esm2020/interfaces/iuploadcontrol.mjs +3 -3
- package/esm2020/interfaces/treeviewaction.interface.mjs +3 -3
- package/esm2020/models/languagemodel.mjs +8 -6
- package/esm2020/public_api.mjs +4 -4
- package/esm2020/services/index.mjs +3 -3
- package/esm2020/services/sac-configuration.service.mjs +11 -9
- package/esm2020/services/sac-filebrowser.service.mjs +65 -51
- package/esm2020/services/sac-language.service.mjs +10 -6
- package/esm2020/services/sac-localisation.service.mjs +13 -9
- package/esm2020/services/sac-validationkey.service.mjs +108 -6
- package/esm2020/utilities/convertion.mjs +10 -8
- package/esm2020/utilities/datatypes.mjs +8 -6
- package/esm2020/utilities/enums.mjs +4 -10
- package/esm2020/utilities/guid.mjs +8 -8
- package/esm2020/utilities/interpolation.mjs +21 -14
- package/esm2020/utilities/popuphelper.mjs +52 -32
- package/esm2020/utilities/positioncalculator.mjs +61 -0
- package/esm2020/utilities/positioncalculator.ngfactory.mjs +3 -0
- package/esm2020/utilities/positioncalculator.ngsummary.mjs +3 -0
- package/esm2020/utilities/positionelements.mjs +32 -0
- package/esm2020/utilities/positionelements.ngfactory.mjs +3 -0
- package/esm2020/utilities/positionelements.ngsummary.mjs +3 -0
- package/esm2020/utilities/testingattribute.pipe.mjs +19 -6
- package/esm2020/validation/email.validator.mjs +11 -3
- package/esm2020/validation/equals.validator.mjs +12 -3
- package/esm2020/validation/index.mjs +3 -3
- package/esm2020/validation/invaliddate.validator.mjs +11 -3
- package/esm2020/validation/isDateValid.mjs +12 -10
- package/esm2020/validation/maxdate.validator.mjs +13 -4
- package/esm2020/validation/maxtime.validator.mjs +13 -4
- package/esm2020/validation/maxvalue.validator.mjs +12 -3
- package/esm2020/validation/mindate.validator.mjs +13 -4
- package/esm2020/validation/minfiles.validator.mjs +13 -4
- package/esm2020/validation/mintextlength.validator.mjs +11 -4
- package/esm2020/validation/mintime.validator.mjs +13 -4
- package/esm2020/validation/minvalue.validator.mjs +12 -3
- package/esm2020/validation/multilanguagerequired.validator.mjs +12 -3
- package/esm2020/validation/multilanguagerequiredany.validator.mjs +12 -3
- package/esm2020/validation/notequals.validator.mjs +12 -3
- package/esm2020/validation/pattern.validator.mjs +12 -3
- package/esm2020/validation/required.validator.mjs +11 -3
- package/esm2020/validation/validation.mjs +86 -102
- package/esm2020/validation/validationerrorcreator.mjs +13 -3
- package/esm2020/validation/validationerroritem.mjs +14 -12
- package/fesm2015/simpleangularcontrols-sac-common.mjs +2661 -2151
- package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/fesm2020/simpleangularcontrols-sac-common.mjs +2661 -2151
- package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +9 -1
- package/interfaces/ISacConfigurationService.d.ts.map +1 -1
- package/interfaces/ISacFileBrowserService.d.ts +43 -43
- package/interfaces/ISacFileBrowserService.d.ts.map +1 -1
- package/interfaces/ISacIconService.d.ts +28 -28
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacLabelSizes.d.ts +9 -6
- package/interfaces/ISacLabelSizes.d.ts.map +1 -1
- package/interfaces/ISacLanguageService.d.ts +3 -3
- package/interfaces/ISacLanguageService.d.ts.map +1 -1
- package/interfaces/ISacLocalisationService.d.ts +2 -2
- package/interfaces/ISacLocalisationService.d.ts.map +1 -1
- package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
- package/interfaces/ISacUploadEventCompleteState.d.ts.map +1 -1
- package/interfaces/iabstractcontrollabel.d.ts +4 -1
- package/interfaces/iabstractcontrollabel.d.ts.map +1 -1
- package/interfaces/iconfirmcomponent.d.ts +6 -6
- package/interfaces/iconfirmcomponent.d.ts.map +1 -1
- package/interfaces/idatetimecontrol.d.ts +10 -1
- package/interfaces/idatetimecontrol.d.ts.map +1 -1
- package/interfaces/iuploadcontrol.d.ts.map +1 -1
- package/interfaces/treeviewaction.interface.d.ts +9 -0
- package/interfaces/treeviewaction.interface.d.ts.map +1 -1
- package/models/languagemodel.d.ts +9 -9
- package/models/languagemodel.d.ts.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +2 -1
- package/public_api.d.ts.map +1 -1
- package/services/index.d.ts +3 -3
- package/services/index.d.ts.map +1 -1
- package/services/sac-configuration.service.d.ts +8 -0
- package/services/sac-configuration.service.d.ts.map +1 -1
- package/services/sac-filebrowser.service.d.ts +97 -89
- package/services/sac-filebrowser.service.d.ts.map +1 -1
- package/services/sac-language.service.d.ts +2 -2
- package/services/sac-language.service.d.ts.map +1 -1
- package/services/sac-localisation.service.d.ts +11 -7
- package/services/sac-localisation.service.d.ts.map +1 -1
- package/services/sac-validationkey.service.d.ts +152 -5
- package/services/sac-validationkey.service.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-13.0.0-rc.22.tgz +0 -0
- package/utilities/convertion.d.ts +4 -4
- package/utilities/convertion.d.ts.map +1 -1
- package/utilities/datatypes.d.ts +3 -3
- package/utilities/datatypes.d.ts.map +1 -1
- package/utilities/enums.d.ts +8 -1
- package/utilities/enums.d.ts.map +1 -1
- package/utilities/guid.d.ts +1 -1
- package/utilities/guid.d.ts.map +1 -1
- package/utilities/interpolation.d.ts +9 -8
- package/utilities/interpolation.d.ts.map +1 -1
- package/utilities/popuphelper.d.ts +47 -10
- package/utilities/popuphelper.d.ts.map +1 -1
- package/utilities/positioncalculator.d.ts +83 -0
- package/utilities/positioncalculator.d.ts.map +1 -0
- package/utilities/positioncalculator.ngfactory.d.ts +2 -0
- package/utilities/positioncalculator.ngfactory.d.ts.map +1 -0
- package/utilities/positioncalculator.ngsummary.d.ts +2 -0
- package/utilities/positioncalculator.ngsummary.d.ts.map +1 -0
- package/utilities/positionelements.d.ts +31 -0
- package/utilities/positionelements.d.ts.map +1 -0
- package/utilities/positionelements.ngfactory.d.ts +2 -0
- package/utilities/positionelements.ngfactory.d.ts.map +1 -0
- package/utilities/positionelements.ngsummary.d.ts +2 -0
- package/utilities/positionelements.ngsummary.d.ts.map +1 -0
- package/utilities/testingattribute.pipe.d.ts +16 -1
- package/utilities/testingattribute.pipe.d.ts.map +1 -1
- package/validation/email.validator.d.ts +7 -0
- package/validation/email.validator.d.ts.map +1 -1
- package/validation/equals.validator.d.ts +8 -0
- package/validation/equals.validator.d.ts.map +1 -1
- package/validation/index.d.ts.map +1 -1
- package/validation/invaliddate.validator.d.ts +7 -0
- package/validation/invaliddate.validator.d.ts.map +1 -1
- package/validation/isDateValid.d.ts +5 -2
- package/validation/isDateValid.d.ts.map +1 -1
- package/validation/maxdate.validator.d.ts +8 -0
- package/validation/maxdate.validator.d.ts.map +1 -1
- package/validation/maxtime.validator.d.ts +8 -0
- package/validation/maxtime.validator.d.ts.map +1 -1
- package/validation/maxvalue.validator.d.ts +8 -0
- package/validation/maxvalue.validator.d.ts.map +1 -1
- package/validation/mindate.validator.d.ts +8 -0
- package/validation/mindate.validator.d.ts.map +1 -1
- package/validation/minfiles.validator.d.ts +8 -0
- package/validation/minfiles.validator.d.ts.map +1 -1
- package/validation/mintextlength.validator.d.ts +8 -0
- package/validation/mintextlength.validator.d.ts.map +1 -1
- package/validation/mintime.validator.d.ts +8 -0
- package/validation/mintime.validator.d.ts.map +1 -1
- package/validation/minvalue.validator.d.ts +8 -0
- package/validation/minvalue.validator.d.ts.map +1 -1
- package/validation/multilanguagerequired.validator.d.ts +9 -1
- package/validation/multilanguagerequired.validator.d.ts.map +1 -1
- package/validation/multilanguagerequiredany.validator.d.ts +9 -1
- package/validation/multilanguagerequiredany.validator.d.ts.map +1 -1
- package/validation/notequals.validator.d.ts +8 -0
- package/validation/notequals.validator.d.ts.map +1 -1
- package/validation/pattern.validator.d.ts +8 -0
- package/validation/pattern.validator.d.ts.map +1 -1
- package/validation/required.validator.d.ts +7 -0
- package/validation/required.validator.d.ts.map +1 -1
- package/validation/validation.d.ts +83 -99
- package/validation/validation.d.ts.map +1 -1
- package/validation/validationerrorcreator.d.ts +9 -0
- package/validation/validationerrorcreator.d.ts.map +1 -1
- package/validation/validationerroritem.d.ts +16 -16
- package/validation/validationerroritem.d.ts.map +1 -1
- package/esm2020/utilities/positioning.mjs +0 -58
- package/esm2020/utilities/positioning.ngfactory.mjs +0 -3
- package/esm2020/utilities/positioning.ngsummary.mjs +0 -3
- package/simpleangularcontrols-sac-common-13.0.0-rc.21.tgz +0 -0
- package/utilities/positioning.d.ts +0 -83
- package/utilities/positioning.d.ts.map +0 -1
- package/utilities/positioning.ngfactory.d.ts +0 -2
- package/utilities/positioning.ngfactory.d.ts.map +0 -1
- package/utilities/positioning.ngsummary.d.ts +0 -2
- package/utilities/positioning.ngsummary.d.ts.map +0 -1
|
@@ -1,53 +1,67 @@
|
|
|
1
|
-
function cov_ujyserows(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/services/sac-filebrowser.service.mjs";var hash="33d6941a02aa3a4277264b91ee5e16d21a65bdbd";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/services/sac-filebrowser.service.mjs",statementMap:{"0":{start:{line:14,column:38},end:{line:14,column:78}},"1":{start:{line:20,column:0},end:{line:20,column:204}},"2":{start:{line:21,column:0},end:{line:21,column:179}},"3":{start:{line:22,column:0},end:{line:27,column:14}},"4":{start:{line:37,column:8},end:{line:37,column:16}},"5":{start:{line:38,column:8},end:{line:38,column:37}},"6":{start:{line:47,column:20},end:{line:47,column:40}},"7":{start:{line:48,column:8},end:{line:50,column:9}},"8":{start:{line:49,column:12},end:{line:49,column:22}},"9":{start:{line:51,column:24},end:{line:54,column:10}},"10":{start:{line:55,column:8},end:{line:57,column:11}},"11":{start:{line:66,column:20},end:{line:66,column:39}},"12":{start:{line:67,column:8},end:{line:69,column:9}},"13":{start:{line:68,column:12},end:{line:68,column:22}},"14":{start:{line:70,column:24},end:{line:73,column:10}},"15":{start:{line:74,column:8},end:{line:76,column:11}},"16":{start:{line:85,column:20},end:{line:85,column:42}},"17":{start:{line:86,column:8},end:{line:88,column:9}},"18":{start:{line:87,column:12},end:{line:87,column:22}},"19":{start:{line:89,column:24},end:{line:92,column:10}},"20":{start:{line:93,column:8},end:{line:95,column:11}},"21":{start:{line:103,column:20},end:{line:103,column:42}},"22":{start:{line:104,column:8},end:{line:106,column:9}},"23":{start:{line:105,column:12},end:{line:105,column:22}},"24":{start:{line:107,column:24},end:{line:109,column:10}},"25":{start:{line:110,column:8},end:{line:112,column:11}},"26":{start:{line:121,column:20},end:{line:121,column:40}},"27":{start:{line:122,column:8},end:{line:124,column:9}},"28":{start:{line:123,column:12},end:{line:123,column:22}},"29":{start:{line:125,column:24},end:{line:128,column:10}},"30":{start:{line:129,column:8},end:{line:131,column:11}},"31":{start:{line:141,column:20},end:{line:141,column:42}},"32":{start:{line:142,column:8},end:{line:144,column:9}},"33":{start:{line:143,column:12},end:{line:143,column:22}},"34":{start:{line:145,column:24},end:{line:149,column:10}},"35":{start:{line:150,column:8},end:{line:152,column:11}},"36":{start:{line:161,column:20},end:{line:161,column:42}},"37":{start:{line:162,column:8},end:{line:164,column:9}},"38":{start:{line:163,column:12},end:{line:163,column:22}},"39":{start:{line:165,column:24},end:{line:168,column:10}},"40":{start:{line:169,column:8},end:{line:171,column:11}},"41":{start:{line:181,column:20},end:{line:181,column:42}},"42":{start:{line:182,column:8},end:{line:184,column:9}},"43":{start:{line:183,column:12},end:{line:183,column:22}},"44":{start:{line:185,column:24},end:{line:189,column:10}},"45":{start:{line:190,column:8},end:{line:192,column:11}},"46":{start:{line:195,column:0},end:{line:195,column:226}},"47":{start:{line:196,column:0},end:{line:196,column:177}},"48":{start:{line:197,column:0},end:{line:202,column:81}},"49":{start:{line:202,column:42},end:{line:202,column:75}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:28},end:{line:39,column:5}},line:36},"1":{name:"(anonymous_1)",decl:{start:{line:46,column:4},end:{line:46,column:5}},loc:{start:{line:46,column:45},end:{line:58,column:5}},line:46},"2":{name:"(anonymous_2)",decl:{start:{line:65,column:4},end:{line:65,column:5}},loc:{start:{line:65,column:42},end:{line:77,column:5}},line:65},"3":{name:"(anonymous_3)",decl:{start:{line:84,column:4},end:{line:84,column:5}},loc:{start:{line:84,column:44},end:{line:96,column:5}},line:84},"4":{name:"(anonymous_4)",decl:{start:{line:102,column:4},end:{line:102,column:5}},loc:{start:{line:102,column:29},end:{line:113,column:5}},line:102},"5":{name:"(anonymous_5)",decl:{start:{line:120,column:4},end:{line:120,column:5}},loc:{start:{line:120,column:46},end:{line:132,column:5}},line:120},"6":{name:"(anonymous_6)",decl:{start:{line:140,column:4},end:{line:140,column:5}},loc:{start:{line:140,column:50},end:{line:153,column:5}},line:140},"7":{name:"(anonymous_7)",decl:{start:{line:160,column:4},end:{line:160,column:5}},loc:{start:{line:160,column:48},end:{line:172,column:5}},line:160},"8":{name:"(anonymous_8)",decl:{start:{line:180,column:4},end:{line:180,column:5}},loc:{start:{line:180,column:61},end:{line:193,column:5}},line:180},"9":{name:"(anonymous_9)",decl:{start:{line:202,column:28},end:{line:202,column:29}},loc:{start:{line:202,column:40},end:{line:202,column:77}},line:202}},branchMap:{"0":{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},"1":{loc:{start:{line:67,column:8},end:{line:69,column:9}},type:"if",locations:[{start:{line:67,column:8},end:{line:69,column:9}},{start:{line:67,column:8},end:{line:69,column:9}}],line:67},"2":{loc:{start:{line:86,column:8},end:{line:88,column:9}},type:"if",locations:[{start:{line:86,column:8},end:{line:88,column:9}},{start:{line:86,column:8},end:{line:88,column:9}}],line:86},"3":{loc:{start:{line:104,column:8},end:{line:106,column:9}},type:"if",locations:[{start:{line:104,column:8},end:{line:106,column:9}},{start:{line:104,column:8},end:{line:106,column:9}}],line:104},"4":{loc:{start:{line:122,column:8},end:{line:124,column:9}},type:"if",locations:[{start:{line:122,column:8},end:{line:124,column:9}},{start:{line:122,column:8},end:{line:124,column:9}}],line:122},"5":{loc:{start:{line:142,column:8},end:{line:144,column:9}},type:"if",locations:[{start:{line:142,column:8},end:{line:144,column:9}},{start:{line:142,column:8},end:{line:144,column:9}}],line:142},"6":{loc:{start:{line:162,column:8},end:{line:164,column:9}},type:"if",locations:[{start:{line:162,column:8},end:{line:164,column:9}},{start:{line:162,column:8},end:{line:164,column:9}}],line:162},"7":{loc:{start:{line:182,column:8},end:{line:184,column:9}},type:"if",locations:[{start:{line:182,column:8},end:{line:184,column:9}},{start:{line:182,column:8},end:{line:184,column:9}}],line:182}},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},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":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]},inputSourceMap:{version:3,file:"sac-filebrowser.service.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/services/sac-filebrowser.service.ts"],names:[],mappings:"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",sourcesContent:["import { HttpClient } from '@angular/common/http';\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BrowserFileDeleteRequest } from '../components/browser/models/browserfiledeleterequest';\nimport { BrowserFileRenameRequest } from '../components/browser/models/browserfilerenamerequest';\nimport { IBrowserFileResponse } from '../components/browser/models/browserfileresponse';\nimport { BrowserFileSaveRequest } from '../components/browser/models/browserfilesaverequest';\nimport { BrowserNodeDeleteRequest } from '../components/browser/models/browsernodedeleterequest';\nimport { BrowserNodeNewRequest } from '../components/browser/models/browsernodenewrequest';\nimport { BrowserNodeRenameRequest } from '../components/browser/models/browsernoderenamerequest';\nimport { BrowserNodeRequest } from '../components/browser/models/browsernoderequest';\nimport { IBrowserNodeResponse } from '../components/browser/models/browsernoderesponse';\nimport { ISacFileBrowserService } from '../interfaces/ISacFileBrowserService';\n\n/**\n * Injection Token f\xFCr Language Service\n */\nexport const SACFILEBROWSER_SERVICE =\n new InjectionToken<ISacFileBrowserService>('FileBrowserService');\n\n/**\n * Abstrakte Implementierung des File Service f\xFCr die Browser Component\n */\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class SacAbstractFileBrowserService\n implements ISacFileBrowserService\n{\n /**\n * Gibt einen Node zur\xFCck\n * @param apiurl URL zu API Service\n * @param path Pfad des Node welcher angefordert wird\n * @param allowedextensions Erlaubte Extensions die angezeigt werden d\xFCrfen\n */\n abstract GetNode(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserNodeResponse>;\n\n /**\n * Speichert einen Node\n * @param apiurl URL zu API Service\n * @param path Pfad in welchem der Node gespeichert werden soll\n * @param newFoldername Name des neuen Nodes\n */\n abstract SaveNode(\n apiurl: string,\n path: string,\n newFoldername: string\n ): Observable<IBrowserNodeResponse>;\n\n /**\n * Rename eines Nodes\n * @param apiurl URL zu API Service\n * @param path Pfad des Nodes welcher umbenannt werden soll\n * @param newFoldername Neuer Name des Nodes\n */\n abstract RenameNode(\n apiurl: string,\n path: string,\n newFoldername: string\n ): Observable<IBrowserNodeResponse>;\n\n /**\n * L\xF6scht einen Node\n * @param apiurl URL zu API Service\n * @param path Pfad des Nodes welcher gel\xF6scht werden soll\n */\n abstract DeleteNode(\n apiurl: string,\n path: string\n ): Observable<IBrowserNodeResponse>;\n\n /**\n * Methode welche die Dateien eines Nodes ausliest\n * @param apiurl URL zu API Service\n * @param path Pfad des Nodes in welchem die Files gelesen werden sollen\n * @param allowedextensions Erlaubte File Extensions\n */\n abstract GetFiles(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n\n /**\n * Speichert eine Hochgeladene Datei in der Struktur\n * @param apiurl URL zu API Service\n * @param path Pfad in welchem das neue File gespeichert werden soll\n * @param id ID des Uploads\n * @param allowedextensions Erlaubte Extensions f\xFCr den Upload\n */\n abstract SaveFile(\n apiurl: string,\n path: string,\n id: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n\n /**\n * Methode welche eine Datei umbenannt\n * @param apiurl URL zu API Service\n * @param path Pfad zum File welches umbenannt werden soll\n * @param newFilename Neuer Dateiname\n * @param allowedextensions Erlaubte Extension f\xFCr Files\n */\n abstract RenameFile(\n apiurl: string,\n path: string,\n newFilename: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n\n /**\n * L\xF6scht eine Datei\n * @param apiurl URL zu API Service\n * @param path Pfad des Files welches gel\xF6scht werden soll\n * @param allowedextensions Erlaubte Extensions f\xFCr Files\n */\n abstract DeleteFile(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n}\n\n/**\n * Standardimplementierung des Backend Service f\xFCr die File Browser Component\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SacDefaultFileBrowserService extends SacAbstractFileBrowserService {\n /**\n * Konstruktor\n * @param httpclient HTTP Client Service\n */\n constructor(private httpclient: HttpClient) {\n super();\n }\n\n /**\n * Gibt einen Node zur\xFCck\n * @param apiurl URL zu API Service\n * @param path Pfad des Node welcher angefordert wird\n * @param allowedextensions Erlaubte Extensions die angezeigt werden d\xFCrfen\n */\n public GetNode(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/getnodes`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeRequest({\n Path: path,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Speichert einen Node\n * @param apiurl URL zu API Service\n * @param path Pfad in welchem der Node gespeichert werden soll\n * @param newFoldername Name des neuen Nodes\n */\n public SaveNode(\n apiurl: string,\n path: string,\n newFoldername: string\n ): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/newnode`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeNewRequest({\n Path: path,\n NewFoldername: newFoldername,\n });\n\n return this.httpclient.post<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Rename eines Nodes\n * @param apiurl URL zu API Service\n * @param path Pfad des Nodes welcher umbenannt werden soll\n * @param newFoldername Neuer Name des Nodes\n */\n public RenameNode(\n apiurl: string,\n path: string,\n newFoldername: string\n ): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/renamenode`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeRenameRequest({\n Path: path,\n NewFoldername: newFoldername,\n });\n\n return this.httpclient.put<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * L\xF6scht einen Node\n * @param apiurl URL zu API Service\n * @param path Pfad des Nodes welcher gel\xF6scht werden soll\n */\n public DeleteNode(\n apiurl: string,\n path: string\n ): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/deletenode`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeDeleteRequest({\n Path: path,\n });\n\n return this.httpclient.post<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Methode welche die Dateien eines Nodes ausliest\n * @param apiurl URL zu API Service\n * @param path Pfad des Nodes in welchem die Files gelesen werden sollen\n * @param allowedextensions Erlaubte File Extensions\n */\n public GetFiles(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/getfiles`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeRequest({\n Path: path,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Speichert eine Hochgeladene Datei in der Struktur\n * @param apiurl URL zu API Service\n * @param path Pfad in welchem das neue File gespeichert werden soll\n * @param id ID des Uploads\n * @param allowedextensions Erlaubte Extensions f\xFCr den Upload\n */\n public SaveFile(\n apiurl: string,\n path: string,\n id: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/uploadfile`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserFileSaveRequest({\n Path: path,\n UploadId: id,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * L\xF6scht eine Datei\n * @param apiurl URL zu API Service\n * @param path Pfad des Files welches gel\xF6scht werden soll\n * @param allowedextensions Erlaubte Extensions f\xFCr Files\n */\n public DeleteFile(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/deletefile`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserFileDeleteRequest({\n Path: path,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Methode welche eine Datei umbenannt\n * @param apiurl URL zu API Service\n * @param path Pfad zum File welches umbenannt werden soll\n * @param newFilename Neuer Dateiname\n * @param allowedextensions Erlaubte Extension f\xFCr Files\n */\n public RenameFile(\n apiurl: string,\n path: string,\n newFilename: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/renamefile`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserFileRenameRequest({\n Path: path,\n NewFilename: newFilename,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.put<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"33d6941a02aa3a4277264b91ee5e16d21a65bdbd"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
-
cov_ujyserows=function(){return actualCoverage;};}return actualCoverage;}cov_ujyserows();import{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
function cov_ujyserows(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/services/sac-filebrowser.service.mjs";var hash="f942b6f777ec77de4af23cbf060699ef4eef15f5";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/services/sac-filebrowser.service.mjs",statementMap:{"0":{start:{line:15,column:38},end:{line:15,column:78}},"1":{start:{line:23,column:0},end:{line:23,column:204}},"2":{start:{line:24,column:0},end:{line:24,column:179}},"3":{start:{line:25,column:0},end:{line:30,column:14}},"4":{start:{line:41,column:8},end:{line:41,column:16}},"5":{start:{line:42,column:8},end:{line:42,column:37}},"6":{start:{line:54,column:20},end:{line:54,column:42}},"7":{start:{line:55,column:8},end:{line:57,column:9}},"8":{start:{line:56,column:12},end:{line:56,column:22}},"9":{start:{line:58,column:24},end:{line:61,column:10}},"10":{start:{line:62,column:8},end:{line:64,column:11}},"11":{start:{line:73,column:20},end:{line:73,column:42}},"12":{start:{line:74,column:8},end:{line:76,column:9}},"13":{start:{line:75,column:12},end:{line:75,column:22}},"14":{start:{line:77,column:24},end:{line:79,column:10}},"15":{start:{line:80,column:8},end:{line:82,column:11}},"16":{start:{line:92,column:20},end:{line:92,column:40}},"17":{start:{line:93,column:8},end:{line:95,column:9}},"18":{start:{line:94,column:12},end:{line:94,column:22}},"19":{start:{line:96,column:24},end:{line:99,column:10}},"20":{start:{line:100,column:8},end:{line:102,column:11}},"21":{start:{line:112,column:20},end:{line:112,column:40}},"22":{start:{line:113,column:8},end:{line:115,column:9}},"23":{start:{line:114,column:12},end:{line:114,column:22}},"24":{start:{line:116,column:24},end:{line:119,column:10}},"25":{start:{line:120,column:8},end:{line:122,column:11}},"26":{start:{line:133,column:20},end:{line:133,column:42}},"27":{start:{line:134,column:8},end:{line:136,column:9}},"28":{start:{line:135,column:12},end:{line:135,column:22}},"29":{start:{line:137,column:24},end:{line:141,column:10}},"30":{start:{line:142,column:8},end:{line:144,column:11}},"31":{start:{line:154,column:20},end:{line:154,column:42}},"32":{start:{line:155,column:8},end:{line:157,column:9}},"33":{start:{line:156,column:12},end:{line:156,column:22}},"34":{start:{line:158,column:24},end:{line:161,column:10}},"35":{start:{line:162,column:8},end:{line:164,column:11}},"36":{start:{line:175,column:20},end:{line:175,column:42}},"37":{start:{line:176,column:8},end:{line:178,column:9}},"38":{start:{line:177,column:12},end:{line:177,column:22}},"39":{start:{line:179,column:24},end:{line:183,column:10}},"40":{start:{line:184,column:8},end:{line:186,column:11}},"41":{start:{line:196,column:20},end:{line:196,column:39}},"42":{start:{line:197,column:8},end:{line:199,column:9}},"43":{start:{line:198,column:12},end:{line:198,column:22}},"44":{start:{line:200,column:24},end:{line:203,column:10}},"45":{start:{line:204,column:8},end:{line:206,column:11}},"46":{start:{line:209,column:0},end:{line:209,column:226}},"47":{start:{line:210,column:0},end:{line:210,column:177}},"48":{start:{line:211,column:0},end:{line:216,column:81}},"49":{start:{line:216,column:42},end:{line:216,column:75}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:28},end:{line:43,column:5}},line:40},"1":{name:"(anonymous_1)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:48},end:{line:65,column:5}},line:53},"2":{name:"(anonymous_2)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:29},end:{line:83,column:5}},line:72},"3":{name:"(anonymous_3)",decl:{start:{line:91,column:4},end:{line:91,column:5}},loc:{start:{line:91,column:46},end:{line:103,column:5}},line:91},"4":{name:"(anonymous_4)",decl:{start:{line:111,column:4},end:{line:111,column:5}},loc:{start:{line:111,column:45},end:{line:123,column:5}},line:111},"5":{name:"(anonymous_5)",decl:{start:{line:132,column:4},end:{line:132,column:5}},loc:{start:{line:132,column:61},end:{line:145,column:5}},line:132},"6":{name:"(anonymous_6)",decl:{start:{line:153,column:4},end:{line:153,column:5}},loc:{start:{line:153,column:44},end:{line:165,column:5}},line:153},"7":{name:"(anonymous_7)",decl:{start:{line:174,column:4},end:{line:174,column:5}},loc:{start:{line:174,column:50},end:{line:187,column:5}},line:174},"8":{name:"(anonymous_8)",decl:{start:{line:195,column:4},end:{line:195,column:5}},loc:{start:{line:195,column:42},end:{line:207,column:5}},line:195},"9":{name:"(anonymous_9)",decl:{start:{line:216,column:28},end:{line:216,column:29}},loc:{start:{line:216,column:40},end:{line:216,column:77}},line:216}},branchMap:{"0":{loc:{start:{line:55,column:8},end:{line:57,column:9}},type:"if",locations:[{start:{line:55,column:8},end:{line:57,column:9}},{start:{line:55,column:8},end:{line:57,column:9}}],line:55},"1":{loc:{start:{line:74,column:8},end:{line:76,column:9}},type:"if",locations:[{start:{line:74,column:8},end:{line:76,column:9}},{start:{line:74,column:8},end:{line:76,column:9}}],line:74},"2":{loc:{start:{line:93,column:8},end:{line:95,column:9}},type:"if",locations:[{start:{line:93,column:8},end:{line:95,column:9}},{start:{line:93,column:8},end:{line:95,column:9}}],line:93},"3":{loc:{start:{line:113,column:8},end:{line:115,column:9}},type:"if",locations:[{start:{line:113,column:8},end:{line:115,column:9}},{start:{line:113,column:8},end:{line:115,column:9}}],line:113},"4":{loc:{start:{line:134,column:8},end:{line:136,column:9}},type:"if",locations:[{start:{line:134,column:8},end:{line:136,column:9}},{start:{line:134,column:8},end:{line:136,column:9}}],line:134},"5":{loc:{start:{line:155,column:8},end:{line:157,column:9}},type:"if",locations:[{start:{line:155,column:8},end:{line:157,column:9}},{start:{line:155,column:8},end:{line:157,column:9}}],line:155},"6":{loc:{start:{line:176,column:8},end:{line:178,column:9}},type:"if",locations:[{start:{line:176,column:8},end:{line:178,column:9}},{start:{line:176,column:8},end:{line:178,column:9}}],line:176},"7":{loc:{start:{line:197,column:8},end:{line:199,column:9}},type:"if",locations:[{start:{line:197,column:8},end:{line:199,column:9}},{start:{line:197,column:8},end:{line:199,column:9}}],line:197}},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},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":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]},inputSourceMap:{version:3,file:"sac-filebrowser.service.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/services/sac-filebrowser.service.ts"],names:[],mappings:"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",sourcesContent:["import { BrowserFileDeleteRequest } from '../components/browser/models/browserfiledeleterequest';\nimport { BrowserFileRenameRequest } from '../components/browser/models/browserfilerenamerequest';\nimport { IBrowserFileResponse } from '../components/browser/models/browserfileresponse';\nimport { BrowserFileSaveRequest } from '../components/browser/models/browserfilesaverequest';\nimport { BrowserNodeDeleteRequest } from '../components/browser/models/browsernodedeleterequest';\nimport { BrowserNodeNewRequest } from '../components/browser/models/browsernodenewrequest';\nimport { BrowserNodeRenameRequest } from '../components/browser/models/browsernoderenamerequest';\nimport { BrowserNodeRequest } from '../components/browser/models/browsernoderequest';\nimport { IBrowserNodeResponse } from '../components/browser/models/browsernoderesponse';\nimport { ISacFileBrowserService } from '../interfaces/ISacFileBrowserService';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n// #region Variables\n\n/**\n * Injection Token for Language Service\n */\nexport const SACFILEBROWSER_SERVICE = new InjectionToken<ISacFileBrowserService>('FileBrowserService');\n\n// #endregion Variables\n\n// #region Exported Classes\n\n/**\n * Abstract implementation of the file service for the browser component\n */\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class SacAbstractFileBrowserService implements ISacFileBrowserService {\n // #region Public Methods\n\n /**\n * Deletes a file\n * @param apiurl URL to API Service\n * @param path Path of the file to be deleted\n * @param allowedextensions Allowed extensions for files\n */\n public abstract DeleteFile(\n apiurl: string,\n path: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n\n /**\n * Deletes a node\n * @param apiurl URL to API Service\n * @param path Path of the node to be deleted\n */\n public abstract DeleteNode(apiurl: string, path: string): Observable<IBrowserNodeResponse>;\n\n /**\n * Method that reads the files of a node\n * @param apiurl URL to API Service\n * @param path Path of the node from which the files should be read\n * @param allowedextensions Allowed file extensions\n */\n public abstract GetFiles(apiurl: string, path: string, allowedextensions: string): Observable<IBrowserFileResponse>;\n\n /**\n * Returns a node\n * @param apiurl URL to API Service\n * @param path Path of the node being requested\n * @param allowedextensions Allowed extensions that may be displayed\n */\n public abstract GetNode(apiurl: string, path: string, allowedextensions: string): Observable<IBrowserNodeResponse>;\n\n /**\n * Method that renames a file\n * @param apiurl URL to API Service\n * @param path Path to the file to be renamed\n * @param newFilename New filename\n * @param allowedextensions Allowed extension for files\n */\n public abstract RenameFile(\n apiurl: string,\n path: string,\n newFilename: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n\n /**\n * Rename a node\n * @param apiurl URL to API Service\n * @param path Path of the node to be renamed\n * @param newFoldername New name of the node\n */\n public abstract RenameNode(apiurl: string, path: string, newFoldername: string): Observable<IBrowserNodeResponse>;\n\n /**\n * Saves an uploaded file in the structure\n * @param apiurl URL to API Service\n * @param path Path where the new file should be saved\n * @param id ID of the upload\n * @param allowedextensions Allowed extensions for the upload\n */\n public abstract SaveFile(\n apiurl: string,\n path: string,\n id: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse>;\n\n /**\n * Saves a node\n * @param apiurl URL to API Service\n * @param path Path where the node should be saved\n * @param newFoldername Name of the new node\n */\n public abstract SaveNode(apiurl: string, path: string, newFoldername: string): Observable<IBrowserNodeResponse>;\n\n // #endregion Public Methods\n}\n\n/**\n * Standard implementation of the backend service for the file browser component\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SacDefaultFileBrowserService extends SacAbstractFileBrowserService {\n // #region Constructors\n\n /**\n * Constructor\n * @param httpclient HTTP Client Service\n */\n constructor(private httpclient: HttpClient) {\n super();\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Deletes a file\n * @param apiurl URL to API Service\n * @param path Path of the file to be deleted\n * @param allowedextensions Allowed extensions for files\n * @returns Observable containing the file response after deletion\n */\n public DeleteFile(apiurl: string, path: string, allowedextensions: string): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/deletefile`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserFileDeleteRequest({\n Path: path,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Deletes a node\n * @param apiurl URL to API Service\n * @param path Path of the node to be deleted\n * @returns Observable containing the node response after deletion\n */\n public DeleteNode(apiurl: string, path: string): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/deletenode`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeDeleteRequest({\n Path: path,\n });\n\n return this.httpclient.post<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Method that reads the files of a node\n * @param apiurl URL to API Service\n * @param path Path of the node from which the files should be read\n * @param allowedextensions Allowed file extensions\n * @returns Observable containing the file response\n */\n public GetFiles(apiurl: string, path: string, allowedextensions: string): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/getfiles`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeRequest({\n Path: path,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Returns a node\n * @param apiurl URL to API Service\n * @param path Path of the node being requested\n * @param allowedextensions Allowed extensions that may be displayed\n * @returns Observable containing the node response\n */\n public GetNode(apiurl: string, path: string, allowedextensions: string): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/getnodes`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeRequest({\n Path: path,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Method that renames a file\n * @param apiurl URL to API Service\n * @param path Path to the file to be renamed\n * @param newFilename New filename\n * @param allowedextensions Allowed extension for files\n * @returns Observable containing the file response after rename\n */\n public RenameFile(\n apiurl: string,\n path: string,\n newFilename: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/renamefile`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserFileRenameRequest({\n Path: path,\n NewFilename: newFilename,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.put<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Rename a node\n * @param apiurl URL to API Service\n * @param path Path of the node to be renamed\n * @param newFoldername New name of the node\n * @returns Observable containing the node response after rename\n */\n public RenameNode(apiurl: string, path: string, newFoldername: string): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/renamenode`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeRenameRequest({\n Path: path,\n NewFoldername: newFoldername,\n });\n\n return this.httpclient.put<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Saves an uploaded file in the structure\n * @param apiurl URL to API Service\n * @param path Path where the new file should be saved\n * @param id ID of the upload\n * @param allowedextensions Allowed extensions for the upload\n * @returns Observable containing the file response after save\n */\n public SaveFile(\n apiurl: string,\n path: string,\n id: string,\n allowedextensions: string\n ): Observable<IBrowserFileResponse> {\n const url = `${apiurl}/uploadfile`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserFileSaveRequest({\n Path: path,\n UploadId: id,\n AllowedTypes: allowedextensions,\n });\n\n return this.httpclient.post<IBrowserFileResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n /**\n * Saves a node\n * @param apiurl URL to API Service\n * @param path Path where the node should be saved\n * @param newFoldername Name of the new node\n * @returns Observable containing the node response after save\n */\n public SaveNode(apiurl: string, path: string, newFoldername: string): Observable<IBrowserNodeResponse> {\n const url = `${apiurl}/newnode`;\n\n if (!path) {\n path = '';\n }\n\n const request = new BrowserNodeNewRequest({\n Path: path,\n NewFoldername: newFoldername,\n });\n\n return this.httpclient.post<IBrowserNodeResponse>(url, request, {\n withCredentials: true,\n });\n }\n\n // #endregion Public Methods\n}\n\n// #endregion Exported Classes\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f942b6f777ec77de4af23cbf060699ef4eef15f5"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_ujyserows=function(){return actualCoverage;};}return actualCoverage;}cov_ujyserows();import{BrowserFileDeleteRequest}from'../components/browser/models/browserfiledeleterequest';import{BrowserFileRenameRequest}from'../components/browser/models/browserfilerenamerequest';import{BrowserFileSaveRequest}from'../components/browser/models/browserfilesaverequest';import{BrowserNodeDeleteRequest}from'../components/browser/models/browsernodedeleterequest';import{BrowserNodeNewRequest}from'../components/browser/models/browsernodenewrequest';import{BrowserNodeRenameRequest}from'../components/browser/models/browsernoderenamerequest';import{BrowserNodeRequest}from'../components/browser/models/browsernoderequest';import{Injectable,InjectionToken}from'@angular/core';import*as i0 from"@angular/core";import*as i1 from"@angular/common/http";// #region Variables
|
|
3
|
+
/**
|
|
4
|
+
* Injection Token for Language Service
|
|
5
|
+
*/export const SACFILEBROWSER_SERVICE=(cov_ujyserows().s[0]++,new InjectionToken('FileBrowserService'));// #endregion Variables
|
|
6
|
+
// #region Exported Classes
|
|
7
|
+
/**
|
|
8
|
+
* Abstract implementation of the file service for the browser component
|
|
6
9
|
*/export class SacAbstractFileBrowserService{}cov_ujyserows().s[1]++;SacAbstractFileBrowserService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractFileBrowserService,deps:[],target:i0.ɵɵFactoryTarget.Injectable});cov_ujyserows().s[2]++;SacAbstractFileBrowserService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractFileBrowserService,providedIn:'root'});cov_ujyserows().s[3]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractFileBrowserService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}]});/**
|
|
7
|
-
*
|
|
8
|
-
*/export class SacDefaultFileBrowserService extends SacAbstractFileBrowserService{
|
|
9
|
-
|
|
10
|
+
* Standard implementation of the backend service for the file browser component
|
|
11
|
+
*/export class SacDefaultFileBrowserService extends SacAbstractFileBrowserService{// #region Constructors
|
|
12
|
+
/**
|
|
13
|
+
* Constructor
|
|
10
14
|
* @param httpclient HTTP Client Service
|
|
11
|
-
*/constructor(httpclient){cov_ujyserows().f[0]++;cov_ujyserows().s[4]++;super();cov_ujyserows().s[5]++;this.httpclient=httpclient;}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
* @param
|
|
16
|
-
|
|
17
|
-
*
|
|
18
|
-
* @
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
|
|
22
|
-
*
|
|
23
|
-
* @
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
* @param
|
|
29
|
-
* @
|
|
30
|
-
*/
|
|
31
|
-
*
|
|
32
|
-
* @param apiurl URL
|
|
33
|
-
* @param path
|
|
34
|
-
* @param allowedextensions
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
40
|
-
* @param
|
|
41
|
-
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
* @param
|
|
46
|
-
|
|
47
|
-
*
|
|
48
|
-
* @
|
|
49
|
-
|
|
50
|
-
*
|
|
51
|
-
* @param
|
|
52
|
-
*/RenameFile(apiurl,path,newFilename,allowedextensions){cov_ujyserows().f[8]++;const url=(cov_ujyserows().s[41]++,`${apiurl}/renamefile`);cov_ujyserows().s[42]++;if(!path){cov_ujyserows().b[7][0]++;cov_ujyserows().s[43]++;path='';}else{cov_ujyserows().b[7][1]++;}const request=(cov_ujyserows().s[44]++,new BrowserFileRenameRequest({Path:path,NewFilename:newFilename,AllowedTypes:allowedextensions}));cov_ujyserows().s[45]++;return this.httpclient.put(url,request,{withCredentials:true});}}cov_ujyserows().s[46]++;SacDefaultFileBrowserService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultFileBrowserService,deps:[{token:i1.HttpClient}],target:i0.ɵɵFactoryTarget.Injectable});cov_ujyserows().s[47]++;SacDefaultFileBrowserService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultFileBrowserService,providedIn:'root'});cov_ujyserows().s[48]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultFileBrowserService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}],ctorParameters:function(){cov_ujyserows().f[9]++;cov_ujyserows().s[49]++;return[{type:i1.HttpClient}];}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWZpbGVicm93c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9zZXJ2aWNlcy9zYWMtZmlsZWJyb3dzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7O0FBSXJGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQ2pDLElBQUksY0FBYyxDQUF5QixvQkFBb0IsQ0FBQyxDQUFDO0FBRW5FOztHQUVHO0FBSUgsTUFBTSxPQUFnQiw2QkFBNkI7OzBIQUE3Qiw2QkFBNkI7OEhBQTdCLDZCQUE2QixjQUZyQyxNQUFNOzJGQUVFLDZCQUE2QjtrQkFIbEQsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBdUdEOztHQUVHO0FBSUgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDZCQUE2QjtJQUM3RTs7O09BR0c7SUFDSCxZQUFvQixVQUFzQjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFMUMsQ0FBQztJQUVEOzs7OztPQUtH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Q1YsV0FBVyxFQUFFLFdBQVc7WUFDeEIsWUFBWSxFQUFFLGlCQUFpQjtTQUNoQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUF1QixHQUFHLEVBQUUsT0FBTyxFQUFFO1lBQzdELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7O3lIQWxPVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVkZWxldGVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVyZW5hbWVyZXF1ZXN0JztcbmltcG9ydCB7IElCcm93c2VyRmlsZVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlc2F2ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZW5ld3JlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QnO1xuaW1wb3J0IHsgSUJyb3dzZXJOb2RlUmVzcG9uc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlcmVzcG9uc2UnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5cbi8qKlxuICogSW5qZWN0aW9uIFRva2VuIGbDvHIgTGFuZ3VhZ2UgU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgU0FDRklMRUJST1dTRVJfU0VSVklDRSA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlPignRmlsZUJyb3dzZXJTZXJ2aWNlJyk7XG5cbi8qKlxuICogQWJzdHJha3RlIEltcGxlbWVudGllcnVuZyBkZXMgRmlsZSBTZXJ2aWNlIGbDvHIgZGllIEJyb3dzZXIgQ29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdEZpbGVCcm93c2VyU2VydmljZVxuICBpbXBsZW1lbnRzIElTYWNGaWxlQnJvd3NlclNlcnZpY2VcbntcbiAgLyoqXG4gICAqIEdpYnQgZWluZW4gTm9kZSB6dXLDvGNrXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGUgd2VsY2hlciBhbmdlZm9yZGVydCB3aXJkXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb25zIGRpZSBhbmdlemVpZ3Qgd2VyZGVuIGTDvHJmZW5cbiAgICovXG4gIGFic3RyYWN0IEdldE5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIFNwZWljaGVydCBlaW5lbiBOb2RlXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkZXIgTm9kZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOYW1lIGRlcyBuZXVlbiBOb2Rlc1xuICAgKi9cbiAgYWJzdHJhY3QgU2F2ZU5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG5ld0ZvbGRlcm5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAvKipcbiAgICogUmVuYW1lIGVpbmVzIE5vZGVzXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5ldWVyIE5hbWUgZGVzIE5vZGVzXG4gICAqL1xuICBhYnN0cmFjdCBSZW5hbWVOb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGb2xkZXJuYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyB3ZWxjaGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgYWJzdHJhY3QgRGVsZXRlTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VsY2hlIGRpZSBEYXRlaWVuIGVpbmVzIE5vZGVzIGF1c2xpZXN0XG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIGluIHdlbGNoZW0gZGllIEZpbGVzIGdlbGVzZW4gd2VyZGVuIHNvbGxlblxuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRmlsZSBFeHRlbnNpb25zXG4gICAqL1xuICBhYnN0cmFjdCBHZXRGaWxlcyhcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPjtcblxuICAvKipcbiAgICogU3BlaWNoZXJ0IGVpbmUgSG9jaGdlbGFkZW5lIERhdGVpIGluIGRlciBTdHJ1a3R1clxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGluIHdlbGNoZW0gZGFzIG5ldWUgRmlsZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gaWQgSUQgZGVzIFVwbG9hZHNcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBkZW4gVXBsb2FkXG4gICAqL1xuICBhYnN0cmFjdCBTYXZlRmlsZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBNZXRob2RlIHdlbGNoZSBlaW5lIERhdGVpIHVtYmVuYW5udFxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIHp1bSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXVlciBEYXRlaW5hbWVcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbiBmw7xyIEZpbGVzXG4gICAqL1xuICBhYnN0cmFjdCBSZW5hbWVGaWxlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGaWxlbmFtZTogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZSBEYXRlaVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBGaWxlcyB3ZWxjaGVzIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9ucyBmw7xyIEZpbGVzXG4gICAqL1xuICBhYnN0cmFjdCBEZWxldGVGaWxlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xufVxuXG4vKipcbiAqIFN0YW5kYXJkaW1wbGVtZW50aWVydW5nIGRlcyBCYWNrZW5kIFNlcnZpY2UgZsO8ciBkaWUgRmlsZSBCcm93c2VyIENvbXBvbmVudFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSBleHRlbmRzIFNhY0Fic3RyYWN0RmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBodHRwY2xpZW50IEhUVFAgQ2xpZW50IFNlcnZpY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cGNsaWVudDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogR2lidCBlaW5lbiBOb2RlIHp1csO8Y2tcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgTm9kZSB3ZWxjaGVyIGFuZ2Vmb3JkZXJ0IHdpcmRcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gZMO8cmZlblxuICAgKi9cbiAgcHVibGljIEdldE5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZ2V0bm9kZXNgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWljaGVydCBlaW5lbiBOb2RlXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkZXIgTm9kZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOYW1lIGRlcyBuZXVlbiBOb2Rlc1xuICAgKi9cbiAgcHVibGljIFNhdmVOb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGb2xkZXJuYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vbmV3bm9kZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlTmV3UmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgTmV3Rm9sZGVybmFtZTogbmV3Rm9sZGVybmFtZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuYW1lIGVpbmVzIE5vZGVzXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5ldWVyIE5hbWUgZGVzIE5vZGVzXG4gICAqL1xuICBwdWJsaWMgUmVuYW1lTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmV3Rm9sZGVybmFtZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3JlbmFtZW5vZGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnB1dDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTMO2c2NodCBlaW5lbiBOb2RlXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgRGVsZXRlTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlbm9kZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2RlIHdlbGNoZSBkaWUgRGF0ZWllbiBlaW5lcyBOb2RlcyBhdXNsaWVzdFxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyBpbiB3ZWxjaGVtIGRpZSBGaWxlcyBnZWxlc2VuIHdlcmRlbiBzb2xsZW5cbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEZpbGUgRXh0ZW5zaW9uc1xuICAgKi9cbiAgcHVibGljIEdldEZpbGVzKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L2dldGZpbGVzYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3Nlck5vZGVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVpY2hlcnQgZWluZSBIb2NoZ2VsYWRlbmUgRGF0ZWkgaW4gZGVyIFN0cnVrdHVyXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkYXMgbmV1ZSBGaWxlIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBpZCBJRCBkZXMgVXBsb2Fkc1xuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9ucyBmw7xyIGRlbiBVcGxvYWRcbiAgICovXG4gIHB1YmxpYyBTYXZlRmlsZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3VwbG9hZGZpbGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyRmlsZVNhdmVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBVcGxvYWRJZDogaWQsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMw7ZzY2h0IGVpbmUgRGF0ZWlcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgRmlsZXMgd2VsY2hlcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBGaWxlc1xuICAgKi9cbiAgcHVibGljIERlbGV0ZUZpbGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlZmlsZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3NlckZpbGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZWluZSBEYXRlaSB1bWJlbmFubnRcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCB6dW0gRmlsZSB3ZWxjaGVzIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3RmlsZW5hbWUgTmV1ZXIgRGF0ZWluYW1lXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb24gZsO8ciBGaWxlc1xuICAgKi9cbiAgcHVibGljIFJlbmFtZUZpbGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG5ld0ZpbGVuYW1lOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9yZW5hbWVmaWxlYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3NlckZpbGVSZW5hbWVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBOZXdGaWxlbmFtZTogbmV3RmlsZW5hbWUsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wdXQ8SUJyb3dzZXJGaWxlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmplY3RhYmxlIiwiSW5qZWN0aW9uVG9rZW4iLCJCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3QiLCJCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3QiLCJCcm93c2VyRmlsZVNhdmVSZXF1ZXN0IiwiQnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0IiwiQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IiwiQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IiwiQnJvd3Nlck5vZGVSZXF1ZXN0IiwiU0FDRklMRUJST1dTRVJfU0VSVklDRSIsImNvdl91anlzZXJvd3MiLCJzIiwiU2FjQWJzdHJhY3RGaWxlQnJvd3NlclNlcnZpY2UiLCJkZXBzIiwidGFyZ2V0IiwiaTAiLCLJtcm1RmFjdG9yeVRhcmdldCIsInByb3ZpZGVkSW4iLCJkZWNvcmF0b3JzIiwiU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSIsImNvbnN0cnVjdG9yIiwiaHR0cGNsaWVudCIsImYiLCJHZXROb2RlIiwiYXBpdXJsIiwicGF0aCIsImFsbG93ZWRleHRlbnNpb25zIiwidXJsIiwiYiIsInJlcXVlc3QiLCJQYXRoIiwiQWxsb3dlZFR5cGVzIiwicG9zdCIsIndpdGhDcmVkZW50aWFscyIsIlNhdmVOb2RlIiwibmV3Rm9sZGVybmFtZSIsIk5ld0ZvbGRlcm5hbWUiLCJSZW5hbWVOb2RlIiwicHV0IiwiRGVsZXRlTm9kZSIsIkdldEZpbGVzIiwiU2F2ZUZpbGUiLCJpZCIsIlVwbG9hZElkIiwiRGVsZXRlRmlsZSIsIlJlbmFtZUZpbGUiLCJuZXdGaWxlbmFtZSIsIk5ld0ZpbGVuYW1lIiwidG9rZW4iLCJpMSIsIkh0dHBDbGllbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9zZXJ2aWNlcy9zYWMtZmlsZWJyb3dzZXIuc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVkZWxldGVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVyZW5hbWVyZXF1ZXN0JztcbmltcG9ydCB7IElCcm93c2VyRmlsZVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlc2F2ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZW5ld3JlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QnO1xuaW1wb3J0IHsgSUJyb3dzZXJOb2RlUmVzcG9uc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlcmVzcG9uc2UnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5cbi8qKlxuICogSW5qZWN0aW9uIFRva2VuIGbDvHIgTGFuZ3VhZ2UgU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgU0FDRklMRUJST1dTRVJfU0VSVklDRSA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlPignRmlsZUJyb3dzZXJTZXJ2aWNlJyk7XG5cbi8qKlxuICogQWJzdHJha3RlIEltcGxlbWVudGllcnVuZyBkZXMgRmlsZSBTZXJ2aWNlIGbDvHIgZGllIEJyb3dzZXIgQ29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdEZpbGVCcm93c2VyU2VydmljZVxuICBpbXBsZW1lbnRzIElTYWNGaWxlQnJvd3NlclNlcnZpY2VcbntcbiAgLyoqXG4gICAqIEdpYnQgZWluZW4gTm9kZSB6dXLDvGNrXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGUgd2VsY2hlciBhbmdlZm9yZGVydCB3aXJkXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb25zIGRpZSBhbmdlemVpZ3Qgd2VyZGVuIGTDvHJmZW5cbiAgICovXG4gIGFic3RyYWN0IEdldE5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIFNwZWljaGVydCBlaW5lbiBOb2RlXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkZXIgTm9kZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOYW1lIGRlcyBuZXVlbiBOb2Rlc1xuICAgKi9cbiAgYWJzdHJhY3QgU2F2ZU5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG5ld0ZvbGRlcm5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAvKipcbiAgICogUmVuYW1lIGVpbmVzIE5vZGVzXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5ldWVyIE5hbWUgZGVzIE5vZGVzXG4gICAqL1xuICBhYnN0cmFjdCBSZW5hbWVOb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGb2xkZXJuYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyB3ZWxjaGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgYWJzdHJhY3QgRGVsZXRlTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VsY2hlIGRpZSBEYXRlaWVuIGVpbmVzIE5vZGVzIGF1c2xpZXN0XG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIGluIHdlbGNoZW0gZGllIEZpbGVzIGdlbGVzZW4gd2VyZGVuIHNvbGxlblxuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRmlsZSBFeHRlbnNpb25zXG4gICAqL1xuICBhYnN0cmFjdCBHZXRGaWxlcyhcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPjtcblxuICAvKipcbiAgICogU3BlaWNoZXJ0IGVpbmUgSG9jaGdlbGFkZW5lIERhdGVpIGluIGRlciBTdHJ1a3R1clxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGluIHdlbGNoZW0gZGFzIG5ldWUgRmlsZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gaWQgSUQgZGVzIFVwbG9hZHNcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBkZW4gVXBsb2FkXG4gICAqL1xuICBhYnN0cmFjdCBTYXZlRmlsZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBNZXRob2RlIHdlbGNoZSBlaW5lIERhdGVpIHVtYmVuYW5udFxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIHp1bSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXVlciBEYXRlaW5hbWVcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbiBmw7xyIEZpbGVzXG4gICAqL1xuICBhYnN0cmFjdCBSZW5hbWVGaWxlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGaWxlbmFtZTogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZSBEYXRlaVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBGaWxlcyB3ZWxjaGVzIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9ucyBmw7xyIEZpbGVzXG4gICAqL1xuICBhYnN0cmFjdCBEZWxldGVGaWxlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xufVxuXG4vKipcbiAqIFN0YW5kYXJkaW1wbGVtZW50aWVydW5nIGRlcyBCYWNrZW5kIFNlcnZpY2UgZsO8ciBkaWUgRmlsZSBCcm93c2VyIENvbXBvbmVudFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSBleHRlbmRzIFNhY0Fic3RyYWN0RmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBodHRwY2xpZW50IEhUVFAgQ2xpZW50IFNlcnZpY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cGNsaWVudDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogR2lidCBlaW5lbiBOb2RlIHp1csO8Y2tcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgTm9kZSB3ZWxjaGVyIGFuZ2Vmb3JkZXJ0IHdpcmRcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gZMO8cmZlblxuICAgKi9cbiAgcHVibGljIEdldE5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZ2V0bm9kZXNgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWljaGVydCBlaW5lbiBOb2RlXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkZXIgTm9kZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOYW1lIGRlcyBuZXVlbiBOb2Rlc1xuICAgKi9cbiAgcHVibGljIFNhdmVOb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGb2xkZXJuYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vbmV3bm9kZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlTmV3UmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgTmV3Rm9sZGVybmFtZTogbmV3Rm9sZGVybmFtZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuYW1lIGVpbmVzIE5vZGVzXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5ldWVyIE5hbWUgZGVzIE5vZGVzXG4gICAqL1xuICBwdWJsaWMgUmVuYW1lTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmV3Rm9sZGVybmFtZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3JlbmFtZW5vZGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnB1dDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTMO2c2NodCBlaW5lbiBOb2RlXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgRGVsZXRlTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlbm9kZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2RlIHdlbGNoZSBkaWUgRGF0ZWllbiBlaW5lcyBOb2RlcyBhdXNsaWVzdFxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyBpbiB3ZWxjaGVtIGRpZSBGaWxlcyBnZWxlc2VuIHdlcmRlbiBzb2xsZW5cbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEZpbGUgRXh0ZW5zaW9uc1xuICAgKi9cbiAgcHVibGljIEdldEZpbGVzKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L2dldGZpbGVzYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3Nlck5vZGVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVpY2hlcnQgZWluZSBIb2NoZ2VsYWRlbmUgRGF0ZWkgaW4gZGVyIFN0cnVrdHVyXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkYXMgbmV1ZSBGaWxlIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBpZCBJRCBkZXMgVXBsb2Fkc1xuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9ucyBmw7xyIGRlbiBVcGxvYWRcbiAgICovXG4gIHB1YmxpYyBTYXZlRmlsZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3VwbG9hZGZpbGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyRmlsZVNhdmVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBVcGxvYWRJZDogaWQsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMw7ZzY2h0IGVpbmUgRGF0ZWlcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgRmlsZXMgd2VsY2hlcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBGaWxlc1xuICAgKi9cbiAgcHVibGljIERlbGV0ZUZpbGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlZmlsZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3NlckZpbGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZWluZSBEYXRlaSB1bWJlbmFubnRcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCB6dW0gRmlsZSB3ZWxjaGVzIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3RmlsZW5hbWUgTmV1ZXIgRGF0ZWluYW1lXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb24gZsO8ciBGaWxlc1xuICAgKi9cbiAgcHVibGljIFJlbmFtZUZpbGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG5ld0ZpbGVuYW1lOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9yZW5hbWVmaWxlYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3NlckZpbGVSZW5hbWVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBOZXdGaWxlbmFtZTogbmV3RmlsZW5hbWUsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wdXQ8SUJyb3dzZXJGaWxlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQ0EsT0FBU0EsVUFBVSxDQUFFQyxjQUFjLEtBQVEsZUFBZSxDQUUxRCxPQUFTQyx3QkFBd0IsS0FBUSx1REFBdUQsQ0FDaEcsT0FBU0Msd0JBQXdCLEtBQVEsdURBQXVELENBRWhHLE9BQVNDLHNCQUFzQixLQUFRLHFEQUFxRCxDQUM1RixPQUFTQyx3QkFBd0IsS0FBUSx1REFBdUQsQ0FDaEcsT0FBU0MscUJBQXFCLEtBQVEsb0RBQW9ELENBQzFGLE9BQVNDLHdCQUF3QixLQUFRLHVEQUF1RCxDQUNoRyxPQUFTQyxrQkFBa0IsS0FBUSxpREFBaUQsQyx5RUFJcEY7O0dBR0EsTUFBTyxNQUFNLENBQUFDLHNCQUFzQixFQUFBQyxhQUFBLEdBQUFDLENBQUEsTUFDakMsR0FBSSxDQUFBVixjQUFjLENBQXlCLG9CQUFvQixDQUFDLEVBRWxFOztHQU1BLE1BQU0sTUFBZ0IsQ0FBQVcsNkJBQTZCLEUsdUlBQTdCQSw2QkFBNkIsQ0FBQUMsSUFBQSxJQUFBQyxNQUFBLENBQUFDLEVBQUEsQ0FBQUMsZUFBQSxDQUFBaEIsVUFBQSxHQUFBVSxhQUFBLEdBQUFDLENBQUEsTSxvSEFBN0JDLDZCQUE2QixDQUFBSyxVQUFBLENBRnJDLE1BQU0sR0FBQVAsYUFBQSxHQUFBQyxDQUFBLE0sbUZBRUVDLDZCQUE2QixDQUFBTSxVQUFBLEcsS0FIbERsQixVQUFVLEMsTUFBQyxDQUNWaUIsVUFBVSxDQUFFLE0sQ0FDYixDLEtBdUdEOztHQU1BLE1BQU0sTUFBTyxDQUFBRSw0QkFBNkIsUUFBUSxDQUFBUCw2QkFBNkIsQ0FDN0U7OztPQUlBUSxZQUFvQkMsVUFBc0IsRUFBQVgsYUFBQSxHQUFBWSxDQUFBLEtBQUFaLENBQUEsZ0JBQUFDLENBQUEsTUFDeEMsS0FBSyxFQUFFLENBQUNELGFBQUEsR0FBQUMsQ0FBQSxNQURVLEtBQUFVLFVBQVUsQ0FB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R0FBSSxDQUFBVCx3QkFBd0IsQ0FBQyxDQUMzQzRCLElBQUksQ0FBRUwsSUFBSSxDQUNWTSxZQUFZLENBQUVMLGlCLENBQ2YsQ0FBQyxFQUFDaEIsYUFBQSxHQUFBQyxDQUFBLE9BRUgsTUFBTyxLQUFJLENBQUNVLFVBQVUsQ0FBQ1csSUFBSSxDQUF1QkwsR0FBRyxDQUFFRSxPQUFPLENBQUUsQ0FDOURJLGVBQWUsQ0FBRSxJLENBQ2xCLENBQUMsQ0FDSixDQUVBOzs7Ozs7T0FPT1ksVUFBVUEsQ0FDZnJCLE1BQWMsQ0FDZEMsSUFBWSxDQUNacUIsV0FBbUIsQ0FDbkJwQixpQkFBeUIsRUFBQWhCLGFBQUEsR0FBQVksQ0FBQSxNQUV6QixLQUFNLENBQUFLLEdBQUcsRUFBQWpCLGFBQUEsR0FBQUMsQ0FBQSxPQUFHLEdBQUdhLE1BQU0sYUFBYSxFQUFDZCxhQUFBLEdBQUFDLENBQUEsT0FFbkMsR0FBSSxDQUFDYyxJQUFJLENBQUUsQ0FBQWYsYUFBQSxHQUFBa0IsQ0FBQSxRQUFBbEIsQ0FBQSxnQkFBQUMsQ0FBQSxPQUNUYyxJQUFJLENBQUcsRUFBRSxDLENBQ1YsS0FBQWYsYUFBQSxHQUFBa0IsQ0FBQSxVQUVELEtBQU0sQ0FBQUMsT0FBTyxFQUFBbkIsYUFBQSxHQUFBQyxDQUFBLE9BQUcsR0FBSSxDQUFBUix3QkFBd0IsQ0FBQyxDQUMzQzJCLElBQUksQ0FBRUwsSUFBSSxDQUNWc0IsV0FBVyxDQUFFRCxXQUFXLENBQ3hCZixZQUFZLENBQUVMLGlCLENBQ2YsQ0FBQyxFQUFDaEIsYUFBQSxHQUFBQyxDQUFBLE9BRUgsTUFBTyxLQUFJLENBQUNVLFVBQVUsQ0FBQ2lCLEdBQUcsQ0FBdUJYLEdBQUcsQ0FBRUUsT0FBTyxDQUFFLENBQzdESSxlQUFlLENBQUUsSSxDQUNsQixDQUFDLENBQ0osQyx3SUFsT1dkLDRCQUE0QixDQUFBTixJQUFBLEdBQUFtQyxLQUFBLENBQUFDLEVBQUEsQ0FBQUMsVUFBQSxHQUFBcEMsTUFBQSxDQUFBQyxFQUFBLENBQUFDLGVBQUEsQ0FBQWhCLFVBQUEsR0FBQVUsYUFBQSxHQUFBQyxDQUFBLE8sbUhBQTVCUSw0QkFBNEIsQ0FBQUYsVUFBQSxDQUYzQixNQUFNLEdBQUFQLGFBQUEsR0FBQUMsQ0FBQSxPLG1GQUVQUSw0QkFBNEIsQ0FBQUQsVUFBQSxHLEtBSHhDbEIsVUFBVSxDLE1BQUMsQ0FDVmlCLFVBQVUsQ0FBRSxNLENBQ2IsQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
15
|
+
*/constructor(httpclient){cov_ujyserows().f[0]++;cov_ujyserows().s[4]++;super();cov_ujyserows().s[5]++;this.httpclient=httpclient;}// #endregion Constructors
|
|
16
|
+
// #region Public Methods
|
|
17
|
+
/**
|
|
18
|
+
* Deletes a file
|
|
19
|
+
* @param apiurl URL to API Service
|
|
20
|
+
* @param path Path of the file to be deleted
|
|
21
|
+
* @param allowedextensions Allowed extensions for files
|
|
22
|
+
* @returns Observable containing the file response after deletion
|
|
23
|
+
*/DeleteFile(apiurl,path,allowedextensions){cov_ujyserows().f[1]++;const url=(cov_ujyserows().s[6]++,`${apiurl}/deletefile`);cov_ujyserows().s[7]++;if(!path){cov_ujyserows().b[0][0]++;cov_ujyserows().s[8]++;path='';}else{cov_ujyserows().b[0][1]++;}const request=(cov_ujyserows().s[9]++,new BrowserFileDeleteRequest({Path:path,AllowedTypes:allowedextensions}));cov_ujyserows().s[10]++;return this.httpclient.post(url,request,{withCredentials:true});}/**
|
|
24
|
+
* Deletes a node
|
|
25
|
+
* @param apiurl URL to API Service
|
|
26
|
+
* @param path Path of the node to be deleted
|
|
27
|
+
* @returns Observable containing the node response after deletion
|
|
28
|
+
*/DeleteNode(apiurl,path){cov_ujyserows().f[2]++;const url=(cov_ujyserows().s[11]++,`${apiurl}/deletenode`);cov_ujyserows().s[12]++;if(!path){cov_ujyserows().b[1][0]++;cov_ujyserows().s[13]++;path='';}else{cov_ujyserows().b[1][1]++;}const request=(cov_ujyserows().s[14]++,new BrowserNodeDeleteRequest({Path:path}));cov_ujyserows().s[15]++;return this.httpclient.post(url,request,{withCredentials:true});}/**
|
|
29
|
+
* Method that reads the files of a node
|
|
30
|
+
* @param apiurl URL to API Service
|
|
31
|
+
* @param path Path of the node from which the files should be read
|
|
32
|
+
* @param allowedextensions Allowed file extensions
|
|
33
|
+
* @returns Observable containing the file response
|
|
34
|
+
*/GetFiles(apiurl,path,allowedextensions){cov_ujyserows().f[3]++;const url=(cov_ujyserows().s[16]++,`${apiurl}/getfiles`);cov_ujyserows().s[17]++;if(!path){cov_ujyserows().b[2][0]++;cov_ujyserows().s[18]++;path='';}else{cov_ujyserows().b[2][1]++;}const request=(cov_ujyserows().s[19]++,new BrowserNodeRequest({Path:path,AllowedTypes:allowedextensions}));cov_ujyserows().s[20]++;return this.httpclient.post(url,request,{withCredentials:true});}/**
|
|
35
|
+
* Returns a node
|
|
36
|
+
* @param apiurl URL to API Service
|
|
37
|
+
* @param path Path of the node being requested
|
|
38
|
+
* @param allowedextensions Allowed extensions that may be displayed
|
|
39
|
+
* @returns Observable containing the node response
|
|
40
|
+
*/GetNode(apiurl,path,allowedextensions){cov_ujyserows().f[4]++;const url=(cov_ujyserows().s[21]++,`${apiurl}/getnodes`);cov_ujyserows().s[22]++;if(!path){cov_ujyserows().b[3][0]++;cov_ujyserows().s[23]++;path='';}else{cov_ujyserows().b[3][1]++;}const request=(cov_ujyserows().s[24]++,new BrowserNodeRequest({Path:path,AllowedTypes:allowedextensions}));cov_ujyserows().s[25]++;return this.httpclient.post(url,request,{withCredentials:true});}/**
|
|
41
|
+
* Method that renames a file
|
|
42
|
+
* @param apiurl URL to API Service
|
|
43
|
+
* @param path Path to the file to be renamed
|
|
44
|
+
* @param newFilename New filename
|
|
45
|
+
* @param allowedextensions Allowed extension for files
|
|
46
|
+
* @returns Observable containing the file response after rename
|
|
47
|
+
*/RenameFile(apiurl,path,newFilename,allowedextensions){cov_ujyserows().f[5]++;const url=(cov_ujyserows().s[26]++,`${apiurl}/renamefile`);cov_ujyserows().s[27]++;if(!path){cov_ujyserows().b[4][0]++;cov_ujyserows().s[28]++;path='';}else{cov_ujyserows().b[4][1]++;}const request=(cov_ujyserows().s[29]++,new BrowserFileRenameRequest({Path:path,NewFilename:newFilename,AllowedTypes:allowedextensions}));cov_ujyserows().s[30]++;return this.httpclient.put(url,request,{withCredentials:true});}/**
|
|
48
|
+
* Rename a node
|
|
49
|
+
* @param apiurl URL to API Service
|
|
50
|
+
* @param path Path of the node to be renamed
|
|
51
|
+
* @param newFoldername New name of the node
|
|
52
|
+
* @returns Observable containing the node response after rename
|
|
53
|
+
*/RenameNode(apiurl,path,newFoldername){cov_ujyserows().f[6]++;const url=(cov_ujyserows().s[31]++,`${apiurl}/renamenode`);cov_ujyserows().s[32]++;if(!path){cov_ujyserows().b[5][0]++;cov_ujyserows().s[33]++;path='';}else{cov_ujyserows().b[5][1]++;}const request=(cov_ujyserows().s[34]++,new BrowserNodeRenameRequest({Path:path,NewFoldername:newFoldername}));cov_ujyserows().s[35]++;return this.httpclient.put(url,request,{withCredentials:true});}/**
|
|
54
|
+
* Saves an uploaded file in the structure
|
|
55
|
+
* @param apiurl URL to API Service
|
|
56
|
+
* @param path Path where the new file should be saved
|
|
57
|
+
* @param id ID of the upload
|
|
58
|
+
* @param allowedextensions Allowed extensions for the upload
|
|
59
|
+
* @returns Observable containing the file response after save
|
|
60
|
+
*/SaveFile(apiurl,path,id,allowedextensions){cov_ujyserows().f[7]++;const url=(cov_ujyserows().s[36]++,`${apiurl}/uploadfile`);cov_ujyserows().s[37]++;if(!path){cov_ujyserows().b[6][0]++;cov_ujyserows().s[38]++;path='';}else{cov_ujyserows().b[6][1]++;}const request=(cov_ujyserows().s[39]++,new BrowserFileSaveRequest({Path:path,UploadId:id,AllowedTypes:allowedextensions}));cov_ujyserows().s[40]++;return this.httpclient.post(url,request,{withCredentials:true});}/**
|
|
61
|
+
* Saves a node
|
|
62
|
+
* @param apiurl URL to API Service
|
|
63
|
+
* @param path Path where the node should be saved
|
|
64
|
+
* @param newFoldername Name of the new node
|
|
65
|
+
* @returns Observable containing the node response after save
|
|
66
|
+
*/SaveNode(apiurl,path,newFoldername){cov_ujyserows().f[8]++;const url=(cov_ujyserows().s[41]++,`${apiurl}/newnode`);cov_ujyserows().s[42]++;if(!path){cov_ujyserows().b[7][0]++;cov_ujyserows().s[43]++;path='';}else{cov_ujyserows().b[7][1]++;}const request=(cov_ujyserows().s[44]++,new BrowserNodeNewRequest({Path:path,NewFoldername:newFoldername}));cov_ujyserows().s[45]++;return this.httpclient.post(url,request,{withCredentials:true});}}cov_ujyserows().s[46]++;SacDefaultFileBrowserService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultFileBrowserService,deps:[{token:i1.HttpClient}],target:i0.ɵɵFactoryTarget.Injectable});cov_ujyserows().s[47]++;SacDefaultFileBrowserService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultFileBrowserService,providedIn:'root'});cov_ujyserows().s[48]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultFileBrowserService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}],ctorParameters:function(){cov_ujyserows().f[9]++;cov_ujyserows().s[49]++;return[{type:i1.HttpClient}];}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWZpbGVicm93c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9zZXJ2aWNlcy9zYWMtZmlsZWJyb3dzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUlyRixPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNELG9CQUFvQjtBQUVwQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUF5QixvQkFBb0IsQ0FBQyxDQUFDO0FBRXZHLHVCQUF1QjtBQUV2QiwyQkFBMkI7QUFFM0I7O0dBRUc7QUFJSCxNQUFNLE9BQWdCLDZCQUE2Qjs7MEhBQTdCLDZCQUE2Qjs4SEFBN0IsNkJBQTZCLGNBRm5DLE1BQU07MkZBRUEsNkJBQTZCO2tCQUhsRCxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7QUFzRkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsNkJBQTZCO0lBQzNFLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFvQixVQUFzQjtRQUN0QyxLQUFLLEVBQUUsQ0FB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QUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQztZQUN0QyxJQUFJLEVBQUUsSUFBSTtZQUNWLGFBQWEsRUFBRSxhQUFhO1NBQy9CLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXVCLEdBQUcsRUFBRSxPQUFPLEVBQUU7WUFDNUQsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7eUhBek5RLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRnpCLE1BQU07MkZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVkZWxldGVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVyZW5hbWVyZXF1ZXN0JztcbmltcG9ydCB7IElCcm93c2VyRmlsZVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlc2F2ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZW5ld3JlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QnO1xuaW1wb3J0IHsgSUJyb3dzZXJOb2RlUmVzcG9uc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlcmVzcG9uc2UnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBJbmplY3Rpb24gVG9rZW4gZm9yIExhbmd1YWdlIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNBQ0ZJTEVCUk9XU0VSX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0ZpbGVCcm93c2VyU2VydmljZT4oJ0ZpbGVCcm93c2VyU2VydmljZScpO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBBYnN0cmFjdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZmlsZSBzZXJ2aWNlIGZvciB0aGUgYnJvd3NlciBjb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RGaWxlQnJvd3NlclNlcnZpY2UgaW1wbGVtZW50cyBJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgZmlsZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkZWxldGVkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEFsbG93ZWQgZXh0ZW5zaW9ucyBmb3IgZmlsZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgRGVsZXRlRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgdG8gYmUgZGVsZXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBEZWxldGVOb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0aGF0IHJlYWRzIHRoZSBmaWxlcyBvZiBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgZnJvbSB3aGljaCB0aGUgZmlsZXMgc2hvdWxkIGJlIHJlYWRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBmaWxlIGV4dGVuc2lvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgR2V0RmlsZXMoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgYmVpbmcgcmVxdWVzdGVkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEFsbG93ZWQgZXh0ZW5zaW9ucyB0aGF0IG1heSBiZSBkaXNwbGF5ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgR2V0Tm9kZShhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCByZW5hbWVzIGEgZmlsZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCB0byB0aGUgZmlsZSB0byBiZSByZW5hbWVkXG4gICAgICogQHBhcmFtIG5ld0ZpbGVuYW1lIE5ldyBmaWxlbmFtZVxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBBbGxvd2VkIGV4dGVuc2lvbiBmb3IgZmlsZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgUmVuYW1lRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgbmV3RmlsZW5hbWU6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogUmVuYW1lIGEgbm9kZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCBvZiB0aGUgbm9kZSB0byBiZSByZW5hbWVkXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV3IG5hbWUgb2YgdGhlIG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgUmVuYW1lTm9kZShhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBuZXdGb2xkZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAgIC8qKlxuICAgICAqIFNhdmVzIGFuIHVwbG9hZGVkIGZpbGUgaW4gdGhlIHN0cnVjdHVyZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCB3aGVyZSB0aGUgbmV3IGZpbGUgc2hvdWxkIGJlIHNhdmVkXG4gICAgICogQHBhcmFtIGlkIElEIG9mIHRoZSB1cGxvYWRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBleHRlbnNpb25zIGZvciB0aGUgdXBsb2FkXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IFNhdmVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggd2hlcmUgdGhlIG5vZGUgc2hvdWxkIGJlIHNhdmVkXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmFtZSBvZiB0aGUgbmV3IG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgU2F2ZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG5cbi8qKlxuICogU3RhbmRhcmQgaW1wbGVtZW50YXRpb24gb2YgdGhlIGJhY2tlbmQgc2VydmljZSBmb3IgdGhlIGZpbGUgYnJvd3NlciBjb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSBleHRlbmRzIFNhY0Fic3RyYWN0RmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gaHR0cGNsaWVudCBIVFRQIENsaWVudCBTZXJ2aWNlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwY2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgYSBmaWxlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRlbGV0ZWRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBleHRlbnNpb25zIGZvciBmaWxlc1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZmlsZSByZXNwb25zZSBhZnRlciBkZWxldGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBEZWxldGVGaWxlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlZmlsZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgdG8gYmUgZGVsZXRlZFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgbm9kZSByZXNwb25zZSBhZnRlciBkZWxldGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBEZWxldGVOb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlbm9kZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCByZWFkcyB0aGUgZmlsZXMgb2YgYSBub2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBub2RlIGZyb20gd2hpY2ggdGhlIGZpbGVzIHNob3VsZCBiZSByZWFkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEFsbG93ZWQgZmlsZSBleHRlbnNpb25zXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBmaWxlIHJlc3BvbnNlXG4gICAgICovXG4gICAgcHVibGljIEdldEZpbGVzKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZ2V0ZmlsZXNgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3NlckZpbGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBub2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBub2RlIGJlaW5nIHJlcXVlc3RlZFxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBBbGxvd2VkIGV4dGVuc2lvbnMgdGhhdCBtYXkgYmUgZGlzcGxheWVkXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBub2RlIHJlc3BvbnNlXG4gICAgICovXG4gICAgcHVibGljIEdldE5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9nZXRub2Rlc2A7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRoYXQgcmVuYW1lcyBhIGZpbGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggdG8gdGhlIGZpbGUgdG8gYmUgcmVuYW1lZFxuICAgICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXcgZmlsZW5hbWVcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBleHRlbnNpb24gZm9yIGZpbGVzXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBmaWxlIHJlc3BvbnNlIGFmdGVyIHJlbmFtZVxuICAgICAqL1xuICAgIHB1YmxpYyBSZW5hbWVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBuZXdGaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3JlbmFtZWZpbGVgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIE5ld0ZpbGVuYW1lOiBuZXdGaWxlbmFtZSxcbiAgICAgICAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucHV0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVuYW1lIGEgbm9kZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCBvZiB0aGUgbm9kZSB0byBiZSByZW5hbWVkXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV3IG5hbWUgb2YgdGhlIG5vZGVcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIG5vZGUgcmVzcG9uc2UgYWZ0ZXIgcmVuYW1lXG4gICAgICovXG4gICAgcHVibGljIFJlbmFtZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3JlbmFtZW5vZGVgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucHV0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYW4gdXBsb2FkZWQgZmlsZSBpbiB0aGUgc3RydWN0dXJlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIHdoZXJlIHRoZSBuZXcgZmlsZSBzaG91bGQgYmUgc2F2ZWRcbiAgICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIHVwbG9hZFxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBBbGxvd2VkIGV4dGVuc2lvbnMgZm9yIHRoZSB1cGxvYWRcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGZpbGUgcmVzcG9uc2UgYWZ0ZXIgc2F2ZVxuICAgICAqL1xuICAgIHB1YmxpYyBTYXZlRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS91cGxvYWRmaWxlYDtcblxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3NlckZpbGVTYXZlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgVXBsb2FkSWQ6IGlkLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYSBub2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIHdoZXJlIHRoZSBub2RlIHNob3VsZCBiZSBzYXZlZFxuICAgICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5hbWUgb2YgdGhlIG5ldyBub2RlXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBub2RlIHJlc3BvbnNlIGFmdGVyIHNhdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgU2F2ZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L25ld25vZGVgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZU5ld1JlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cblxuLy8gI2VuZHJlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG4iXX0=
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfdWp5c2Vyb3dzIiwiYWN0dWFsQ292ZXJhZ2UiLCJCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3QiLCJCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3QiLCJCcm93c2VyRmlsZVNhdmVSZXF1ZXN0IiwiQnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0IiwiQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IiwiQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IiwiQnJvd3Nlck5vZGVSZXF1ZXN0IiwiSW5qZWN0YWJsZSIsIkluamVjdGlvblRva2VuIiwiU0FDRklMRUJST1dTRVJfU0VSVklDRSIsInMiLCJTYWNBYnN0cmFjdEZpbGVCcm93c2VyU2VydmljZSIsImRlcHMiLCJ0YXJnZXQiLCJpMCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwicHJvdmlkZWRJbiIsImRlY29yYXRvcnMiLCJTYWNEZWZhdWx0RmlsZUJyb3dzZXJTZXJ2aWNlIiwiY29uc3RydWN0b3IiLCJodHRwY2xpZW50IiwiZiIsIkRlbGV0ZUZpbGUiLCJhcGl1cmwiLCJwYXRoIiwiYWxsb3dlZGV4dGVuc2lvbnMiLCJ1cmwiLCJiIiwicmVxdWVzdCIsIlBhdGgiLCJBbGxvd2VkVHlwZXMiLCJwb3N0Iiwid2l0aENyZWRlbnRpYWxzIiwiRGVsZXRlTm9kZSIsIkdldEZpbGVzIiwiR2V0Tm9kZSIsIlJlbmFtZUZpbGUiLCJuZXdGaWxlbmFtZSIsIk5ld0ZpbGVuYW1lIiwicHV0IiwiUmVuYW1lTm9kZSIsIm5ld0ZvbGRlcm5hbWUiLCJOZXdGb2xkZXJuYW1lIiwiU2F2ZUZpbGUiLCJpZCIsIlVwbG9hZElkIiwiU2F2ZU5vZGUiLCJ0b2tlbiIsImkxIiwiSHR0cENsaWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3NlcnZpY2VzL3NhYy1maWxlYnJvd3Nlci5zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVkZWxldGVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVyZW5hbWVyZXF1ZXN0JztcbmltcG9ydCB7IElCcm93c2VyRmlsZVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlc2F2ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZW5ld3JlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3Nlck5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QnO1xuaW1wb3J0IHsgSUJyb3dzZXJOb2RlUmVzcG9uc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlcmVzcG9uc2UnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBJbmplY3Rpb24gVG9rZW4gZm9yIExhbmd1YWdlIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNBQ0ZJTEVCUk9XU0VSX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0ZpbGVCcm93c2VyU2VydmljZT4oJ0ZpbGVCcm93c2VyU2VydmljZScpO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBBYnN0cmFjdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZmlsZSBzZXJ2aWNlIGZvciB0aGUgYnJvd3NlciBjb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RGaWxlQnJvd3NlclNlcnZpY2UgaW1wbGVtZW50cyBJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgZmlsZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkZWxldGVkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEFsbG93ZWQgZXh0ZW5zaW9ucyBmb3IgZmlsZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgRGVsZXRlRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgdG8gYmUgZGVsZXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBEZWxldGVOb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0aGF0IHJlYWRzIHRoZSBmaWxlcyBvZiBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgZnJvbSB3aGljaCB0aGUgZmlsZXMgc2hvdWxkIGJlIHJlYWRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBmaWxlIGV4dGVuc2lvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgR2V0RmlsZXMoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgYmVpbmcgcmVxdWVzdGVkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEFsbG93ZWQgZXh0ZW5zaW9ucyB0aGF0IG1heSBiZSBkaXNwbGF5ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgR2V0Tm9kZShhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCByZW5hbWVzIGEgZmlsZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCB0byB0aGUgZmlsZSB0byBiZSByZW5hbWVkXG4gICAgICogQHBhcmFtIG5ld0ZpbGVuYW1lIE5ldyBmaWxlbmFtZVxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBBbGxvd2VkIGV4dGVuc2lvbiBmb3IgZmlsZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgUmVuYW1lRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgbmV3RmlsZW5hbWU6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogUmVuYW1lIGEgbm9kZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCBvZiB0aGUgbm9kZSB0byBiZSByZW5hbWVkXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV3IG5hbWUgb2YgdGhlIG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgUmVuYW1lTm9kZShhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBuZXdGb2xkZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAgIC8qKlxuICAgICAqIFNhdmVzIGFuIHVwbG9hZGVkIGZpbGUgaW4gdGhlIHN0cnVjdHVyZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCB3aGVyZSB0aGUgbmV3IGZpbGUgc2hvdWxkIGJlIHNhdmVkXG4gICAgICogQHBhcmFtIGlkIElEIG9mIHRoZSB1cGxvYWRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBleHRlbnNpb25zIGZvciB0aGUgdXBsb2FkXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IFNhdmVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggd2hlcmUgdGhlIG5vZGUgc2hvdWxkIGJlIHNhdmVkXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmFtZSBvZiB0aGUgbmV3IG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgU2F2ZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG5cbi8qKlxuICogU3RhbmRhcmQgaW1wbGVtZW50YXRpb24gb2YgdGhlIGJhY2tlbmQgc2VydmljZSBmb3IgdGhlIGZpbGUgYnJvd3NlciBjb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSBleHRlbmRzIFNhY0Fic3RyYWN0RmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gaHR0cGNsaWVudCBIVFRQIENsaWVudCBTZXJ2aWNlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwY2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgYSBmaWxlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRlbGV0ZWRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBleHRlbnNpb25zIGZvciBmaWxlc1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZmlsZSByZXNwb25zZSBhZnRlciBkZWxldGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBEZWxldGVGaWxlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlZmlsZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIG5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIG5vZGUgdG8gYmUgZGVsZXRlZFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgbm9kZSByZXNwb25zZSBhZnRlciBkZWxldGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBEZWxldGVOb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlbm9kZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCByZWFkcyB0aGUgZmlsZXMgb2YgYSBub2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBub2RlIGZyb20gd2hpY2ggdGhlIGZpbGVzIHNob3VsZCBiZSByZWFkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEFsbG93ZWQgZmlsZSBleHRlbnNpb25zXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBmaWxlIHJlc3BvbnNlXG4gICAgICovXG4gICAgcHVibGljIEdldEZpbGVzKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZ2V0ZmlsZXNgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3NlckZpbGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBub2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBub2RlIGJlaW5nIHJlcXVlc3RlZFxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBBbGxvd2VkIGV4dGVuc2lvbnMgdGhhdCBtYXkgYmUgZGlzcGxheWVkXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBub2RlIHJlc3BvbnNlXG4gICAgICovXG4gICAgcHVibGljIEdldE5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9nZXRub2Rlc2A7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRoYXQgcmVuYW1lcyBhIGZpbGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB0byBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggdG8gdGhlIGZpbGUgdG8gYmUgcmVuYW1lZFxuICAgICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXcgZmlsZW5hbWVcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgQWxsb3dlZCBleHRlbnNpb24gZm9yIGZpbGVzXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBmaWxlIHJlc3BvbnNlIGFmdGVyIHJlbmFtZVxuICAgICAqL1xuICAgIHB1YmxpYyBSZW5hbWVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBuZXdGaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3JlbmFtZWZpbGVgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIE5ld0ZpbGVuYW1lOiBuZXdGaWxlbmFtZSxcbiAgICAgICAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucHV0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVuYW1lIGEgbm9kZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHRvIEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGF0aCBvZiB0aGUgbm9kZSB0byBiZSByZW5hbWVkXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV3IG5hbWUgb2YgdGhlIG5vZGVcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIG5vZGUgcmVzcG9uc2UgYWZ0ZXIgcmVuYW1lXG4gICAgICovXG4gICAgcHVibGljIFJlbmFtZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L3JlbmFtZW5vZGVgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucHV0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYW4gdXBsb2FkZWQgZmlsZSBpbiB0aGUgc3RydWN0dXJlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIHdoZXJlIHRoZSBuZXcgZmlsZSBzaG91bGQgYmUgc2F2ZWRcbiAgICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIHVwbG9hZFxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBBbGxvd2VkIGV4dGVuc2lvbnMgZm9yIHRoZSB1cGxvYWRcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGZpbGUgcmVzcG9uc2UgYWZ0ZXIgc2F2ZVxuICAgICAqL1xuICAgIHB1YmxpYyBTYXZlRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS91cGxvYWRmaWxlYDtcblxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3NlckZpbGVTYXZlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgVXBsb2FkSWQ6IGlkLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYSBub2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgdG8gQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIHdoZXJlIHRoZSBub2RlIHNob3VsZCBiZSBzYXZlZFxuICAgICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5hbWUgb2YgdGhlIG5ldyBub2RlXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBub2RlIHJlc3BvbnNlIGFmdGVyIHNhdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgU2F2ZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L25ld25vZGVgO1xuXG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZU5ld1JlcXVlc3Qoe1xuICAgICAgICAgICAgUGF0aDogcGF0aCxcbiAgICAgICAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cblxuLy8gI2VuZHJlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG4iXSwibWFwcGluZ3MiOiJzeXJCQXFCQTtBQUFBQSxhQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGFBQUEsR0FyQkEsT0FBU0Usd0JBQXdCLEtBQVEsdURBQXVELENBQ2hHLE9BQVNDLHdCQUF3QixLQUFRLHVEQUF1RCxDQUVoRyxPQUFTQyxzQkFBc0IsS0FBUSxxREFBcUQsQ0FDNUYsT0FBU0Msd0JBQXdCLEtBQVEsdURBQXVELENBQ2hHLE9BQVNDLHFCQUFxQixLQUFRLG9EQUFvRCxDQUMxRixPQUFTQyx3QkFBd0IsS0FBUSx1REFBdUQsQ0FDaEcsT0FBU0Msa0JBQWtCLEtBQVEsaURBQWlELENBSXBGLE9BQVNDLFVBQVUsQ0FBRUMsY0FBYyxLQUFRLGVBQWUsQyx5RUFHMUQ7QUFFQTs7R0FHQSxNQUFPLE1BQU0sQ0FBQUMsc0JBQXNCLEVBQUFYLGFBQUEsR0FBQVksQ0FBQSxNQUFHLEdBQUksQ0FBQUYsY0FBYyxDQUF5QixvQkFBb0IsQ0FBQyxFQUV0RztBQUVBO0FBRUE7O0dBTUEsTUFBTSxNQUFnQixDQUFBRyw2QkFBNkIsRSx1SUFBN0JBLDZCQUE2QixDQUFBQyxJQUFBLElBQUFDLE1BQUEsQ0FBQUMsRUFBQSxDQUFBQyxlQUFBLENBQUFSLFVBQUEsR0FBQVQsYUFBQSxHQUFBWSxD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
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
function cov_1k0gbzhkca(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/services/sac-language.service.mjs";var hash="
|
|
2
|
-
cov_1k0gbzhkca=function(){return actualCoverage;};}return actualCoverage;}cov_1k0gbzhkca();import{Injectable,InjectionToken}from'@angular/core';import{Observable}from'rxjs';import
|
|
1
|
+
function cov_1k0gbzhkca(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/services/sac-language.service.mjs";var hash="729850ace1b31eee431ea5bc5f693cc73d4766be";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/services/sac-language.service.mjs",statementMap:{"0":{start:{line:9,column:35},end:{line:9,column:75}},"1":{start:{line:17,column:0},end:{line:17,column:198}},"2":{start:{line:18,column:0},end:{line:18,column:173}},"3":{start:{line:19,column:0},end:{line:22,column:14}},"4":{start:{line:32,column:8},end:{line:42,column:11}},"5":{start:{line:33,column:27},end:{line:33,column:29}},"6":{start:{line:34,column:12},end:{line:39,column:15}},"7":{start:{line:40,column:12},end:{line:40,column:34}},"8":{start:{line:41,column:12},end:{line:41,column:32}},"9":{start:{line:45,column:0},end:{line:45,column:198}},"10":{start:{line:46,column:0},end:{line:46,column:171}},"11":{start:{line:47,column:0},end:{line:50,column:14}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:19},end:{line:43,column:5}},line:31},"1":{name:"(anonymous_1)",decl:{start:{line:32,column:30},end:{line:32,column:31}},loc:{start:{line:32,column:44},end:{line:42,column:9}},line:32}},branchMap:{},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},f:{"0":0,"1":0},b:{},inputSourceMap:{version:3,file:"sac-language.service.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/services/sac-language.service.ts"],names:[],mappings:"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;;AAElC,oBAAoB;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAAsB,oBAAoB,CAAC,CAAC;AAEjG,uBAAuB;AAEvB,2BAA2B;AAE3B;;GAEG;AAEH,MAAM,OAAgB,0BAA0B;;uHAA1B,0BAA0B;2HAA1B,0BAA0B,cADtB,MAAM;2FACV,0BAA0B;kBAD/C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;AAYlC;;KAEK;AAEL,MAAM,OAAO,yBAA0B,SAAQ,0BAA0B;IACrE,yBAAyB;IAEzB;;OAEG;IACI,YAAY;QACf,OAAO,IAAI,UAAU,CAAkB,CAAC,QAAQ,EAAE,EAAE;YAChD,MAAM,MAAM,GAAoB,EAAE,CAAC;YAEnC,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,QAAQ,CAAC,KAAK;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;;sHApBQ,yBAAyB;0HAAzB,yBAAyB,cADZ,MAAM;2FACnB,yBAAyB;kBADrC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE",sourcesContent:["import { IconType } from '../enums/IconType';\nimport { ISacLanguageService } from '../interfaces/ISacLanguageService';\nimport { LanguageModel } from '../models/languagemodel';\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n// #region Variables\n\n/**\n * injection token for language service\n */\nexport const SACLANGUAGE_SERVICE = new InjectionToken<ISacLanguageService>('SacLanguageService');\n\n// #endregion Variables\n\n// #region Exported Classes\n\n/**\n * abstract class for languages provides in components\n */\n@Injectable({ providedIn: 'root' })\nexport abstract class SacAbstractLanguageService implements ISacLanguageService {\n // #region Public Methods\n\n /**\n * @inheritdoc\n */\n public abstract GetLanguages(): Observable<LanguageModel[]>;\n\n // #endregion Public Methods\n}\n\n/**\n * default service for languages\n * */\n@Injectable({ providedIn: 'root' })\nexport class SacDefaultLanguageService extends SacAbstractLanguageService {\n // #region Public Methods\n\n /**\n * @inheritdoc\n */\n public GetLanguages(): Observable<LanguageModel[]> {\n return new Observable<LanguageModel[]>((observer) => {\n const result: LanguageModel[] = [];\n\n result.push({\n Icon: '/icons/en.png',\n IconType: IconType.Image,\n IsoCode: 'en',\n Text: 'English',\n });\n\n observer.next(result);\n observer.complete();\n });\n }\n\n // #endregion Public Methods\n}\n\n// #endregion Exported Classes\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"729850ace1b31eee431ea5bc5f693cc73d4766be"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_1k0gbzhkca=function(){return actualCoverage;};}return actualCoverage;}cov_1k0gbzhkca();import{IconType}from'../enums/IconType';import{Injectable,InjectionToken}from'@angular/core';import{Observable}from'rxjs';import*as i0 from"@angular/core";// #region Variables
|
|
3
|
+
/**
|
|
3
4
|
* injection token for language service
|
|
4
|
-
*/export const SACLANGUAGE_SERVICE=(cov_1k0gbzhkca().s[0]++,new InjectionToken('SacLanguageService'))
|
|
5
|
+
*/export const SACLANGUAGE_SERVICE=(cov_1k0gbzhkca().s[0]++,new InjectionToken('SacLanguageService'));// #endregion Variables
|
|
6
|
+
// #region Exported Classes
|
|
7
|
+
/**
|
|
5
8
|
* abstract class for languages provides in components
|
|
6
9
|
*/export class SacAbstractLanguageService{}cov_1k0gbzhkca().s[1]++;SacAbstractLanguageService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLanguageService,deps:[],target:i0.ɵɵFactoryTarget.Injectable});cov_1k0gbzhkca().s[2]++;SacAbstractLanguageService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLanguageService,providedIn:'root'});cov_1k0gbzhkca().s[3]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLanguageService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}]});/**
|
|
7
10
|
* default service for languages
|
|
8
|
-
* */export class SacDefaultLanguageService extends SacAbstractLanguageService{
|
|
11
|
+
* */export class SacDefaultLanguageService extends SacAbstractLanguageService{// #region Public Methods
|
|
12
|
+
/**
|
|
9
13
|
* @inheritdoc
|
|
10
|
-
*/GetLanguages(){cov_1k0gbzhkca().f[0]++;cov_1k0gbzhkca().s[4]++;return new Observable(observer=>{cov_1k0gbzhkca().f[1]++;const result=(cov_1k0gbzhkca().s[5]++,[]);cov_1k0gbzhkca().s[6]++;result.push({Icon:'/icons/en.png',IconType:IconType.Image,IsoCode:'en',Text:'English'});cov_1k0gbzhkca().s[7]++;observer.next(result);cov_1k0gbzhkca().s[8]++;observer.complete();});}}cov_1k0gbzhkca().s[9]++;SacDefaultLanguageService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLanguageService,deps:null,target:i0.ɵɵFactoryTarget.Injectable});cov_1k0gbzhkca().s[10]++;SacDefaultLanguageService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLanguageService,providedIn:'root'});cov_1k0gbzhkca().s[11]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLanguageService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}]});//# sourceMappingURL=data:application/json;base64,
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
14
|
+
*/GetLanguages(){cov_1k0gbzhkca().f[0]++;cov_1k0gbzhkca().s[4]++;return new Observable(observer=>{cov_1k0gbzhkca().f[1]++;const result=(cov_1k0gbzhkca().s[5]++,[]);cov_1k0gbzhkca().s[6]++;result.push({Icon:'/icons/en.png',IconType:IconType.Image,IsoCode:'en',Text:'English'});cov_1k0gbzhkca().s[7]++;observer.next(result);cov_1k0gbzhkca().s[8]++;observer.complete();});}}cov_1k0gbzhkca().s[9]++;SacDefaultLanguageService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLanguageService,deps:null,target:i0.ɵɵFactoryTarget.Injectable});cov_1k0gbzhkca().s[10]++;SacDefaultLanguageService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLanguageService,providedIn:'root'});cov_1k0gbzhkca().s[11]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLanguageService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}]});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWxhbmd1YWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9zZXJ2aWNlcy9zYWMtbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFbEMsb0JBQW9CO0FBRXBCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQXNCLG9CQUFvQixDQUFDLENBQUM7QUFFakcsdUJBQXVCO0FBRXZCLDJCQUEyQjtBQUUzQjs7R0FFRztBQUVILE1BQU0sT0FBZ0IsMEJBQTBCOzt1SEFBMUIsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FEdEIsTUFBTTsyRkFDViwwQkFBMEI7a0JBRC9DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQVlsQzs7S0FFSztBQUVMLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBMEI7SUFDckUseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksWUFBWTtRQUNmLE9BQU8sSUFBSSxVQUFVLENBQWtCLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDaEQsTUFBTSxNQUFNLEdBQW9CLEVBQUUsQ0FBQztZQUVuQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSxlQUFlO2dCQUNyQixRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxTQUFTO2FBQ2xCLENBQUMsQ0FBQztZQUVILFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBcEJRLHlCQUF5QjswSEFBekIseUJBQXlCLGNBRFosTUFBTTsyRkFDbkIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vZW51bXMvSWNvblR5cGUnO1xuaW1wb3J0IHsgSVNhY0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0xhbmd1YWdlU2VydmljZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBpbmplY3Rpb24gdG9rZW4gZm9yIGxhbmd1YWdlIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNBQ0xBTkdVQUdFX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0xhbmd1YWdlU2VydmljZT4oJ1NhY0xhbmd1YWdlU2VydmljZScpO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBhYnN0cmFjdCBjbGFzcyBmb3IgbGFuZ3VhZ2VzIHByb3ZpZGVzIGluIGNvbXBvbmVudHNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdExhbmd1YWdlU2VydmljZSBpbXBsZW1lbnRzIElTYWNMYW5ndWFnZVNlcnZpY2Uge1xuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IEdldExhbmd1YWdlcygpOiBPYnNlcnZhYmxlPExhbmd1YWdlTW9kZWxbXT47XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG5cbi8qKlxuICogZGVmYXVsdCBzZXJ2aWNlIGZvciBsYW5ndWFnZXNcbiAqICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRMYW5ndWFnZVNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdExhbmd1YWdlU2VydmljZSB7XG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgR2V0TGFuZ3VhZ2VzKCk6IE9ic2VydmFibGU8TGFuZ3VhZ2VNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxMYW5ndWFnZU1vZGVsW10+KChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBMYW5ndWFnZU1vZGVsW10gPSBbXTtcblxuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIEljb246ICcvaWNvbnMvZW4ucG5nJyxcbiAgICAgICAgICAgICAgICBJY29uVHlwZTogSWNvblR5cGUuSW1hZ2UsXG4gICAgICAgICAgICAgICAgSXNvQ29kZTogJ2VuJyxcbiAgICAgICAgICAgICAgICBUZXh0OiAnRW5nbGlzaCcsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuXG4vLyAjZW5kcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcbiJdfQ==
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJY29uVHlwZSIsIkluamVjdGFibGUiLCJJbmplY3Rpb25Ub2tlbiIsIk9ic2VydmFibGUiLCJTQUNMQU5HVUFHRV9TRVJWSUNFIiwiY292XzFrMGdiemhrY2EiLCJzIiwiU2FjQWJzdHJhY3RMYW5ndWFnZVNlcnZpY2UiLCJkZXBzIiwidGFyZ2V0IiwiaTAiLCLJtcm1RmFjdG9yeVRhcmdldCIsInByb3ZpZGVkSW4iLCJkZWNvcmF0b3JzIiwiU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSIsIkdldExhbmd1YWdlcyIsImYiLCJvYnNlcnZlciIsInJlc3VsdCIsInB1c2giLCJJY29uIiwiSW1hZ2UiLCJJc29Db2RlIiwiVGV4dCIsIm5leHQiLCJjb21wbGV0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3NlcnZpY2VzL3NhYy1sYW5ndWFnZS5zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vZW51bXMvSWNvblR5cGUnO1xuaW1wb3J0IHsgSVNhY0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0xhbmd1YWdlU2VydmljZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBpbmplY3Rpb24gdG9rZW4gZm9yIGxhbmd1YWdlIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNBQ0xBTkdVQUdFX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0xhbmd1YWdlU2VydmljZT4oJ1NhY0xhbmd1YWdlU2VydmljZScpO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBhYnN0cmFjdCBjbGFzcyBmb3IgbGFuZ3VhZ2VzIHByb3ZpZGVzIGluIGNvbXBvbmVudHNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdExhbmd1YWdlU2VydmljZSBpbXBsZW1lbnRzIElTYWNMYW5ndWFnZVNlcnZpY2Uge1xuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IEdldExhbmd1YWdlcygpOiBPYnNlcnZhYmxlPExhbmd1YWdlTW9kZWxbXT47XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG5cbi8qKlxuICogZGVmYXVsdCBzZXJ2aWNlIGZvciBsYW5ndWFnZXNcbiAqICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRMYW5ndWFnZVNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdExhbmd1YWdlU2VydmljZSB7XG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgR2V0TGFuZ3VhZ2VzKCk6IE9ic2VydmFibGU8TGFuZ3VhZ2VNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxMYW5ndWFnZU1vZGVsW10+KChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBMYW5ndWFnZU1vZGVsW10gPSBbXTtcblxuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIEljb246ICcvaWNvbnMvZW4ucG5nJyxcbiAgICAgICAgICAgICAgICBJY29uVHlwZTogSWNvblR5cGUuSW1hZ2UsXG4gICAgICAgICAgICAgICAgSXNvQ29kZTogJ2VuJyxcbiAgICAgICAgICAgICAgICBUZXh0OiAnRW5nbGlzaCcsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuXG4vLyAjZW5kcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcbiJdLCJtYXBwaW5ncyI6IjsyRkFBQSxPQUFTQSxRQUFRLEtBQVEsbUJBQW1CLENBRzVDLE9BQVNDLFVBQVUsQ0FBRUMsY0FBYyxLQUFRLGVBQWUsQ0FDMUQsT0FBU0MsVUFBVSxLQUFRLE1BQU0sQyxpQ0FFakM7QUFFQTs7R0FHQSxNQUFPLE1BQU0sQ0FBQUMsbUJBQW1CLEVBQUFDLGNBQUEsR0FBQUMsQ0FBQSxNQUFHLEdBQUksQ0FBQUosY0FBYyxDQUFzQixvQkFBb0IsQ0FBQyxFQUVoRztBQUVBO0FBRUE7O0dBSUEsTUFBTSxNQUFnQixDQUFBSywwQkFBMEIsRSxxSUFBMUJBLDBCQUEwQixDQUFBQyxJQUFBLElBQUFDLE1BQUEsQ0FBQUMsRUFBQSxDQUFBQyxlQUFBLENBQUFWLFVBQUEsR0FBQUksY0FBQSxHQUFBQyxDQUFBLE0saUhBQTFCQywwQkFBMEIsQ0FBQUssVUFBQSxDQUR0QixNQUFNLEdBQUFQLGNBQUEsR0FBQUMsQ0FBQSxNLG1GQUNWQywwQkFBMEIsQ0FBQU0sVUFBQSxHLEtBRC9DWixVQUFVLEMsTUFBQyxDQUFFVyxVQUFVLENBQUUsTUFBTSxDQUFFLEMsS0FZbEM7O0tBSUEsTUFBTSxNQUFPLENBQUFFLHlCQUEwQixRQUFRLENBQUFQLDBCQUEwQixDQUNyRTtBQUVBOztPQUdPUSxZQUFZQSxDQUFBLEVBQUFWLGNBQUEsR0FBQVcsQ0FBQSxLQUFBWCxDQUFBLGlCQUFBQyxDQUFBLE1BQ2YsTUFBTyxJQUFJLENBQUFILFVBQVUsQ0FBbUJjLFFBQVEsRUFBSSxDQUFBWixjQUFBLEdBQUFXLENBQUEsTUFDaEQsS0FBTSxDQUFBRSxNQUFNLEVBQUFiLGNBQUEsR0FBQUMsQ0FBQSxNQUFvQixFQUFFLEVBQUNELGNBQUEsR0FBQUMsQ0FBQSxNQUVuQ1ksTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FDUkMsSUFBSSxDQUFFLGVBQWUsQ0FDckJwQixRQUFRLENBQUVBLFFBQVEsQ0FBQ3FCLEtBQUssQ0FDeEJDLE9BQU8sQ0FBRSxJQUFJLENBQ2JDLElBQUksQ0FBRSxTLENBQ1QsQ0FBQyxDQUFDbEIsY0FBQSxHQUFBQyxDQUFBLE1BRUhXLFFBQVEsQ0FBQ08sSUFBSSxDQUFDTixNQUFNLENBQUMsQ0FBQ2IsY0FBQSxHQUFBQyxDQUFBLE1BQ3RCVyxRQUFRLENBQUNRLFFBQVEsRUFBRSxDQUN2QixDQUFDLENBQUMsQ0FDTixDLHFJQXBCU1gseUJBQXlCLENBQUFOLElBQUEsTUFBQUMsTUFBQSxDQUFBQyxFQUFBLENBQUFDLGVBQUEsQ0FBQVYsVUFBQSxHQUFBSSxjQUFBLEdBQUFDLENBQUEsTyxnSEFBekJRLHlCQUF5QixDQUFBRixVQUFBLENBRFosTUFBTSxHQUFBUCxjQUFBLEdBQUFDLENBQUEsTyxtRkFDbkJRLHlCQUF5QixDQUFBRCxVQUFBLEcsS0FEckNaLFVBQVUsQyxNQUFDLENBQUVXLFVBQVUsQ0FBRSxNQUFNLENBQUUsQyIsImlnbm9yZUxpc3QiOltdfQ==
|