@simpleangularcontrols/sac-common 16.0.0-rc.22 → 16.0.0-rc.23
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 +4 -4
- 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 +24 -23
- package/controls/confirm/confirm.d.ts.map +1 -1
- package/controls/confirm/confirm.service.d.ts +20 -20
- 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/contextmenuanchor.d.ts.map +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +4 -4
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
- 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 +22 -17
- 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 +10 -6
- package/controls/grid/gridcolumn.d.ts.map +1 -1
- package/controls/grid/gridcolumnaction.d.ts +2 -2
- package/controls/grid/gridcolumnaction.d.ts.map +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 +22 -19
- package/controls/grid/model.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 +15 -15
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputemail.d.ts +5 -5
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputinteger.d.ts +15 -15
- 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 +11 -8
- 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/buildvaluestring.d.ts.map +1 -1
- package/controls/list/dropdown.d.ts +23 -22
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/dropdownoptions.d.ts +11 -11
- 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 +27 -27
- 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 +6 -6
- package/controls/static/staticlabel.d.ts.map +1 -1
- package/controls/tabs/tab.d.ts +2 -2
- package/controls/tabs/tabitem.d.ts +9 -9
- 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 +11 -11
- package/controls/tinymce/tinymcedialogsettings.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +2 -2
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts.map +1 -1
- package/controls/tinymce/tinymceinstance.d.ts +2 -2
- package/controls/tinymce/tinymceinstance.d.ts.map +1 -1
- 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 +43 -36
- package/controls/wizard/wizard.d.ts.map +1 -1
- package/controls/wizard/wizarditem.d.ts +9 -9
- 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/esm2022/common/basedatetimecontrol.mjs +59 -38
- package/esm2022/common/baseinputcontrol.mjs +16 -14
- package/esm2022/common/baselistcontrol.mjs +20 -18
- package/esm2022/common/basemodelcontrol.mjs +82 -71
- package/esm2022/common/baseselectcontrol.mjs +10 -9
- package/esm2022/common/baseuploadcontrol.mjs +74 -58
- package/esm2022/components/browser/browser.mjs +88 -90
- package/esm2022/components/browser/models/browserfile.mjs +3 -3
- package/esm2022/components/browser/models/browserfiledeleterequest.mjs +9 -7
- package/esm2022/components/browser/models/browserfilerenamerequest.mjs +9 -7
- package/esm2022/components/browser/models/browserfileresponse.mjs +3 -3
- package/esm2022/components/browser/models/browserfilesaverequest.mjs +8 -6
- package/esm2022/components/browser/models/browsernode.mjs +3 -3
- package/esm2022/components/browser/models/browsernodedeleterequest.mjs +9 -7
- package/esm2022/components/browser/models/browsernodenewrequest.mjs +9 -7
- package/esm2022/components/browser/models/browsernoderenamerequest.mjs +9 -7
- package/esm2022/components/browser/models/browsernoderequest.mjs +9 -7
- package/esm2022/components/browser/models/browsernoderesponse.mjs +3 -3
- package/esm2022/controls/buttons/button.mjs +29 -25
- package/esm2022/controls/checkbox/checkbox.mjs +7 -7
- package/esm2022/controls/checkbox/radiobutton.mjs +23 -18
- package/esm2022/controls/checkbox/radiobuttons.mjs +17 -14
- package/esm2022/controls/confirm/confirm.button.mjs +6 -6
- package/esm2022/controls/confirm/confirm.mjs +27 -28
- package/esm2022/controls/confirm/confirm.service.mjs +24 -24
- package/esm2022/controls/contextmenu/contextmenu.interface.mjs +3 -3
- package/esm2022/controls/contextmenu/contextmenu.mjs +32 -27
- package/esm2022/controls/contextmenu/contextmenuanchor.mjs +7 -7
- package/esm2022/controls/contextmenu/contextmenucontainer.mjs +7 -7
- package/esm2022/controls/contextmenu/contextmenuitem.mjs +4 -4
- package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +13 -13
- package/esm2022/controls/datetime/date.mjs +16 -16
- package/esm2022/controls/datetime/dateselector.mjs +95 -94
- package/esm2022/controls/datetime/datetime.mjs +20 -19
- package/esm2022/controls/datetime/time.mjs +27 -17
- package/esm2022/controls/dialog/dialog.mjs +41 -37
- package/esm2022/controls/form/form.mjs +22 -19
- package/esm2022/controls/grid/grid.mjs +5 -4
- package/esm2022/controls/grid/gridbutton.mjs +5 -4
- package/esm2022/controls/grid/gridcolumn.mjs +13 -9
- package/esm2022/controls/grid/gridcolumnaction.mjs +6 -6
- package/esm2022/controls/grid/gridcolumnbase.mjs +12 -7
- package/esm2022/controls/grid/gridimage.mjs +3 -3
- package/esm2022/controls/grid/model.mjs +23 -21
- package/esm2022/controls/grid/paging.mjs +9 -10
- package/esm2022/controls/input/input.mjs +11 -11
- package/esm2022/controls/input/inputarea.mjs +12 -10
- package/esm2022/controls/input/inputcurrency.mjs +9 -7
- package/esm2022/controls/input/inputdecimal.mjs +22 -22
- package/esm2022/controls/input/inputemail.mjs +9 -9
- package/esm2022/controls/input/inputinteger.mjs +21 -21
- package/esm2022/controls/input/inputpassword.mjs +7 -7
- package/esm2022/controls/input/inputsearch.mjs +15 -13
- package/esm2022/controls/layout/formlayout.mjs +16 -10
- package/esm2022/controls/list/buildvaluestring.mjs +10 -8
- package/esm2022/controls/list/dropdown.mjs +31 -30
- package/esm2022/controls/list/dropdownoptions.mjs +26 -19
- package/esm2022/controls/list/listbox.mjs +32 -30
- package/esm2022/controls/multilanguage/multilanguageinput.mjs +33 -33
- package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +34 -34
- package/esm2022/controls/static/formcontainer.mjs +13 -13
- package/esm2022/controls/static/staticlabel.mjs +15 -12
- package/esm2022/controls/tabs/tab.mjs +5 -5
- package/esm2022/controls/tabs/tabitem.mjs +9 -8
- package/esm2022/controls/tinymce/tinymce.mjs +38 -38
- package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +9 -7
- package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +3 -5
- package/esm2022/controls/tinymce/tinymceinstance.mjs +3 -3
- package/esm2022/controls/tooltip/tooltip.mjs +16 -11
- package/esm2022/controls/treeview/treeview.mjs +47 -11
- package/esm2022/controls/upload/dropzonemultiple.mjs +21 -21
- package/esm2022/controls/upload/dropzonesingle.mjs +15 -15
- package/esm2022/controls/upload/uploadmultiple.mjs +17 -17
- package/esm2022/controls/upload/uploadsingle.mjs +11 -11
- package/esm2022/controls/validation/validationsummary.mjs +17 -16
- package/esm2022/controls/wizard/wizard.mjs +43 -33
- package/esm2022/controls/wizard/wizarditem.mjs +8 -8
- package/esm2022/enums/ButtonRoleType.mjs +3 -3
- package/esm2022/enums/ControlHeight.mjs +4 -4
- package/esm2022/enums/IconType.mjs +4 -4
- package/esm2022/interfaces/ISacConfigurationService.mjs +3 -3
- package/esm2022/interfaces/ISacFileBrowserService.mjs +3 -3
- package/esm2022/interfaces/ISacLabelSizes.mjs +3 -3
- package/esm2022/interfaces/ISacLanguageService.mjs +3 -3
- package/esm2022/interfaces/ISacLocalisationService.mjs +3 -3
- package/esm2022/interfaces/ISacUploadEventCompleteState.mjs +3 -3
- package/esm2022/interfaces/ISacValidationKeyService.mjs +3 -3
- package/esm2022/interfaces/iabstractcontrollabel.mjs +3 -3
- package/esm2022/interfaces/iconfirmcomponent.mjs +3 -3
- package/esm2022/interfaces/idatetimecontrol.mjs +3 -3
- package/esm2022/interfaces/iuploadcontrol.mjs +3 -3
- package/esm2022/interfaces/treeviewaction.interface.mjs +3 -3
- package/esm2022/models/languagemodel.mjs +8 -6
- package/esm2022/public_api.mjs +4 -4
- package/esm2022/services/index.mjs +3 -3
- package/esm2022/services/sac-configuration.service.mjs +13 -11
- package/esm2022/services/sac-filebrowser.service.mjs +66 -52
- package/esm2022/services/sac-icon.service.mjs +5 -5
- package/esm2022/services/sac-language.service.mjs +11 -7
- package/esm2022/services/sac-localisation.service.mjs +15 -11
- package/esm2022/services/sac-validationkey.service.mjs +108 -6
- package/esm2022/utilities/convertion.mjs +10 -8
- package/esm2022/utilities/datatypes.mjs +8 -6
- package/esm2022/utilities/enums.mjs +4 -10
- package/esm2022/utilities/guid.mjs +8 -8
- package/esm2022/utilities/interpolation.mjs +21 -14
- package/esm2022/utilities/popuphelper.mjs +52 -32
- package/esm2022/utilities/positioncalculator.mjs +61 -0
- package/esm2022/utilities/positionelements.mjs +32 -0
- package/esm2022/utilities/testingattribute.pipe.mjs +19 -6
- package/esm2022/validation/email.validator.mjs +11 -3
- package/esm2022/validation/equals.validator.mjs +12 -3
- package/esm2022/validation/index.mjs +3 -3
- package/esm2022/validation/invaliddate.validator.mjs +11 -3
- package/esm2022/validation/isDateValid.mjs +12 -10
- package/esm2022/validation/maxdate.validator.mjs +13 -4
- package/esm2022/validation/maxtime.validator.mjs +13 -4
- package/esm2022/validation/maxvalue.validator.mjs +12 -3
- package/esm2022/validation/mindate.validator.mjs +13 -4
- package/esm2022/validation/minfiles.validator.mjs +13 -4
- package/esm2022/validation/mintextlength.validator.mjs +11 -4
- package/esm2022/validation/mintime.validator.mjs +13 -4
- package/esm2022/validation/minvalue.validator.mjs +12 -3
- package/esm2022/validation/multilanguagerequired.validator.mjs +12 -3
- package/esm2022/validation/multilanguagerequiredany.validator.mjs +12 -3
- package/esm2022/validation/notequals.validator.mjs +12 -3
- package/esm2022/validation/pattern.validator.mjs +12 -3
- package/esm2022/validation/required.validator.mjs +11 -3
- package/esm2022/validation/validation.mjs +86 -102
- package/esm2022/validation/validationerrorcreator.mjs +13 -3
- package/esm2022/validation/validationerroritem.mjs +14 -12
- package/fesm2022/simpleangularcontrols-sac-common.mjs +2693 -2164
- package/fesm2022/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/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-16.0.0-rc.23.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/positionelements.d.ts +31 -0
- package/utilities/positionelements.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/esm2022/utilities/positioning.mjs +0 -58
- package/simpleangularcontrols-sac-common-16.0.0-rc.22.tgz +0 -0
- package/utilities/positioning.d.ts +0 -83
- package/utilities/positioning.d.ts.map +0 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
function cov_b9weglwy3(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/validation/validationsummary.mjs";var hash="3b6b6fc71650e28c5acc66ce1ef085e8f2a0444b";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/validation/validationsummary.mjs",statementMap:{"0":{start:{line:22,column:8},end:{line:22,column:34}},"1":{start:{line:26,column:8},end:{line:26,column:33}},"2":{start:{line:27,column:8},end:{line:27,column:29}},"3":{start:{line:28,column:8},end:{line:28,column:113}},"4":{start:{line:29,column:8},end:{line:29,column:134}},"5":{start:{line:37,column:27},end:{line:37,column:38}},"6":{start:{line:39,column:8},end:{line:51,column:9}},"7":{start:{line:40,column:12},end:{line:40,column:50}},"8":{start:{line:42,column:13},end:{line:51,column:9}},"9":{start:{line:43,column:12},end:{line:43,column:33}},"10":{start:{line:45,column:12},end:{line:47,column:13}},"11":{start:{line:46,column:16},end:{line:46,column:60}},"12":{start:{line:50,column:12},end:{line:50,column:44}},"13":{start:{line:52,column:22},end:{line:54,column:10}},"14":{start:{line:53,column:12},end:{line:53,column:42}},"15":{start:{line:55,column:8},end:{line:55,column:51}},"16":{start:{line:56,column:8},end:{line:56,column:58}},"17":{start:{line:56,column:43},end:{line:56,column:56}},"18":{start:{line:62,column:8},end:{line:62,column:42}},"19":{start:{line:72,column:8},end:{line:74,column:9}},"20":{start:{line:73,column:12},end:{line:73,column:19}},"21":{start:{line:75,column:21},end:{line:75,column:44}},"22":{start:{line:76,column:8},end:{line:78,column:9}},"23":{start:{line:77,column:12},end:{line:77,column:19}},"24":{start:{line:79,column:26},end:{line:79,column:45}},"25":{start:{line:81,column:27},end:{line:81,column:29}},"26":{start:{line:82,column:8},end:{line:86,column:9}},"27":{start:{line:83,column:12},end:{line:85,column:15}},"28":{start:{line:84,column:16},end:{line:84,column:34}},"29":{start:{line:87,column:8},end:{line:92,column:9}},"30":{start:{line:88,column:12},end:{line:88,column:51}},"31":{start:{line:91,column:12},end:{line:91,column:54}},"32":{start:{line:93,column:8},end:{line:93,column:115}},"33":{start:{line:99,column:8},end:{line:123,column:11}},"34":{start:{line:100,column:12},end:{line:122,column:13}},"35":{start:{line:101,column:16},end:{line:101,column:59}},"36":{start:{line:104,column:16},end:{line:121,column:19}},"37":{start:{line:105,column:36},end:{line:105,column:60}},"38":{start:{line:107,column:20},end:{line:109,column:21}},"39":{start:{line:108,column:24},end:{line:108,column:31}},"40":{start:{line:111,column:20},end:{line:120,column:21}},"41":{start:{line:112,column:24},end:{line:112,column:71}},"42":{start:{line:116,column:38},end:{line:118,column:26}},"43":{start:{line:117,column:28},end:{line:117,column:61}},"44":{start:{line:119,column:24},end:{line:119,column:67}},"45":{start:{line:125,column:13},end:{line:125,column:240}},"46":{start:{line:126,column:13},end:{line:126,column:247}},"47":{start:{line:129,column:0},end:{line:139,column:20}},"48":{start:{line:131,column:42},end:{line:131,column:101}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:18,column:4},end:{line:18,column:5}},loc:{start:{line:18,column:34},end:{line:30,column:5}},line:18},"1":{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:21},end:{line:57,column:5}},line:36},"2":{name:"(anonymous_2)",decl:{start:{line:52,column:57},end:{line:52,column:58}},loc:{start:{line:52,column:66},end:{line:54,column:9}},line:52},"3":{name:"(anonymous_3)",decl:{start:{line:56,column:33},end:{line:56,column:34}},loc:{start:{line:56,column:43},end:{line:56,column:56}},line:56},"4":{name:"(anonymous_4)",decl:{start:{line:61,column:4},end:{line:61,column:5}},loc:{start:{line:61,column:20},end:{line:63,column:5}},line:61},"5":{name:"(anonymous_5)",decl:{start:{line:71,column:4},end:{line:71,column:5}},loc:{start:{line:71,column:42},end:{line:94,column:5}},line:71},"6":{name:"(anonymous_6)",decl:{start:{line:83,column:41},end:{line:83,column:42}},loc:{start:{line:83,column:51},end:{line:85,column:13}},line:83},"7":{name:"(anonymous_7)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:45},end:{line:124,column:5}},line:98},"8":{name:"(anonymous_8)",decl:{start:{line:99,column:25},end:{line:99,column:26}},loc:{start:{line:99,column:34},end:{line:123,column:9}},line:99},"9":{name:"(anonymous_9)",decl:{start:{line:104,column:46},end:{line:104,column:47}},loc:{start:{line:104,column:62},end:{line:121,column:17}},line:104},"10":{name:"(anonymous_10)",decl:{start:{line:116,column:72},end:{line:116,column:73}},loc:{start:{line:116,column:85},end:{line:118,column:25}},line:116},"11":{name:"(anonymous_11)",decl:{start:{line:131,column:28},end:{line:131,column:29}},loc:{start:{line:131,column:40},end:{line:131,column:103}},line:131}},branchMap:{"0":{loc:{start:{line:39,column:8},end:{line:51,column:9}},type:"if",locations:[{start:{line:39,column:8},end:{line:51,column:9}},{start:{line:39,column:8},end:{line:51,column:9}}],line:39},"1":{loc:{start:{line:42,column:13},end:{line:51,column:9}},type:"if",locations:[{start:{line:42,column:13},end:{line:51,column:9}},{start:{line:42,column:13},end:{line:51,column:9}}],line:42},"2":{loc:{start:{line:45,column:12},end:{line:47,column:13}},type:"if",locations:[{start:{line:45,column:12},end:{line:47,column:13}},{start:{line:45,column:12},end:{line:47,column:13}}],line:45},"3":{loc:{start:{line:72,column:8},end:{line:74,column:9}},type:"if",locations:[{start:{line:72,column:8},end:{line:74,column:9}},{start:{line:72,column:8},end:{line:74,column:9}}],line:72},"4":{loc:{start:{line:72,column:12},end:{line:72,column:78}},type:"binary-expr",locations:[{start:{line:72,column:12},end:{line:72,column:31}},{start:{line:72,column:35},end:{line:72,column:56}},{start:{line:72,column:60},end:{line:72,column:78}}],line:72},"5":{loc:{start:{line:76,column:8},end:{line:78,column:9}},type:"if",locations:[{start:{line:76,column:8},end:{line:78,column:9}},{start:{line:76,column:8},end:{line:78,column:9}}],line:76},"6":{loc:{start:{line:82,column:8},end:{line:86,column:9}},type:"if",locations:[{start:{line:82,column:8},end:{line:86,column:9}},{start:{line:82,column:8},end:{line:86,column:9}}],line:82},"7":{loc:{start:{line:82,column:12},end:{line:82,column:79}},type:"binary-expr",locations:[{start:{line:82,column:12},end:{line:82,column:41}},{start:{line:82,column:45},end:{line:82,column:79}}],line:82},"8":{loc:{start:{line:87,column:8},end:{line:92,column:9}},type:"if",locations:[{start:{line:87,column:8},end:{line:92,column:9}},{start:{line:87,column:8},end:{line:92,column:9}}],line:87},"9":{loc:{start:{line:100,column:12},end:{line:122,column:13}},type:"if",locations:[{start:{line:100,column:12},end:{line:122,column:13}},{start:{line:100,column:12},end:{line:122,column:13}}],line:100},"10":{loc:{start:{line:100,column:16},end:{line:100,column:67}},type:"binary-expr",locations:[{start:{line:100,column:16},end:{line:100,column:42}},{start:{line:100,column:46},end:{line:100,column:67}}],line:100},"11":{loc:{start:{line:107,column:20},end:{line:109,column:21}},type:"if",locations:[{start:{line:107,column:20},end:{line:109,column:21}},{start:{line:107,column:20},end:{line:109,column:21}}],line:107},"12":{loc:{start:{line:107,column:24},end:{line:107,column:75}},type:"binary-expr",locations:[{start:{line:107,column:24},end:{line:107,column:49}},{start:{line:107,column:53},end:{line:107,column:75}}],line:107},"13":{loc:{start:{line:111,column:20},end:{line:120,column:21}},type:"if",locations:[{start:{line:111,column:20},end:{line:120,column:21}},{start:{line:111,column:20},end:{line:120,column:21}}],line:111},"14":{loc:{start:{line:111,column:24},end:{line:111,column:83}},type:"binary-expr",locations:[{start:{line:111,column:24},end:{line:111,column:54}},{start:{line:111,column:58},end:{line:111,column:83}}],line:111}},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},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]},inputSourceMap:{version:3,file:"validationsummary.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/validation/validationsummary.ts"],names:[],mappings:"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",sourcesContent:["import { ISacLocalisationService } from '../../interfaces/ISacLocalisationService';\nimport { ISacValidationKeyService } from '../../interfaces/ISacValidationKeyService';\nimport { IAbstractControlLabelExtension } from '../../interfaces/iabstractcontrollabel';\nimport { SACLOCALISATION_SERVICE, SacDefaultLocalisationService } from '../../services/sac-localisation.service';\nimport { SACVALIDATIONKEY_SERVICE, SacDefaultValidationKeyService } from '../../services/sac-validationkey.service';\nimport { createGuid } from '../../utilities/guid';\nimport { ValidationErrorItem } from '../../validation';\nimport { SacFormCommon } from '../form/form';\nimport { Directive, Injector, Input } from '@angular/core';\nimport { AbstractControl, NgForm, UntypedFormArray, UntypedFormGroup } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\n/**\n * Basis Komponente f\xFCr SacValidationSummary\n */\n@Directive()\nexport class SacValidationSummaryCommon {\n // #region Properties\n\n /**\n * Service f\xFCr Error Localisation\n */\n protected lngResourceService: ISacLocalisationService;\n\n /**\n * Parent Formular\n */\n protected parent: SacFormCommon;\n\n /**\n * Service to receive standard validation message keys and texts\n */\n protected validationKeyService: ISacValidationKeyService;\n\n /**\n * Identifier used for the E2E data attribute.\n */\n @Input()\n public e2eidentifier: string | null = null;\n\n /**\n * reactive form instance\n */\n @Input()\n public form: UntypedFormGroup;\n\n /**\n * Form groupname to filter summary to formgroup\n *\n * Important: it works only in reactive forms mode.\n */\n @Input()\n public formGroupName: string;\n\n /**\n * name of control\n */\n @Input()\n public name: string = createGuid();\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * Inject des Formulars\n */\n constructor(parent: SacFormCommon, injector: Injector) {\n this.parent = parent;\n\n this.validationKeyService = injector.get(SACVALIDATIONKEY_SERVICE, new SacDefaultValidationKeyService());\n this.lngResourceService = injector.get(\n SACLOCALISATION_SERVICE,\n new SacDefaultLocalisationService(this.validationKeyService)\n );\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Validation Methode\n */\n public get formErrors(): Observable<string>[] {\n const collection: Array<Observable<string>> = new Array<Observable<string>>();\n\n let formBase: UntypedFormGroup;\n if (this.parent) {\n formBase = this.parent.getForm().form;\n } else if (this.form instanceof UntypedFormGroup) {\n formBase = this.form;\n\n // formgroup can only be get in reactive forms mode\n if (this.formGroupName) {\n formBase = formBase.get(this.formGroupName) as UntypedFormGroup;\n }\n } else {\n throw new Error('missing form');\n }\n\n const items: Array<NgForm | UntypedFormArray> = Object.keys(formBase.controls).map((key) => {\n return <NgForm | UntypedFormArray>formBase.controls[key];\n });\n\n this.getErrorCollection(items, collection);\n\n return collection.filter((item) => item !== null);\n }\n\n /**\n * Getter wenn Errors entstehen\n */\n public get hasErrors() {\n return this.formErrors.length > 0;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Private Methods\n\n /**\n * F\xFCgt einen Validation Error in die Error Collection hinzu\n * @param ctl Fehlerhaftes Control\n * @param collection Collection aller Fehlermeldungen\n */\n private addErrorToCollection(ctl: AbstractControl, collection: Array<Observable<string>>): void {\n if (ctl.errors === null || ctl.touched === false || ctl.valid === true) {\n return;\n }\n\n const keys: string[] = Object.keys(ctl.errors);\n\n if (keys.length <= 0) {\n return;\n }\n\n const errorItem: ValidationErrorItem = ctl.errors[keys[0]];\n\n // Validation Parameters\n const parameters = {};\n if (errorItem.parameters !== null && errorItem.parameters !== undefined) {\n errorItem.parameters.forEach((v, k) => {\n parameters[k] = v;\n });\n }\n\n if ((ctl as unknown as IAbstractControlLabelExtension)?.controllabel) {\n parameters['FIELD'] = (ctl as unknown as IAbstractControlLabelExtension).controllabel;\n } else {\n parameters['FIELD'] = errorItem.fieldName;\n }\n\n collection.push(this.lngResourceService.GetString(errorItem.errorMessageValidationSummaryKey, parameters));\n }\n\n /**\n * Die Methode gibt Collection von Errors. Verlangt controls: Array<NgForm | FormArray> und collection: Array<Observable<string>>\n */\n private getErrorCollection(\n controls: Array<NgForm | UntypedFormArray>,\n collection: Array<Observable<string>>\n ): void {\n controls.forEach((ctl) => {\n if (ctl.controls === undefined || ctl.controls === null) {\n this.addErrorToCollection(<AbstractControl>ctl, collection);\n } else {\n Object.keys(ctl.controls).map((controlKey) => {\n const control = ctl.controls[controlKey];\n\n // Cancel Analyse wenn Item not Touched oder Valid\n if (control.touched === false || control.valid === true) {\n return;\n }\n\n // Handle wenn Control kein Container ist\n if (control.controls === undefined || control.controls === null) {\n this.addErrorToCollection(control, collection);\n } else {\n // Handling eines Control Containers\n const items: Array<NgForm | UntypedFormArray> = Object.keys(control.controls).map((formKey) => {\n return <NgForm | UntypedFormArray>control.controls[formKey];\n });\n\n this.getErrorCollection(items, collection);\n }\n });\n }\n });\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3b6b6fc71650e28c5acc66ce1ef085e8f2a0444b"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
1
|
+
function cov_b9weglwy3(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/validation/validationsummary.mjs";var hash="c4832062cdc29c1fae78ab3335408ca6043aabc4";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/validation/validationsummary.mjs",statementMap:{"0":{start:{line:23,column:8},end:{line:23,column:34}},"1":{start:{line:27,column:8},end:{line:27,column:33}},"2":{start:{line:28,column:8},end:{line:28,column:29}},"3":{start:{line:29,column:8},end:{line:29,column:113}},"4":{start:{line:30,column:8},end:{line:30,column:134}},"5":{start:{line:38,column:27},end:{line:38,column:38}},"6":{start:{line:40,column:8},end:{line:52,column:9}},"7":{start:{line:41,column:12},end:{line:41,column:50}},"8":{start:{line:43,column:13},end:{line:52,column:9}},"9":{start:{line:44,column:12},end:{line:44,column:33}},"10":{start:{line:46,column:12},end:{line:48,column:13}},"11":{start:{line:47,column:16},end:{line:47,column:60}},"12":{start:{line:51,column:12},end:{line:51,column:44}},"13":{start:{line:53,column:22},end:{line:55,column:10}},"14":{start:{line:54,column:12},end:{line:54,column:42}},"15":{start:{line:56,column:8},end:{line:56,column:51}},"16":{start:{line:57,column:8},end:{line:57,column:58}},"17":{start:{line:57,column:43},end:{line:57,column:56}},"18":{start:{line:63,column:8},end:{line:63,column:42}},"19":{start:{line:73,column:8},end:{line:75,column:9}},"20":{start:{line:74,column:12},end:{line:74,column:19}},"21":{start:{line:76,column:21},end:{line:76,column:44}},"22":{start:{line:77,column:8},end:{line:79,column:9}},"23":{start:{line:78,column:12},end:{line:78,column:19}},"24":{start:{line:80,column:26},end:{line:80,column:45}},"25":{start:{line:82,column:27},end:{line:82,column:29}},"26":{start:{line:83,column:8},end:{line:87,column:9}},"27":{start:{line:84,column:12},end:{line:86,column:15}},"28":{start:{line:85,column:16},end:{line:85,column:34}},"29":{start:{line:88,column:8},end:{line:93,column:9}},"30":{start:{line:89,column:12},end:{line:89,column:51}},"31":{start:{line:92,column:12},end:{line:92,column:54}},"32":{start:{line:94,column:8},end:{line:94,column:115}},"33":{start:{line:100,column:8},end:{line:124,column:11}},"34":{start:{line:101,column:12},end:{line:123,column:13}},"35":{start:{line:102,column:16},end:{line:102,column:59}},"36":{start:{line:105,column:16},end:{line:122,column:19}},"37":{start:{line:106,column:36},end:{line:106,column:60}},"38":{start:{line:108,column:20},end:{line:110,column:21}},"39":{start:{line:109,column:24},end:{line:109,column:31}},"40":{start:{line:112,column:20},end:{line:121,column:21}},"41":{start:{line:113,column:24},end:{line:113,column:71}},"42":{start:{line:117,column:38},end:{line:119,column:26}},"43":{start:{line:118,column:28},end:{line:118,column:61}},"44":{start:{line:120,column:24},end:{line:120,column:67}},"45":{start:{line:126,column:13},end:{line:126,column:240}},"46":{start:{line:127,column:13},end:{line:127,column:247}},"47":{start:{line:129,column:0},end:{line:139,column:20}},"48":{start:{line:131,column:42},end:{line:131,column:101}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:19,column:4},end:{line:19,column:5}},loc:{start:{line:19,column:34},end:{line:31,column:5}},line:19},"1":{name:"(anonymous_1)",decl:{start:{line:37,column:4},end:{line:37,column:5}},loc:{start:{line:37,column:21},end:{line:58,column:5}},line:37},"2":{name:"(anonymous_2)",decl:{start:{line:53,column:57},end:{line:53,column:58}},loc:{start:{line:53,column:66},end:{line:55,column:9}},line:53},"3":{name:"(anonymous_3)",decl:{start:{line:57,column:33},end:{line:57,column:34}},loc:{start:{line:57,column:43},end:{line:57,column:56}},line:57},"4":{name:"(anonymous_4)",decl:{start:{line:62,column:4},end:{line:62,column:5}},loc:{start:{line:62,column:20},end:{line:64,column:5}},line:62},"5":{name:"(anonymous_5)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:42},end:{line:95,column:5}},line:72},"6":{name:"(anonymous_6)",decl:{start:{line:84,column:41},end:{line:84,column:42}},loc:{start:{line:84,column:51},end:{line:86,column:13}},line:84},"7":{name:"(anonymous_7)",decl:{start:{line:99,column:4},end:{line:99,column:5}},loc:{start:{line:99,column:45},end:{line:125,column:5}},line:99},"8":{name:"(anonymous_8)",decl:{start:{line:100,column:25},end:{line:100,column:26}},loc:{start:{line:100,column:34},end:{line:124,column:9}},line:100},"9":{name:"(anonymous_9)",decl:{start:{line:105,column:46},end:{line:105,column:47}},loc:{start:{line:105,column:62},end:{line:122,column:17}},line:105},"10":{name:"(anonymous_10)",decl:{start:{line:117,column:72},end:{line:117,column:73}},loc:{start:{line:117,column:85},end:{line:119,column:25}},line:117},"11":{name:"(anonymous_11)",decl:{start:{line:131,column:28},end:{line:131,column:29}},loc:{start:{line:131,column:40},end:{line:131,column:103}},line:131}},branchMap:{"0":{loc:{start:{line:40,column:8},end:{line:52,column:9}},type:"if",locations:[{start:{line:40,column:8},end:{line:52,column:9}},{start:{line:40,column:8},end:{line:52,column:9}}],line:40},"1":{loc:{start:{line:43,column:13},end:{line:52,column:9}},type:"if",locations:[{start:{line:43,column:13},end:{line:52,column:9}},{start:{line:43,column:13},end:{line:52,column:9}}],line:43},"2":{loc:{start:{line:46,column:12},end:{line:48,column:13}},type:"if",locations:[{start:{line:46,column:12},end:{line:48,column:13}},{start:{line:46,column:12},end:{line:48,column:13}}],line:46},"3":{loc:{start:{line:73,column:8},end:{line:75,column:9}},type:"if",locations:[{start:{line:73,column:8},end:{line:75,column:9}},{start:{line:73,column:8},end:{line:75,column:9}}],line:73},"4":{loc:{start:{line:73,column:12},end:{line:73,column:78}},type:"binary-expr",locations:[{start:{line:73,column:12},end:{line:73,column:31}},{start:{line:73,column:35},end:{line:73,column:56}},{start:{line:73,column:60},end:{line:73,column:78}}],line:73},"5":{loc:{start:{line:77,column:8},end:{line:79,column:9}},type:"if",locations:[{start:{line:77,column:8},end:{line:79,column:9}},{start:{line:77,column:8},end:{line:79,column:9}}],line:77},"6":{loc:{start:{line:83,column:8},end:{line:87,column:9}},type:"if",locations:[{start:{line:83,column:8},end:{line:87,column:9}},{start:{line:83,column:8},end:{line:87,column:9}}],line:83},"7":{loc:{start:{line:83,column:12},end:{line:83,column:79}},type:"binary-expr",locations:[{start:{line:83,column:12},end:{line:83,column:41}},{start:{line:83,column:45},end:{line:83,column:79}}],line:83},"8":{loc:{start:{line:88,column:8},end:{line:93,column:9}},type:"if",locations:[{start:{line:88,column:8},end:{line:93,column:9}},{start:{line:88,column:8},end:{line:93,column:9}}],line:88},"9":{loc:{start:{line:101,column:12},end:{line:123,column:13}},type:"if",locations:[{start:{line:101,column:12},end:{line:123,column:13}},{start:{line:101,column:12},end:{line:123,column:13}}],line:101},"10":{loc:{start:{line:101,column:16},end:{line:101,column:67}},type:"binary-expr",locations:[{start:{line:101,column:16},end:{line:101,column:42}},{start:{line:101,column:46},end:{line:101,column:67}}],line:101},"11":{loc:{start:{line:108,column:20},end:{line:110,column:21}},type:"if",locations:[{start:{line:108,column:20},end:{line:110,column:21}},{start:{line:108,column:20},end:{line:110,column:21}}],line:108},"12":{loc:{start:{line:108,column:24},end:{line:108,column:75}},type:"binary-expr",locations:[{start:{line:108,column:24},end:{line:108,column:49}},{start:{line:108,column:53},end:{line:108,column:75}}],line:108},"13":{loc:{start:{line:112,column:20},end:{line:121,column:21}},type:"if",locations:[{start:{line:112,column:20},end:{line:121,column:21}},{start:{line:112,column:20},end:{line:121,column:21}}],line:112},"14":{loc:{start:{line:112,column:24},end:{line:112,column:83}},type:"binary-expr",locations:[{start:{line:112,column:24},end:{line:112,column:54}},{start:{line:112,column:58},end:{line:112,column:83}}],line:112}},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},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]},inputSourceMap:{version:3,file:"validationsummary.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/validation/validationsummary.ts"],names:[],mappings:"AAGA,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAY,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAA6C,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;;;AAG7F;;GAEG;AAEH,MAAM,OAAO,0BAA0B;IA4CnC,wBAAwB;IAExB,uBAAuB;IAEvB;;;;OAIG;IACH,YAAY,MAAqB,EAAE,QAAkB;QAnCrD;;WAEG;QAEI,kBAAa,GAAkB,IAAI,CAAC;QAgB3C;;WAEG;QAEI,SAAI,GAAW,UAAU,EAAE,CAAC;QAY/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,8BAA8B,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAClC,uBAAuB,EACvB,IAAI,6BAA6B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAC/D,CAAC;IACN,CAAC;IAED,0BAA0B;IAE1B,qCAAqC;IAErC;;OAEG;IACH,IAAW,UAAU;QACjB,MAAM,UAAU,GAA8B,IAAI,KAAK,EAAsB,CAAC;QAE9E,IAAI,QAA0B,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,IAAI,YAAY,gBAAgB,EAAE;YAC9C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAErB,mDAAmD;YACnD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAqB,CAAC;aACnE;SACJ;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,MAAM,KAAK,GAAqC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACvF,OAAkC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,wCAAwC;IAExC,0BAA0B;IAE1B;;;;OAIG;IACK,oBAAoB,CAAC,GAAoB,EAAE,UAAqC;QACpF,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE;YACpE,OAAO;SACV;QAED,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAClB,OAAO;SACV;QAED,MAAM,SAAS,GAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,wBAAwB;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE;YACrE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACN;QAED,IAAK,GAAiD,EAAE,YAAY,EAAE;YAClE,UAAU,CAAC,OAAO,CAAC,GAAI,GAAiD,CAAC,YAAY,CAAC;SACzF;aAAM;YACH,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;SAC7C;QAED,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,gCAAgC,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACK,kBAAkB,CACtB,QAA0C,EAC1C,UAAqC;QAErC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;gBACrD,IAAI,CAAC,oBAAoB,CAAkB,GAAG,EAAE,UAAU,CAAC,CAAC;aAC/D;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAEzC,sDAAsD;oBACtD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;wBACrD,OAAO;qBACV;oBAED,uCAAuC;oBACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;wBAC7D,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;qBAClD;yBAAM;wBACH,kCAAkC;wBAClC,MAAM,KAAK,GAAqC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;4BAC1F,OAAkC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAChE,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;qBAC9C;gBACL,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;+GA/KQ,0BAA0B;mGAA1B,0BAA0B;;4FAA1B,0BAA0B;kBADtC,SAAS;2HAuBC,aAAa;sBADnB,KAAK;gBAOC,IAAI;sBADV,KAAK;gBASC,aAAa;sBADnB,KAAK;gBAOC,IAAI;sBADV,KAAK",sourcesContent:["import { ISacLocalisationService } from '../../interfaces/ISacLocalisationService';\nimport { ISacValidationKeyService } from '../../interfaces/ISacValidationKeyService';\nimport { IAbstractControlLabelExtension } from '../../interfaces/iabstractcontrollabel';\nimport { SACLOCALISATION_SERVICE, SacDefaultLocalisationService } from '../../services/sac-localisation.service';\nimport { SACVALIDATIONKEY_SERVICE, SacDefaultValidationKeyService } from '../../services/sac-validationkey.service';\nimport { createGuid } from '../../utilities/guid';\nimport { ValidationErrorItem } from '../../validation';\nimport { SacFormCommon } from '../form/form';\nimport { Directive, Injector, Input } from '@angular/core';\nimport { AbstractControl, NgForm, UntypedFormArray, UntypedFormGroup } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\n/**\n * Base component for SacValidationSummary\n */\n@Directive()\nexport class SacValidationSummaryCommon {\n // #region Properties\n\n /**\n * Service for Error Localisation\n */\n protected lngResourceService: ISacLocalisationService;\n\n /**\n * Parent Form\n */\n protected parent: SacFormCommon;\n\n /**\n * Service to receive standard validation message keys and texts\n */\n protected validationKeyService: ISacValidationKeyService;\n\n /**\n * Identifier used for the E2E data attribute.\n */\n @Input()\n public e2eidentifier: string | null = null;\n\n /**\n * reactive form instance\n */\n @Input()\n public form: UntypedFormGroup;\n\n /**\n * Form groupname to filter summary to formgroup\n *\n * Important: it works only in reactive forms mode.\n */\n @Input()\n public formGroupName: string;\n\n /**\n * name of control\n */\n @Input()\n public name: string = createGuid();\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param parent Parent form control component\n * @param injector Service injector for dependency resolution\n */\n constructor(parent: SacFormCommon, injector: Injector) {\n this.parent = parent;\n\n this.validationKeyService = injector.get(SACVALIDATIONKEY_SERVICE, new SacDefaultValidationKeyService());\n this.lngResourceService = injector.get(\n SACLOCALISATION_SERVICE,\n new SacDefaultLocalisationService(this.validationKeyService)\n );\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Validation method\n */\n public get formErrors(): Observable<string>[] {\n const collection: Array<Observable<string>> = new Array<Observable<string>>();\n\n let formBase: UntypedFormGroup;\n if (this.parent) {\n formBase = this.parent.getForm().form;\n } else if (this.form instanceof UntypedFormGroup) {\n formBase = this.form;\n\n // formgroup can only be get in reactive forms mode\n if (this.formGroupName) {\n formBase = formBase.get(this.formGroupName) as UntypedFormGroup;\n }\n } else {\n throw new Error('missing form');\n }\n\n const items: Array<NgForm | UntypedFormArray> = Object.keys(formBase.controls).map((key) => {\n return <NgForm | UntypedFormArray>formBase.controls[key];\n });\n\n this.getErrorCollection(items, collection);\n\n return collection.filter((item) => item !== null);\n }\n\n /**\n * Getter when errors occur\n */\n public get hasErrors() {\n return this.formErrors.length > 0;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Private Methods\n\n /**\n * Adds a validation error to the error collection\n * @param ctl Faulty control\n * @param collection Collection of all error messages\n */\n private addErrorToCollection(ctl: AbstractControl, collection: Array<Observable<string>>): void {\n if (ctl.errors === null || ctl.touched === false || ctl.valid === true) {\n return;\n }\n\n const keys: string[] = Object.keys(ctl.errors);\n\n if (keys.length <= 0) {\n return;\n }\n\n const errorItem: ValidationErrorItem = ctl.errors[keys[0]];\n\n // Validation Parameters\n const parameters = {};\n if (errorItem.parameters !== null && errorItem.parameters !== undefined) {\n errorItem.parameters.forEach((v, k) => {\n parameters[k] = v;\n });\n }\n\n if ((ctl as unknown as IAbstractControlLabelExtension)?.controllabel) {\n parameters['FIELD'] = (ctl as unknown as IAbstractControlLabelExtension).controllabel;\n } else {\n parameters['FIELD'] = errorItem.fieldName;\n }\n\n collection.push(this.lngResourceService.GetString(errorItem.errorMessageValidationSummaryKey, parameters));\n }\n\n /**\n * The method returns collection of errors. Requires controls: Array<NgForm | FormArray> and collection: Array<Observable<string>>\n */\n private getErrorCollection(\n controls: Array<NgForm | UntypedFormArray>,\n collection: Array<Observable<string>>\n ): void {\n controls.forEach((ctl) => {\n if (ctl.controls === undefined || ctl.controls === null) {\n this.addErrorToCollection(<AbstractControl>ctl, collection);\n } else {\n Object.keys(ctl.controls).map((controlKey) => {\n const control = ctl.controls[controlKey];\n\n // Cancel analysis if item was not touched or is valid\n if (control.touched === false || control.valid === true) {\n return;\n }\n\n // Handle if control is not a container\n if (control.controls === undefined || control.controls === null) {\n this.addErrorToCollection(control, collection);\n } else {\n // Handling of a control container\n const items: Array<NgForm | UntypedFormArray> = Object.keys(control.controls).map((formKey) => {\n return <NgForm | UntypedFormArray>control.controls[formKey];\n });\n\n this.getErrorCollection(items, collection);\n }\n });\n }\n });\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c4832062cdc29c1fae78ab3335408ca6043aabc4"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
2
|
cov_b9weglwy3=function(){return actualCoverage;};}return actualCoverage;}cov_b9weglwy3();import{SACLOCALISATION_SERVICE,SacDefaultLocalisationService}from'../../services/sac-localisation.service';import{SACVALIDATIONKEY_SERVICE,SacDefaultValidationKeyService}from'../../services/sac-validationkey.service';import{createGuid}from'../../utilities/guid';import{Directive,Input}from'@angular/core';import{UntypedFormGroup}from'@angular/forms';import*as i0 from"@angular/core";import*as i1 from"../form/form";/**
|
|
3
|
-
*
|
|
4
|
-
*/class SacValidationSummaryCommon{// #endregion Properties
|
|
3
|
+
* Base component for SacValidationSummary
|
|
4
|
+
*/export class SacValidationSummaryCommon{// #endregion Properties
|
|
5
5
|
// #region Constructors
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Constructor
|
|
8
|
+
* @param parent Parent form control component
|
|
9
|
+
* @param injector Service injector for dependency resolution
|
|
9
10
|
*/constructor(parent,injector){cov_b9weglwy3().f[0]++;cov_b9weglwy3().s[0]++;/**
|
|
10
11
|
* Identifier used for the E2E data attribute.
|
|
11
12
|
*/this.e2eidentifier=null;/**
|
|
@@ -13,21 +14,21 @@ cov_b9weglwy3=function(){return actualCoverage;};}return actualCoverage;}cov_b9w
|
|
|
13
14
|
*/cov_b9weglwy3().s[1]++;this.name=createGuid();cov_b9weglwy3().s[2]++;this.parent=parent;cov_b9weglwy3().s[3]++;this.validationKeyService=injector.get(SACVALIDATIONKEY_SERVICE,new SacDefaultValidationKeyService());cov_b9weglwy3().s[4]++;this.lngResourceService=injector.get(SACLOCALISATION_SERVICE,new SacDefaultLocalisationService(this.validationKeyService));}// #endregion Constructors
|
|
14
15
|
// #region Public Getters And Setters
|
|
15
16
|
/**
|
|
16
|
-
* Validation
|
|
17
|
+
* Validation method
|
|
17
18
|
*/get formErrors(){cov_b9weglwy3().f[1]++;const collection=(cov_b9weglwy3().s[5]++,new Array());let formBase;cov_b9weglwy3().s[6]++;if(this.parent){cov_b9weglwy3().b[0][0]++;cov_b9weglwy3().s[7]++;formBase=this.parent.getForm().form;}else{cov_b9weglwy3().b[0][1]++;cov_b9weglwy3().s[8]++;if(this.form instanceof UntypedFormGroup){cov_b9weglwy3().b[1][0]++;cov_b9weglwy3().s[9]++;formBase=this.form;// formgroup can only be get in reactive forms mode
|
|
18
19
|
cov_b9weglwy3().s[10]++;if(this.formGroupName){cov_b9weglwy3().b[2][0]++;cov_b9weglwy3().s[11]++;formBase=formBase.get(this.formGroupName);}else{cov_b9weglwy3().b[2][1]++;}}else{cov_b9weglwy3().b[1][1]++;cov_b9weglwy3().s[12]++;throw new Error('missing form');}}const items=(cov_b9weglwy3().s[13]++,Object.keys(formBase.controls).map(key=>{cov_b9weglwy3().f[2]++;cov_b9weglwy3().s[14]++;return formBase.controls[key];}));cov_b9weglwy3().s[15]++;this.getErrorCollection(items,collection);cov_b9weglwy3().s[16]++;return collection.filter(item=>{cov_b9weglwy3().f[3]++;cov_b9weglwy3().s[17]++;return item!==null;});}/**
|
|
19
|
-
* Getter
|
|
20
|
+
* Getter when errors occur
|
|
20
21
|
*/get hasErrors(){cov_b9weglwy3().f[4]++;cov_b9weglwy3().s[18]++;return this.formErrors.length>0;}// #endregion Public Getters And Setters
|
|
21
22
|
// #region Private Methods
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @param ctl
|
|
25
|
-
* @param collection Collection
|
|
24
|
+
* Adds a validation error to the error collection
|
|
25
|
+
* @param ctl Faulty control
|
|
26
|
+
* @param collection Collection of all error messages
|
|
26
27
|
*/addErrorToCollection(ctl,collection){cov_b9weglwy3().f[5]++;cov_b9weglwy3().s[19]++;if((cov_b9weglwy3().b[4][0]++,ctl.errors===null)||(cov_b9weglwy3().b[4][1]++,ctl.touched===false)||(cov_b9weglwy3().b[4][2]++,ctl.valid===true)){cov_b9weglwy3().b[3][0]++;cov_b9weglwy3().s[20]++;return;}else{cov_b9weglwy3().b[3][1]++;}const keys=(cov_b9weglwy3().s[21]++,Object.keys(ctl.errors));cov_b9weglwy3().s[22]++;if(keys.length<=0){cov_b9weglwy3().b[5][0]++;cov_b9weglwy3().s[23]++;return;}else{cov_b9weglwy3().b[5][1]++;}const errorItem=(cov_b9weglwy3().s[24]++,ctl.errors[keys[0]]);// Validation Parameters
|
|
27
28
|
const parameters=(cov_b9weglwy3().s[25]++,{});cov_b9weglwy3().s[26]++;if((cov_b9weglwy3().b[7][0]++,errorItem.parameters!==null)&&(cov_b9weglwy3().b[7][1]++,errorItem.parameters!==undefined)){cov_b9weglwy3().b[6][0]++;cov_b9weglwy3().s[27]++;errorItem.parameters.forEach((v,k)=>{cov_b9weglwy3().f[6]++;cov_b9weglwy3().s[28]++;parameters[k]=v;});}else{cov_b9weglwy3().b[6][1]++;}cov_b9weglwy3().s[29]++;if(ctl?.controllabel){cov_b9weglwy3().b[8][0]++;cov_b9weglwy3().s[30]++;parameters['FIELD']=ctl.controllabel;}else{cov_b9weglwy3().b[8][1]++;cov_b9weglwy3().s[31]++;parameters['FIELD']=errorItem.fieldName;}cov_b9weglwy3().s[32]++;collection.push(this.lngResourceService.GetString(errorItem.errorMessageValidationSummaryKey,parameters));}/**
|
|
28
|
-
*
|
|
29
|
-
*/getErrorCollection(controls,collection){cov_b9weglwy3().f[7]++;cov_b9weglwy3().s[33]++;controls.forEach(ctl=>{cov_b9weglwy3().f[8]++;cov_b9weglwy3().s[34]++;if((cov_b9weglwy3().b[10][0]++,ctl.controls===undefined)||(cov_b9weglwy3().b[10][1]++,ctl.controls===null)){cov_b9weglwy3().b[9][0]++;cov_b9weglwy3().s[35]++;this.addErrorToCollection(ctl,collection);}else{cov_b9weglwy3().b[9][1]++;cov_b9weglwy3().s[36]++;Object.keys(ctl.controls).map(controlKey=>{cov_b9weglwy3().f[9]++;const control=(cov_b9weglwy3().s[37]++,ctl.controls[controlKey]);// Cancel
|
|
30
|
-
cov_b9weglwy3().s[38]++;if((cov_b9weglwy3().b[12][0]++,control.touched===false)||(cov_b9weglwy3().b[12][1]++,control.valid===true)){cov_b9weglwy3().b[11][0]++;cov_b9weglwy3().s[39]++;return;}else{cov_b9weglwy3().b[11][1]++;}// Handle
|
|
31
|
-
cov_b9weglwy3().s[40]++;if((cov_b9weglwy3().b[14][0]++,control.controls===undefined)||(cov_b9weglwy3().b[14][1]++,control.controls===null)){cov_b9weglwy3().b[13][0]++;cov_b9weglwy3().s[41]++;this.addErrorToCollection(control,collection);}else{cov_b9weglwy3().b[13][1]++;// Handling
|
|
32
|
-
const items=(cov_b9weglwy3().s[42]++,Object.keys(control.controls).map(formKey=>{cov_b9weglwy3().f[10]++;cov_b9weglwy3().s[43]++;return control.controls[formKey];}));cov_b9weglwy3().s[44]++;this.getErrorCollection(items,collection);}});}});}static{cov_b9weglwy3().s[45]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacValidationSummaryCommon,deps:[{token:i1.SacFormCommon},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_b9weglwy3().s[46]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacValidationSummaryCommon,inputs:{e2eidentifier:"e2eidentifier",form:"form",formGroupName:"formGroupName",name:"name"},ngImport:i0});}}export{SacValidationSummaryCommon};cov_b9weglwy3().s[47]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacValidationSummaryCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_b9weglwy3().f[11]++;cov_b9weglwy3().s[48]++;return[{type:i1.SacFormCommon},{type:i0.Injector}];},propDecorators:{e2eidentifier:[{type:Input}],form:[{type:Input}],formGroupName:[{type:Input}],name:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQTZDLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3Rjs7R0FFRztBQUNILE1BQ2EsMEJBQTBCO0lBNENuQyx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7T0FHRztJQUNILFlBQVksTUFBcUIsRUFBRSxRQUFrQjtRQWxDckQ7O1dBRUc7UUFFSSxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFnQjNDOztXQUVHO1FBRUksU0FBSSxHQUFXLFVBQVUsRUFBRSxDQUFDO1FBVy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLElBQUksOEJBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUNsQyx1QkFBdUIsRUFDdkIsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FDL0QsQ0FBQztJQUNOLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIscUNBQXFDO0lBRXJDOztPQUVHO0lBQ0gsSUFB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LGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsSUFBSTtzQkFEVixLQUFLO2dCQVNDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcbmltcG9ydCB7IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlJztcbmltcG9ydCB7IElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWFic3RyYWN0Y29udHJvbGxhYmVsJztcbmltcG9ydCB7IFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLCBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sb2NhbGlzYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy12YWxpZGF0aW9ua2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgY3JlYXRlR3VpZCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9ndWlkJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvckl0ZW0gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1Db21tb24gfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdGb3JtLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNWYWxpZGF0aW9uU3VtbWFyeVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNWYWxpZGF0aW9uU3VtbWFyeUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJlbnQgRm9ybXVsYXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFyZW50OiBTYWNGb3JtQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogU2VydmljZSB0byByZWNlaXZlIHN0YW5kYXJkIHZhbGlkYXRpb24gbWVzc2FnZSBrZXlzIGFuZCB0ZXh0c1xuICAgICAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0aW9uS2V5U2VydmljZTogSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciB1c2VkIGZvciB0aGUgRTJFIGRhdGEgYXR0cmlidXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGUyZWlkZW50aWZpZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogcmVhY3RpdmUgZm9ybSBpbnN0YW5jZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGdyb3VwbmFtZSB0byBmaWx0ZXIgc3VtbWFyeSB0byBmb3JtZ3JvdXBcbiAgICAgKlxuICAgICAqIEltcG9ydGFudDogaXQgd29ya3Mgb25seSBpbiByZWFjdGl2ZSBmb3JtcyBtb2RlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Hcm91cE5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIEtvbnN0cnVrdG9yXG4gICAgICogSW5qZWN0IGRlcyBGb3JtdWxhcnNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IFNhY0Zvcm1Db21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcblxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpKTtcbiAgICAgICAgdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcbiAgICAgICAgICAgIG5ldyBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSh0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0aW9uIE1ldGhvZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvcm1FcnJvcnMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+W10ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uOiBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+ID0gbmV3IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj4oKTtcblxuICAgICAgICBsZXQgZm9ybUJhc2U6IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgICAgICAgZm9ybUJhc2UgPSB0aGlzLnBhcmVudC5nZXRGb3JtKCkuZm9ybTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm0gaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICAgICAgICBmb3JtQmFzZSA9IHRoaXMuZm9ybTtcblxuICAgICAgICAgICAgLy8gZm9ybWdyb3VwIGNhbiBvbmx5IGJlIGdldCBpbiByZWFjdGl2ZSBmb3JtcyBtb2RlXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXBOYW1lKSB7XG4gICAgICAgICAgICAgICAgZm9ybUJhc2UgPSBmb3JtQmFzZS5nZXQodGhpcy5mb3JtR3JvdXBOYW1lKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIGZvcm0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PiA9IE9iamVjdC5rZXlzKGZvcm1CYXNlLmNvbnRyb2xzKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIDxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PmZvcm1CYXNlLmNvbnRyb2xzW2tleV07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZ2V0RXJyb3JDb2xsZWN0aW9uKGl0ZW1zLCBjb2xsZWN0aW9uKTtcblxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHRlciB3ZW5uIEVycm9ycyBlbnRzdGVoZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGhhc0Vycm9ycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUVycm9ycy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBGw7xndCBlaW5lbiBWYWxpZGF0aW9uIEVycm9yIGluIGRpZSBFcnJvciBDb2xsZWN0aW9uIGhpbnp1XG4gICAgICogQHBhcmFtIGN0bCBGZWhsZXJoYWZ0ZXMgQ29udHJvbFxuICAgICAqIEBwYXJhbSBjb2xsZWN0aW9uIENvbGxlY3Rpb24gYWxsZXIgRmVobGVybWVsZHVuZ2VuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhZGRFcnJvclRvQ29sbGVjdGlvbihjdGw6IEFic3RyYWN0Q29udHJvbCwgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+Pik6IHZvaWQge1xuICAgICAgICBpZiAoY3RsLmVycm9ycyA9PT0gbnVsbCB8fCBjdGwudG91Y2hlZCA9PT0gZmFsc2UgfHwgY3RsLnZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGN0bC5lcnJvcnMpO1xuXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlcnJvckl0ZW06IFZhbGlkYXRpb25FcnJvckl0ZW0gPSBjdGwuZXJyb3JzW2tleXNbMF1dO1xuXG4gICAgICAgIC8vIFZhbGlkYXRpb24gUGFyYW1ldGVyc1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0ge307XG4gICAgICAgIGlmIChlcnJvckl0ZW0ucGFyYW1ldGVycyAhPT0gbnVsbCAmJiBlcnJvckl0ZW0ucGFyYW1ldGVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlcnJvckl0ZW0ucGFyYW1ldGVycy5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyc1trXSA9IHY7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoY3RsIGFzIHVua25vd24gYXMgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uKT8uY29udHJvbGxhYmVsKSB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzWydGSUVMRCddID0gKGN0bCBhcyB1bmtub3duIGFzIElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvbikuY29udHJvbGxhYmVsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IGVycm9ySXRlbS5maWVsZE5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb2xsZWN0aW9uLnB1c2godGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKGVycm9ySXRlbS5lcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSwgcGFyYW1ldGVycykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpZSBNZXRob2RlIGdpYnQgQ29sbGVjdGlvbiB2b24gRXJyb3JzLiBWZXJsYW5ndCBjb250cm9sczogQXJyYXk8TmdGb3JtIHwgRm9ybUFycmF5PiB1bmQgIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEVycm9yQ29sbGVjdGlvbihcbiAgICAgICAgY29udHJvbHM6IEFycmF5PE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+LFxuICAgICAgICBjb2xsZWN0aW9uOiBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+XG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnRyb2xzLmZvckVhY2goKGN0bCkgPT4ge1xuICAgICAgICAgICAgaWYgKGN0bC5jb250cm9scyA9PT0gdW5kZWZpbmVkIHx8IGN0bC5jb250cm9scyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRXJyb3JUb0NvbGxlY3Rpb24oPEFic3RyYWN0Q29udHJvbD5jdGwsIGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhjdGwuY29udHJvbHMpLm1hcCgoY29udHJvbEtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gY3RsLmNvbnRyb2xzW2NvbnRyb2xLZXldO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENhbmNlbCBBbmFseXNlIHdlbm4gSXRlbSBub3QgVG91Y2hlZCBvZGVyIFZhbGlkXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250cm9sLnRvdWNoZWQgPT09IGZhbHNlIHx8IGNvbnRyb2wudmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsZSB3ZW5uIENvbnRyb2wga2VpbiBDb250YWluZXIgaXN0XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzID09PSB1bmRlZmluZWQgfHwgY29udHJvbC5jb250cm9scyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvclRvQ29sbGVjdGlvbihjb250cm9sLCBjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsaW5nIGVpbmVzIENvbnRyb2wgQ29udGFpbmVyc1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXM6IEFycmF5PE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+ID0gT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykubWFwKChmb3JtS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PmNvbnRyb2wuY29udHJvbHNbZm9ybUtleV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRFcnJvckNvbGxlY3Rpb24oaXRlbXMsIGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXX0=
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQUNMT0NBTElTQVRJT05fU0VSVklDRSIsIlNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlIiwiU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIiwiU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiY3JlYXRlR3VpZCIsIkRpcmVjdGl2ZSIsIklucHV0IiwiVW50eXBlZEZvcm1Hcm91cCIsIlNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tbW9uIiwiY29uc3RydWN0b3IiLCJwYXJlbnQiLCJpbmplY3RvciIsImNvdl9iOXdlZ2x3eTMiLCJmIiwicyIsImUyZWlkZW50aWZpZXIiLCJuYW1lIiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJnZXQiLCJsbmdSZXNvdXJjZVNlcnZpY2UiLCJmb3JtRXJyb3JzIiwiY29sbGVjdGlvbiIsIkFycmF5IiwiZm9ybUJhc2UiLCJiIiwiZ2V0Rm9ybSIsImZvcm0iLCJmb3JtR3JvdXBOYW1lIiwiRXJyb3IiLCJpdGVtcyIsIk9iamVjdCIsImtleXMiLCJjb250cm9scyIsIm1hcCIsImtleSIsImdldEVycm9yQ29sbGVjdGlvbiIsImZpbHRlciIsIml0ZW0iLCJoYXNFcnJvcnMiLCJsZW5ndGgiLCJhZGRFcnJvclRvQ29sbGVjdGlvbiIsImN0bCIsImVycm9ycyIsInRvdWNoZWQiLCJ2YWxpZCIsImVycm9ySXRlbSIsInBhcmFtZXRlcnMiLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwidiIsImsiLCJjb250cm9sbGFiZWwiLCJmaWVsZE5hbWUiLCJwdXNoIiwiR2V0U3RyaW5nIiwiZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkiLCJjb250cm9sS2V5IiwiY29udHJvbCIsImZvcm1LZXkiLCJkZXBzIiwidG9rZW4iLCJpMSIsIlNhY0Zvcm1Db21tb24iLCJpMCIsIkluamVjdG9yIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNWYWxpZGF0aW9uS2V5U2VydmljZSc7XG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XG5pbXBvcnQgeyBTQUNMT0NBTElTQVRJT05fU0VSVklDRSwgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLCBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtdmFsaWRhdGlvbmtleS5zZXJ2aWNlJztcbmltcG9ydCB7IGNyZWF0ZUd1aWQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ3VpZCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBTYWNGb3JtQ29tbW9uIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nRm9ybSwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjVmFsaWRhdGlvblN1bW1hcnlcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjVmFsaWRhdGlvblN1bW1hcnlDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogUGFyZW50IEZvcm11bGFyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhcmVudDogU2FjRm9ybUNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIFNlcnZpY2UgdG8gcmVjZWl2ZSBzdGFuZGFyZCB2YWxpZGF0aW9uIG1lc3NhZ2Uga2V5cyBhbmQgdGV4dHNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgdXNlZCBmb3IgdGhlIEUyRSBkYXRhIGF0dHJpYnV0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlMmVpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIHJlYWN0aXZlIGZvcm0gaW5zdGFuY2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgLyoqXG4gICAgICogRm9ybSBncm91cG5hbWUgdG8gZmlsdGVyIHN1bW1hcnkgdG8gZm9ybWdyb3VwXG4gICAgICpcbiAgICAgKiBJbXBvcnRhbnQ6IGl0IHdvcmtzIG9ubHkgaW4gcmVhY3RpdmUgZm9ybXMgbW9kZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBuYW1lIG9mIGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSBjcmVhdGVHdWlkKCk7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBTYWNGb3JtQ29tbW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG5cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZSA9IGluamVjdG9yLmdldChTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKSk7XG4gICAgICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsXG4gICAgICAgICAgICBuZXcgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UodGhpcy52YWxpZGF0aW9uS2V5U2VydmljZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGlvbiBNZXRob2RlXG4gICAgICovXG4gICAgcHVibGljIGdldCBmb3JtRXJyb3JzKCk6IE9ic2VydmFibGU8c3RyaW5nPltdIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PiA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+KCk7XG5cbiAgICAgICAgbGV0IGZvcm1CYXNlOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgICAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgICAgICAgIGZvcm1CYXNlID0gdGhpcy5wYXJlbnQuZ2V0Rm9ybSgpLmZvcm07XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgZm9ybUJhc2UgPSB0aGlzLmZvcm07XG5cbiAgICAgICAgICAgIC8vIGZvcm1ncm91cCBjYW4gb25seSBiZSBnZXQgaW4gcmVhY3RpdmUgZm9ybXMgbW9kZVxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwTmFtZSkge1xuICAgICAgICAgICAgICAgIGZvcm1CYXNlID0gZm9ybUJhc2UuZ2V0KHRoaXMuZm9ybUdyb3VwTmFtZSkgYXMgVW50eXBlZEZvcm1Hcm91cDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBmb3JtJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtczogQXJyYXk8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT4gPSBPYmplY3Qua2V5cyhmb3JtQmFzZS5jb250cm9scykubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiA8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT5mb3JtQmFzZS5jb250cm9sc1trZXldO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdldEVycm9yQ29sbGVjdGlvbihpdGVtcywgY29sbGVjdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBudWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIgd2VubiBFcnJvcnMgZW50c3RlaGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBoYXNFcnJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1FcnJvcnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRsO8Z3QgZWluZW4gVmFsaWRhdGlvbiBFcnJvciBpbiBkaWUgRXJyb3IgQ29sbGVjdGlvbiBoaW56dVxuICAgICAqIEBwYXJhbSBjdGwgRmVobGVyaGFmdGVzIENvbnRyb2xcbiAgICAgKiBAcGFyYW0gY29sbGVjdGlvbiBDb2xsZWN0aW9uIGFsbGVyIEZlaGxlcm1lbGR1bmdlblxuICAgICAqL1xuICAgIHByaXZhdGUgYWRkRXJyb3JUb0NvbGxlY3Rpb24oY3RsOiBBYnN0cmFjdENvbnRyb2wsIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGN0bC5lcnJvcnMgPT09IG51bGwgfHwgY3RsLnRvdWNoZWQgPT09IGZhbHNlIHx8IGN0bC52YWxpZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjdGwuZXJyb3JzKTtcblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXJyb3JJdGVtOiBWYWxpZGF0aW9uRXJyb3JJdGVtID0gY3RsLmVycm9yc1trZXlzWzBdXTtcblxuICAgICAgICAvLyBWYWxpZGF0aW9uIFBhcmFtZXRlcnNcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHt9O1xuICAgICAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZXJyb3JJdGVtLnBhcmFtZXRlcnMuZm9yRWFjaCgodiwgaykgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNba10gPSB2O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKGN0bCBhcyB1bmtub3duIGFzIElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvbik/LmNvbnRyb2xsYWJlbCkge1xuICAgICAgICAgICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IChjdGwgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24pLmNvbnRyb2xsYWJlbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSBlcnJvckl0ZW0uZmllbGROYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sbGVjdGlvbi5wdXNoKHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhlcnJvckl0ZW0uZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXksIHBhcmFtZXRlcnMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaWUgTWV0aG9kZSBnaWJ0IENvbGxlY3Rpb24gdm9uIEVycm9ycy4gVmVybGFuZ3QgY29udHJvbHM6IEFycmF5PE5nRm9ybSB8IEZvcm1BcnJheT4gdW5kICBjb2xsZWN0aW9uOiBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRFcnJvckNvbGxlY3Rpb24oXG4gICAgICAgIGNvbnRyb2xzOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PixcbiAgICAgICAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxuICAgICk6IHZvaWQge1xuICAgICAgICBjb250cm9scy5mb3JFYWNoKChjdGwpID0+IHtcbiAgICAgICAgICAgIGlmIChjdGwuY29udHJvbHMgPT09IHVuZGVmaW5lZCB8fCBjdGwuY29udHJvbHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEVycm9yVG9Db2xsZWN0aW9uKDxBYnN0cmFjdENvbnRyb2w+Y3RsLCBjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY3RsLmNvbnRyb2xzKS5tYXAoKGNvbnRyb2xLZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGN0bC5jb250cm9sc1tjb250cm9sS2V5XTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5jZWwgQW5hbHlzZSB3ZW5uIEl0ZW0gbm90IFRvdWNoZWQgb2RlciBWYWxpZFxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udHJvbC50b3VjaGVkID09PSBmYWxzZSB8fCBjb250cm9sLnZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgd2VubiBDb250cm9sIGtlaW4gQ29udGFpbmVyIGlzdFxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9scyA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wuY29udHJvbHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXJyb3JUb0NvbGxlY3Rpb24oY29udHJvbCwgY29sbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGluZyBlaW5lcyBDb250cm9sIENvbnRhaW5lcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PiA9IE9iamVjdC5rZXlzKGNvbnRyb2wuY29udHJvbHMpLm1hcCgoZm9ybUtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT5jb250cm9sLmNvbnRyb2xzW2Zvcm1LZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RXJyb3JDb2xsZWN0aW9uKGl0ZW1zLCBjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl0sIm1hcHBpbmdzIjoiO3lGQUdBLE9BQVNBLHVCQUF1QixDQUFFQyw2QkFBNkIsS0FBUSx5Q0FBeUMsQ0FDaEgsT0FBU0Msd0JBQXdCLENBQUVDLDhCQUE4QixLQUFRLDBDQUEwQyxDQUNuSCxPQUFTQyxVQUFVLEtBQVEsc0JBQXNCLENBR2pELE9BQVNDLFNBQVMsQ0FBWUMsS0FBSyxLQUFRLGVBQWUsQ0FDMUQsT0FBb0RDLGdCQUFnQixLQUFRLGdCQUFnQixDLGlFQUc1Rjs7R0FHQSxLQUNhLENBQUFDLDBCQUEwQixDQTRDbkM7QUFFQTtBQUVBOzs7T0FJQUMsWUFBWUMsTUFBcUIsQ0FBRUMsUUFBa0IsRUFBQUMsYUFBQSxHQUFBQyxDQUFBLEtBQUFELENBQUEsZ0JBQUFFLENBQUEsTUFsQ3JEOztXQUlPLEtBQUFDLGFBQWEsQ0FBa0IsSUFBSSxDQWdCMUM7O1dBQUFILGFBQUEsR0FBQUUsQ0FBQSxNQUlPLEtBQUFFLElBQUksQ0FBV1osVUFBVSxFQUFFLENBQUNRLGFBQUEsR0FBQUUsQ0FBQSxNQVcvQixJQUFJLENBQUNKLE1BQU0sQ0FBR0EsTUFBTSxDQUFDRSxhQUFBLEdBQUFFLENBQUEsTUFFckIsSUFBSSxDQUFDRyxvQkFBb0IsQ0FBR04sUUFBUSxDQUFDTyxHQUFHLENB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
|
|
29
|
+
* The method returns collection of errors. Requires controls: Array<NgForm | FormArray> and collection: Array<Observable<string>>
|
|
30
|
+
*/getErrorCollection(controls,collection){cov_b9weglwy3().f[7]++;cov_b9weglwy3().s[33]++;controls.forEach(ctl=>{cov_b9weglwy3().f[8]++;cov_b9weglwy3().s[34]++;if((cov_b9weglwy3().b[10][0]++,ctl.controls===undefined)||(cov_b9weglwy3().b[10][1]++,ctl.controls===null)){cov_b9weglwy3().b[9][0]++;cov_b9weglwy3().s[35]++;this.addErrorToCollection(ctl,collection);}else{cov_b9weglwy3().b[9][1]++;cov_b9weglwy3().s[36]++;Object.keys(ctl.controls).map(controlKey=>{cov_b9weglwy3().f[9]++;const control=(cov_b9weglwy3().s[37]++,ctl.controls[controlKey]);// Cancel analysis if item was not touched or is valid
|
|
31
|
+
cov_b9weglwy3().s[38]++;if((cov_b9weglwy3().b[12][0]++,control.touched===false)||(cov_b9weglwy3().b[12][1]++,control.valid===true)){cov_b9weglwy3().b[11][0]++;cov_b9weglwy3().s[39]++;return;}else{cov_b9weglwy3().b[11][1]++;}// Handle if control is not a container
|
|
32
|
+
cov_b9weglwy3().s[40]++;if((cov_b9weglwy3().b[14][0]++,control.controls===undefined)||(cov_b9weglwy3().b[14][1]++,control.controls===null)){cov_b9weglwy3().b[13][0]++;cov_b9weglwy3().s[41]++;this.addErrorToCollection(control,collection);}else{cov_b9weglwy3().b[13][1]++;// Handling of a control container
|
|
33
|
+
const items=(cov_b9weglwy3().s[42]++,Object.keys(control.controls).map(formKey=>{cov_b9weglwy3().f[10]++;cov_b9weglwy3().s[43]++;return control.controls[formKey];}));cov_b9weglwy3().s[44]++;this.getErrorCollection(items,collection);}});}});}static{cov_b9weglwy3().s[45]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacValidationSummaryCommon,deps:[{token:i1.SacFormCommon},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_b9weglwy3().s[46]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacValidationSummaryCommon,inputs:{e2eidentifier:"e2eidentifier",form:"form",formGroupName:"formGroupName",name:"name"},ngImport:i0});}}cov_b9weglwy3().s[47]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacValidationSummaryCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_b9weglwy3().f[11]++;cov_b9weglwy3().s[48]++;return[{type:i1.SacFormCommon},{type:i0.Injector}];},propDecorators:{e2eidentifier:[{type:Input}],form:[{type:Input}],formGroupName:[{type:Input}],name:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQTZDLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3Rjs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUE0Q25DLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQVksTUFBcUIsRUFBRSxRQUFrQjtRQW5DckQ7O1dBRUc7UUFFSSxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFnQjNDOztXQUVHO1FBRUksU0FBSSxHQUFXLFVBQVUsRUFBRSxDQUFDO1FBWS9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLElBQUksOEJBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUNsQyx1QkFBdUIsRUFDdkIsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FDL0QsQ0FBQztJQUNOLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIscUNBQXFDO0lBRXJDOztPQUVHO0lB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QkFEbkIsS0FBSztnQkFPQyxJQUFJO3NCQURWLEtBQUs7Z0JBU0MsYUFBYTtzQkFEbkIsS0FBSztnQkFPQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xuaW1wb3J0IHsgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pYWJzdHJhY3Rjb250cm9sbGFiZWwnO1xuaW1wb3J0IHsgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsIFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSwgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLXZhbGlkYXRpb25rZXkuc2VydmljZSc7XG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2d1aWQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySXRlbSB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgU2FjRm9ybUNvbW1vbiB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQmFzZSBjb21wb25lbnQgZm9yIFNhY1ZhbGlkYXRpb25TdW1tYXJ5XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIFNlcnZpY2UgZm9yIEVycm9yIExvY2FsaXNhdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogUGFyZW50IEZvcm1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFyZW50OiBTYWNGb3JtQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogU2VydmljZSB0byByZWNlaXZlIHN0YW5kYXJkIHZhbGlkYXRpb24gbWVzc2FnZSBrZXlzIGFuZCB0ZXh0c1xuICAgICAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0aW9uS2V5U2VydmljZTogSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciB1c2VkIGZvciB0aGUgRTJFIGRhdGEgYXR0cmlidXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGUyZWlkZW50aWZpZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogcmVhY3RpdmUgZm9ybSBpbnN0YW5jZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGdyb3VwbmFtZSB0byBmaWx0ZXIgc3VtbWFyeSB0byBmb3JtZ3JvdXBcbiAgICAgKlxuICAgICAqIEltcG9ydGFudDogaXQgd29ya3Mgb25seSBpbiByZWFjdGl2ZSBmb3JtcyBtb2RlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Hcm91cE5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHBhcmVudCBQYXJlbnQgZm9ybSBjb250cm9sIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIGluamVjdG9yIGZvciBkZXBlbmRlbmN5IHJlc29sdXRpb25cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IFNhY0Zvcm1Db21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcblxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpKTtcbiAgICAgICAgdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcbiAgICAgICAgICAgIG5ldyBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSh0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0aW9uIG1ldGhvZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZm9ybUVycm9ycygpOiBPYnNlcnZhYmxlPHN0cmluZz5bXSB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj4gPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PigpO1xuXG4gICAgICAgIGxldCBmb3JtQmFzZTogVW50eXBlZEZvcm1Hcm91cDtcbiAgICAgICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICAgICAgICBmb3JtQmFzZSA9IHRoaXMucGFyZW50LmdldEZvcm0oKS5mb3JtO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybSBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGZvcm1CYXNlID0gdGhpcy5mb3JtO1xuXG4gICAgICAgICAgICAvLyBmb3JtZ3JvdXAgY2FuIG9ubHkgYmUgZ2V0IGluIHJlYWN0aXZlIGZvcm1zIG1vZGVcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1Hcm91cE5hbWUpIHtcbiAgICAgICAgICAgICAgICBmb3JtQmFzZSA9IGZvcm1CYXNlLmdldCh0aGlzLmZvcm1Hcm91cE5hbWUpIGFzIFVudHlwZWRGb3JtR3JvdXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgZm9ybScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbXM6IEFycmF5PE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+ID0gT2JqZWN0LmtleXMoZm9ybUJhc2UuY29udHJvbHMpLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gPE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+Zm9ybUJhc2UuY29udHJvbHNba2V5XTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5nZXRFcnJvckNvbGxlY3Rpb24oaXRlbXMsIGNvbGxlY3Rpb24pO1xuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbnVsbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIHdoZW4gZXJyb3JzIG9jY3VyXG4gICAgICovXG4gICAgcHVibGljIGdldCBoYXNFcnJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1FcnJvcnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHZhbGlkYXRpb24gZXJyb3IgdG8gdGhlIGVycm9yIGNvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0gY3RsIEZhdWx0eSBjb250cm9sXG4gICAgICogQHBhcmFtIGNvbGxlY3Rpb24gQ29sbGVjdGlvbiBvZiBhbGwgZXJyb3IgbWVzc2FnZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGFkZEVycm9yVG9Db2xsZWN0aW9uKGN0bDogQWJzdHJhY3RDb250cm9sLCBjb2xsZWN0aW9uOiBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+KTogdm9pZCB7XG4gICAgICAgIGlmIChjdGwuZXJyb3JzID09PSBudWxsIHx8IGN0bC50b3VjaGVkID09PSBmYWxzZSB8fCBjdGwudmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY3RsLmVycm9ycyk7XG5cbiAgICAgICAgaWYgKGtleXMubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVycm9ySXRlbTogVmFsaWRhdGlvbkVycm9ySXRlbSA9IGN0bC5lcnJvcnNba2V5c1swXV07XG5cbiAgICAgICAgLy8gVmFsaWRhdGlvbiBQYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7fTtcbiAgICAgICAgaWYgKGVycm9ySXRlbS5wYXJhbWV0ZXJzICE9PSBudWxsICYmIGVycm9ySXRlbS5wYXJhbWV0ZXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVycm9ySXRlbS5wYXJhbWV0ZXJzLmZvckVhY2goKHYsIGspID0+IHtcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzW2tdID0gdjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChjdGwgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24pPy5jb250cm9sbGFiZWwpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSAoY3RsIGFzIHVua25vd24gYXMgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uKS5jb250cm9sbGFiZWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzWydGSUVMRCddID0gZXJyb3JJdGVtLmZpZWxkTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbGxlY3Rpb24ucHVzaCh0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoZXJyb3JJdGVtLmVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5LCBwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGhvZCByZXR1cm5zIGNvbGxlY3Rpb24gb2YgZXJyb3JzLiBSZXF1aXJlcyBjb250cm9sczogQXJyYXk8TmdGb3JtIHwgRm9ybUFycmF5PiBhbmQgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0RXJyb3JDb2xsZWN0aW9uKFxuICAgICAgICBjb250cm9sczogQXJyYXk8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT4sXG4gICAgICAgIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29udHJvbHMuZm9yRWFjaCgoY3RsKSA9PiB7XG4gICAgICAgICAgICBpZiAoY3RsLmNvbnRyb2xzID09PSB1bmRlZmluZWQgfHwgY3RsLmNvbnRyb2xzID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvclRvQ29sbGVjdGlvbig8QWJzdHJhY3RDb250cm9sPmN0bCwgY29sbGVjdGlvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGN0bC5jb250cm9scykubWFwKChjb250cm9sS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBjdGwuY29udHJvbHNbY29udHJvbEtleV07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FuY2VsIGFuYWx5c2lzIGlmIGl0ZW0gd2FzIG5vdCB0b3VjaGVkIG9yIGlzIHZhbGlkXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250cm9sLnRvdWNoZWQgPT09IGZhbHNlIHx8IGNvbnRyb2wudmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBpZiBjb250cm9sIGlzIG5vdCBhIGNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9scyA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wuY29udHJvbHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXJyb3JUb0NvbGxlY3Rpb24oY29udHJvbCwgY29sbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGluZyBvZiBhIGNvbnRyb2wgY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtczogQXJyYXk8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT4gPSBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5tYXAoKGZvcm1LZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+Y29udHJvbC5jb250cm9sc1tmb3JtS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEVycm9yQ29sbGVjdGlvbihpdGVtcywgY29sbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdfQ==
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQUNMT0NBTElTQVRJT05fU0VSVklDRSIsIlNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlIiwiU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIiwiU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiY3JlYXRlR3VpZCIsIkRpcmVjdGl2ZSIsIklucHV0IiwiVW50eXBlZEZvcm1Hcm91cCIsIlNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tbW9uIiwiY29uc3RydWN0b3IiLCJwYXJlbnQiLCJpbmplY3RvciIsImNvdl9iOXdlZ2x3eTMiLCJmIiwicyIsImUyZWlkZW50aWZpZXIiLCJuYW1lIiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJnZXQiLCJsbmdSZXNvdXJjZVNlcnZpY2UiLCJmb3JtRXJyb3JzIiwiY29sbGVjdGlvbiIsIkFycmF5IiwiZm9ybUJhc2UiLCJiIiwiZ2V0Rm9ybSIsImZvcm0iLCJmb3JtR3JvdXBOYW1lIiwiRXJyb3IiLCJpdGVtcyIsIk9iamVjdCIsImtleXMiLCJjb250cm9scyIsIm1hcCIsImtleSIsImdldEVycm9yQ29sbGVjdGlvbiIsImZpbHRlciIsIml0ZW0iLCJoYXNFcnJvcnMiLCJsZW5ndGgiLCJhZGRFcnJvclRvQ29sbGVjdGlvbiIsImN0bCIsImVycm9ycyIsInRvdWNoZWQiLCJ2YWxpZCIsImVycm9ySXRlbSIsInBhcmFtZXRlcnMiLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwidiIsImsiLCJjb250cm9sbGFiZWwiLCJmaWVsZE5hbWUiLCJwdXNoIiwiR2V0U3RyaW5nIiwiZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkiLCJjb250cm9sS2V5IiwiY29udHJvbCIsImZvcm1LZXkiLCJkZXBzIiwidG9rZW4iLCJpMSIsIlNhY0Zvcm1Db21tb24iLCJpMCIsIkluamVjdG9yIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNWYWxpZGF0aW9uS2V5U2VydmljZSc7XG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XG5pbXBvcnQgeyBTQUNMT0NBTElTQVRJT05fU0VSVklDRSwgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLCBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtdmFsaWRhdGlvbmtleS5zZXJ2aWNlJztcbmltcG9ydCB7IGNyZWF0ZUd1aWQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ3VpZCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBTYWNGb3JtQ29tbW9uIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nRm9ybSwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgU2FjVmFsaWRhdGlvblN1bW1hcnlcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjVmFsaWRhdGlvblN1bW1hcnlDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogU2VydmljZSBmb3IgRXJyb3IgTG9jYWxpc2F0aW9uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJlbnQgRm9ybVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwYXJlbnQ6IFNhY0Zvcm1Db21tb247XG5cbiAgICAvKipcbiAgICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiByZWFjdGl2ZSBmb3JtIGluc3RhbmNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gZ3JvdXBuYW1lIHRvIGZpbHRlciBzdW1tYXJ5IHRvIGZvcm1ncm91cFxuICAgICAqXG4gICAgICogSW1wb3J0YW50OiBpdCB3b3JrcyBvbmx5IGluIHJlYWN0aXZlIGZvcm1zIG1vZGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUdyb3VwTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogbmFtZSBvZiBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nID0gY3JlYXRlR3VpZCgpO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gcGFyZW50IFBhcmVudCBmb3JtIGNvbnRyb2wgY29tcG9uZW50XG4gICAgICogQHBhcmFtIGluamVjdG9yIFNlcnZpY2UgaW5qZWN0b3IgZm9yIGRlcGVuZGVuY3kgcmVzb2x1dGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHBhcmVudDogU2FjRm9ybUNvbW1vbiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlKCkpO1xuICAgICAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChcbiAgICAgICAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxuICAgICAgICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRpb24gbWV0aG9kXG4gICAgICovXG4gICAgcHVibGljIGdldCBmb3JtRXJyb3JzKCk6IE9ic2VydmFibGU8c3RyaW5nPltdIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PiA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+KCk7XG5cbiAgICAgICAgbGV0IGZvcm1CYXNlOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgICAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgICAgICAgIGZvcm1CYXNlID0gdGhpcy5wYXJlbnQuZ2V0Rm9ybSgpLmZvcm07XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgZm9ybUJhc2UgPSB0aGlzLmZvcm07XG5cbiAgICAgICAgICAgIC8vIGZvcm1ncm91cCBjYW4gb25seSBiZSBnZXQgaW4gcmVhY3RpdmUgZm9ybXMgbW9kZVxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwTmFtZSkge1xuICAgICAgICAgICAgICAgIGZvcm1CYXNlID0gZm9ybUJhc2UuZ2V0KHRoaXMuZm9ybUdyb3VwTmFtZSkgYXMgVW50eXBlZEZvcm1Hcm91cDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBmb3JtJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtczogQXJyYXk8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT4gPSBPYmplY3Qua2V5cyhmb3JtQmFzZS5jb250cm9scykubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiA8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT5mb3JtQmFzZS5jb250cm9sc1trZXldO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdldEVycm9yQ29sbGVjdGlvbihpdGVtcywgY29sbGVjdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBudWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIgd2hlbiBlcnJvcnMgb2NjdXJcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGhhc0Vycm9ycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUVycm9ycy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgdmFsaWRhdGlvbiBlcnJvciB0byB0aGUgZXJyb3IgY29sbGVjdGlvblxuICAgICAqIEBwYXJhbSBjdGwgRmF1bHR5IGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gY29sbGVjdGlvbiBDb2xsZWN0aW9uIG9mIGFsbCBlcnJvciBtZXNzYWdlc1xuICAgICAqL1xuICAgIHByaXZhdGUgYWRkRXJyb3JUb0NvbGxlY3Rpb24oY3RsOiBBYnN0cmFjdENvbnRyb2wsIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGN0bC5lcnJvcnMgPT09IG51bGwgfHwgY3RsLnRvdWNoZWQgPT09IGZhbHNlIHx8IGN0bC52YWxpZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjdGwuZXJyb3JzKTtcblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXJyb3JJdGVtOiBWYWxpZGF0aW9uRXJyb3JJdGVtID0gY3RsLmVycm9yc1trZXlzWzBdXTtcblxuICAgICAgICAvLyBWYWxpZGF0aW9uIFBhcmFtZXRlcnNcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHt9O1xuICAgICAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZXJyb3JJdGVtLnBhcmFtZXRlcnMuZm9yRWFjaCgodiwgaykgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNba10gPSB2O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKGN0bCBhcyB1bmtub3duIGFzIElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvbik/LmNvbnRyb2xsYWJlbCkge1xuICAgICAgICAgICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IChjdGwgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24pLmNvbnRyb2xsYWJlbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSBlcnJvckl0ZW0uZmllbGROYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sbGVjdGlvbi5wdXNoKHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhlcnJvckl0ZW0uZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXksIHBhcmFtZXRlcnMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWV0aG9kIHJldHVybnMgY29sbGVjdGlvbiBvZiBlcnJvcnMuIFJlcXVpcmVzIGNvbnRyb2xzOiBBcnJheTxOZ0Zvcm0gfCBGb3JtQXJyYXk+IGFuZCBjb2xsZWN0aW9uOiBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRFcnJvckNvbGxlY3Rpb24oXG4gICAgICAgIGNvbnRyb2xzOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PixcbiAgICAgICAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxuICAgICk6IHZvaWQge1xuICAgICAgICBjb250cm9scy5mb3JFYWNoKChjdGwpID0+IHtcbiAgICAgICAgICAgIGlmIChjdGwuY29udHJvbHMgPT09IHVuZGVmaW5lZCB8fCBjdGwuY29udHJvbHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEVycm9yVG9Db2xsZWN0aW9uKDxBYnN0cmFjdENvbnRyb2w+Y3RsLCBjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY3RsLmNvbnRyb2xzKS5tYXAoKGNvbnRyb2xLZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGN0bC5jb250cm9sc1tjb250cm9sS2V5XTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5jZWwgYW5hbHlzaXMgaWYgaXRlbSB3YXMgbm90IHRvdWNoZWQgb3IgaXMgdmFsaWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wudG91Y2hlZCA9PT0gZmFsc2UgfHwgY29udHJvbC52YWxpZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIGlmIGNvbnRyb2wgaXMgbm90IGEgY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzID09PSB1bmRlZmluZWQgfHwgY29udHJvbC5jb250cm9scyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvclRvQ29sbGVjdGlvbihjb250cm9sLCBjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsaW5nIG9mIGEgY29udHJvbCBjb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PiA9IE9iamVjdC5rZXlzKGNvbnRyb2wuY29udHJvbHMpLm1hcCgoZm9ybUtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT5jb250cm9sLmNvbnRyb2xzW2Zvcm1LZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RXJyb3JDb2xsZWN0aW9uKGl0ZW1zLCBjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl0sIm1hcHBpbmdzIjoiO3lGQUdBLE9BQVNBLHVCQUF1QixDQUFFQyw2QkFBNkIsS0FBUSx5Q0FBeUMsQ0FDaEgsT0FBU0Msd0JBQXdCLENBQUVDLDhCQUE4QixLQUFRLDBDQUEwQyxDQUNuSCxPQUFTQyxVQUFVLEtBQVEsc0JBQXNCLENBR2pELE9BQVNDLFNBQVMsQ0FBWUMsS0FBSyxLQUFRLGVBQWUsQ0FDMUQsT0FBb0RDLGdCQUFnQixLQUFRLGdCQUFnQixDLGlFQUc1Rjs7R0FJQSxNQUFNLE1BQU8sQ0FBQUMsMEJBQTBCLENBNENuQztBQUVBO0FBRUE7Ozs7T0FLQUMsWUFBWUMsTUFBcUIsQ0FBRUMsUUFBa0IsRUFBQUMsYUFBQSxHQUFBQyxDQUFBLEtBQUFELENBQUEsZ0JBQUFFLENBQUEsTUFuQ3JEOztXQUlPLEtBQUFDLGFBQWEsQ0FBa0IsSUFBSSxDQWdCMUM7O1dBQUFILGFBQUEsR0FBQUUsQ0FBQSxNQUlPLEtBQUFFLElBQUksQ0FBV1osVUFBVSxFQUFFLENBQUNRLGFBQUEsR0FBQUUsQ0FBQSxNQVkvQixJQUFJLENBQUNKLE1BQU0sQ0FBR0EsTUFBTSxDQUFD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
|