@simpleangularcontrols/sac-common 13.0.0-rc.10 → 13.0.0-rc.12
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 +99 -13
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.d.ts +33 -25
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.d.ts +73 -52
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.d.ts +63 -28
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +27 -20
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.interface.d.ts +4 -0
- package/controls/contextmenu/contextmenu.interface.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts +2 -0
- package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts +2 -0
- package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts.map +1 -0
- package/controls/contextmenu/contextmenuitem.d.ts +6 -1
- package/controls/contextmenu/contextmenuitem.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitembutton.d.ts +22 -21
- package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
- package/controls/datetime/date.d.ts +28 -27
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/datetime.d.ts +27 -27
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/time.d.ts +26 -26
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/dialog/dialog.d.ts +32 -44
- package/controls/dialog/dialog.d.ts.map +1 -1
- package/controls/layout/formlayout.d.ts +5 -1
- package/controls/layout/formlayout.d.ts.map +1 -1
- package/controls/list/buildvaluestring.d.ts +7 -0
- package/controls/list/buildvaluestring.d.ts.map +1 -0
- package/controls/list/buildvaluestring.ngfactory.d.ts +2 -0
- package/controls/list/buildvaluestring.ngfactory.d.ts.map +1 -0
- package/controls/list/buildvaluestring.ngsummary.d.ts +2 -0
- package/controls/list/buildvaluestring.ngsummary.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts +9 -53
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/dropdown.ngfactory.d.ts +0 -1
- package/controls/list/dropdown.ngfactory.d.ts.map +1 -1
- package/controls/list/dropdown.ngsummary.d.ts +0 -1
- package/controls/list/dropdown.ngsummary.d.ts.map +1 -1
- package/controls/list/dropdownoptions.d.ts +42 -0
- package/controls/list/dropdownoptions.d.ts.map +1 -0
- package/controls/list/dropdownoptions.ngfactory.d.ts +4 -0
- package/controls/list/dropdownoptions.ngfactory.d.ts.map +1 -0
- package/controls/list/dropdownoptions.ngsummary.d.ts +2 -0
- package/controls/list/dropdownoptions.ngsummary.d.ts.map +1 -0
- package/controls/static/formcontainer.d.ts +12 -4
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/tooltip/tooltip.d.ts +33 -51
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/treeview/treeview.d.ts +109 -109
- package/controls/treeview/treeview.d.ts.map +1 -1
- package/controls/treeview/treeview.ngfactory.d.ts +1 -1
- package/controls/treeview/treeview.ngsummary.d.ts +1 -1
- package/esm2020/common/basedatetimecontrol.mjs +65 -27
- package/esm2020/common/basemodelcontrol.mjs +73 -68
- package/esm2020/common/baseuploadcontrol.mjs +66 -57
- package/esm2020/controls/checkbox/radiobutton.mjs +43 -26
- package/esm2020/controls/contextmenu/contextmenu.interface.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.interface.ngfactory.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.interface.ngsummary.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.mjs +14 -14
- package/esm2020/controls/contextmenu/contextmenuitem.mjs +7 -4
- package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +23 -15
- package/esm2020/controls/datetime/date.mjs +29 -30
- package/esm2020/controls/datetime/datetime.mjs +28 -30
- package/esm2020/controls/datetime/time.mjs +28 -30
- package/esm2020/controls/dialog/dialog.mjs +28 -41
- package/esm2020/controls/layout/formlayout.mjs +7 -8
- package/esm2020/controls/list/buildvaluestring.mjs +10 -0
- package/esm2020/controls/list/buildvaluestring.ngfactory.mjs +3 -0
- package/esm2020/controls/list/buildvaluestring.ngsummary.mjs +3 -0
- package/esm2020/controls/list/dropdown.mjs +22 -67
- package/esm2020/controls/list/dropdown.ngfactory.mjs +3 -3
- package/esm2020/controls/list/dropdown.ngsummary.mjs +3 -3
- package/esm2020/controls/list/dropdownoptions.mjs +22 -0
- package/esm2020/controls/list/dropdownoptions.ngfactory.mjs +3 -0
- package/esm2020/controls/list/dropdownoptions.ngsummary.mjs +3 -0
- package/esm2020/controls/static/formcontainer.mjs +12 -8
- package/esm2020/controls/tooltip/tooltip.mjs +43 -71
- package/esm2020/controls/treeview/treeview.mjs +102 -96
- package/esm2020/controls/treeview/treeview.ngfactory.mjs +3 -3
- package/esm2020/controls/treeview/treeview.ngsummary.mjs +3 -3
- package/esm2020/interfaces/ISacConfigurationService.mjs +3 -3
- package/esm2020/interfaces/ISacIconService.mjs +3 -3
- package/esm2020/interfaces/ISacUploadEventCompleteState.mjs +3 -0
- package/esm2020/interfaces/ISacUploadEventCompleteState.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacUploadEventCompleteState.ngsummary.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.ngfactory.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.ngsummary.mjs +3 -0
- package/esm2020/public_api.mjs +6 -6
- package/esm2020/services/sac-configuration.service.mjs +8 -10
- package/esm2020/services/sac-icon.service.mjs +16 -8
- package/esm2020/utilities/enums.mjs +5 -3
- package/esm2020/utilities/popuphelper.mjs +80 -0
- package/esm2020/utilities/popuphelper.ngfactory.mjs +3 -0
- package/esm2020/utilities/popuphelper.ngsummary.mjs +3 -0
- package/esm2020/validation/equals.validator.mjs +3 -0
- package/esm2020/validation/equals.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/equals.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/notequals.validator.mjs +3 -0
- package/esm2020/validation/notequals.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/notequals.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/validation.mjs +40 -26
- package/fesm2015/simpleangularcontrols-sac-common.mjs +1358 -1253
- package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/fesm2020/simpleangularcontrols-sac-common.mjs +1358 -1253
- package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +11 -7
- package/interfaces/ISacConfigurationService.d.ts.map +1 -1
- package/interfaces/ISacIconService.d.ts +18 -2
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
- package/interfaces/ISacUploadEventCompleteState.d.ts.map +1 -0
- package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts +2 -0
- package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts +2 -0
- package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.d.ts +5 -0
- package/interfaces/treeviewaction.interface.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts +2 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.ngsummary.d.ts +2 -0
- package/interfaces/treeviewaction.interface.ngsummary.d.ts.map +1 -0
- package/package.json +1 -1
- package/public_api.d.ts +6 -5
- package/public_api.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-icon.service.d.ts +33 -1
- package/services/sac-icon.service.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-13.0.0-rc.12.tgz +0 -0
- package/utilities/enums.d.ts +3 -1
- package/utilities/enums.d.ts.map +1 -1
- package/utilities/popuphelper.d.ts +84 -0
- package/utilities/popuphelper.d.ts.map +1 -0
- package/utilities/popuphelper.ngfactory.d.ts +2 -0
- package/utilities/popuphelper.ngfactory.d.ts.map +1 -0
- package/utilities/popuphelper.ngsummary.d.ts +2 -0
- package/utilities/popuphelper.ngsummary.d.ts.map +1 -0
- package/validation/equals.validator.d.ts +3 -0
- package/validation/equals.validator.d.ts.map +1 -0
- package/validation/equals.validator.ngfactory.d.ts +2 -0
- package/validation/equals.validator.ngfactory.d.ts.map +1 -0
- package/validation/equals.validator.ngsummary.d.ts +2 -0
- package/validation/equals.validator.ngsummary.d.ts.map +1 -0
- package/validation/notequals.validator.d.ts +3 -0
- package/validation/notequals.validator.d.ts.map +1 -0
- package/validation/notequals.validator.ngfactory.d.ts +2 -0
- package/validation/notequals.validator.ngfactory.d.ts.map +1 -0
- package/validation/notequals.validator.ngsummary.d.ts +2 -0
- package/validation/notequals.validator.ngsummary.d.ts.map +1 -0
- package/validation/validation.d.ts +24 -6
- package/validation/validation.d.ts.map +1 -1
- package/controls/treeview/ngtreeitemaction.d.ts +0 -44
- package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +0 -4
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts +0 -2
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.d.ts +0 -16
- package/controls/treeview/treeviewchild.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngfactory.d.ts +0 -4
- package/controls/treeview/treeviewchild.ngfactory.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngsummary.d.ts +0 -2
- package/controls/treeview/treeviewchild.ngsummary.d.ts.map +0 -1
- package/esm2020/controls/treeview/ngtreeitemaction.mjs +0 -16
- package/esm2020/controls/treeview/ngtreeitemaction.ngfactory.mjs +0 -3
- package/esm2020/controls/treeview/ngtreeitemaction.ngsummary.mjs +0 -3
- package/esm2020/controls/treeview/treeviewchild.mjs +0 -8
- package/esm2020/controls/treeview/treeviewchild.ngfactory.mjs +0 -3
- package/esm2020/controls/treeview/treeviewchild.ngsummary.mjs +0 -3
- package/simpleangularcontrols-sac-common-13.0.0-rc.10.tgz +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
function cov_2htktrox8d(){var path="C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\validation\\validation.mjs";var hash="84ef35a700d0de35d487e6e6a873c3ffb86dd6dd";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\validation\\validation.mjs",statementMap:{"0":{start:{line:20,column:15},end:{line:20,column:33}},"1":{start:{line:34,column:8},end:{line:34,column:111}},"2":{start:{line:44,column:8},end:{line:44,column:78}},"3":{start:{line:55,column:8},end:{line:55,column:88}},"4":{start:{line:66,column:8},end:{line:66,column:86}},"5":{start:{line:77,column:8},end:{line:77,column:88}},"6":{start:{line:87,column:8},end:{line:87,column:75}},"7":{start:{line:98,column:8},end:{line:98,column:90}},"8":{start:{line:109,column:8},end:{line:109,column:86}},"9":{start:{line:120,column:8},end:{line:120,column:86}},"10":{start:{line:131,column:8},end:{line:131,column:86}},"11":{start:{line:142,column:8},end:{line:142,column:86}},"12":{start:{line:152,column:8},end:{line:152,column:81}},"13":{start:{line:163,column:8},end:{line:163,column:88}},"14":{start:{line:174,column:8},end:{line:174,column:102}},"15":{start:{line:185,column:8},end:{line:185,column:105}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:138},end:{line:35,column:5}},line:33},"1":{name:"(anonymous_1)",decl:{start:{line:43,column:4},end:{line:43,column:5}},loc:{start:{line:43,column:65},end:{line:45,column:5}},line:43},"2":{name:"(anonymous_2)",decl:{start:{line:54,column:4},end:{line:54,column:5}},loc:{start:{line:54,column:75},end:{line:56,column:5}},line:54},"3":{name:"(anonymous_3)",decl:{start:{line:65,column:4},end:{line:65,column:5}},loc:{start:{line:65,column:73},end:{line:67,column:5}},line:65},"4":{name:"(anonymous_4)",decl:{start:{line:76,column:4},end:{line:76,column:5}},loc:{start:{line:76,column:75},end:{line:78,column:5}},line:76},"5":{name:"(anonymous_5)",decl:{start:{line:86,column:4},end:{line:86,column:5}},loc:{start:{line:86,column:62},end:{line:88,column:5}},line:86},"6":{name:"(anonymous_6)",decl:{start:{line:97,column:4},end:{line:97,column:5}},loc:{start:{line:97,column:77},end:{line:99,column:5}},line:97},"7":{name:"(anonymous_7)",decl:{start:{line:108,column:4},end:{line:108,column:5}},loc:{start:{line:108,column:73},end:{line:110,column:5}},line:108},"8":{name:"(anonymous_8)",decl:{start:{line:119,column:4},end:{line:119,column:5}},loc:{start:{line:119,column:73},end:{line:121,column:5}},line:119},"9":{name:"(anonymous_9)",decl:{start:{line:130,column:4},end:{line:130,column:5}},loc:{start:{line:130,column:73},end:{line:132,column:5}},line:130},"10":{name:"(anonymous_10)",decl:{start:{line:141,column:4},end:{line:141,column:5}},loc:{start:{line:141,column:73},end:{line:143,column:5}},line:141},"11":{name:"(anonymous_11)",decl:{start:{line:151,column:4},end:{line:151,column:5}},loc:{start:{line:151,column:68},end:{line:153,column:5}},line:151},"12":{name:"(anonymous_12)",decl:{start:{line:162,column:4},end:{line:162,column:5}},loc:{start:{line:162,column:75},end:{line:164,column:5}},line:162},"13":{name:"(anonymous_13)",decl:{start:{line:173,column:4},end:{line:173,column:5}},loc:{start:{line:173,column:89},end:{line:175,column:5}},line:173},"14":{name:"(anonymous_14)",decl:{start:{line:184,column:4},end:{line:184,column:5}},loc:{start:{line:184,column:92},end:{line:186,column:5}},line:184}},branchMap:{"0":{loc:{start:{line:33,column:96},end:{line:33,column:112}},type:"default-arg",locations:[{start:{line:33,column:108},end:{line:33,column:112}}],line:33},"1":{loc:{start:{line:33,column:114},end:{line:33,column:136}},type:"default-arg",locations:[{start:{line:33,column:127},end:{line:33,column:136}}],line:33}},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},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},b:{"0":[0],"1":[0]},inputSourceMap:{version:3,file:"validation.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/validation/validation.ts"],names:[],mappings:"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",sourcesContent:["import { ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport * as moment_ from 'moment';\r\nimport { LanguageModel } from '../models/languagemodel';\r\nimport { isValidDateValidator } from './invaliddate.validator';\r\nimport { maxDateValidator } from './maxdate.validator';\r\nimport { maxTimeValidator } from './maxtime.validator';\r\nimport { maxValueValidator } from './maxvalue.validator';\r\nimport { minDateValidator } from './mindate.validator';\r\nimport { minFilesValidator } from './minfiles.validator';\r\nimport { minLengthValidator } from './minlength.validator';\r\nimport { minTimeValidator } from './mintime.validator';\r\nimport { minValueValidator } from './minvalue.validator';\r\nimport { multilanguageRequiredValidator } from './multilanguagerequired.validator';\r\nimport { multilanguageRequiredAnyValidator } from './multilanguagerequiredany.validator';\r\nimport { patternValidator } from './pattern.validator';\r\nimport { requiredValidator } from './required.validator';\r\nimport { CreateValidationError } from './validationerrorcreator';\r\nimport { emailValidator } from './email.validator';\r\n/**\r\n * Moment\r\n */\r\nconst moment = moment_['default'];\r\n\r\n/**\r\n * Klasse mit Standard Validatoren\r\n */\r\nexport class Validation {\r\n /**\r\n * Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerp\xFCfte Item, als auch die ErrorMessage (gem\xE4ss von errorType, FieldName und Parameters).\r\n * @param errorType Typ den Fehler\r\n * @param errorMessageKey Error Message Key\r\n * @param errorMessageValidationSummaryKey Error Message Key f\xFCr Validation Summary\r\n * @param fieldName Label oder Name des Feldes\r\n * @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden k\xF6nnen\r\n */\r\n static GetValidationErrorItem(\r\n errorType: string,\r\n errorMessageKey: string,\r\n errorMessageValidationSummaryKey: string,\r\n fieldName: string = null,\r\n parameters: Map<string, any> = new Map<string, any>()\r\n ): any {\r\n return CreateValidationError(\r\n errorType,\r\n errorMessageKey,\r\n errorMessageValidationSummaryKey,\r\n parameters\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Required State\r\n * @param control Control das Validiert wird\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static required(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return requiredValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Min Value\r\n * @param control Control das Validiert wird\r\n * @param minvalue Min. Value\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minValue(\r\n minvalue: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minValueValidator(\r\n minvalue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validierung mit einem RegEx Pattern\r\n * @param control Control das validiert werden soll.\r\n * @param pattern RegEx Pattern\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static pattern(\r\n pattern: string,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return patternValidator(\r\n pattern,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Max Value\r\n * @param control Control das Validiert werden soll\r\n * @param maxvalue Max. Wert\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxValue(\r\n maxvalue: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxValueValidator(\r\n maxvalue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert Feld auf E-Mail Adresse\r\n * @param control Control das Valdiert werden soll\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static email(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return emailValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validiert auf die L\xE4nge des Wertes im Control\r\n * @param control Control das Validiert werden soll\r\n * @param minlength Min. L\xE4nge des Wertes\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minLength(\r\n minlength: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minLengthValidator(\r\n minlength,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob das Datum neuer als minDate ist\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param minDate Min. Datum\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minDate(\r\n minDate: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minDateValidator(\r\n minDate,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob das Datum \xE4lter als maxDate ist\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param maxDate max. Datum\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxDate(\r\n maxDate: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxDateValidator(\r\n maxDate,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob die Zeit sp\xE4ter als minTime ist.\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param minTime Min. Zeit\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minTime(\r\n minTime: Date,\r\n validationMessage: string,\r\n validationMessageSummary: string\r\n ): ValidatorFn {\r\n return minTimeValidator(\r\n minTime,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob die Zeit fr\xFCher als maxTime ist.\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param maxTime Min. Zeit\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxTime(\r\n maxTime: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxTimeValidator(\r\n maxTime,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator der pr\xFCft ob der Wert ein Datum ist.\r\n * @param control Control mit IDateTimeControl Interface implementierung\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die beim Control angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static isValidDate(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return isValidDateValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validator f\xFCr min. Anzahl von Uploads\r\n * @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben\r\n * @param minFiles Min. Anzahl Files die hochgeladen werden m\xFCssen\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minFiles(\r\n minFiles: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minFilesValidator(\r\n minFiles,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr MultiLanguage Control, welcher \xFCberpr\xFCft ob alle Sprachen erfasst sind.\r\n * @param control Control das Validatiert werden soll\r\n * @param languages Sprachen die im Control erfasst werden k\xF6nnen.\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static multilanguageRequired(\r\n languages: LanguageModel[],\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return multilanguageRequiredValidator(\r\n languages,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr MultiLanguage Control, welcher \xFCberpr\xFCft ob min. ein Wert erfasst wurde\r\n * @param control Control das Validatiert werden soll\r\n * @param languages Sprachen die im Control erfasst werden k\xF6nnen.\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static multilanguageRequiredAny(\r\n languages: LanguageModel[],\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return multilanguageRequiredAnyValidator(\r\n languages,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"84ef35a700d0de35d487e6e6a873c3ffb86dd6dd"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
-
cov_2htktrox8d=function(){return actualCoverage;};}return actualCoverage;}cov_2htktrox8d();import*as moment_ from'moment';import{isValidDateValidator}from'./invaliddate.validator';import{maxDateValidator}from'./maxdate.validator';import{maxTimeValidator}from'./maxtime.validator';import{maxValueValidator}from'./maxvalue.validator';import{minDateValidator}from'./mindate.validator';import{minFilesValidator}from'./minfiles.validator';import{minLengthValidator}from'./minlength.validator';import{minTimeValidator}from'./mintime.validator';import{minValueValidator}from'./minvalue.validator';import{multilanguageRequiredValidator}from'./multilanguagerequired.validator';import{multilanguageRequiredAnyValidator}from'./multilanguagerequiredany.validator';import{
|
|
3
|
-
* Moment
|
|
4
|
-
*/const moment=(cov_2htktrox8d().s[0]++,moment_['default']);/**
|
|
1
|
+
function cov_2htktrox8d(){var path="C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\validation\\validation.mjs";var hash="cb94a843218a35066202334fa8eea0f0e8911c17";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\validation\\validation.mjs",statementMap:{"0":{start:{line:32,column:8},end:{line:32,column:111}},"1":{start:{line:42,column:8},end:{line:42,column:78}},"2":{start:{line:54,column:8},end:{line:54,column:96}},"3":{start:{line:64,column:8},end:{line:64,column:88}},"4":{start:{line:75,column:8},end:{line:75,column:86}},"5":{start:{line:86,column:8},end:{line:86,column:88}},"6":{start:{line:96,column:8},end:{line:96,column:75}},"7":{start:{line:107,column:8},end:{line:107,column:90}},"8":{start:{line:118,column:8},end:{line:118,column:86}},"9":{start:{line:129,column:8},end:{line:129,column:86}},"10":{start:{line:140,column:8},end:{line:140,column:86}},"11":{start:{line:151,column:8},end:{line:151,column:86}},"12":{start:{line:161,column:8},end:{line:161,column:81}},"13":{start:{line:172,column:8},end:{line:172,column:88}},"14":{start:{line:183,column:8},end:{line:183,column:98}},"15":{start:{line:194,column:8},end:{line:194,column:102}},"16":{start:{line:205,column:8},end:{line:205,column:105}},"17":{start:{line:211,column:15},end:{line:211,column:33}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:138},end:{line:33,column:5}},line:31},"1":{name:"(anonymous_1)",decl:{start:{line:41,column:4},end:{line:41,column:5}},loc:{start:{line:41,column:65},end:{line:43,column:5}},line:41},"2":{name:"(anonymous_2)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:78},end:{line:55,column:5}},line:53},"3":{name:"(anonymous_3)",decl:{start:{line:63,column:4},end:{line:63,column:5}},loc:{start:{line:63,column:75},end:{line:65,column:5}},line:63},"4":{name:"(anonymous_4)",decl:{start:{line:74,column:4},end:{line:74,column:5}},loc:{start:{line:74,column:73},end:{line:76,column:5}},line:74},"5":{name:"(anonymous_5)",decl:{start:{line:85,column:4},end:{line:85,column:5}},loc:{start:{line:85,column:75},end:{line:87,column:5}},line:85},"6":{name:"(anonymous_6)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:62},end:{line:97,column:5}},line:95},"7":{name:"(anonymous_7)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:77},end:{line:108,column:5}},line:106},"8":{name:"(anonymous_8)",decl:{start:{line:117,column:4},end:{line:117,column:5}},loc:{start:{line:117,column:73},end:{line:119,column:5}},line:117},"9":{name:"(anonymous_9)",decl:{start:{line:128,column:4},end:{line:128,column:5}},loc:{start:{line:128,column:73},end:{line:130,column:5}},line:128},"10":{name:"(anonymous_10)",decl:{start:{line:139,column:4},end:{line:139,column:5}},loc:{start:{line:139,column:73},end:{line:141,column:5}},line:139},"11":{name:"(anonymous_11)",decl:{start:{line:150,column:4},end:{line:150,column:5}},loc:{start:{line:150,column:73},end:{line:152,column:5}},line:150},"12":{name:"(anonymous_12)",decl:{start:{line:160,column:4},end:{line:160,column:5}},loc:{start:{line:160,column:68},end:{line:162,column:5}},line:160},"13":{name:"(anonymous_13)",decl:{start:{line:171,column:4},end:{line:171,column:5}},loc:{start:{line:171,column:75},end:{line:173,column:5}},line:171},"14":{name:"(anonymous_14)",decl:{start:{line:182,column:4},end:{line:182,column:5}},loc:{start:{line:182,column:80},end:{line:184,column:5}},line:182},"15":{name:"(anonymous_15)",decl:{start:{line:193,column:4},end:{line:193,column:5}},loc:{start:{line:193,column:89},end:{line:195,column:5}},line:193},"16":{name:"(anonymous_16)",decl:{start:{line:204,column:4},end:{line:204,column:5}},loc:{start:{line:204,column:92},end:{line:206,column:5}},line:204}},branchMap:{"0":{loc:{start:{line:31,column:96},end:{line:31,column:112}},type:"default-arg",locations:[{start:{line:31,column:108},end:{line:31,column:112}}],line:31},"1":{loc:{start:{line:31,column:114},end:{line:31,column:136}},type:"default-arg",locations:[{start:{line:31,column:127},end:{line:31,column:136}}],line:31}},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},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},b:{"0":[0],"1":[0]},inputSourceMap:{version:3,file:"validation.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/validation/validation.ts"],names:[],mappings:"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",sourcesContent:["import * as moment_ from 'moment';\r\n\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { LanguageModel } from '../models/languagemodel';\r\nimport { emailValidator } from './email.validator';\r\nimport { equalsValueValidator } from './equals.validator';\r\nimport { isValidDateValidator } from './invaliddate.validator';\r\nimport { maxDateValidator } from './maxdate.validator';\r\nimport { maxTimeValidator } from './maxtime.validator';\r\nimport { maxValueValidator } from './maxvalue.validator';\r\nimport { minDateValidator } from './mindate.validator';\r\nimport { minFilesValidator } from './minfiles.validator';\r\nimport { minLengthValidator } from './minlength.validator';\r\nimport { minTimeValidator } from './mintime.validator';\r\nimport { minValueValidator } from './minvalue.validator';\r\nimport { multilanguageRequiredValidator } from './multilanguagerequired.validator';\r\nimport { multilanguageRequiredAnyValidator } from './multilanguagerequiredany.validator';\r\nimport { notEqualsValueValidator } from './notequals.validator';\r\nimport { patternValidator } from './pattern.validator';\r\nimport { requiredValidator } from './required.validator';\r\nimport { CreateValidationError } from './validationerrorcreator';\r\n\r\n/**\r\n * Klasse mit Standard Validatoren\r\n */\r\nexport class Validation {\r\n /**\r\n * Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerp\xFCfte Item, als auch die ErrorMessage (gem\xE4ss von errorType, FieldName und Parameters).\r\n * @param errorType Typ den Fehler\r\n * @param errorMessageKey Error Message Key\r\n * @param errorMessageValidationSummaryKey Error Message Key f\xFCr Validation Summary\r\n * @param fieldName Label oder Name des Feldes\r\n * @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden k\xF6nnen\r\n */\r\n static GetValidationErrorItem(\r\n errorType: string,\r\n errorMessageKey: string,\r\n errorMessageValidationSummaryKey: string,\r\n fieldName: string = null,\r\n parameters: Map<string, any> = new Map<string, any>()\r\n ): any {\r\n return CreateValidationError(\r\n errorType,\r\n errorMessageKey,\r\n errorMessageValidationSummaryKey,\r\n parameters\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Required State\r\n * @param control Control das Validiert wird\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static required(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return requiredValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validator validate if value is the requiredValue\r\n * @param requiredValue Value that control should have\r\n * @param control Control to be validate\r\n * @param fieldName Label of control\r\n * @param validationMessage validation message near the control\r\n * @param validationMessageSummary validation inside the validation summary\r\n\r\n */\r\n public static equals(\r\n requiredValue: any,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return equalsValueValidator(\r\n requiredValue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator der pr\xFCft ob der Wert ein Datum ist.\r\n * @param control Control mit IDateTimeControl Interface implementierung\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minValue(\r\n minvalue: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minValueValidator(\r\n minvalue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validierung mit einem RegEx Pattern\r\n * @param control Control das validiert werden soll.\r\n * @param pattern RegEx Pattern\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static pattern(\r\n pattern: string,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return patternValidator(\r\n pattern,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Max Value\r\n * @param control Control das Validiert werden soll\r\n * @param maxvalue Max. Wert\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxValue(\r\n maxvalue: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxValueValidator(\r\n maxvalue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert Feld auf E-Mail Adresse\r\n * @param control Control das Valdiert werden soll\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static email(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return emailValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validiert auf die L\xE4nge des Wertes im Control\r\n * @param control Control das Validiert werden soll\r\n * @param minlength Min. L\xE4nge des Wertes\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minLength(\r\n minlength: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minLengthValidator(\r\n minlength,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob das Datum neuer als minDate ist\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param minDate Min. Datum\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minDate(\r\n minDate: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minDateValidator(\r\n minDate,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob das Datum \xE4lter als maxDate ist\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param maxDate max. Datum\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxDate(\r\n maxDate: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxDateValidator(\r\n maxDate,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob die Zeit sp\xE4ter als minTime ist.\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param minTime Min. Zeit\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minTime(\r\n minTime: Date,\r\n validationMessage: string,\r\n validationMessageSummary: string\r\n ): ValidatorFn {\r\n return minTimeValidator(\r\n minTime,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob die Zeit fr\xFCher als maxTime ist.\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param maxTime Min. Zeit\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxTime(\r\n maxTime: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxTimeValidator(\r\n maxTime,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator der pr\xFCft ob der Wert ein Datum ist.\r\n * @param control Control mit IDateTimeControl Interface implementierung\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die beim Control angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static isValidDate(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return isValidDateValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validator f\xFCr min. Anzahl von Uploads\r\n * @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben\r\n * @param minFiles Min. Anzahl Files die hochgeladen werden m\xFCssen\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minFiles(\r\n minFiles: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minFilesValidator(\r\n minFiles,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator validate if value is not the invalidValue\r\n * @param invalidValue Value that control doesn't should have\r\n * @param control Control to be validate\r\n * @param fieldName Label of control\r\n * @param validationMessage validation message near the control\r\n * @param validationMessageSummary validation inside the validation summary\r\n */\r\n public static notequals(\r\n invalidValue: any,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return notEqualsValueValidator(\r\n invalidValue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validierung mit einem RegEx Pattern\r\n * @param control Control das validiert werden soll.\r\n * @param pattern RegEx Pattern\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static multilanguageRequired(\r\n languages: LanguageModel[],\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return multilanguageRequiredValidator(\r\n languages,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr MultiLanguage Control, welcher \xFCberpr\xFCft ob min. ein Wert erfasst wurde\r\n * @param control Control das Validatiert werden soll\r\n * @param languages Sprachen die im Control erfasst werden k\xF6nnen.\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static multilanguageRequiredAny(\r\n languages: LanguageModel[],\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return multilanguageRequiredAnyValidator(\r\n languages,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Moment\r\n */\r\nconst moment = moment_['default'];\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"cb94a843218a35066202334fa8eea0f0e8911c17"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_2htktrox8d=function(){return actualCoverage;};}return actualCoverage;}cov_2htktrox8d();import*as moment_ from'moment';import{emailValidator}from'./email.validator';import{equalsValueValidator}from'./equals.validator';import{isValidDateValidator}from'./invaliddate.validator';import{maxDateValidator}from'./maxdate.validator';import{maxTimeValidator}from'./maxtime.validator';import{maxValueValidator}from'./maxvalue.validator';import{minDateValidator}from'./mindate.validator';import{minFilesValidator}from'./minfiles.validator';import{minLengthValidator}from'./minlength.validator';import{minTimeValidator}from'./mintime.validator';import{minValueValidator}from'./minvalue.validator';import{multilanguageRequiredValidator}from'./multilanguagerequired.validator';import{multilanguageRequiredAnyValidator}from'./multilanguagerequiredany.validator';import{notEqualsValueValidator}from'./notequals.validator';import{patternValidator}from'./pattern.validator';import{requiredValidator}from'./required.validator';import{CreateValidationError}from'./validationerrorcreator';/**
|
|
5
3
|
* Klasse mit Standard Validatoren
|
|
6
4
|
*/export class Validation{/**
|
|
7
5
|
* Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerpüfte Item, als auch die ErrorMessage (gemäss von errorType, FieldName und Parameters).
|
|
@@ -10,100 +8,116 @@ cov_2htktrox8d=function(){return actualCoverage;};}return actualCoverage;}cov_2h
|
|
|
10
8
|
* @param errorMessageValidationSummaryKey Error Message Key für Validation Summary
|
|
11
9
|
* @param fieldName Label oder Name des Feldes
|
|
12
10
|
* @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden können
|
|
13
|
-
*/static GetValidationErrorItem(errorType,errorMessageKey,errorMessageValidationSummaryKey,fieldName=(cov_2htktrox8d().b[0][0]++,null),parameters=(cov_2htktrox8d().b[1][0]++,new Map())){cov_2htktrox8d().f[0]++;cov_2htktrox8d().s[
|
|
11
|
+
*/static GetValidationErrorItem(errorType,errorMessageKey,errorMessageValidationSummaryKey,fieldName=(cov_2htktrox8d().b[0][0]++,null),parameters=(cov_2htktrox8d().b[1][0]++,new Map())){cov_2htktrox8d().f[0]++;cov_2htktrox8d().s[0]++;return CreateValidationError(errorType,errorMessageKey,errorMessageValidationSummaryKey,parameters);}/**
|
|
14
12
|
* Validator für Required State
|
|
15
13
|
* @param control Control das Validiert wird
|
|
16
14
|
* @param fieldName Label des Controls
|
|
17
15
|
* @param validationMessage Validierungsmeldung die
|
|
18
16
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
19
|
-
*/static required(validationMessage,validationMessageSummary){cov_2htktrox8d().f[1]++;cov_2htktrox8d().s[
|
|
20
|
-
* Validator
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
17
|
+
*/static required(validationMessage,validationMessageSummary){cov_2htktrox8d().f[1]++;cov_2htktrox8d().s[1]++;return requiredValidator(validationMessage,validationMessageSummary);}/**
|
|
18
|
+
* Validator validate if value is the requiredValue
|
|
19
|
+
* @param requiredValue Value that control should have
|
|
20
|
+
* @param control Control to be validate
|
|
21
|
+
* @param fieldName Label of control
|
|
22
|
+
* @param validationMessage validation message near the control
|
|
23
|
+
* @param validationMessageSummary validation inside the validation summary
|
|
24
|
+
|
|
25
|
+
*/static equals(requiredValue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[2]++;cov_2htktrox8d().s[2]++;return equalsValueValidator(requiredValue,validationMessage,validationMessageSummary);}/**
|
|
26
|
+
* Validator der prüft ob der Wert ein Datum ist.
|
|
27
|
+
* @param control Control mit IDateTimeControl Interface implementierung
|
|
23
28
|
* @param fieldName Label des Controls
|
|
24
29
|
* @param validationMessage Validierungsmeldung die
|
|
25
30
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
26
|
-
*/static minValue(minvalue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
31
|
+
*/static minValue(minvalue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[3]++;cov_2htktrox8d().s[3]++;return minValueValidator(minvalue,validationMessage,validationMessageSummary);}/**
|
|
27
32
|
* Validierung mit einem RegEx Pattern
|
|
28
33
|
* @param control Control das validiert werden soll.
|
|
29
34
|
* @param pattern RegEx Pattern
|
|
30
35
|
* @param fieldName Label des Controls
|
|
31
36
|
* @param validationMessage Validierungsmeldung die
|
|
32
37
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
33
|
-
*/static pattern(pattern,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
38
|
+
*/static pattern(pattern,validationMessage,validationMessageSummary){cov_2htktrox8d().f[4]++;cov_2htktrox8d().s[4]++;return patternValidator(pattern,validationMessage,validationMessageSummary);}/**
|
|
34
39
|
* Validator für Max Value
|
|
35
40
|
* @param control Control das Validiert werden soll
|
|
36
41
|
* @param maxvalue Max. Wert
|
|
37
42
|
* @param fieldName Label des Controls
|
|
38
43
|
* @param validationMessage Validierungsmeldung die
|
|
39
44
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
40
|
-
*/static maxValue(maxvalue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
45
|
+
*/static maxValue(maxvalue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[5]++;cov_2htktrox8d().s[5]++;return maxValueValidator(maxvalue,validationMessage,validationMessageSummary);}/**
|
|
41
46
|
* Validiert Feld auf E-Mail Adresse
|
|
42
47
|
* @param control Control das Valdiert werden soll
|
|
43
48
|
* @param fieldName Label des Controls
|
|
44
49
|
* @param validationMessage Validierungsmeldung die
|
|
45
50
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
46
|
-
*/static email(validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
51
|
+
*/static email(validationMessage,validationMessageSummary){cov_2htktrox8d().f[6]++;cov_2htktrox8d().s[6]++;return emailValidator(validationMessage,validationMessageSummary);}/**
|
|
47
52
|
* Validiert auf die Länge des Wertes im Control
|
|
48
53
|
* @param control Control das Validiert werden soll
|
|
49
54
|
* @param minlength Min. Länge des Wertes
|
|
50
55
|
* @param fieldName Label des Controls
|
|
51
56
|
* @param validationMessage Validierungsmeldung die
|
|
52
57
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
53
|
-
*/static minLength(minlength,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
58
|
+
*/static minLength(minlength,validationMessage,validationMessageSummary){cov_2htktrox8d().f[7]++;cov_2htktrox8d().s[7]++;return minLengthValidator(minlength,validationMessage,validationMessageSummary);}/**
|
|
54
59
|
* Validiert ob das Datum neuer als minDate ist
|
|
55
60
|
* @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
|
|
56
61
|
* @param minDate Min. Datum
|
|
57
62
|
* @param fieldName Label des Controls
|
|
58
63
|
* @param validationMessage Validierungsmeldung die
|
|
59
64
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
60
|
-
*/static minDate(minDate,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
65
|
+
*/static minDate(minDate,validationMessage,validationMessageSummary){cov_2htktrox8d().f[8]++;cov_2htktrox8d().s[8]++;return minDateValidator(minDate,validationMessage,validationMessageSummary);}/**
|
|
61
66
|
* Validiert ob das Datum älter als maxDate ist
|
|
62
67
|
* @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
|
|
63
68
|
* @param maxDate max. Datum
|
|
64
69
|
* @param fieldName Label des Controls
|
|
65
70
|
* @param validationMessage Validierungsmeldung die
|
|
66
71
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
67
|
-
*/static maxDate(maxDate,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
72
|
+
*/static maxDate(maxDate,validationMessage,validationMessageSummary){cov_2htktrox8d().f[9]++;cov_2htktrox8d().s[9]++;return maxDateValidator(maxDate,validationMessage,validationMessageSummary);}/**
|
|
68
73
|
* Validiert ob die Zeit später als minTime ist.
|
|
69
74
|
* @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
|
|
70
75
|
* @param minTime Min. Zeit
|
|
71
76
|
* @param fieldName Label des Controls
|
|
72
77
|
* @param validationMessage Validierungsmeldung die
|
|
73
78
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
74
|
-
*/static minTime(minTime,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
79
|
+
*/static minTime(minTime,validationMessage,validationMessageSummary){cov_2htktrox8d().f[10]++;cov_2htktrox8d().s[10]++;return minTimeValidator(minTime,validationMessage,validationMessageSummary);}/**
|
|
75
80
|
* Validiert ob die Zeit früher als maxTime ist.
|
|
76
81
|
* @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
|
|
77
82
|
* @param maxTime Min. Zeit
|
|
78
83
|
* @param fieldName Label des Controls
|
|
79
84
|
* @param validationMessage Validierungsmeldung die
|
|
80
85
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
81
|
-
*/static maxTime(maxTime,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
86
|
+
*/static maxTime(maxTime,validationMessage,validationMessageSummary){cov_2htktrox8d().f[11]++;cov_2htktrox8d().s[11]++;return maxTimeValidator(maxTime,validationMessage,validationMessageSummary);}/**
|
|
82
87
|
* Validator der prüft ob der Wert ein Datum ist.
|
|
83
88
|
* @param control Control mit IDateTimeControl Interface implementierung
|
|
84
89
|
* @param fieldName Label des Controls
|
|
85
90
|
* @param validationMessage Validierungsmeldung die beim Control angezeigt wird
|
|
86
91
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
87
|
-
*/static isValidDate(validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
92
|
+
*/static isValidDate(validationMessage,validationMessageSummary){cov_2htktrox8d().f[12]++;cov_2htktrox8d().s[12]++;return isValidDateValidator(validationMessage,validationMessageSummary);}/**
|
|
88
93
|
* Validator für min. Anzahl von Uploads
|
|
89
94
|
* @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben
|
|
90
95
|
* @param minFiles Min. Anzahl Files die hochgeladen werden müssen
|
|
91
96
|
* @param fieldName Label des Controls
|
|
92
97
|
* @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
|
|
93
98
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
94
|
-
*/static minFiles(minFiles,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
95
|
-
* Validator
|
|
96
|
-
* @param
|
|
97
|
-
* @param
|
|
99
|
+
*/static minFiles(minFiles,validationMessage,validationMessageSummary){cov_2htktrox8d().f[13]++;cov_2htktrox8d().s[13]++;return minFilesValidator(minFiles,validationMessage,validationMessageSummary);}/**
|
|
100
|
+
* Validator validate if value is not the invalidValue
|
|
101
|
+
* @param invalidValue Value that control doesn't should have
|
|
102
|
+
* @param control Control to be validate
|
|
103
|
+
* @param fieldName Label of control
|
|
104
|
+
* @param validationMessage validation message near the control
|
|
105
|
+
* @param validationMessageSummary validation inside the validation summary
|
|
106
|
+
*/static notequals(invalidValue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[14]++;cov_2htktrox8d().s[14]++;return notEqualsValueValidator(invalidValue,validationMessage,validationMessageSummary);}/**
|
|
107
|
+
* Validierung mit einem RegEx Pattern
|
|
108
|
+
* @param control Control das validiert werden soll.
|
|
109
|
+
* @param pattern RegEx Pattern
|
|
98
110
|
* @param fieldName Label des Controls
|
|
99
111
|
* @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
|
|
100
112
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
101
|
-
*/static multilanguageRequired(languages,validationMessage,validationMessageSummary){cov_2htktrox8d().f[
|
|
113
|
+
*/static multilanguageRequired(languages,validationMessage,validationMessageSummary){cov_2htktrox8d().f[15]++;cov_2htktrox8d().s[15]++;return multilanguageRequiredValidator(languages,validationMessage,validationMessageSummary);}/**
|
|
102
114
|
* Validator für MultiLanguage Control, welcher überprüft ob min. ein Wert erfasst wurde
|
|
103
115
|
* @param control Control das Validatiert werden soll
|
|
104
116
|
* @param languages Sprachen die im Control erfasst werden können.
|
|
105
117
|
* @param fieldName Label des Controls
|
|
106
118
|
* @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
|
|
107
119
|
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
108
|
-
*/static multilanguageRequiredAny(languages,validationMessage,validationMessageSummary){cov_2htktrox8d().f[14]++;cov_2htktrox8d().s[15]++;return multilanguageRequiredAnyValidator(languages,validationMessage,validationMessageSummary);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUVsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQ7O0dBRUc7QUFDSCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMs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OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FDYixRQUFnQixFQUNoQixpQkFBeUIsRUFDekIsd0JBQXdCO1FBRXhCLE9BQU8saUJBQWlCLENBQ3RCLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDMUIsU0FBMEIsRUFDMUIsaUJBQXlCLEVBQ3pCLHdCQUF3QjtRQUV4QixPQUFPLDhCQUE4QixDQUNuQyxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQTBCLEVBQzFCLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxpQ0FBaUMsQ0FDdEMsU0FBUyxFQUNULGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IExhbmd1YWdlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbGFuZ3VhZ2Vtb2RlbCc7XHJcbmltcG9ydCB7IGlzVmFsaWREYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnZhbGlkZGF0ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtYXhEYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXhkYXRlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1heFRpbWVWYWxpZGF0b3IgfSBmcm9tICcuL21heHRpbWUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWF4VmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL21heHZhbHVlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkRhdGVWYWxpZGF0b3IgfSBmcm9tICcuL21pbmRhdGUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWluRmlsZXNWYWxpZGF0b3IgfSBmcm9tICcuL21pbmZpbGVzLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkxlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4vbWlubGVuZ3RoLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pblRpbWVWYWxpZGF0b3IgfSBmcm9tICcuL21pbnRpbWUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWluVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL21pbnZhbHVlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZXJlcXVpcmVkLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueVZhbGlkYXRvciB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZXJlcXVpcmVkYW55LnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcclxuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XHJcbmltcG9ydCB7IGVtYWlsVmFsaWRhdG9yIH0gZnJvbSAnLi9lbWFpbC52YWxpZGF0b3InO1xyXG4vKipcclxuICogTW9tZW50XHJcbiAqL1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XHJcblxyXG4vKipcclxuICogS2xhc3NlIG1pdCBTdGFuZGFyZCBWYWxpZGF0b3JlblxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb24ge1xyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGlzdCB2b24gamVkZW0gVmFsaWRhdG9yIGF1ZmdlcnVmZW4uIERpZSBzZXR6dCBzb3dvaGwgZGVuIGVycm9yVHlwZSBkZXMgZ2VycMO8ZnRlIEl0ZW0sIGFscyBhdWNoIGRpZSBFcnJvck1lc3NhZ2UgKGdlbcOkc3Mgdm9uIGVycm9yVHlwZSwgRmllbGROYW1lIHVuZCBQYXJhbWV0ZXJzKS5cclxuICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cCBkZW4gRmVobGVyXHJcbiAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxyXG4gICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmw7xyIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgIExhYmVsIG9kZXIgTmFtZSBkZXMgRmVsZGVzXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgUGFyYW1ldGVybiBkaWUgaW4gZGVuIE1lbGR1bmdlbiBhbHMgUGxhdHpoYWx0ZXIgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuXHJcbiAgICovXHJcbiAgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXHJcbiAgICBlcnJvclR5cGU6IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZUtleTogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nID0gbnVsbCxcclxuICAgIHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpXHJcbiAgKTogYW55IHtcclxuICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXHJcbiAgICAgIGVycm9yVHlwZSxcclxuICAgICAgZXJyb3JNZXNzYWdlS2V5LFxyXG4gICAgICBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIFJlcXVpcmVkIFN0YXRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIHJlcXVpcmVkKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiByZXF1aXJlZFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE1pbiBWYWx1ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3aXJkXHJcbiAgICogQHBhcmFtIG1pbnZhbHVlIE1pbi4gVmFsdWVcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblZhbHVlKFxyXG4gICAgbWludmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pbnZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgcGF0dGVybihcclxuICAgIHBhdHRlcm46IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gcGF0dGVyblZhbGlkYXRvcihcclxuICAgICAgcGF0dGVybixcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heFZhbHVlKFxyXG4gICAgbWF4dmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWF4VmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heHZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IEZlbGQgYXVmIEUtTWFpbCBBZHJlc3NlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGVtYWlsKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBhdWYgZGllIEzDpG5nZSBkZXMgV2VydGVzIGltIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbWlubGVuZ3RoIE1pbi4gTMOkbmdlIGRlcyBXZXJ0ZXNcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkxlbmd0aChcclxuICAgIG1pbmxlbmd0aDogbnVtYmVyLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5MZW5ndGhWYWxpZGF0b3IoXHJcbiAgICAgIG1pbmxlbmd0aCxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gbmV1ZXIgYWxzIG1pbkRhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtaW5EYXRlIE1pbi4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkRhdGUoXHJcbiAgICBtaW5EYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5EYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtaW5EYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSDDpGx0ZXIgYWxzIG1heERhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhEYXRlIG1heC4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heERhdGUoXHJcbiAgICBtYXhEYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtYXhEYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IHNww6R0ZXIgYWxzIG1pblRpbWUgaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWluVGltZSBNaW4uIFplaXRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblRpbWUoXHJcbiAgICBtaW5UaW1lOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nXHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pblRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgb2IgZGllIFplaXQgZnLDvGhlciBhbHMgbWF4VGltZSBpc3QuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhUaW1lIE1pbi4gWmVpdFxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbWF4VGltZShcclxuICAgIG1heFRpbWU6IERhdGUsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1heFRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heFRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZGVyIHByw7xmdCBvYiBkZXIgV2VydCBlaW4gRGF0dW0gaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgbWl0IElEYXRlVGltZUNvbnRyb2wgSW50ZXJmYWNlIGltcGxlbWVudGllcnVuZ1xyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGJlaW0gQ29udHJvbCBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVmFsaWREYXRlKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZVZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIG1pbi4gQW56YWhsIHZvbiBVcGxvYWRzXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRhdGllcnQgd2VyZGVuIHNvbGwuIENvbnRyb2wgbXVzcyBJVXBsb2FkQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXHJcbiAgICogQHBhcmFtIG1pbkZpbGVzIE1pbi4gQW56YWhsIEZpbGVzIGRpZSBob2NoZ2VsYWRlbiB3ZXJkZW4gbcO8c3NlblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5GaWxlcyhcclxuICAgIG1pbkZpbGVzOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKFxyXG4gICAgICBtaW5GaWxlcyxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE11bHRpTGFuZ3VhZ2UgQ29udHJvbCwgd2VsY2hlciDDvGJlcnByw7xmdCBvYiBhbGxlIFNwcmFjaGVuIGVyZmFzc3Qgc2luZC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGF0aWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBsYW5ndWFnZXMgU3ByYWNoZW4gZGllIGltIENvbnRyb2wgZXJmYXNzdCB3ZXJkZW4ga8O2bm5lbi5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxyXG4gICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvcihcclxuICAgICAgbGFuZ3VhZ2VzLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXHJcbiAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKFxyXG4gICAgICBsYW5ndWFnZXMsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
109
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMmh0a3Ryb3g4ZCIsImFjdHVhbENvdmVyYWdlIiwibW9tZW50XyIsImlzVmFsaWREYXRlVmFsaWRhdG9yIiwibWF4RGF0ZVZhbGlkYXRvciIsIm1heFRpbWVWYWxpZGF0b3IiLCJtYXhWYWx1ZVZhbGlkYXRvciIsIm1pbkRhdGVWYWxpZGF0b3IiLCJtaW5GaWxlc1ZhbGlkYXRvciIsIm1pbkxlbmd0aFZhbGlkYXRvciIsIm1pblRpbWVWYWxpZGF0b3IiLCJtaW5WYWx1ZVZhbGlkYXRvciIsIm11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvciIsIm11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueVZhbGlkYXRvciIsInBhdHRlcm5WYWxpZGF0b3IiLCJyZXF1aXJlZFZhbGlkYXRvciIsIkNyZWF0ZVZhbGlkYXRpb25FcnJvciIsImVtYWlsVmFsaWRhdG9yIiwibW9tZW50IiwicyIsIlZhbGlkYXRpb24iLCJHZXRWYWxpZGF0aW9uRXJyb3JJdGVtIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlS2V5IiwiZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkiLCJmaWVsZE5hbWUiLCJiIiwicGFyYW1ldGVycyIsIk1hcCIsImYiLCJyZXF1aXJlZCIsInZhbGlkYXRpb25NZXNzYWdlIiwidmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IiwibWluVmFsdWUiLCJtaW52YWx1ZSIsInBhdHRlcm4iLCJtYXhWYWx1ZSIsIm1heHZhbHVlIiwiZW1haWwiLCJtaW5MZW5ndGgiLCJtaW5sZW5ndGgiLCJtaW5EYXRlIiwibWF4RGF0ZSIsIm1pblRpbWUiLCJtYXhUaW1lIiwiaXNWYWxpZERhdGUiLCJtaW5GaWxlcyIsIm11bHRpbGFuZ3VhZ2VSZXF1aXJlZCIsImxhbmd1YWdlcyIsIm11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vaW52YWxpZGRhdGUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtYXhUaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh0aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1heFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh2YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkZpbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5maWxlcy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbmxlbmd0aC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5UaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZGFueS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBwYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSAnLi9wYXR0ZXJuLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBDcmVhdGVWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL3ZhbGlkYXRpb25lcnJvcmNyZWF0b3InO1xyXG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcclxuLyoqXHJcbiAqIE1vbWVudFxyXG4gKi9cclxuY29uc3QgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xyXG5cclxuLyoqXHJcbiAqIEtsYXNzZSBtaXQgU3RhbmRhcmQgVmFsaWRhdG9yZW5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uIHtcclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBpc3Qgdm9uIGplZGVtIFZhbGlkYXRvciBhdWZnZXJ1ZmVuLiBEaWUgc2V0enQgc293b2hsIGRlbiBlcnJvclR5cGUgZGVzIGdlcnDDvGZ0ZSBJdGVtLCBhbHMgYXVjaCBkaWUgRXJyb3JNZXNzYWdlIChnZW3DpHNzIHZvbiBlcnJvclR5cGUsIEZpZWxkTmFtZSB1bmQgUGFyYW1ldGVycykuXHJcbiAgICogQHBhcmFtIGVycm9yVHlwZSBUeXAgZGVuIEZlaGxlclxyXG4gICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VLZXkgRXJyb3IgTWVzc2FnZSBLZXlcclxuICAgKiBAcGFyYW0gZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkgRXJyb3IgTWVzc2FnZSBLZXkgZsO8ciBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKiBAcGFyYW0gZmllbGROYW1lICBMYWJlbCBvZGVyIE5hbWUgZGVzIEZlbGRlc1xyXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIFBhcmFtZXRlcm4gZGllIGluIGRlbiBNZWxkdW5nZW4gYWxzIFBsYXR6aGFsdGVyIHZlcndlbmRldCB3ZXJkZW4ga8O2bm5lblxyXG4gICAqL1xyXG4gIHN0YXRpYyBHZXRWYWxpZGF0aW9uRXJyb3JJdGVtKFxyXG4gICAgZXJyb3JUeXBlOiBzdHJpbmcsXHJcbiAgICBlcnJvck1lc3NhZ2VLZXk6IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5OiBzdHJpbmcsXHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZyA9IG51bGwsXHJcbiAgICBwYXJhbWV0ZXJzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKVxyXG4gICk6IGFueSB7XHJcbiAgICByZXR1cm4gQ3JlYXRlVmFsaWRhdGlvbkVycm9yKFxyXG4gICAgICBlcnJvclR5cGUsXHJcbiAgICAgIGVycm9yTWVzc2FnZUtleSxcclxuICAgICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXksXHJcbiAgICAgIHBhcmFtZXRlcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZsO8ciBSZXF1aXJlZCBTdGF0ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3aXJkXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyByZXF1aXJlZChcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gcmVxdWlyZWRWYWxpZGF0b3IodmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZsO8ciBNaW4gVmFsdWVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2lyZFxyXG4gICAqIEBwYXJhbSBtaW52YWx1ZSBNaW4uIFZhbHVlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5WYWx1ZShcclxuICAgIG1pbnZhbHVlOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pblZhbHVlVmFsaWRhdG9yKFxyXG4gICAgICBtaW52YWx1ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydW5nIG1pdCBlaW5lbSBSZWdFeCBQYXR0ZXJuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgdmFsaWRpZXJ0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBwYXR0ZXJuIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIHBhdHRlcm4oXHJcbiAgICBwYXR0ZXJuOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIHBhdHRlcm5WYWxpZGF0b3IoXHJcbiAgICAgIHBhdHRlcm4sXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZsO8ciBNYXggVmFsdWVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbWF4dmFsdWUgTWF4LiBXZXJ0XHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtYXhWYWx1ZShcclxuICAgIG1heHZhbHVlOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1heFZhbHVlVmFsaWRhdG9yKFxyXG4gICAgICBtYXh2YWx1ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBGZWxkIGF1ZiBFLU1haWwgQWRyZXNzZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBlbWFpbChcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gZW1haWxWYWxpZGF0b3IodmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgYXVmIGRpZSBMw6RuZ2UgZGVzIFdlcnRlcyBpbSBDb250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIG1pbmxlbmd0aCBNaW4uIEzDpG5nZSBkZXMgV2VydGVzXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5MZW5ndGgoXHJcbiAgICBtaW5sZW5ndGg6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluTGVuZ3RoVmFsaWRhdG9yKFxyXG4gICAgICBtaW5sZW5ndGgsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgb2IgZGFzIERhdHVtIG5ldWVyIGFscyBtaW5EYXRlIGlzdFxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWluRGF0ZSBNaW4uIERhdHVtXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5EYXRlKFxyXG4gICAgbWluRGF0ZTogRGF0ZSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluRGF0ZVZhbGlkYXRvcihcclxuICAgICAgbWluRGF0ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gw6RsdGVyIGFscyBtYXhEYXRlIGlzdFxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWF4RGF0ZSBtYXguIERhdHVtXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtYXhEYXRlKFxyXG4gICAgbWF4RGF0ZTogRGF0ZSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWF4RGF0ZVZhbGlkYXRvcihcclxuICAgICAgbWF4RGF0ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkaWUgWmVpdCBzcMOkdGVyIGFscyBtaW5UaW1lIGlzdC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXHJcbiAgICogQHBhcmFtIG1pblRpbWUgTWluLiBaZWl0XHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5UaW1lKFxyXG4gICAgbWluVGltZTogRGF0ZSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnk6IHN0cmluZ1xyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5UaW1lVmFsaWRhdG9yKFxyXG4gICAgICBtaW5UaW1lLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IGZyw7xoZXIgYWxzIG1heFRpbWUgaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWF4VGltZSBNaW4uIFplaXRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heFRpbWUoXHJcbiAgICBtYXhUaW1lOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtYXhUaW1lVmFsaWRhdG9yKFxyXG4gICAgICBtYXhUaW1lLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBiZWltIENvbnRyb2wgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBpc1ZhbGlkRGF0ZShcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGVWYWxpZGF0b3IodmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZsO8ciBtaW4uIEFuemFobCB2b24gVXBsb2Fkc1xyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsLiBDb250cm9sIG11c3MgSVVwbG9hZENvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtaW5GaWxlcyBNaW4uIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIG3DvHNzZW5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbWluRmlsZXMoXHJcbiAgICBtaW5GaWxlczogbnVtYmVyLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5GaWxlc1ZhbGlkYXRvcihcclxuICAgICAgbWluRmlsZXMsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZsO8ciBNdWx0aUxhbmd1YWdlIENvbnRyb2wsIHdlbGNoZXIgw7xiZXJwcsO8ZnQgb2IgYWxsZSBTcHJhY2hlbiBlcmZhc3N0IHNpbmQuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRhdGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbGFuZ3VhZ2VzIFNwcmFjaGVuIGRpZSBpbSBDb250cm9sIGVyZmFzc3Qgd2VyZGVuIGvDtm5uZW4uXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgdW50ZXJoYWxiIGRlcyBDb250cm9scyBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcclxuICAgIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IoXHJcbiAgICAgIGxhbmd1YWdlcyxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE11bHRpTGFuZ3VhZ2UgQ29udHJvbCwgd2VsY2hlciDDvGJlcnByw7xmdCBvYiBtaW4uIGVpbiBXZXJ0IGVyZmFzc3Qgd3VyZGVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGF0aWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBsYW5ndWFnZXMgU3ByYWNoZW4gZGllIGltIENvbnRyb2wgZXJmYXNzdCB3ZXJkZW4ga8O2bm5lbi5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxyXG4gICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueVZhbGlkYXRvcihcclxuICAgICAgbGFuZ3VhZ2VzLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiJzamxCQWlCUztBQUFBQSxjQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGNBQUEsR0FoQlQsTUFBTyxHQUFLLENBQUFFLE9BQU8sS0FBTSxRQUFRLENBRWpDLE9BQVNDLG9CQUFvQixLQUFRLHlCQUF5QixDQUM5RCxPQUFTQyxnQkFBZ0IsS0FBUSxxQkFBcUIsQ0FDdEQsT0FBU0MsZ0JBQWdCLEtBQVEscUJBQXFCLENBQ3RELE9BQVNDLGlCQUFpQixLQUFRLHNCQUFzQixDQUN4RCxPQUFTQyxnQkFBZ0IsS0FBUSxxQkFBcUIsQ0FDdEQsT0FBU0MsaUJBQWlCLEtB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
|
|
120
|
+
*/static multilanguageRequiredAny(languages,validationMessage,validationMessageSummary){cov_2htktrox8d().f[16]++;cov_2htktrox8d().s[16]++;return multilanguageRequiredAnyValidator(languages,validationMessage,validationMessageSummary);}}/**
|
|
121
|
+
* Moment
|
|
122
|
+
*/const moment=(cov_2htktrox8d().s[17]++,moment_['default']);//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUlsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUMzQixTQUFpQixFQUNqQixlQUF1QixFQUN2QixnQ0FBd0MsRUFDeEMsWUFBb0IsSUFBSSxFQUN4QixhQUErQixJQUFJLEdBQUcsRUFBZTtRQUVyRCxPQUFPLHFCQUFxQixDQUMxQixTQUFTLEVBQ1QsZUFBZSxFQUNmLGdDQUFnQyxFQUNoQyxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUNiLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLGFBQWtCLEVBQ2xCLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxvQkFBb0IsQ0FDekIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUNiLFFBQWdCLEVBQ2hCLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxpQkFBaUIsQ0FDdEIsUUFBUSxFQUNSLGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FDWixPQUFlLEVBQ2YsaUJBQXlCLEVBQ3pCLHdCQUF3QjtRQUV4QixPQUFPLGdCQUFnQixDQUNyQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUNiLFFBQWdCLEVBQ2hCLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxpQkFBaUIsQ0FDdEIsUUFBUSxFQUNSLGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUNWLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQ2QsU0FBaUIsRUFDakIsaUJBQXlCLEVBQ3pCLHdCQUF3QjtRQUV4QixPQUFPLGtCQUFrQixDQUN2QixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUNaLE9BQWEsRUFDYixpQkFBeUIsRUFDekIsd0JBQXdCO1FBRXhCLE9BQU8sZ0JBQWdCLENBQ3JCLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQ1osT0FBYSxFQUNiLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxnQkFBZ0IsQ0FDckIsT0FBTyxFQUNQLGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FDWixPQUFhLEVBQ2IsaUJBQXlCLEVBQ3pCLHdCQUFnQztRQUVoQyxPQUFPLGdCQUFnQixDQUNyQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUNaLE9BQWEsRUFDYixpQkFBeUIsRUFDekIsd0JBQXdCO1FBRXhCLE9BQU8sZ0JBQWdCLENBQ3JCLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsaUJBQXlCLEVBQ3pCLHdCQUF3QjtRQUV4QixPQUFPLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUNiLFFBQWdCLEVBQ2hCLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyxpQkFBaUIsQ0FDdEIsUUFBUSxFQUNSLGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FDckIsWUFBaUIsRUFDakIsaUJBQXlCLEVBQ3pCLHdCQUF3QjtRQUV4QixPQUFPLHVCQUF1QixDQUM1QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQzFCLFNBQTBCLEVBQzFCLGlCQUF5QixFQUN6Qix3QkFBd0I7UUFFeEIsT0FBTyw4QkFBOEIsQ0FDbkMsU0FBUyxFQUNULGlCQUFpQixFQUNqQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUM3QixTQUEwQixFQUMxQixpQkFBeUIsRUFDekIsd0JBQXdCO1FBRXhCLE9BQU8saUNBQWlDLENBQ3RDLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcclxuXHJcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgZXF1YWxzVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL2VxdWFscy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vaW52YWxpZGRhdGUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtYXhUaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh0aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1heFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh2YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkZpbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5maWxlcy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbmxlbmd0aC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5UaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZGFueS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbm90ZXF1YWxzLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcclxuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XHJcblxyXG4vKipcclxuICogS2xhc3NlIG1pdCBTdGFuZGFyZCBWYWxpZGF0b3JlblxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb24ge1xyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGlzdCB2b24gamVkZW0gVmFsaWRhdG9yIGF1ZmdlcnVmZW4uIERpZSBzZXR6dCBzb3dvaGwgZGVuIGVycm9yVHlwZSBkZXMgZ2VycMO8ZnRlIEl0ZW0sIGFscyBhdWNoIGRpZSBFcnJvck1lc3NhZ2UgKGdlbcOkc3Mgdm9uIGVycm9yVHlwZSwgRmllbGROYW1lIHVuZCBQYXJhbWV0ZXJzKS5cclxuICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cCBkZW4gRmVobGVyXHJcbiAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxyXG4gICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmw7xyIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgIExhYmVsIG9kZXIgTmFtZSBkZXMgRmVsZGVzXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgUGFyYW1ldGVybiBkaWUgaW4gZGVuIE1lbGR1bmdlbiBhbHMgUGxhdHpoYWx0ZXIgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuXHJcbiAgICovXHJcbiAgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXHJcbiAgICBlcnJvclR5cGU6IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZUtleTogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nID0gbnVsbCxcclxuICAgIHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpXHJcbiAgKTogYW55IHtcclxuICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXHJcbiAgICAgIGVycm9yVHlwZSxcclxuICAgICAgZXJyb3JNZXNzYWdlS2V5LFxyXG4gICAgICBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIFJlcXVpcmVkIFN0YXRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIHJlcXVpcmVkKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiByZXF1aXJlZFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyB0aGUgcmVxdWlyZWRWYWx1ZVxyXG4gICAqIEBwYXJhbSByZXF1aXJlZFZhbHVlIFZhbHVlIHRoYXQgY29udHJvbCBzaG91bGQgaGF2ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcclxuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBlcXVhbHMoXHJcbiAgICByZXF1aXJlZFZhbHVlOiBhbnksXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIGVxdWFsc1ZhbHVlVmFsaWRhdG9yKFxyXG4gICAgICByZXF1aXJlZFZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblZhbHVlKFxyXG4gICAgbWludmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pbnZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgcGF0dGVybihcclxuICAgIHBhdHRlcm46IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gcGF0dGVyblZhbGlkYXRvcihcclxuICAgICAgcGF0dGVybixcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heFZhbHVlKFxyXG4gICAgbWF4dmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWF4VmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heHZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IEZlbGQgYXVmIEUtTWFpbCBBZHJlc3NlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGVtYWlsKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBhdWYgZGllIEzDpG5nZSBkZXMgV2VydGVzIGltIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbWlubGVuZ3RoIE1pbi4gTMOkbmdlIGRlcyBXZXJ0ZXNcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkxlbmd0aChcclxuICAgIG1pbmxlbmd0aDogbnVtYmVyLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5MZW5ndGhWYWxpZGF0b3IoXHJcbiAgICAgIG1pbmxlbmd0aCxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gbmV1ZXIgYWxzIG1pbkRhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtaW5EYXRlIE1pbi4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkRhdGUoXHJcbiAgICBtaW5EYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5EYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtaW5EYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSDDpGx0ZXIgYWxzIG1heERhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhEYXRlIG1heC4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heERhdGUoXHJcbiAgICBtYXhEYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtYXhEYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IHNww6R0ZXIgYWxzIG1pblRpbWUgaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWluVGltZSBNaW4uIFplaXRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblRpbWUoXHJcbiAgICBtaW5UaW1lOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nXHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pblRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgb2IgZGllIFplaXQgZnLDvGhlciBhbHMgbWF4VGltZSBpc3QuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhUaW1lIE1pbi4gWmVpdFxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbWF4VGltZShcclxuICAgIG1heFRpbWU6IERhdGUsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1heFRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heFRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZGVyIHByw7xmdCBvYiBkZXIgV2VydCBlaW4gRGF0dW0gaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgbWl0IElEYXRlVGltZUNvbnRyb2wgSW50ZXJmYWNlIGltcGxlbWVudGllcnVuZ1xyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGJlaW0gQ29udHJvbCBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVmFsaWREYXRlKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZVZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIG1pbi4gQW56YWhsIHZvbiBVcGxvYWRzXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRhdGllcnQgd2VyZGVuIHNvbGwuIENvbnRyb2wgbXVzcyBJVXBsb2FkQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXHJcbiAgICogQHBhcmFtIG1pbkZpbGVzIE1pbi4gQW56YWhsIEZpbGVzIGRpZSBob2NoZ2VsYWRlbiB3ZXJkZW4gbcO8c3NlblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5GaWxlcyhcclxuICAgIG1pbkZpbGVzOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKFxyXG4gICAgICBtaW5GaWxlcyxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyBub3QgdGhlIGludmFsaWRWYWx1ZVxyXG4gICAqIEBwYXJhbSBpbnZhbGlkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIGRvZXNuJ3Qgc2hvdWxkIGhhdmVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRvIGJlIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIHZhbGlkYXRpb24gbWVzc2FnZSBuZWFyIHRoZSBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSB2YWxpZGF0aW9uIGluc2lkZSB0aGUgdmFsaWRhdGlvbiBzdW1tYXJ5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBub3RlcXVhbHMoXHJcbiAgICBpbnZhbGlkVmFsdWU6IGFueSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIGludmFsaWRWYWx1ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydW5nIG1pdCBlaW5lbSBSZWdFeCBQYXR0ZXJuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgdmFsaWRpZXJ0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBwYXR0ZXJuIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxyXG4gICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvcihcclxuICAgICAgbGFuZ3VhZ2VzLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXHJcbiAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKFxyXG4gICAgICBsYW5ndWFnZXMsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTW9tZW50XHJcbiAqL1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XHJcbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMmh0a3Ryb3g4ZCIsImFjdHVhbENvdmVyYWdlIiwibW9tZW50XyIsImVtYWlsVmFsaWRhdG9yIiwiZXF1YWxzVmFsdWVWYWxpZGF0b3IiLCJpc1ZhbGlkRGF0ZVZhbGlkYXRvciIsIm1heERhdGVWYWxpZGF0b3IiLCJtYXhUaW1lVmFsaWRhdG9yIiwibWF4VmFsdWVWYWxpZGF0b3IiLCJtaW5EYXRlVmFsaWRhdG9yIiwibWluRmlsZXNWYWxpZGF0b3IiLCJtaW5MZW5ndGhWYWxpZGF0b3IiLCJtaW5UaW1lVmFsaWRhdG9yIiwibWluVmFsdWVWYWxpZGF0b3IiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IiLCJub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciIsInBhdHRlcm5WYWxpZGF0b3IiLCJyZXF1aXJlZFZhbGlkYXRvciIsIkNyZWF0ZVZhbGlkYXRpb25FcnJvciIsIlZhbGlkYXRpb24iLCJHZXRWYWxpZGF0aW9uRXJyb3JJdGVtIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlS2V5IiwiZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkiLCJmaWVsZE5hbWUiLCJiIiwicGFyYW1ldGVycyIsIk1hcCIsImYiLCJzIiwicmVxdWlyZWQiLCJ2YWxpZGF0aW9uTWVzc2FnZSIsInZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSIsImVxdWFscyIsInJlcXVpcmVkVmFsdWUiLCJtaW5WYWx1ZSIsIm1pbnZhbHVlIiwicGF0dGVybiIsIm1heFZhbHVlIiwibWF4dmFsdWUiLCJlbWFpbCIsIm1pbkxlbmd0aCIsIm1pbmxlbmd0aCIsIm1pbkRhdGUiLCJtYXhEYXRlIiwibWluVGltZSIsIm1heFRpbWUiLCJpc1ZhbGlkRGF0ZSIsIm1pbkZpbGVzIiwibm90ZXF1YWxzIiwiaW52YWxpZFZhbHVlIiwibXVsdGlsYW5ndWFnZVJlcXVpcmVkIiwibGFuZ3VhZ2VzIiwibXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55IiwibW9tZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvdmFsaWRhdGlvbi92YWxpZGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcclxuXHJcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgZXF1YWxzVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL2VxdWFscy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vaW52YWxpZGRhdGUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtYXhUaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh0aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1heFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh2YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkZpbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5maWxlcy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbmxlbmd0aC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5UaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZGFueS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbm90ZXF1YWxzLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcclxuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XHJcblxyXG4vKipcclxuICogS2xhc3NlIG1pdCBTdGFuZGFyZCBWYWxpZGF0b3JlblxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb24ge1xyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGlzdCB2b24gamVkZW0gVmFsaWRhdG9yIGF1ZmdlcnVmZW4uIERpZSBzZXR6dCBzb3dvaGwgZGVuIGVycm9yVHlwZSBkZXMgZ2VycMO8ZnRlIEl0ZW0sIGFscyBhdWNoIGRpZSBFcnJvck1lc3NhZ2UgKGdlbcOkc3Mgdm9uIGVycm9yVHlwZSwgRmllbGROYW1lIHVuZCBQYXJhbWV0ZXJzKS5cclxuICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cCBkZW4gRmVobGVyXHJcbiAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxyXG4gICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmw7xyIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgIExhYmVsIG9kZXIgTmFtZSBkZXMgRmVsZGVzXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgUGFyYW1ldGVybiBkaWUgaW4gZGVuIE1lbGR1bmdlbiBhbHMgUGxhdHpoYWx0ZXIgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuXHJcbiAgICovXHJcbiAgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXHJcbiAgICBlcnJvclR5cGU6IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZUtleTogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nID0gbnVsbCxcclxuICAgIHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpXHJcbiAgKTogYW55IHtcclxuICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXHJcbiAgICAgIGVycm9yVHlwZSxcclxuICAgICAgZXJyb3JNZXNzYWdlS2V5LFxyXG4gICAgICBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIFJlcXVpcmVkIFN0YXRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIHJlcXVpcmVkKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiByZXF1aXJlZFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyB0aGUgcmVxdWlyZWRWYWx1ZVxyXG4gICAqIEBwYXJhbSByZXF1aXJlZFZhbHVlIFZhbHVlIHRoYXQgY29udHJvbCBzaG91bGQgaGF2ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcclxuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBlcXVhbHMoXHJcbiAgICByZXF1aXJlZFZhbHVlOiBhbnksXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIGVxdWFsc1ZhbHVlVmFsaWRhdG9yKFxyXG4gICAgICByZXF1aXJlZFZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblZhbHVlKFxyXG4gICAgbWludmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pbnZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgcGF0dGVybihcclxuICAgIHBhdHRlcm46IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gcGF0dGVyblZhbGlkYXRvcihcclxuICAgICAgcGF0dGVybixcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heFZhbHVlKFxyXG4gICAgbWF4dmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWF4VmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heHZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IEZlbGQgYXVmIEUtTWFpbCBBZHJlc3NlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGVtYWlsKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBhdWYgZGllIEzDpG5nZSBkZXMgV2VydGVzIGltIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbWlubGVuZ3RoIE1pbi4gTMOkbmdlIGRlcyBXZXJ0ZXNcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkxlbmd0aChcclxuICAgIG1pbmxlbmd0aDogbnVtYmVyLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5MZW5ndGhWYWxpZGF0b3IoXHJcbiAgICAgIG1pbmxlbmd0aCxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gbmV1ZXIgYWxzIG1pbkRhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtaW5EYXRlIE1pbi4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkRhdGUoXHJcbiAgICBtaW5EYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5EYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtaW5EYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSDDpGx0ZXIgYWxzIG1heERhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhEYXRlIG1heC4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heERhdGUoXHJcbiAgICBtYXhEYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtYXhEYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IHNww6R0ZXIgYWxzIG1pblRpbWUgaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWluVGltZSBNaW4uIFplaXRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblRpbWUoXHJcbiAgICBtaW5UaW1lOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nXHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pblRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgb2IgZGllIFplaXQgZnLDvGhlciBhbHMgbWF4VGltZSBpc3QuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhUaW1lIE1pbi4gWmVpdFxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbWF4VGltZShcclxuICAgIG1heFRpbWU6IERhdGUsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1heFRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heFRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZGVyIHByw7xmdCBvYiBkZXIgV2VydCBlaW4gRGF0dW0gaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgbWl0IElEYXRlVGltZUNvbnRyb2wgSW50ZXJmYWNlIGltcGxlbWVudGllcnVuZ1xyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGJlaW0gQ29udHJvbCBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVmFsaWREYXRlKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZVZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIG1pbi4gQW56YWhsIHZvbiBVcGxvYWRzXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRhdGllcnQgd2VyZGVuIHNvbGwuIENvbnRyb2wgbXVzcyBJVXBsb2FkQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXHJcbiAgICogQHBhcmFtIG1pbkZpbGVzIE1pbi4gQW56YWhsIEZpbGVzIGRpZSBob2NoZ2VsYWRlbiB3ZXJkZW4gbcO8c3NlblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5GaWxlcyhcclxuICAgIG1pbkZpbGVzOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKFxyXG4gICAgICBtaW5GaWxlcyxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyBub3QgdGhlIGludmFsaWRWYWx1ZVxyXG4gICAqIEBwYXJhbSBpbnZhbGlkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIGRvZXNuJ3Qgc2hvdWxkIGhhdmVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRvIGJlIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIHZhbGlkYXRpb24gbWVzc2FnZSBuZWFyIHRoZSBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSB2YWxpZGF0aW9uIGluc2lkZSB0aGUgdmFsaWRhdGlvbiBzdW1tYXJ5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBub3RlcXVhbHMoXHJcbiAgICBpbnZhbGlkVmFsdWU6IGFueSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIGludmFsaWRWYWx1ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydW5nIG1pdCBlaW5lbSBSZWdFeCBQYXR0ZXJuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgdmFsaWRpZXJ0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBwYXR0ZXJuIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxyXG4gICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvcihcclxuICAgICAgbGFuZ3VhZ2VzLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXHJcbiAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKFxyXG4gICAgICBsYW5ndWFnZXMsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTW9tZW50XHJcbiAqL1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XHJcbiJdLCJtYXBwaW5ncyI6InV0cEJBa0JTO0FBQUFBLGNBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsY0FBQSxHQWxCVCxNQUFPLEdBQUssQ0FBQUUsT0FBTyxLQUFNLFFBQVEsQ0FJakMsT0FBU0MsY0FBYyxLQUFRLG1CQUFtQixDQUNsRCxPQUFTQyxvQkFBb0IsS0FBUSxvQkFBb0IsQ0FDekQsT0FBU0Msb0JBQW9CLEtBQVEseUJBQXlCLENBQzlELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxnQkFBZ0IsS0FBUSxxQkFBcUIsQ0FDdEQsT0FBU0MsaUJBQWlCLEtBQVEsc0JBQXNCLENBQ3hELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxpQkFBaUIsS0FBUSxzQkFBc0IsQ0FDeEQsT0FBU0Msa0JBQWtCLEtBQVEsdUJBQXVCLENBQzFELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxpQkFBaUIsS0FBUSxzQkFBc0IsQ0FDeEQsT0FBU0MsOEJBQThCLEtBQVEsbUNBQW1DLENBQ2xGLE9BQVNDLGlDQUFpQyxLQUFRLHNDQUFzQyxDQUN4RixPQUFTQyx1QkFBdUIsS0FBUSx1QkFBdUIsQ0FDL0QsT0FBU0MsZ0JBQWdCLEtBQVEscUJBQXFCLENBQ3RELE9BQVNDLGlCQUFpQixLQUFRLHNCQUFzQixD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
|