@simpleangularcontrols/sac-common 13.0.0-rc.20 → 13.0.0-rc.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/controls/grid/gridcolumnbase.d.ts +5 -1
  2. package/controls/grid/gridcolumnbase.d.ts.map +1 -1
  3. package/controls/treeview/treeview.d.ts +2 -2
  4. package/controls/treeview/treeview.d.ts.map +1 -1
  5. package/esm2020/common/basedatetimecontrol.mjs +1 -1
  6. package/esm2020/common/baseinputcontrol.mjs +1 -1
  7. package/esm2020/common/baselistcontrol.mjs +1 -1
  8. package/esm2020/common/basemodelcontrol.mjs +1 -1
  9. package/esm2020/common/baseselectcontrol.mjs +1 -1
  10. package/esm2020/common/baseuploadcontrol.mjs +1 -1
  11. package/esm2020/components/browser/browser.mjs +1 -1
  12. package/esm2020/components/browser/models/browserfiledeleterequest.mjs +1 -1
  13. package/esm2020/components/browser/models/browserfilerenamerequest.mjs +1 -1
  14. package/esm2020/components/browser/models/browserfilesaverequest.mjs +1 -1
  15. package/esm2020/components/browser/models/browsernodedeleterequest.mjs +1 -1
  16. package/esm2020/components/browser/models/browsernodenewrequest.mjs +1 -1
  17. package/esm2020/components/browser/models/browsernoderenamerequest.mjs +1 -1
  18. package/esm2020/components/browser/models/browsernoderequest.mjs +1 -1
  19. package/esm2020/controls/buttons/button.mjs +1 -1
  20. package/esm2020/controls/checkbox/checkbox.mjs +1 -1
  21. package/esm2020/controls/checkbox/radiobutton.mjs +1 -1
  22. package/esm2020/controls/checkbox/radiobuttons.mjs +1 -1
  23. package/esm2020/controls/confirm/confirm.button.mjs +1 -1
  24. package/esm2020/controls/confirm/confirm.mjs +1 -1
  25. package/esm2020/controls/confirm/confirm.service.mjs +1 -1
  26. package/esm2020/controls/contextmenu/contextmenu.mjs +1 -1
  27. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +1 -1
  28. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +1 -1
  29. package/esm2020/controls/contextmenu/contextmenuitem.mjs +1 -1
  30. package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +1 -1
  31. package/esm2020/controls/datetime/date.mjs +1 -1
  32. package/esm2020/controls/datetime/dateselector.mjs +1 -1
  33. package/esm2020/controls/datetime/datetime.mjs +1 -1
  34. package/esm2020/controls/datetime/time.mjs +1 -1
  35. package/esm2020/controls/dialog/dialog.mjs +1 -1
  36. package/esm2020/controls/form/form.mjs +1 -1
  37. package/esm2020/controls/grid/grid.mjs +1 -1
  38. package/esm2020/controls/grid/gridbutton.mjs +1 -1
  39. package/esm2020/controls/grid/gridcolumn.mjs +1 -1
  40. package/esm2020/controls/grid/gridcolumnaction.mjs +1 -1
  41. package/esm2020/controls/grid/gridcolumnbase.mjs +16 -14
  42. package/esm2020/controls/grid/model.mjs +1 -1
  43. package/esm2020/controls/grid/paging.mjs +1 -1
  44. package/esm2020/controls/input/input.mjs +1 -1
  45. package/esm2020/controls/input/inputarea.mjs +1 -1
  46. package/esm2020/controls/input/inputcurrency.mjs +1 -1
  47. package/esm2020/controls/input/inputdecimal.mjs +1 -1
  48. package/esm2020/controls/input/inputemail.mjs +1 -1
  49. package/esm2020/controls/input/inputinteger.mjs +1 -1
  50. package/esm2020/controls/input/inputpassword.mjs +1 -1
  51. package/esm2020/controls/input/inputsearch.mjs +1 -1
  52. package/esm2020/controls/layout/formlayout.mjs +1 -1
  53. package/esm2020/controls/list/buildvaluestring.mjs +1 -1
  54. package/esm2020/controls/list/dropdown.mjs +1 -1
  55. package/esm2020/controls/list/dropdownoptions.mjs +1 -1
  56. package/esm2020/controls/list/list.module.ngfactory.mjs +1 -1
  57. package/esm2020/controls/list/listbox.mjs +1 -1
  58. package/esm2020/controls/multilanguage/multilanguageinput.mjs +1 -1
  59. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +1 -1
  60. package/esm2020/controls/static/formcontainer.mjs +1 -1
  61. package/esm2020/controls/static/staticlabel.mjs +1 -1
  62. package/esm2020/controls/tabs/tab.mjs +1 -1
  63. package/esm2020/controls/tabs/tabitem.mjs +1 -1
  64. package/esm2020/controls/tinymce/tinymce.mjs +1 -1
  65. package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +1 -1
  66. package/esm2020/controls/tooltip/tooltip.mjs +1 -1
  67. package/esm2020/controls/treeview/treeview.mjs +6 -6
  68. package/esm2020/controls/upload/dropzonemultiple.mjs +1 -1
  69. package/esm2020/controls/upload/dropzonesingle.mjs +1 -1
  70. package/esm2020/controls/upload/uploadmultiple.mjs +1 -1
  71. package/esm2020/controls/upload/uploadsingle.mjs +1 -1
  72. package/esm2020/controls/validation/validationsummary.mjs +1 -1
  73. package/esm2020/controls/wizard/wizard.mjs +1 -1
  74. package/esm2020/controls/wizard/wizarditem.mjs +1 -1
  75. package/esm2020/enums/ControlHeight.mjs +1 -1
  76. package/esm2020/enums/IconType.mjs +1 -1
  77. package/esm2020/models/languagemodel.mjs +1 -1
  78. package/esm2020/services/sac-configuration.service.mjs +1 -1
  79. package/esm2020/services/sac-filebrowser.service.mjs +1 -1
  80. package/esm2020/services/sac-icon.service.mjs +1 -1
  81. package/esm2020/services/sac-language.service.mjs +1 -1
  82. package/esm2020/services/sac-localisation.service.mjs +1 -1
  83. package/esm2020/services/sac-validationkey.service.mjs +1 -1
  84. package/esm2020/utilities/convertion.mjs +1 -1
  85. package/esm2020/utilities/datatypes.mjs +1 -1
  86. package/esm2020/utilities/enums.mjs +1 -1
  87. package/esm2020/utilities/guid.mjs +1 -1
  88. package/esm2020/utilities/interpolation.mjs +1 -1
  89. package/esm2020/utilities/popuphelper.mjs +1 -1
  90. package/esm2020/utilities/positioning.mjs +1 -1
  91. package/esm2020/utilities/testingattribute.pipe.mjs +1 -1
  92. package/esm2020/utilities/utilities.module.ngfactory.mjs +1 -1
  93. package/esm2020/validation/email.validator.mjs +1 -1
  94. package/esm2020/validation/equals.validator.mjs +1 -1
  95. package/esm2020/validation/invaliddate.validator.mjs +1 -1
  96. package/esm2020/validation/isDateValid.mjs +1 -1
  97. package/esm2020/validation/maxdate.validator.mjs +1 -1
  98. package/esm2020/validation/maxtime.validator.mjs +1 -1
  99. package/esm2020/validation/maxvalue.validator.mjs +1 -1
  100. package/esm2020/validation/mindate.validator.mjs +1 -1
  101. package/esm2020/validation/minfiles.validator.mjs +1 -1
  102. package/esm2020/validation/mintextlength.validator.mjs +1 -1
  103. package/esm2020/validation/mintime.validator.mjs +1 -1
  104. package/esm2020/validation/minvalue.validator.mjs +1 -1
  105. package/esm2020/validation/multilanguagerequired.validator.mjs +1 -1
  106. package/esm2020/validation/multilanguagerequiredany.validator.mjs +1 -1
  107. package/esm2020/validation/notequals.validator.mjs +1 -1
  108. package/esm2020/validation/pattern.validator.mjs +1 -1
  109. package/esm2020/validation/required.validator.mjs +1 -1
  110. package/esm2020/validation/validation.mjs +1 -1
  111. package/esm2020/validation/validationerrorcreator.mjs +1 -1
  112. package/esm2020/validation/validationerroritem.mjs +1 -1
  113. package/fesm2015/simpleangularcontrols-sac-common.mjs +670 -668
  114. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
  115. package/fesm2020/simpleangularcontrols-sac-common.mjs +670 -668
  116. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
  117. package/package.json +1 -1
  118. package/simpleangularcontrols-sac-common-13.0.0-rc.21.tgz +0 -0
  119. package/simpleangularcontrols-sac-common-13.0.0-rc.20.tgz +0 -0
@@ -143,4 +143,4 @@ node.IsExpanded=true;cov_cn5idsn3f().s[148]++;for(const item of node.ChildNodes)
143
143
  */resetNodeEditMode(node){cov_cn5idsn3f().f[48]++;cov_cn5idsn3f().s[153]++;if(node===null){cov_cn5idsn3f().b[40][0]++;cov_cn5idsn3f().s[154]++;this.resetNodeEditMode(this.rootNode);}else{cov_cn5idsn3f().b[40][1]++;cov_cn5idsn3f().s[155]++;node.IsEditMode=false;cov_cn5idsn3f().s[156]++;if(node.ChildNodes){cov_cn5idsn3f().b[41][0]++;cov_cn5idsn3f().s[157]++;node.ChildNodes.forEach(itm=>{cov_cn5idsn3f().f[49]++;cov_cn5idsn3f().s[158]++;return this.resetNodeEditMode(itm);});}else{cov_cn5idsn3f().b[41][1]++;}}}/**
144
144
  * Setzt den Pfad in allen Nodes
145
145
  */setPathToAllNodes(){cov_cn5idsn3f().f[50]++;cov_cn5idsn3f().s[159]++;this.rootNode.ChildNodes.forEach(itm=>{cov_cn5idsn3f().f[51]++;cov_cn5idsn3f().s[160]++;this.fillPath(itm,'');});}}cov_cn5idsn3f().s[161]++;SacFileBrowserCommon.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacFileBrowserCommon,deps:[{token:i1.HttpClient},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});cov_cn5idsn3f().s[162]++;SacFileBrowserCommon.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacFileBrowserCommon,inputs:{allowedtypes:"allowedtypes",allowfiledelete:"allowfiledelete",allowfilerename:"allowfilerename",allowfileupload:"allowfileupload",allowfoldercreate:"allowfoldercreate",allowfolderdelete:"allowfolderdelete",allowfolderrename:"allowfolderrename",apiurl:"apiurl",selectedfile:"selectedfile"},outputs:{file:"file"},host:{listeners:{"document:click":"exitEditMode($event.target)"}},ngImport:i0});cov_cn5idsn3f().s[163]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacFileBrowserCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_cn5idsn3f().f[52]++;cov_cn5idsn3f().s[164]++;return[{type:i1.HttpClient},{type:i0.Injector}];},propDecorators:{allowedtypes:[{type:Input}],allowfiledelete:[{type:Input}],allowfilerename:[{type:Input}],allowfileupload:[{type:Input}],allowfoldercreate:[{type:Input}],allowfolderdelete:[{type:Input}],allowfolderrename:[{type:Input}],apiurl:[{type:Input}],file:[{type:Output}],selectedfile:[{type:Input}],exitEditMode:[{type:HostListener,args:['document:click',['$event.target']]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbXBvbmVudHMvYnJvd3Nlci9icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFFWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsOEJBQThCLEdBQy9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qiw0QkFBNEIsR0FDN0IsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBTXhGOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQkFBb0I7SUFvR3hDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQVksVUFBc0IsRUFBRSxRQUFrQjtRQWxHdEQ7O1dBRUc7UUFDSyxtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFFN0M7OztXQUdHO1FBRUksaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDakM7O1dBRUc7UUFFSSxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUN2Qzs7V0FFRztRQUVJLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ3ZDOztXQUVHO1FBRUksb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDdkM7O1dBRUc7UUFFSSxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDekM7O1dBRUc7UUFFSSxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDekM7O1dBRUc7UUFFSSxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFNekM7O1dBRUc7UUFFSSxTQUFJLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFN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QUcsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBMXFCbUIsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEekMsU0FBUzt3SEFzQkQsWUFBWTtzQkFEbEIsS0FBSztnQkFNQyxlQUFlO3NCQURyQixLQUFLO2dCQU1DLGVBQWU7c0JBRHJCLEtBQUs7Z0JBTUMsZUFBZTtzQkFEckIsS0FBSztnQkFNQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBTUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQU1DLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFNQyxNQUFNO3NCQURaLEtBQUs7Z0JBTUMsSUFBSTtzQkFEVixNQUFNO2dCQTZFSSxZQUFZO3NCQUR0QixLQUFLO2dCQXlGQyxZQUFZO3NCQUpsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgU0FDSUNPTl9TRVJWSUNFLFxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxuICBTYWNEZWZhdWx0SWNvblNlcnZpY2UsXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcbiAgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWZpbGVicm93c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3NlcmZpbGUnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IElCcm93c2VyTm9kZSB9IGZyb20gJy4vbW9kZWxzL2Jyb3dzZXJub2RlJztcbmltcG9ydCB7IElCcm93c2VyTm9kZVJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3Nlcm5vZGVyZXNwb25zZSc7XG5cbi8qKlxuICogQmFzZSBDb21wb25lbnQgZsO8ciBGaWxlIEJyb3dzZXJcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjRmlsZUJyb3dzZXJDb21tb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAvKipcbiAgICogU2VydmljZSBmw7xyIEZpbGUgQnJvd3NlciBadWdyaWZmIChCYWNrZW5kKVxuICAgKi9cbiAgcHJpdmF0ZSBicm93c2VyU2VydmljZTogSVNhY0ZpbGVCcm93c2VyU2VydmljZTtcbiAgLyoqXG4gICAqIEljb24gc2VydmljZSB0byByZWNlaXZlIGljb24gY2xhc3NlcyBmb3IgdWlcbiAgICovXG4gIHByaXZhdGUgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcbiAgLyoqXG4gICAqIEZpbGUgd2VsY2hlcyBiZWltIHN0YXJ0ZW4gZGVzIEJyb3dzZXJzIGJlcmVpdHMgc2VsZWt0aWVydCBpc3RcbiAgICovXG4gIHByaXZhdGUgcHJlc2VsZWNlZGZpbGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaWVyd2VpdGVydW5nZW4gZsO8ciBGaWxlYXVzd2FobCB1bmQgVXBsb2FkLiBEYXRlaWVyd2VpdGVydW5nIG1pdCBQdW5rdCB1bmRcbiAgICogZ2V0cmVubnQgZHVyY2ggS29tbWEgZsO8ciBtZWhyIGFscyBlaW5lIEVyd2VpdGVydW5nIChFeGFtcGxlOiBcIi5qcGcsLmdpZlwiKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZWR0eXBlczogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBsw7ZzY2hlbiBlaW5lciBEYXRlaVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZmlsZWRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyB1bWJlbmVubmVuIGVpbmVyIERhdGVpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dmaWxlcmVuYW1lOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEVybGF1YnQgZGVuIFVwbG9hZCB2b24gRGF0ZWllblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZmlsZXVwbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBlcnN0ZWxsZW4gZWluZXMgbmV1ZW4gT3JkbmVyc1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93Zm9sZGVyY3JlYXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEVybGF1YnQgZGFzIGzDtnNjaGVuIGVpbmVzIE9yZG5lcnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcmRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBVbWJlbmVubmVuIGVpbmVzIE9yZG5lcnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcnJlbmFtZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBVUkwgZsO8ciBCYWNrZW5kIEFQSVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFwaXVybDogc3RyaW5nO1xuICAvKipcbiAgICogT3V0cHV0IEVtaXR0ZXIgd2VubiBGaWxlIHNlbGVrdGllcnQgd2lyZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxuICAgKi9cbiAgcHVibGljIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XG4gIC8qKlxuICAgKiBSb290IE5vZGUgSXRlbSBmw7xyIFRyZWVcbiAgICovXG4gIHB1YmxpYyByb290Tm9kZTogSUJyb3dzZXJOb2RlID0ge1xuICAgIE5hbWU6ICcnLFxuICAgIENoaWxkTm9kZXM6IFtdLFxuICAgIEZpbGVzOiBbXSxcbiAgICBJc0V4cGFuZGVkOiB0cnVlLFxuICAgIElzRWRpdE1vZGU6IGZhbHNlLFxuICAgIElzTmV3Tm9kZTogZmFsc2UsXG4gICAgUGF0aDogJycsXG4gIH07XG4gIC8qKlxuICAgKiBTZWxlY3RlZCBGaWxlIE5hbWVcbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFNlbGVjdGVkIEZpbGUgSXRlbVxuICAgKi9cbiAgcHVibGljIHNlbGVjdGVkRmlsZUl0ZW06IElCcm93c2VyRmlsZSA9IG51bGw7XG4gIC8qKlxuICAgKiBTZWxlY3RlZCBOb2RlIEl0ZW1cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZE5vZGU6IElCcm93c2VyTm9kZSA9IG51bGw7XG4gIC8qKlxuICAgKiBMaXN0ZSB2b24gVXBsb2Fkc1xuICAgKi9cbiAgcHVibGljIHVwbG9hZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaHR0cGNsaWVudCBBbmd1bGFyIEhUVFAgQ2xpZW50XG4gICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIEluamVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihodHRwY2xpZW50OiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcbiAgICAgIG5ldyBTYWNEZWZhdWx0RmlsZUJyb3dzZXJTZXJ2aWNlKGh0dHBjbGllbnQpXG4gICAgKTtcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxuICAgICAgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpXG4gICAgKTtcbiAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChcbiAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXG4gICAgKTtcblxuICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICBTQUNJQ09OX1NFUlZJQ0UsXG4gICAgICBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKClcbiAgICApO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgLyoqXG4gICAqIFNldHp0IGRlbiBTZWxlY2VkIE5vZGUgw7xiZXIgZGVuIFBmYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRmaWxlKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBzZWxlY3RlZG5vZGUgPSB0aGlzLmZpbmRTZWxlY3RlZE5vZGVCeVBhdGgodGhpcy5yb290Tm9kZSwgdik7XG5cbiAgICBpZiAoc2VsZWN0ZWRub2RlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdE5vZGUoc2VsZWN0ZWRub2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNlbGVjZWRmaWxlID0gdjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZGVsZXRlIGljb25cbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRGVsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb247XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGljb24gY2xhc3MgZm9yIGVkaXQgaWNvblxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25FZGl0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEVkaXRJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIENTUyBpY29uIGZvciBmb2xkZXJzIGluIHRyZWUgdGhlcmUgYXJlIGNvbGxhYnNlZFxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJDb2xsYWJzZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyQ2xvc2VkSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZm9sZGVycyB3aXRob3V0IHN1YmZvbGRlcnNcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyRW1wdHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyRW1wdHlJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIENTUyBpY29uIGZvciBuZXcgZm9sZGVycyBhY3Rpb25cbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyTmV3KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEZvbGRlck5ld0ljb247XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGljb24gZm9yIGZvbGRlcnMgaW4gdHJlZSB0aGVyZSBhcmUgZXhwYW5kZWRcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyT3BlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRGb2xkZXJPcGVuSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgcmVmcmVzaCBpY29uXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblJlZnJlc2goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50UmVmcmVzaEljb247XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGbDvHIgU2VsZWN0ZWQgRmlsZS4gSXN0IGFuIElucHV0IFByb3BlcnR5IGdlYnVuZGVuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkZmlsZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5zZWxlY3RGaWxlICYmIHRoaXMuc2VsZWN0RmlsZS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLyoqXG4gICAqIEhvc3RMaXN0ZW5lciB3ZWxjaGVyIGRlbiBFZGl0IE1vZGUgYmVpIGFsbGVuIEZpbGVzIHVuZCBOb2RlcyBiZWVuZGV0LlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgLyoqXG4gICAqIENsaWNrIEV2ZW50XG4gICAqL1xuICBwdWJsaWMgZXhpdEVkaXRNb2RlKHRhcmdldEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzLmZvckVhY2goKGl0bSkgPT4gKGl0bS5Jc0VkaXRNb2RlID0gZmFsc2UpKTtcblxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5zZWxlY3RlZE5vZGUgfHxcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuTmFtZSA9PT0gbnVsbCB8fFxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5OYW1lLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogTMO2c2NodCBlaW4gRmlsZVxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlRmlsZShmaWxlOiBJQnJvd3NlckZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVGaWxlKGZpbGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAgIC5EZWxldGVGaWxlKFxuICAgICAgICAgICAgdGhpcy5hcGl1cmwsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcbiAgICAgICAgICAgIHRoaXMuYWxsb3dlZHR5cGVzXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzID0gcmVzdWx0LkZpbGVzO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVOb2RlKG5vZGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAgIC5EZWxldGVOb2RlKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgpXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZmluZFBhcmVudE5vZGUodGhpcy5yb290Tm9kZSwgbm9kZSk7XG4gICAgICAgICAgICBwYXJlbnROb2RlLkNoaWxkTm9kZXMgPSByZXN1bHQuTm9kZS5DaGlsZE5vZGVzO1xuXG4gICAgICAgICAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsbFBhdGgoaXRtLCAnJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3ROb2RlKHBhcmVudE5vZGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHp0IGVpbiBGaWxlIGluIGRlbiBFZGl0IE1vZGVcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3ZWxjaGVzIGluIGRlbiBFZGl0IE1vZGUgZ2VzZXR6dCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIGVkaXRGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IHZvaWQge1xuICAgIGZpbGUuSXNFZGl0TW9kZSA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0enQgZWluZW4gTm9kZSBpbiBkZW4gRWRpdCBNb2RlXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBiZWFyYmVpdGV0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZWRpdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgbm9kZS5Jc0VkaXRNb2RlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcnpldWd0IGVpbmVuIG5ldWVuIE5vZGUgaW0gVHJlZVxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHVudGVyIHdlbGNoZW0gZWluIG5ldWVyIE5vZGUgZXJzdGVsbHQgd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBuZXdOb2RlKG5vZGU6IElCcm93c2VyTm9kZSkge1xuICAgIGNvbnN0IGl0ZW06IElCcm93c2VyTm9kZSA9IHtcbiAgICAgIENoaWxkTm9kZXM6IFtdLFxuICAgICAgRmlsZXM6IFtdLFxuICAgICAgSXNFZGl0TW9kZTogZmFsc2UsXG4gICAgICBJc0V4cGFuZGVkOiBmYWxzZSxcbiAgICAgIE5hbWU6ICcnLFxuICAgICAgUGF0aDogbm9kZS5QYXRoLFxuICAgICAgSXNOZXdOb2RlOiB0cnVlLFxuICAgIH07XG5cbiAgICBub2RlLkNoaWxkTm9kZXMucHVzaChpdGVtKTtcbiAgICB0aGlzLnNlbGVjdE5vZGUoaXRlbSk7XG4gICAgdGhpcy5lZGl0Tm9kZShpdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IEV2ZW50IGRlciBLb21wb25lbnRlXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgLkdldE5vZGUodGhpcy5hcGl1cmwsICcnLCB0aGlzLmFsbG93ZWR0eXBlcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5yb290Tm9kZSA9IHtcbiAgICAgICAgICBOYW1lOiByZXN1bHQuTm9kZS5OYW1lLFxuICAgICAgICAgIEZpbGVzOiByZXN1bHQuTm9kZS5GaWxlcyxcbiAgICAgICAgICBDaGlsZE5vZGVzOiByZXN1bHQuTm9kZS5DaGlsZE5vZGVzLFxuICAgICAgICAgIElzRXhwYW5kZWQ6IHRydWUsXG4gICAgICAgICAgSXNFZGl0TW9kZTogZmFsc2UsXG4gICAgICAgICAgSXNOZXdOb2RlOiBmYWxzZSxcbiAgICAgICAgICBQYXRoOiAnLycsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IHRoaXMucm9vdE5vZGU7XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgRmlsZSBlcm5ldXQgc2V0emVuLCB3ZW5uIFByb3BlcnR5IGdlc2V0enQgd3VyZGUgYmV2b3IgRGF0ZW4gdm9tIFNlcnZpY2UgZ2VsYWRlbiB3dXJkZW4uXG4gICAgICAgIGlmICh0aGlzLnByZXNlbGVjZWRmaWxlICE9PSBudWxsICYmIHRoaXMucHJlc2VsZWNlZGZpbGUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRmaWxlID0gdGhpcy5wcmVzZWxlY2VkZmlsZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOb2RlXG4gICAqL1xuICBwdWJsaWMgcmVmcmVzaE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXG4gICAgICAuR2V0Tm9kZSh0aGlzLmFwaXVybCwgbm9kZS5QYXRoLCB0aGlzLmFsbG93ZWR0eXBlcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgbm9kZS5DaGlsZE5vZGVzID0gcmVzdWx0Lk5vZGUuQ2hpbGROb2RlcztcbiAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xuXG4gICAgICAgIHRoaXMuc2V0UGF0aFRvQWxsTm9kZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBlaW5lIERhdGVpIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXVlciBEYXRlaW5hbWVcbiAgICovXG4gIHB1YmxpYyByZW5hbWVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSwgbmV3RmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGZpbGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKCFuZXdGaWxlbmFtZSB8fCBuZXdGaWxlbmFtZSA9PT0gbnVsbCB8fCBuZXdGaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIENhbmNlbCwgSW52YWxpZCBGaWxlbmFtZVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmaWxlLkZpbGVuYW1lICE9PSBuZXdGaWxlbmFtZSkge1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuUmVuYW1lRmlsZShcbiAgICAgICAgICB0aGlzLmFwaXVybCxcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcbiAgICAgICAgICBuZXdGaWxlbmFtZSxcbiAgICAgICAgICB0aGlzLmFsbG93ZWR0eXBlc1xuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBlaW4gTm9kZSB1bWJlbmFubnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB3ZWxjaGVyIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOZXVlciBPcmRuZXJuYW1lXG4gICAqL1xuICBwdWJsaWMgcmVuYW1lTm9kZShub2RlOiBJQnJvd3Nlck5vZGUsIG5ld0ZvbGRlcm5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIG5vZGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKCFub2RlLklzTmV3Tm9kZSkge1xuICAgICAgaWYgKFxuICAgICAgICAhbmV3Rm9sZGVybmFtZSB8fFxuICAgICAgICBuZXdGb2xkZXJuYW1lID09PSBudWxsIHx8XG4gICAgICAgIG5ld0ZvbGRlcm5hbWUubGVuZ3RoID09PSAwXG4gICAgICApIHtcbiAgICAgICAgLy8gQ2FuY2VsIFJlbmFtZS4gSW52YWxpZCBGb2xkZXJuYW1lXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUuTmFtZSAhPT0gbmV3Rm9sZGVybmFtZSkge1xuICAgICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXG4gICAgICAgICAgLlJlbmFtZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyTm9kZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBub2RlLk5hbWUgPSByZXN1bHQuTm9kZS5OYW1lO1xuXG4gICAgICAgICAgICB0aGlzLnNldFBhdGhUb0FsbE5vZGVzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgIW5ld0ZvbGRlcm5hbWUgfHxcbiAgICAgICAgbmV3Rm9sZGVybmFtZSA9PT0gbnVsbCB8fFxuICAgICAgICBuZXdGb2xkZXJuYW1lLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuTmFtZSA9IG5ld0ZvbGRlcm5hbWU7XG4gICAgICBub2RlLklzTmV3Tm9kZSA9IGZhbHNlO1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuU2F2ZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIG5vZGUuTmFtZSA9IHJlc3VsdC5Ob2RlLk5hbWU7XG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xuXG4gICAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBGaWxlIHNlbGVrdGllcnQgd2lyZFxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgc2VsZWt0aWVydCB3aXJkXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0RmlsZShmaWxlOiBJQnJvd3NlckZpbGUpIHtcbiAgICBpZiAoIWZpbGUuSXNFZGl0TW9kZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMuZm9yRWFjaCgoaXRtKSA9PiAoaXRtLklzRWRpdE1vZGUgPSBmYWxzZSkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zZWxlY3RlZE5vZGUuUGF0aC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IHRoaXMuc2VsZWN0ZWROb2RlLlBhdGggKyAnLycgKyBmaWxlLkZpbGVuYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9ICcvJyArIGZpbGUuRmlsZW5hbWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVJdGVtID0gZmlsZTtcbiAgICB0aGlzLmZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBOb2RlIHNlbGVrdGllcnQgd2lyZFxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgc2VsZWt0aWVydCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIHNlbGVjdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgRWRpdCBNb2RlIGluIGFsbCBOb2Rlc1xuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XG5cbiAgICBpZiAoIW5vZGUuRmlsZXMpIHtcbiAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcbiAgICAgICAgLkdldEZpbGVzKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgsIHRoaXMuYWxsb3dlZHR5cGVzKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG5cbiAgICAgICAgICBpZiAodGhpcy5wcmVzZWxlY2VkZmlsZSAhPT0gbnVsbCAmJiB0aGlzLnByZXNlbGVjZWRmaWxlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gdGhpcy5wcmVzZWxlY2VkZmlsZS5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgIHRoaXMucHJlc2VsZWNlZGZpbGUubGFzdEluZGV4T2YoJy8nKSArIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gbm9kZS5GaWxlcy5maW5kKChpdG0pID0+IGl0bS5GaWxlbmFtZSA9PT0gZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWxlKGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhwYW5kL0NvbGxhYnNlIE1ldGhvZGUgZsO8ciBOb2Rlc1xuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgZ2XDtmZmbmV0IG9kZXIgZ2VzY2hsb3NzZW4gd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBzd2l0Y2hFeHBhbmROb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xuICAgIGlmIChub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIG5vZGUuSXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLklzRXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2RlIGRpZSBBdWZnZXJ1ZmVuIHdlcmRlbiBtdXNzLCB3ZW5uIGVpbiBVcGxvYWQgYmVlbmRldCBpc3QuXG4gICAqIEBwYXJhbSBwYXJhbSBQYXJhbWV0ZXIgZGVzIGhvY2hnZWxhZGVuZW4gRmlsZXNcbiAgICovXG4gIHB1YmxpYyB1cGxvYWRDb21wbGV0ZShub2RlOiBJQnJvd3Nlck5vZGUsIHVwbG9hZElkTGlzdDogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAodXBsb2FkSWRMaXN0ICE9PSBudWxsKSB7XG4gICAgICB1cGxvYWRJZExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy51cGxvYWRzLmluZGV4T2YoZWxlbWVudCkgPCAwKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRzLnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy51cGxvYWRzLnBvcCgpO1xuICAgIGlmIChpZCkge1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuU2F2ZUZpbGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgaWQsIHRoaXMuYWxsb3dlZHR5cGVzKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMgPSByZXN1bHQuRmlsZXM7XG4gICAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVNb3ZlZChpZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXG5cbiAgLyoqXG4gICAqIEFic3RyYWt0ZSBDb25maXJtIE1ldGhvZGUgd2VsY2hlIGltcGxlbWVudGllcnQgd2VyZGVuIG11c3MuIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpbmVcbiAgICogRGF0ZWkgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGbDvHIgd2VsY2hlcyBlaW4gRGVsZXRlIENvbmZpcm0gZWluZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIEFic3RyYWt0ZSBDb25maXJtIE1ldGhvZGUgd2VsY2hlIGltcGxlbWVudGllcnQgd2VyZGVuIG11c3MuIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpblxuICAgKiBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxuICAgKiBAcGFyYW0gZm9sZGVyIE9yZGVybiBmw7xyIHdlbGNoZW4gZWluIERlbGV0ZSBDb25maXJtIGVpbmdlZm9yZGVydCB3ZXJkZW4gc29sbC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25maXJtRGVsZXRlTm9kZShmb2xkZXI6IElCcm93c2VyTm9kZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBBYnN0cmFrdGUgTWV0aG9kZSBkaWUgQXVmZ2VydWZlbiB3aXJkLCB3ZW5uIGRhcyBIb2NoZ2VsYWRlbmUgRmlsZSBhdXMgZGVtIFRlbXAgRm9sZGVyIGluIGRpZVxuICAgKiBTdHJ1a3R1ciB2ZXJzY2hvYmVuIHd1cmRlLlxuICAgKiBAcGFyYW0gdXBsb2FkaWQgSUQgZGVzIFVwbG9hZHNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGxvYWRlZEZpbGVNb3ZlZCh1cGxvYWRpZDogc3RyaW5nKTogdm9pZDtcblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXG5cbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAvKipcbiAgICogUmVrdXJzaXZlIE1ldGhvZGUgd2VsY2hlIGJlaW0gTm9kZSB1bmQgYWxsIHNlaW5lbiBDaGlsZHMgbmV1ZSBOb2RlcyBlbnRmZXJudFxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIGJlaSB3ZWxjaGVtIGFsbGUgbmV1ZW4gTm9kZXMgZW50ZmVybnQgd2VyZGVuIHNvbGwuXG4gICAqL1xuICBwcml2YXRlIGNsZWFyTmV3Q2hpbGROb2Rlcyhub2RlOiBJQnJvd3Nlck5vZGUpIHtcbiAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICBpZiAoaXRtLklzTmV3Tm9kZSkge1xuICAgICAgICBub2RlLkNoaWxkTm9kZXMuc3BsaWNlKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKGl0bSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4gdGhpcy5jbGVhck5ld0NoaWxkTm9kZXMoaXRtKSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZGVuIFBmYWQgZsO8ciBlaW5lbiBOb2RlIGVyemV1Z3RcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBmw7xyIHdlbGNoZW4gZGVyIFBmYWQgZXJ6ZXVndCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gcGFyZW50UGF0aCDDnGJlcmdlb3JkbmV0ZXIgUGZhZFxuICAgKi9cbiAgcHJpdmF0ZSBmaWxsUGF0aChub2RlOiBJQnJvd3Nlck5vZGUsIHBhcmVudFBhdGg6IHN0cmluZykge1xuICAgIG5vZGUuUGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBub2RlLk5hbWU7XG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4ge1xuICAgICAgdGhpcy5maWxsUGF0aChpdG0sIG5vZGUuUGF0aCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3VjaHQgZGVuIMO8YmVyZ2VvcmRuZXRlbiBOb2RlIGltIFRyZWVcbiAgICogQHBhcmFtIG5vZGUgQWt0dWVsbGVyIE5vZGVcbiAgICogQHBhcmFtIG5vZGVUb0ZpbmQgTm9kZSB3ZWxjaGVyIGdlZnVuZGVuIHdlcmRlbiBzb2xsXG4gICAqIEByZXR1cm5zIE5vZGUgd2VubiBlciBnZWZ1bmRlbiB3dXJkZSwgYW5zb25zdGVuIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kUGFyZW50Tm9kZShcbiAgICBub2RlOiBJQnJvd3Nlck5vZGUsXG4gICAgbm9kZVRvRmluZDogSUJyb3dzZXJOb2RlXG4gICk6IElCcm93c2VyTm9kZSB7XG4gICAgaWYgKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKG5vZGVUb0ZpbmQpID49IDApIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5DaGlsZE5vZGVzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRQYXJlbnROb2RlKGNoaWxkLCBub2RlVG9GaW5kKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gVVJMIFBmYWRcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIHBhdGggUGZhZCBuYWNoIHdlbGNoZW0gZ2VzdWNodCB3aXJkXG4gICAqIEByZXR1cm5zIE5vZGUgd2VsY2hlciB6dW0gZ2VzdWNodGVuIFBmYWQgcGFzc3QuIFdlbm4ga2VpbiBOb2RlIGdlZnVuZGVuIHdpcmQsIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoKFxuICAgIG5vZGU6IElCcm93c2VyTm9kZSxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogSUJyb3dzZXJOb2RlIHtcbiAgICAvLyBDYW5jZWwgd2VubiBQZmFkIG5pY2h0IGRlZmluaWVydFxuICAgIGlmIChwYXRoID09PSB1bmRlZmluZWQgfHwgcGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gUGZhZCBpbiBBcnJheSBzcGxpdHRlbiB1bmQgUm9vdCBGb2xkZXJuYW1lIHNldHplblxuICAgIGNvbnN0IHBhdGhBcnJheSA9IHBhdGguc3BsaXQoJy8nKTtcbiAgICBwYXRoQXJyYXlbMF0gPSB0aGlzLnJvb3ROb2RlLk5hbWU7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkobm9kZSwgcGF0aEFycmF5LCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gQXJyYXkgdm9uIE5vZGUgTmFtZW5cbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIHBhdGggQXJyYXkgdm9uIE5vZGUgTmFtZW4sIHdlbGNoZSBkaWUgSGlyYXJjaHkgZGVzIFBmYWRlcyBhYmJpbGRlblxuICAgKiBAcGFyYW0gaW5kZXggQWt0dWVsbGVyIEluZGV4IGltIFBBVEggQXJyYXlcbiAgICogQHJldHVybnMgTm9kZSB3ZW5uIGVpbmVyIGdlZnVuZGVuIHd1cmRlLCBhbnNvbnN0ZW4gTlVMTFxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoXG4gICAgbm9kZTogSUJyb3dzZXJOb2RlLFxuICAgIHBhdGg6IHN0cmluZ1tdLFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogSUJyb3dzZXJOb2RlIHtcbiAgICAvLyBDaGVjayBvYiBPcmRuZXIga29ycmVrdC4gTGV0emVyIE9yZG5lciB6dXLDvGNrZ2ViZW4uIFBhdGggTGFzdCBJbmRleCBpc3QgZGVyIEZpbGVuYW1lXG4gICAgaWYgKG5vZGUuTmFtZSA9PT0gcGF0aFtpbmRleF0gJiYgcGF0aC5sZW5ndGggLSAyID09PSBpbmRleCkge1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSBlbHNlIGlmIChub2RlLk5hbWUgPT09IHBhdGhbaW5kZXhdKSB7XG4gICAgICAvLyBFeHBhbmQgTm9kZVxuICAgICAgbm9kZS5Jc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBub2RlLkNoaWxkTm9kZXMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoaXRlbSwgcGF0aCwgaW5kZXggKyAxKTtcblxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWt1cnNpdmUgTWV0aG9kZSB3ZWxjaGUgYmVpbSBOb2RlIHVuZCBhbGwgc2VpbmVuIENoaWxkcyBkZW4gRWRpdCBNb2RlIGJlZW5kZXQuXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgYmVpIHdlbGNoZW0gZGVyIEVkaXQgTW9kZSBiZWVuZGV0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwcml2YXRlIHJlc2V0Tm9kZUVkaXRNb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xuICAgIGlmIChub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKHRoaXMucm9vdE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLklzRWRpdE1vZGUgPSBmYWxzZTtcblxuICAgICAgaWYgKG5vZGUuQ2hpbGROb2Rlcykge1xuICAgICAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKGl0bSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR6dCBkZW4gUGZhZCBpbiBhbGxlbiBOb2Rlc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRQYXRoVG9BbGxOb2RlcygpIHtcbiAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICB0aGlzLmZpbGxQYXRoKGl0bSwgJycpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdfQ==
146
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJFdmVudEVtaXR0ZXIiLCJIb3N0TGlzdGVuZXIiLCJJbnB1dCIsIk91dHB1dCIsIlNBQ0lDT05fU0VSVklDRSIsIlNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFIiwiU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIiwiU2FjRGVmYXVsdEljb25TZXJ2aWNlIiwiU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiU0FDRklMRUJST1dTRVJfU0VSVklDRSIsIlNhY0RlZmF1bHRGaWxlQnJvd3NlclNlcnZpY2UiLCJTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSIsIlNhY0ZpbGVCcm93c2VyQ29tbW9uIiwiY29uc3RydWN0b3IiLCJodHRwY2xpZW50IiwiaW5qZWN0b3IiLCJjb3ZfY241aWRzbjNmIiwiZiIsInMiLCJwcmVzZWxlY2VkZmlsZSIsImFsbG93ZWR0eXBlcyIsImFsbG93ZmlsZWRlbGV0ZSIsImFsbG93ZmlsZXJlbmFtZSIsImFsbG93ZmlsZXVwbG9hZCIsImFsbG93Zm9sZGVyY3JlYXRlIiwiYWxsb3dmb2xkZXJkZWxldGUiLCJhbGxvd2ZvbGRlcnJlbmFtZSIsImZpbGUiLCJyb290Tm9kZSIsIk5hbWUiLCJDaGlsZE5vZGVzIiwiRmlsZXMiLCJJc0V4cGFuZGVkIiwiSXNFZGl0TW9kZSIsIklzTmV3Tm9kZSIsIlBhdGgiLCJzZWxlY3RlZEZpbGVJdGVtIiwic2VsZWN0ZWROb2RlIiwidXBsb2FkcyIsImJyb3dzZXJTZXJ2aWNlIiwiZ2V0IiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJsbmdSZXNvdXJjZVNlcnZpY2UiLCJpY29uU2VydmljZSIsInNlbGVjdGVkZmlsZSIsInYiLCJzZWxlY3RlZG5vZGUiLCJmaW5kU2VsZWN0ZWROb2RlQnlQYXRoIiwiYiIsInNlbGVjdE5vZGUiLCJpY29uRGVsZXRlIiwiQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb24iLCJpY29uRWRpdCIsIkJyb3dzZXJDb21wb25lbnRFZGl0SWNvbiIsImljb25Gb2xkZXJDb2xsYWJzZWQiLCJCcm93c2VyQ29tcG9uZW50Rm9sZGVyQ2xvc2VkSWNvbiIsImljb25Gb2xkZXJFbXB0eSIsIkJyb3dzZXJDb21wb25lbnRGb2xkZXJFbXB0eUljb24iLCJpY29uRm9sZGVyTmV3IiwiQnJvd3NlckNvbXBvbmVudEZvbGRlck5ld0ljb24iLCJpY29uRm9sZGVyT3BlbiIsIkJyb3dzZXJDb21wb25lbnRGb2xkZXJPcGVuSWNvbiIsImljb25SZWZyZXNoIiwiQnJvd3NlckNvbXBvbmVudFJlZnJlc2hJY29uIiwic2VsZWN0RmlsZSIsImxlbmd0aCIsInNlbGVjdGVkRmlsZSIsImV4aXRFZGl0TW9kZSIsInRhcmdldEVsZW1lbnQiLCJmb3JFYWNoIiwiaXRtIiwiY2xlYXJOZXdDaGlsZE5vZGVzIiwicmVzZXROb2RlRWRpdE1vZGUiLCJkZWxldGVGaWxlIiwiY29uZmlybURlbGV0ZUZpbGUiLCJzdWJzY3JpYmUiLCJjb25maXJtIiwiRGVsZXRlRmlsZSIsImFwaXVybCIsIkZpbGVuYW1lIiwicmVzdWx0IiwiZGVsZXRlTm9kZSIsIm5vZGUiLCJjb25maXJtRGVsZXRlTm9kZSIsIkRlbGV0ZU5vZGUiLCJwYXJlbnROb2RlIiwiZmluZFBhcmVudE5vZGUiLCJOb2RlIiwiZmlsbFBhdGgiLCJlZGl0RmlsZSIsImVkaXROb2RlIiwibmV3Tm9kZSIsIml0ZW0iLCJwdXNoIiwibmdPbkluaXQiLCJHZXROb2RlIiwic2V0UGF0aFRvQWxsTm9kZXMiLCJyZWZyZXNoTm9kZSIsInN3aXRjaEV4cGFuZE5vZGUiLCJyZW5hbWVGaWxlIiwibmV3RmlsZW5hbWUiLCJSZW5hbWVGaWxlIiwicmVuYW1lTm9kZSIsIm5ld0ZvbGRlcm5hbWUiLCJSZW5hbWVOb2RlIiwiU2F2ZU5vZGUiLCJlbmRzV2l0aCIsImVtaXQiLCJHZXRGaWxlcyIsImZpbGVuYW1lIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJmaW5kIiwidXBsb2FkQ29tcGxldGUiLCJ1cGxvYWRJZExpc3QiLCJlbGVtZW50IiwiaW5kZXhPZiIsImlkIiwicG9wIiwiU2F2ZUZpbGUiLCJ1cGxvYWRlZEZpbGVNb3ZlZCIsInNwbGljZSIsInBhcmVudFBhdGgiLCJub2RlVG9GaW5kIiwiY2hpbGQiLCJwYXRoIiwidW5kZWZpbmVkIiwicGF0aEFycmF5Iiwic3BsaXQiLCJmaW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkiLCJpbmRleCIsImRlcHMiLCJ0b2tlbiIsImkxIiwiSHR0cENsaWVudCIsImkwIiwiSW5qZWN0b3IiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm91dHB1dHMiLCJob3N0IiwibGlzdGVuZXJzIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL2Jyb3dzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgU0FDSUNPTl9TRVJWSUNFLFxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxuICBTYWNEZWZhdWx0SWNvblNlcnZpY2UsXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcbiAgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWZpbGVicm93c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3NlcmZpbGUnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IElCcm93c2VyTm9kZSB9IGZyb20gJy4vbW9kZWxzL2Jyb3dzZXJub2RlJztcbmltcG9ydCB7IElCcm93c2VyTm9kZVJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3Nlcm5vZGVyZXNwb25zZSc7XG5cbi8qKlxuICogQmFzZSBDb21wb25lbnQgZsO8ciBGaWxlIEJyb3dzZXJcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjRmlsZUJyb3dzZXJDb21tb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAvKipcbiAgICogU2VydmljZSBmw7xyIEZpbGUgQnJvd3NlciBadWdyaWZmIChCYWNrZW5kKVxuICAgKi9cbiAgcHJpdmF0ZSBicm93c2VyU2VydmljZTogSVNhY0ZpbGVCcm93c2VyU2VydmljZTtcbiAgLyoqXG4gICAqIEljb24gc2VydmljZSB0byByZWNlaXZlIGljb24gY2xhc3NlcyBmb3IgdWlcbiAgICovXG4gIHByaXZhdGUgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcbiAgLyoqXG4gICAqIEZpbGUgd2VsY2hlcyBiZWltIHN0YXJ0ZW4gZGVzIEJyb3dzZXJzIGJlcmVpdHMgc2VsZWt0aWVydCBpc3RcbiAgICovXG4gIHByaXZhdGUgcHJlc2VsZWNlZGZpbGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaWVyd2VpdGVydW5nZW4gZsO8ciBGaWxlYXVzd2FobCB1bmQgVXBsb2FkLiBEYXRlaWVyd2VpdGVydW5nIG1pdCBQdW5rdCB1bmRcbiAgICogZ2V0cmVubnQgZHVyY2ggS29tbWEgZsO8ciBtZWhyIGFscyBlaW5lIEVyd2VpdGVydW5nIChFeGFtcGxlOiBcIi5qcGcsLmdpZlwiKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZWR0eXBlczogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBsw7ZzY2hlbiBlaW5lciBEYXRlaVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZmlsZWRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyB1bWJlbmVubmVuIGVpbmVyIERhdGVpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dmaWxlcmVuYW1lOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEVybGF1YnQgZGVuIFVwbG9hZCB2b24gRGF0ZWllblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZmlsZXVwbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBlcnN0ZWxsZW4gZWluZXMgbmV1ZW4gT3JkbmVyc1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93Zm9sZGVyY3JlYXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEVybGF1YnQgZGFzIGzDtnNjaGVuIGVpbmVzIE9yZG5lcnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcmRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBVbWJlbmVubmVuIGVpbmVzIE9yZG5lcnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcnJlbmFtZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBVUkwgZsO8ciBCYWNrZW5kIEFQSVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFwaXVybDogc3RyaW5nO1xuICAvKipcbiAgICogT3V0cHV0IEVtaXR0ZXIgd2VubiBGaWxlIHNlbGVrdGllcnQgd2lyZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxuICAgKi9cbiAgcHVibGljIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XG4gIC8qKlxuICAgKiBSb290IE5vZGUgSXRlbSBmw7xyIFRyZWVcbiAgICovXG4gIHB1YmxpYyByb290Tm9kZTogSUJyb3dzZXJOb2RlID0ge1xuICAgIE5hbWU6ICcnLFxuICAgIENoaWxkTm9kZXM6IFtdLFxuICAgIEZpbGVzOiBbXSxcbiAgICBJc0V4cGFuZGVkOiB0cnVlLFxuICAgIElzRWRpdE1vZGU6IGZhbHNlLFxuICAgIElzTmV3Tm9kZTogZmFsc2UsXG4gICAgUGF0aDogJycsXG4gIH07XG4gIC8qKlxuICAgKiBTZWxlY3RlZCBGaWxlIE5hbWVcbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFNlbGVjdGVkIEZpbGUgSXRlbVxuICAgKi9cbiAgcHVibGljIHNlbGVjdGVkRmlsZUl0ZW06IElCcm93c2VyRmlsZSA9IG51bGw7XG4gIC8qKlxuICAgKiBTZWxlY3RlZCBOb2RlIEl0ZW1cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZE5vZGU6IElCcm93c2VyTm9kZSA9IG51bGw7XG4gIC8qKlxuICAgKiBMaXN0ZSB2b24gVXBsb2Fkc1xuICAgKi9cbiAgcHVibGljIHVwbG9hZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaHR0cGNsaWVudCBBbmd1bGFyIEhUVFAgQ2xpZW50XG4gICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIEluamVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihodHRwY2xpZW50OiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcbiAgICAgIG5ldyBTYWNEZWZhdWx0RmlsZUJyb3dzZXJTZXJ2aWNlKGh0dHBjbGllbnQpXG4gICAgKTtcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxuICAgICAgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpXG4gICAgKTtcbiAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChcbiAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXG4gICAgKTtcblxuICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICBTQUNJQ09OX1NFUlZJQ0UsXG4gICAgICBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKClcbiAgICApO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgLyoqXG4gICAqIFNldHp0IGRlbiBTZWxlY2VkIE5vZGUgw7xiZXIgZGVuIFBmYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRmaWxlKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBzZWxlY3RlZG5vZGUgPSB0aGlzLmZpbmRTZWxlY3RlZE5vZGVCeVBhdGgodGhpcy5yb290Tm9kZSwgdik7XG5cbiAgICBpZiAoc2VsZWN0ZWRub2RlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdE5vZGUoc2VsZWN0ZWRub2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNlbGVjZWRmaWxlID0gdjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZGVsZXRlIGljb25cbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRGVsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb247XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGljb24gY2xhc3MgZm9yIGVkaXQgaWNvblxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25FZGl0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEVkaXRJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIENTUyBpY29uIGZvciBmb2xkZXJzIGluIHRyZWUgdGhlcmUgYXJlIGNvbGxhYnNlZFxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJDb2xsYWJzZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyQ2xvc2VkSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZm9sZGVycyB3aXRob3V0IHN1YmZvbGRlcnNcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyRW1wdHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyRW1wdHlJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIENTUyBpY29uIGZvciBuZXcgZm9sZGVycyBhY3Rpb25cbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyTmV3KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEZvbGRlck5ld0ljb247XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGljb24gZm9yIGZvbGRlcnMgaW4gdHJlZSB0aGVyZSBhcmUgZXhwYW5kZWRcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyT3BlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRGb2xkZXJPcGVuSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgcmVmcmVzaCBpY29uXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblJlZnJlc2goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50UmVmcmVzaEljb247XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGbDvHIgU2VsZWN0ZWQgRmlsZS4gSXN0IGFuIElucHV0IFByb3BlcnR5IGdlYnVuZGVuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkZmlsZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5zZWxlY3RGaWxlICYmIHRoaXMuc2VsZWN0RmlsZS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLyoqXG4gICAqIEhvc3RMaXN0ZW5lciB3ZWxjaGVyIGRlbiBFZGl0IE1vZGUgYmVpIGFsbGVuIEZpbGVzIHVuZCBOb2RlcyBiZWVuZGV0LlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgLyoqXG4gICAqIENsaWNrIEV2ZW50XG4gICAqL1xuICBwdWJsaWMgZXhpdEVkaXRNb2RlKHRhcmdldEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzLmZvckVhY2goKGl0bSkgPT4gKGl0bS5Jc0VkaXRNb2RlID0gZmFsc2UpKTtcblxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5zZWxlY3RlZE5vZGUgfHxcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuTmFtZSA9PT0gbnVsbCB8fFxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5OYW1lLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogTMO2c2NodCBlaW4gRmlsZVxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlRmlsZShmaWxlOiBJQnJvd3NlckZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVGaWxlKGZpbGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAgIC5EZWxldGVGaWxlKFxuICAgICAgICAgICAgdGhpcy5hcGl1cmwsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcbiAgICAgICAgICAgIHRoaXMuYWxsb3dlZHR5cGVzXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzID0gcmVzdWx0LkZpbGVzO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVOb2RlKG5vZGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAgIC5EZWxldGVOb2RlKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgpXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZmluZFBhcmVudE5vZGUodGhpcy5yb290Tm9kZSwgbm9kZSk7XG4gICAgICAgICAgICBwYXJlbnROb2RlLkNoaWxkTm9kZXMgPSByZXN1bHQuTm9kZS5DaGlsZE5vZGVzO1xuXG4gICAgICAgICAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsbFBhdGgoaXRtLCAnJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3ROb2RlKHBhcmVudE5vZGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHp0IGVpbiBGaWxlIGluIGRlbiBFZGl0IE1vZGVcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3ZWxjaGVzIGluIGRlbiBFZGl0IE1vZGUgZ2VzZXR6dCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIGVkaXRGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IHZvaWQge1xuICAgIGZpbGUuSXNFZGl0TW9kZSA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0enQgZWluZW4gTm9kZSBpbiBkZW4gRWRpdCBNb2RlXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBiZWFyYmVpdGV0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZWRpdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgbm9kZS5Jc0VkaXRNb2RlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcnpldWd0IGVpbmVuIG5ldWVuIE5vZGUgaW0gVHJlZVxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHVudGVyIHdlbGNoZW0gZWluIG5ldWVyIE5vZGUgZXJzdGVsbHQgd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBuZXdOb2RlKG5vZGU6IElCcm93c2VyTm9kZSkge1xuICAgIGNvbnN0IGl0ZW06IElCcm93c2VyTm9kZSA9IHtcbiAgICAgIENoaWxkTm9kZXM6IFtdLFxuICAgICAgRmlsZXM6IFtdLFxuICAgICAgSXNFZGl0TW9kZTogZmFsc2UsXG4gICAgICBJc0V4cGFuZGVkOiBmYWxzZSxcbiAgICAgIE5hbWU6ICcnLFxuICAgICAgUGF0aDogbm9kZS5QYXRoLFxuICAgICAgSXNOZXdOb2RlOiB0cnVlLFxuICAgIH07XG5cbiAgICBub2RlLkNoaWxkTm9kZXMucHVzaChpdGVtKTtcbiAgICB0aGlzLnNlbGVjdE5vZGUoaXRlbSk7XG4gICAgdGhpcy5lZGl0Tm9kZShpdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IEV2ZW50IGRlciBLb21wb25lbnRlXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgLkdldE5vZGUodGhpcy5hcGl1cmwsICcnLCB0aGlzLmFsbG93ZWR0eXBlcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5yb290Tm9kZSA9IHtcbiAgICAgICAgICBOYW1lOiByZXN1bHQuTm9kZS5OYW1lLFxuICAgICAgICAgIEZpbGVzOiByZXN1bHQuTm9kZS5GaWxlcyxcbiAgICAgICAgICBDaGlsZE5vZGVzOiByZXN1bHQuTm9kZS5DaGlsZE5vZGVzLFxuICAgICAgICAgIElzRXhwYW5kZWQ6IHRydWUsXG4gICAgICAgICAgSXNFZGl0TW9kZTogZmFsc2UsXG4gICAgICAgICAgSXNOZXdOb2RlOiBmYWxzZSxcbiAgICAgICAgICBQYXRoOiAnLycsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IHRoaXMucm9vdE5vZGU7XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgRmlsZSBlcm5ldXQgc2V0emVuLCB3ZW5uIFByb3BlcnR5IGdlc2V0enQgd3VyZGUgYmV2b3IgRGF0ZW4gdm9tIFNlcnZpY2UgZ2VsYWRlbiB3dXJkZW4uXG4gICAgICAgIGlmICh0aGlzLnByZXNlbGVjZWRmaWxlICE9PSBudWxsICYmIHRoaXMucHJlc2VsZWNlZGZpbGUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRmaWxlID0gdGhpcy5wcmVzZWxlY2VkZmlsZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOb2RlXG4gICAqL1xuICBwdWJsaWMgcmVmcmVzaE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXG4gICAgICAuR2V0Tm9kZSh0aGlzLmFwaXVybCwgbm9kZS5QYXRoLCB0aGlzLmFsbG93ZWR0eXBlcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgbm9kZS5DaGlsZE5vZGVzID0gcmVzdWx0Lk5vZGUuQ2hpbGROb2RlcztcbiAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xuXG4gICAgICAgIHRoaXMuc2V0UGF0aFRvQWxsTm9kZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBlaW5lIERhdGVpIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXVlciBEYXRlaW5hbWVcbiAgICovXG4gIHB1YmxpYyByZW5hbWVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSwgbmV3RmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGZpbGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKCFuZXdGaWxlbmFtZSB8fCBuZXdGaWxlbmFtZSA9PT0gbnVsbCB8fCBuZXdGaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIENhbmNlbCwgSW52YWxpZCBGaWxlbmFtZVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmaWxlLkZpbGVuYW1lICE9PSBuZXdGaWxlbmFtZSkge1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuUmVuYW1lRmlsZShcbiAgICAgICAgICB0aGlzLmFwaXVybCxcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcbiAgICAgICAgICBuZXdGaWxlbmFtZSxcbiAgICAgICAgICB0aGlzLmFsbG93ZWR0eXBlc1xuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBlaW4gTm9kZSB1bWJlbmFubnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB3ZWxjaGVyIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOZXVlciBPcmRuZXJuYW1lXG4gICAqL1xuICBwdWJsaWMgcmVuYW1lTm9kZShub2RlOiBJQnJvd3Nlck5vZGUsIG5ld0ZvbGRlcm5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIG5vZGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKCFub2RlLklzTmV3Tm9kZSkge1xuICAgICAgaWYgKFxuICAgICAgICAhbmV3Rm9sZGVybmFtZSB8fFxuICAgICAgICBuZXdGb2xkZXJuYW1lID09PSBudWxsIHx8XG4gICAgICAgIG5ld0ZvbGRlcm5hbWUubGVuZ3RoID09PSAwXG4gICAgICApIHtcbiAgICAgICAgLy8gQ2FuY2VsIFJlbmFtZS4gSW52YWxpZCBGb2xkZXJuYW1lXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUuTmFtZSAhPT0gbmV3Rm9sZGVybmFtZSkge1xuICAgICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXG4gICAgICAgICAgLlJlbmFtZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyTm9kZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBub2RlLk5hbWUgPSByZXN1bHQuTm9kZS5OYW1lO1xuXG4gICAgICAgICAgICB0aGlzLnNldFBhdGhUb0FsbE5vZGVzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgIW5ld0ZvbGRlcm5hbWUgfHxcbiAgICAgICAgbmV3Rm9sZGVybmFtZSA9PT0gbnVsbCB8fFxuICAgICAgICBuZXdGb2xkZXJuYW1lLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuTmFtZSA9IG5ld0ZvbGRlcm5hbWU7XG4gICAgICBub2RlLklzTmV3Tm9kZSA9IGZhbHNlO1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuU2F2ZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIG5vZGUuTmFtZSA9IHJlc3VsdC5Ob2RlLk5hbWU7XG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xuXG4gICAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBGaWxlIHNlbGVrdGllcnQgd2lyZFxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgc2VsZWt0aWVydCB3aXJkXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0RmlsZShmaWxlOiBJQnJvd3NlckZpbGUpIHtcbiAgICBpZiAoIWZpbGUuSXNFZGl0TW9kZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMuZm9yRWFjaCgoaXRtKSA9PiAoaXRtLklzRWRpdE1vZGUgPSBmYWxzZSkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zZWxlY3RlZE5vZGUuUGF0aC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IHRoaXMuc2VsZWN0ZWROb2RlLlBhdGggKyAnLycgKyBmaWxlLkZpbGVuYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9ICcvJyArIGZpbGUuRmlsZW5hbWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVJdGVtID0gZmlsZTtcbiAgICB0aGlzLmZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBOb2RlIHNlbGVrdGllcnQgd2lyZFxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgc2VsZWt0aWVydCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIHNlbGVjdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgRWRpdCBNb2RlIGluIGFsbCBOb2Rlc1xuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XG5cbiAgICBpZiAoIW5vZGUuRmlsZXMpIHtcbiAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcbiAgICAgICAgLkdldEZpbGVzKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgsIHRoaXMuYWxsb3dlZHR5cGVzKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG5cbiAgICAgICAgICBpZiAodGhpcy5wcmVzZWxlY2VkZmlsZSAhPT0gbnVsbCAmJiB0aGlzLnByZXNlbGVjZWRmaWxlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gdGhpcy5wcmVzZWxlY2VkZmlsZS5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgIHRoaXMucHJlc2VsZWNlZGZpbGUubGFzdEluZGV4T2YoJy8nKSArIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gbm9kZS5GaWxlcy5maW5kKChpdG0pID0+IGl0bS5GaWxlbmFtZSA9PT0gZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWxlKGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhwYW5kL0NvbGxhYnNlIE1ldGhvZGUgZsO8ciBOb2Rlc1xuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgZ2XDtmZmbmV0IG9kZXIgZ2VzY2hsb3NzZW4gd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBzd2l0Y2hFeHBhbmROb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xuICAgIGlmIChub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIG5vZGUuSXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLklzRXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2RlIGRpZSBBdWZnZXJ1ZmVuIHdlcmRlbiBtdXNzLCB3ZW5uIGVpbiBVcGxvYWQgYmVlbmRldCBpc3QuXG4gICAqIEBwYXJhbSBwYXJhbSBQYXJhbWV0ZXIgZGVzIGhvY2hnZWxhZGVuZW4gRmlsZXNcbiAgICovXG4gIHB1YmxpYyB1cGxvYWRDb21wbGV0ZShub2RlOiBJQnJvd3Nlck5vZGUsIHVwbG9hZElkTGlzdDogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAodXBsb2FkSWRMaXN0ICE9PSBudWxsKSB7XG4gICAgICB1cGxvYWRJZExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy51cGxvYWRzLmluZGV4T2YoZWxlbWVudCkgPCAwKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRzLnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy51cGxvYWRzLnBvcCgpO1xuICAgIGlmIChpZCkge1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuU2F2ZUZpbGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgaWQsIHRoaXMuYWxsb3dlZHR5cGVzKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMgPSByZXN1bHQuRmlsZXM7XG4gICAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVNb3ZlZChpZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXG5cbiAgLyoqXG4gICAqIEFic3RyYWt0ZSBDb25maXJtIE1ldGhvZGUgd2VsY2hlIGltcGxlbWVudGllcnQgd2VyZGVuIG11c3MuIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpbmVcbiAgICogRGF0ZWkgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGbDvHIgd2VsY2hlcyBlaW4gRGVsZXRlIENvbmZpcm0gZWluZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIEFic3RyYWt0ZSBDb25maXJtIE1ldGhvZGUgd2VsY2hlIGltcGxlbWVudGllcnQgd2VyZGVuIG11c3MuIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpblxuICAgKiBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxuICAgKiBAcGFyYW0gZm9sZGVyIE9yZGVybiBmw7xyIHdlbGNoZW4gZWluIERlbGV0ZSBDb25maXJtIGVpbmdlZm9yZGVydCB3ZXJkZW4gc29sbC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25maXJtRGVsZXRlTm9kZShmb2xkZXI6IElCcm93c2VyTm9kZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBBYnN0cmFrdGUgTWV0aG9kZSBkaWUgQXVmZ2VydWZlbiB3aXJkLCB3ZW5uIGRhcyBIb2NoZ2VsYWRlbmUgRmlsZSBhdXMgZGVtIFRlbXAgRm9sZGVyIGluIGRpZVxuICAgKiBTdHJ1a3R1ciB2ZXJzY2hvYmVuIHd1cmRlLlxuICAgKiBAcGFyYW0gdXBsb2FkaWQgSUQgZGVzIFVwbG9hZHNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGxvYWRlZEZpbGVNb3ZlZCh1cGxvYWRpZDogc3RyaW5nKTogdm9pZDtcblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXG5cbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAvKipcbiAgICogUmVrdXJzaXZlIE1ldGhvZGUgd2VsY2hlIGJlaW0gTm9kZSB1bmQgYWxsIHNlaW5lbiBDaGlsZHMgbmV1ZSBOb2RlcyBlbnRmZXJudFxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIGJlaSB3ZWxjaGVtIGFsbGUgbmV1ZW4gTm9kZXMgZW50ZmVybnQgd2VyZGVuIHNvbGwuXG4gICAqL1xuICBwcml2YXRlIGNsZWFyTmV3Q2hpbGROb2Rlcyhub2RlOiBJQnJvd3Nlck5vZGUpIHtcbiAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICBpZiAoaXRtLklzTmV3Tm9kZSkge1xuICAgICAgICBub2RlLkNoaWxkTm9kZXMuc3BsaWNlKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKGl0bSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4gdGhpcy5jbGVhck5ld0NoaWxkTm9kZXMoaXRtKSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZGVuIFBmYWQgZsO8ciBlaW5lbiBOb2RlIGVyemV1Z3RcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBmw7xyIHdlbGNoZW4gZGVyIFBmYWQgZXJ6ZXVndCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gcGFyZW50UGF0aCDDnGJlcmdlb3JkbmV0ZXIgUGZhZFxuICAgKi9cbiAgcHJpdmF0ZSBmaWxsUGF0aChub2RlOiBJQnJvd3Nlck5vZGUsIHBhcmVudFBhdGg6IHN0cmluZykge1xuICAgIG5vZGUuUGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBub2RlLk5hbWU7XG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4ge1xuICAgICAgdGhpcy5maWxsUGF0aChpdG0sIG5vZGUuUGF0aCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3VjaHQgZGVuIMO8YmVyZ2VvcmRuZXRlbiBOb2RlIGltIFRyZWVcbiAgICogQHBhcmFtIG5vZGUgQWt0dWVsbGVyIE5vZGVcbiAgICogQHBhcmFtIG5vZGVUb0ZpbmQgTm9kZSB3ZWxjaGVyIGdlZnVuZGVuIHdlcmRlbiBzb2xsXG4gICAqIEByZXR1cm5zIE5vZGUgd2VubiBlciBnZWZ1bmRlbiB3dXJkZSwgYW5zb25zdGVuIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kUGFyZW50Tm9kZShcbiAgICBub2RlOiBJQnJvd3Nlck5vZGUsXG4gICAgbm9kZVRvRmluZDogSUJyb3dzZXJOb2RlXG4gICk6IElCcm93c2VyTm9kZSB7XG4gICAgaWYgKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKG5vZGVUb0ZpbmQpID49IDApIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5DaGlsZE5vZGVzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRQYXJlbnROb2RlKGNoaWxkLCBub2RlVG9GaW5kKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gVVJMIFBmYWRcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIHBhdGggUGZhZCBuYWNoIHdlbGNoZW0gZ2VzdWNodCB3aXJkXG4gICAqIEByZXR1cm5zIE5vZGUgd2VsY2hlciB6dW0gZ2VzdWNodGVuIFBmYWQgcGFzc3QuIFdlbm4ga2VpbiBOb2RlIGdlZnVuZGVuIHdpcmQsIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoKFxuICAgIG5vZGU6IElCcm93c2VyTm9kZSxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogSUJyb3dzZXJOb2RlIHtcbiAgICAvLyBDYW5jZWwgd2VubiBQZmFkIG5pY2h0IGRlZmluaWVydFxuICAgIGlmIChwYXRoID09PSB1bmRlZmluZWQgfHwgcGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gUGZhZCBpbiBBcnJheSBzcGxpdHRlbiB1bmQgUm9vdCBGb2xkZXJuYW1lIHNldHplblxuICAgIGNvbnN0IHBhdGhBcnJheSA9IHBhdGguc3BsaXQoJy8nKTtcbiAgICBwYXRoQXJyYXlbMF0gPSB0aGlzLnJvb3ROb2RlLk5hbWU7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkobm9kZSwgcGF0aEFycmF5LCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gQXJyYXkgdm9uIE5vZGUgTmFtZW5cbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIHBhdGggQXJyYXkgdm9uIE5vZGUgTmFtZW4sIHdlbGNoZSBkaWUgSGlyYXJjaHkgZGVzIFBmYWRlcyBhYmJpbGRlblxuICAgKiBAcGFyYW0gaW5kZXggQWt0dWVsbGVyIEluZGV4IGltIFBBVEggQXJyYXlcbiAgICogQHJldHVybnMgTm9kZSB3ZW5uIGVpbmVyIGdlZnVuZGVuIHd1cmRlLCBhbnNvbnN0ZW4gTlVMTFxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoXG4gICAgbm9kZTogSUJyb3dzZXJOb2RlLFxuICAgIHBhdGg6IHN0cmluZ1tdLFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogSUJyb3dzZXJOb2RlIHtcbiAgICAvLyBDaGVjayBvYiBPcmRuZXIga29ycmVrdC4gTGV0emVyIE9yZG5lciB6dXLDvGNrZ2ViZW4uIFBhdGggTGFzdCBJbmRleCBpc3QgZGVyIEZpbGVuYW1lXG4gICAgaWYgKG5vZGUuTmFtZSA9PT0gcGF0aFtpbmRleF0gJiYgcGF0aC5sZW5ndGggLSAyID09PSBpbmRleCkge1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSBlbHNlIGlmIChub2RlLk5hbWUgPT09IHBhdGhbaW5kZXhdKSB7XG4gICAgICAvLyBFeHBhbmQgTm9kZVxuICAgICAgbm9kZS5Jc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBub2RlLkNoaWxkTm9kZXMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoaXRlbSwgcGF0aCwgaW5kZXggKyAxKTtcblxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWt1cnNpdmUgTWV0aG9kZSB3ZWxjaGUgYmVpbSBOb2RlIHVuZCBhbGwgc2VpbmVuIENoaWxkcyBkZW4gRWRpdCBNb2RlIGJlZW5kZXQuXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgYmVpIHdlbGNoZW0gZGVyIEVkaXQgTW9kZSBiZWVuZGV0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwcml2YXRlIHJlc2V0Tm9kZUVkaXRNb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xuICAgIGlmIChub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKHRoaXMucm9vdE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLklzRWRpdE1vZGUgPSBmYWxzZTtcblxuICAgICAgaWYgKG5vZGUuQ2hpbGROb2Rlcykge1xuICAgICAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKGl0bSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR6dCBkZW4gUGZhZCBpbiBhbGxlbiBOb2Rlc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRQYXRoVG9BbGxOb2RlcygpIHtcbiAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICB0aGlzLmZpbGxQYXRoKGl0bSwgJycpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6Ijt5RkFDQSxPQUNFQSxTQUFTLENBQ1RDLFlBQVksQ0FDWkMsWUFBWSxDQUVaQyxLQUFLLENBRUxDLE1BQU0sS0FDRCxlQUFlLENBTXRCLE9BQ0VDLGVBQWUsQ0FDZkMsdUJBQXVCLENBQ3ZCQyx3QkFBd0IsQ0FDeEJDLHFCQUFxQixDQUNyQkMsOEJBQThCLEtBQ3pCLGdCQUFnQixDQUN2QixPQUNFQyxzQkFBc0IsQ0FDdEJDLDRCQUE0QixLQUN2Qix3Q0FBd0MsQ0FDL0MsT0FBU0MsNkJBQTZCLEtBQVEseUNBQXlDLEMseUVBTXZGOztHQUlBLE1BQU0sTUFBZ0IsQ0FBQUMsb0JBQW9CLENBb0d4QztBQUVBO0FBRUE7Ozs7T0FLQUMsWUFBWUMsVUFB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
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJFdmVudEVtaXR0ZXIiLCJIb3N0TGlzdGVuZXIiLCJJbnB1dCIsIk91dHB1dCIsIlNBQ0lDT05fU0VSVklDRSIsIlNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFIiwiU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIiwiU2FjRGVmYXVsdEljb25TZXJ2aWNlIiwiU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiU0FDRklMRUJST1dTRVJfU0VSVklDRSIsIlNhY0RlZmF1bHRGaWxlQnJvd3NlclNlcnZpY2UiLCJTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSIsIlNhY0ZpbGVCcm93c2VyQ29tbW9uIiwiY29uc3RydWN0b3IiLCJodHRwY2xpZW50IiwiaW5qZWN0b3IiLCJjb3ZfY241aWRzbjNmIiwiZiIsInMiLCJwcmVzZWxlY2VkZmlsZSIsImFsbG93ZWR0eXBlcyIsImFsbG93ZmlsZWRlbGV0ZSIsImFsbG93ZmlsZXJlbmFtZSIsImFsbG93ZmlsZXVwbG9hZCIsImFsbG93Zm9sZGVyY3JlYXRlIiwiYWxsb3dmb2xkZXJkZWxldGUiLCJhbGxvd2ZvbGRlcnJlbmFtZSIsImZpbGUiLCJyb290Tm9kZSIsIk5hbWUiLCJDaGlsZE5vZGVzIiwiRmlsZXMiLCJJc0V4cGFuZGVkIiwiSXNFZGl0TW9kZSIsIklzTmV3Tm9kZSIsIlBhdGgiLCJzZWxlY3RlZEZpbGVJdGVtIiwic2VsZWN0ZWROb2RlIiwidXBsb2FkcyIsImJyb3dzZXJTZXJ2aWNlIiwiZ2V0IiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJsbmdSZXNvdXJjZVNlcnZpY2UiLCJpY29uU2VydmljZSIsInNlbGVjdGVkZmlsZSIsInYiLCJzZWxlY3RlZG5vZGUiLCJmaW5kU2VsZWN0ZWROb2RlQnlQYXRoIiwiYiIsInNlbGVjdE5vZGUiLCJpY29uRGVsZXRlIiwiQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb24iLCJpY29uRWRpdCIsIkJyb3dzZXJDb21wb25lbnRFZGl0SWNvbiIsImljb25Gb2xkZXJDb2xsYWJzZWQiLCJCcm93c2VyQ29tcG9uZW50Rm9sZGVyQ2xvc2VkSWNvbiIsImljb25Gb2xkZXJFbXB0eSIsIkJyb3dzZXJDb21wb25lbnRGb2xkZXJFbXB0eUljb24iLCJpY29uRm9sZGVyTmV3IiwiQnJvd3NlckNvbXBvbmVudEZvbGRlck5ld0ljb24iLCJpY29uRm9sZGVyT3BlbiIsIkJyb3dzZXJDb21wb25lbnRGb2xkZXJPcGVuSWNvbiIsImljb25SZWZyZXNoIiwiQnJvd3NlckNvbXBvbmVudFJlZnJlc2hJY29uIiwic2VsZWN0RmlsZSIsImxlbmd0aCIsInNlbGVjdGVkRmlsZSIsImV4aXRFZGl0TW9kZSIsInRhcmdldEVsZW1lbnQiLCJmb3JFYWNoIiwiaXRtIiwiY2xlYXJOZXdDaGlsZE5vZGVzIiwicmVzZXROb2RlRWRpdE1vZGUiLCJkZWxldGVGaWxlIiwiY29uZmlybURlbGV0ZUZpbGUiLCJzdWJzY3JpYmUiLCJjb25maXJtIiwiRGVsZXRlRmlsZSIsImFwaXVybCIsIkZpbGVuYW1lIiwicmVzdWx0IiwiZGVsZXRlTm9kZSIsIm5vZGUiLCJjb25maXJtRGVsZXRlTm9kZSIsIkRlbGV0ZU5vZGUiLCJwYXJlbnROb2RlIiwiZmluZFBhcmVudE5vZGUiLCJOb2RlIiwiZmlsbFBhdGgiLCJlZGl0RmlsZSIsImVkaXROb2RlIiwibmV3Tm9kZSIsIml0ZW0iLCJwdXNoIiwibmdPbkluaXQiLCJHZXROb2RlIiwic2V0UGF0aFRvQWxsTm9kZXMiLCJyZWZyZXNoTm9kZSIsInN3aXRjaEV4cGFuZE5vZGUiLCJyZW5hbWVGaWxlIiwibmV3RmlsZW5hbWUiLCJSZW5hbWVGaWxlIiwicmVuYW1lTm9kZSIsIm5ld0ZvbGRlcm5hbWUiLCJSZW5hbWVOb2RlIiwiU2F2ZU5vZGUiLCJlbmRzV2l0aCIsImVtaXQiLCJHZXRGaWxlcyIsImZpbGVuYW1lIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJmaW5kIiwidXBsb2FkQ29tcGxldGUiLCJ1cGxvYWRJZExpc3QiLCJlbGVtZW50IiwiaW5kZXhPZiIsImlkIiwicG9wIiwiU2F2ZUZpbGUiLCJ1cGxvYWRlZEZpbGVNb3ZlZCIsInNwbGljZSIsInBhcmVudFBhdGgiLCJub2RlVG9GaW5kIiwiY2hpbGQiLCJwYXRoIiwidW5kZWZpbmVkIiwicGF0aEFycmF5Iiwic3BsaXQiLCJmaW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkiLCJpbmRleCIsImRlcHMiLCJ0b2tlbiIsImkxIiwiSHR0cENsaWVudCIsImkwIiwiSW5qZWN0b3IiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm91dHB1dHMiLCJob3N0IiwibGlzdGVuZXJzIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL2Jyb3dzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XG5pbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgU0FDSUNPTl9TRVJWSUNFLFxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxuICBTYWNEZWZhdWx0SWNvblNlcnZpY2UsXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcbiAgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWZpbGVicm93c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3NlcmZpbGUnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcbmltcG9ydCB7IElCcm93c2VyTm9kZSB9IGZyb20gJy4vbW9kZWxzL2Jyb3dzZXJub2RlJztcbmltcG9ydCB7IElCcm93c2VyTm9kZVJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3Nlcm5vZGVyZXNwb25zZSc7XG5cbi8qKlxuICogQmFzZSBDb21wb25lbnQgZsO8ciBGaWxlIEJyb3dzZXJcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjRmlsZUJyb3dzZXJDb21tb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAvKipcbiAgICogU2VydmljZSBmw7xyIEZpbGUgQnJvd3NlciBadWdyaWZmIChCYWNrZW5kKVxuICAgKi9cbiAgcHJpdmF0ZSBicm93c2VyU2VydmljZTogSVNhY0ZpbGVCcm93c2VyU2VydmljZTtcbiAgLyoqXG4gICAqIEljb24gc2VydmljZSB0byByZWNlaXZlIGljb24gY2xhc3NlcyBmb3IgdWlcbiAgICovXG4gIHByaXZhdGUgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcbiAgLyoqXG4gICAqIEZpbGUgd2VsY2hlcyBiZWltIHN0YXJ0ZW4gZGVzIEJyb3dzZXJzIGJlcmVpdHMgc2VsZWt0aWVydCBpc3RcbiAgICovXG4gIHByaXZhdGUgcHJlc2VsZWNlZGZpbGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaWVyd2VpdGVydW5nZW4gZsO8ciBGaWxlYXVzd2FobCB1bmQgVXBsb2FkLiBEYXRlaWVyd2VpdGVydW5nIG1pdCBQdW5rdCB1bmRcbiAgICogZ2V0cmVubnQgZHVyY2ggS29tbWEgZsO8ciBtZWhyIGFscyBlaW5lIEVyd2VpdGVydW5nIChFeGFtcGxlOiBcIi5qcGcsLmdpZlwiKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZWR0eXBlczogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBsw7ZzY2hlbiBlaW5lciBEYXRlaVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZmlsZWRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyB1bWJlbmVubmVuIGVpbmVyIERhdGVpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dmaWxlcmVuYW1lOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEVybGF1YnQgZGVuIFVwbG9hZCB2b24gRGF0ZWllblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZmlsZXVwbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBlcnN0ZWxsZW4gZWluZXMgbmV1ZW4gT3JkbmVyc1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93Zm9sZGVyY3JlYXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEVybGF1YnQgZGFzIGzDtnNjaGVuIGVpbmVzIE9yZG5lcnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcmRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBFcmxhdWJ0IGRhcyBVbWJlbmVubmVuIGVpbmVzIE9yZG5lcnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcnJlbmFtZTogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBVUkwgZsO8ciBCYWNrZW5kIEFQSVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFwaXVybDogc3RyaW5nO1xuICAvKipcbiAgICogT3V0cHV0IEVtaXR0ZXIgd2VubiBGaWxlIHNlbGVrdGllcnQgd2lyZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxuICAgKi9cbiAgcHVibGljIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XG4gIC8qKlxuICAgKiBSb290IE5vZGUgSXRlbSBmw7xyIFRyZWVcbiAgICovXG4gIHB1YmxpYyByb290Tm9kZTogSUJyb3dzZXJOb2RlID0ge1xuICAgIE5hbWU6ICcnLFxuICAgIENoaWxkTm9kZXM6IFtdLFxuICAgIEZpbGVzOiBbXSxcbiAgICBJc0V4cGFuZGVkOiB0cnVlLFxuICAgIElzRWRpdE1vZGU6IGZhbHNlLFxuICAgIElzTmV3Tm9kZTogZmFsc2UsXG4gICAgUGF0aDogJycsXG4gIH07XG4gIC8qKlxuICAgKiBTZWxlY3RlZCBGaWxlIE5hbWVcbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFNlbGVjdGVkIEZpbGUgSXRlbVxuICAgKi9cbiAgcHVibGljIHNlbGVjdGVkRmlsZUl0ZW06IElCcm93c2VyRmlsZSA9IG51bGw7XG4gIC8qKlxuICAgKiBTZWxlY3RlZCBOb2RlIEl0ZW1cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZE5vZGU6IElCcm93c2VyTm9kZSA9IG51bGw7XG4gIC8qKlxuICAgKiBMaXN0ZSB2b24gVXBsb2Fkc1xuICAgKi9cbiAgcHVibGljIHVwbG9hZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaHR0cGNsaWVudCBBbmd1bGFyIEhUVFAgQ2xpZW50XG4gICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIEluamVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihodHRwY2xpZW50OiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcbiAgICAgIG5ldyBTYWNEZWZhdWx0RmlsZUJyb3dzZXJTZXJ2aWNlKGh0dHBjbGllbnQpXG4gICAgKTtcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxuICAgICAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxuICAgICAgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpXG4gICAgKTtcbiAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChcbiAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXG4gICAgKTtcblxuICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICBTQUNJQ09OX1NFUlZJQ0UsXG4gICAgICBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKClcbiAgICApO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgLyoqXG4gICAqIFNldHp0IGRlbiBTZWxlY2VkIE5vZGUgw7xiZXIgZGVuIFBmYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRmaWxlKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBzZWxlY3RlZG5vZGUgPSB0aGlzLmZpbmRTZWxlY3RlZE5vZGVCeVBhdGgodGhpcy5yb290Tm9kZSwgdik7XG5cbiAgICBpZiAoc2VsZWN0ZWRub2RlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdE5vZGUoc2VsZWN0ZWRub2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNlbGVjZWRmaWxlID0gdjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZGVsZXRlIGljb25cbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRGVsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb247XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGljb24gY2xhc3MgZm9yIGVkaXQgaWNvblxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25FZGl0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEVkaXRJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIENTUyBpY29uIGZvciBmb2xkZXJzIGluIHRyZWUgdGhlcmUgYXJlIGNvbGxhYnNlZFxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJDb2xsYWJzZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyQ2xvc2VkSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZm9sZGVycyB3aXRob3V0IHN1YmZvbGRlcnNcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyRW1wdHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyRW1wdHlJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIENTUyBpY29uIGZvciBuZXcgZm9sZGVycyBhY3Rpb25cbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyTmV3KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEZvbGRlck5ld0ljb247XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGljb24gZm9yIGZvbGRlcnMgaW4gdHJlZSB0aGVyZSBhcmUgZXhwYW5kZWRcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgKi9cbiAgcHVibGljIGdldCBpY29uRm9sZGVyT3BlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRGb2xkZXJPcGVuSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgcmVmcmVzaCBpY29uXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblJlZnJlc2goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50UmVmcmVzaEljb247XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGbDvHIgU2VsZWN0ZWQgRmlsZS4gSXN0IGFuIElucHV0IFByb3BlcnR5IGdlYnVuZGVuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkZmlsZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5zZWxlY3RGaWxlICYmIHRoaXMuc2VsZWN0RmlsZS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLyoqXG4gICAqIEhvc3RMaXN0ZW5lciB3ZWxjaGVyIGRlbiBFZGl0IE1vZGUgYmVpIGFsbGVuIEZpbGVzIHVuZCBOb2RlcyBiZWVuZGV0LlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgLyoqXG4gICAqIENsaWNrIEV2ZW50XG4gICAqL1xuICBwdWJsaWMgZXhpdEVkaXRNb2RlKHRhcmdldEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzLmZvckVhY2goKGl0bSkgPT4gKGl0bS5Jc0VkaXRNb2RlID0gZmFsc2UpKTtcblxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5zZWxlY3RlZE5vZGUgfHxcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuTmFtZSA9PT0gbnVsbCB8fFxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5OYW1lLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogTMO2c2NodCBlaW4gRmlsZVxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlRmlsZShmaWxlOiBJQnJvd3NlckZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVGaWxlKGZpbGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAgIC5EZWxldGVGaWxlKFxuICAgICAgICAgICAgdGhpcy5hcGl1cmwsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcbiAgICAgICAgICAgIHRoaXMuYWxsb3dlZHR5cGVzXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzID0gcmVzdWx0LkZpbGVzO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVOb2RlKG5vZGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAgIC5EZWxldGVOb2RlKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgpXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZmluZFBhcmVudE5vZGUodGhpcy5yb290Tm9kZSwgbm9kZSk7XG4gICAgICAgICAgICBwYXJlbnROb2RlLkNoaWxkTm9kZXMgPSByZXN1bHQuTm9kZS5DaGlsZE5vZGVzO1xuXG4gICAgICAgICAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsbFBhdGgoaXRtLCAnJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3ROb2RlKHBhcmVudE5vZGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHp0IGVpbiBGaWxlIGluIGRlbiBFZGl0IE1vZGVcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3ZWxjaGVzIGluIGRlbiBFZGl0IE1vZGUgZ2VzZXR6dCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIGVkaXRGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IHZvaWQge1xuICAgIGZpbGUuSXNFZGl0TW9kZSA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0enQgZWluZW4gTm9kZSBpbiBkZW4gRWRpdCBNb2RlXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBiZWFyYmVpdGV0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgZWRpdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgbm9kZS5Jc0VkaXRNb2RlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcnpldWd0IGVpbmVuIG5ldWVuIE5vZGUgaW0gVHJlZVxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHVudGVyIHdlbGNoZW0gZWluIG5ldWVyIE5vZGUgZXJzdGVsbHQgd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBuZXdOb2RlKG5vZGU6IElCcm93c2VyTm9kZSkge1xuICAgIGNvbnN0IGl0ZW06IElCcm93c2VyTm9kZSA9IHtcbiAgICAgIENoaWxkTm9kZXM6IFtdLFxuICAgICAgRmlsZXM6IFtdLFxuICAgICAgSXNFZGl0TW9kZTogZmFsc2UsXG4gICAgICBJc0V4cGFuZGVkOiBmYWxzZSxcbiAgICAgIE5hbWU6ICcnLFxuICAgICAgUGF0aDogbm9kZS5QYXRoLFxuICAgICAgSXNOZXdOb2RlOiB0cnVlLFxuICAgIH07XG5cbiAgICBub2RlLkNoaWxkTm9kZXMucHVzaChpdGVtKTtcbiAgICB0aGlzLnNlbGVjdE5vZGUoaXRlbSk7XG4gICAgdGhpcy5lZGl0Tm9kZShpdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IEV2ZW50IGRlciBLb21wb25lbnRlXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgLkdldE5vZGUodGhpcy5hcGl1cmwsICcnLCB0aGlzLmFsbG93ZWR0eXBlcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5yb290Tm9kZSA9IHtcbiAgICAgICAgICBOYW1lOiByZXN1bHQuTm9kZS5OYW1lLFxuICAgICAgICAgIEZpbGVzOiByZXN1bHQuTm9kZS5GaWxlcyxcbiAgICAgICAgICBDaGlsZE5vZGVzOiByZXN1bHQuTm9kZS5DaGlsZE5vZGVzLFxuICAgICAgICAgIElzRXhwYW5kZWQ6IHRydWUsXG4gICAgICAgICAgSXNFZGl0TW9kZTogZmFsc2UsXG4gICAgICAgICAgSXNOZXdOb2RlOiBmYWxzZSxcbiAgICAgICAgICBQYXRoOiAnLycsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IHRoaXMucm9vdE5vZGU7XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgRmlsZSBlcm5ldXQgc2V0emVuLCB3ZW5uIFByb3BlcnR5IGdlc2V0enQgd3VyZGUgYmV2b3IgRGF0ZW4gdm9tIFNlcnZpY2UgZ2VsYWRlbiB3dXJkZW4uXG4gICAgICAgIGlmICh0aGlzLnByZXNlbGVjZWRmaWxlICE9PSBudWxsICYmIHRoaXMucHJlc2VsZWNlZGZpbGUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRmaWxlID0gdGhpcy5wcmVzZWxlY2VkZmlsZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOb2RlXG4gICAqL1xuICBwdWJsaWMgcmVmcmVzaE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXG4gICAgICAuR2V0Tm9kZSh0aGlzLmFwaXVybCwgbm9kZS5QYXRoLCB0aGlzLmFsbG93ZWR0eXBlcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgbm9kZS5DaGlsZE5vZGVzID0gcmVzdWx0Lk5vZGUuQ2hpbGROb2RlcztcbiAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xuXG4gICAgICAgIHRoaXMuc2V0UGF0aFRvQWxsTm9kZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBlaW5lIERhdGVpIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBuZXdGaWxlbmFtZSBOZXVlciBEYXRlaW5hbWVcbiAgICovXG4gIHB1YmxpYyByZW5hbWVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSwgbmV3RmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGZpbGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKCFuZXdGaWxlbmFtZSB8fCBuZXdGaWxlbmFtZSA9PT0gbnVsbCB8fCBuZXdGaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIENhbmNlbCwgSW52YWxpZCBGaWxlbmFtZVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmaWxlLkZpbGVuYW1lICE9PSBuZXdGaWxlbmFtZSkge1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuUmVuYW1lRmlsZShcbiAgICAgICAgICB0aGlzLmFwaXVybCxcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcbiAgICAgICAgICBuZXdGaWxlbmFtZSxcbiAgICAgICAgICB0aGlzLmFsbG93ZWR0eXBlc1xuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBlaW4gTm9kZSB1bWJlbmFubnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB3ZWxjaGVyIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOZXVlciBPcmRuZXJuYW1lXG4gICAqL1xuICBwdWJsaWMgcmVuYW1lTm9kZShub2RlOiBJQnJvd3Nlck5vZGUsIG5ld0ZvbGRlcm5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIG5vZGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKCFub2RlLklzTmV3Tm9kZSkge1xuICAgICAgaWYgKFxuICAgICAgICAhbmV3Rm9sZGVybmFtZSB8fFxuICAgICAgICBuZXdGb2xkZXJuYW1lID09PSBudWxsIHx8XG4gICAgICAgIG5ld0ZvbGRlcm5hbWUubGVuZ3RoID09PSAwXG4gICAgICApIHtcbiAgICAgICAgLy8gQ2FuY2VsIFJlbmFtZS4gSW52YWxpZCBGb2xkZXJuYW1lXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUuTmFtZSAhPT0gbmV3Rm9sZGVybmFtZSkge1xuICAgICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXG4gICAgICAgICAgLlJlbmFtZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyTm9kZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBub2RlLk5hbWUgPSByZXN1bHQuTm9kZS5OYW1lO1xuXG4gICAgICAgICAgICB0aGlzLnNldFBhdGhUb0FsbE5vZGVzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgIW5ld0ZvbGRlcm5hbWUgfHxcbiAgICAgICAgbmV3Rm9sZGVybmFtZSA9PT0gbnVsbCB8fFxuICAgICAgICBuZXdGb2xkZXJuYW1lLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuTmFtZSA9IG5ld0ZvbGRlcm5hbWU7XG4gICAgICBub2RlLklzTmV3Tm9kZSA9IGZhbHNlO1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuU2F2ZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIG5vZGUuTmFtZSA9IHJlc3VsdC5Ob2RlLk5hbWU7XG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xuXG4gICAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBGaWxlIHNlbGVrdGllcnQgd2lyZFxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgc2VsZWt0aWVydCB3aXJkXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0RmlsZShmaWxlOiBJQnJvd3NlckZpbGUpIHtcbiAgICBpZiAoIWZpbGUuSXNFZGl0TW9kZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMuZm9yRWFjaCgoaXRtKSA9PiAoaXRtLklzRWRpdE1vZGUgPSBmYWxzZSkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zZWxlY3RlZE5vZGUuUGF0aC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IHRoaXMuc2VsZWN0ZWROb2RlLlBhdGggKyAnLycgKyBmaWxlLkZpbGVuYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9ICcvJyArIGZpbGUuRmlsZW5hbWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVJdGVtID0gZmlsZTtcbiAgICB0aGlzLmZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBOb2RlIHNlbGVrdGllcnQgd2lyZFxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgc2VsZWt0aWVydCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIHNlbGVjdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgRWRpdCBNb2RlIGluIGFsbCBOb2Rlc1xuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XG5cbiAgICBpZiAoIW5vZGUuRmlsZXMpIHtcbiAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcbiAgICAgICAgLkdldEZpbGVzKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgsIHRoaXMuYWxsb3dlZHR5cGVzKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG5cbiAgICAgICAgICBpZiAodGhpcy5wcmVzZWxlY2VkZmlsZSAhPT0gbnVsbCAmJiB0aGlzLnByZXNlbGVjZWRmaWxlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gdGhpcy5wcmVzZWxlY2VkZmlsZS5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgIHRoaXMucHJlc2VsZWNlZGZpbGUubGFzdEluZGV4T2YoJy8nKSArIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gbm9kZS5GaWxlcy5maW5kKChpdG0pID0+IGl0bS5GaWxlbmFtZSA9PT0gZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWxlKGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhwYW5kL0NvbGxhYnNlIE1ldGhvZGUgZsO8ciBOb2Rlc1xuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgZ2XDtmZmbmV0IG9kZXIgZ2VzY2hsb3NzZW4gd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBzd2l0Y2hFeHBhbmROb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xuICAgIGlmIChub2RlLklzRXhwYW5kZWQpIHtcbiAgICAgIG5vZGUuSXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLklzRXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2RlIGRpZSBBdWZnZXJ1ZmVuIHdlcmRlbiBtdXNzLCB3ZW5uIGVpbiBVcGxvYWQgYmVlbmRldCBpc3QuXG4gICAqIEBwYXJhbSBwYXJhbSBQYXJhbWV0ZXIgZGVzIGhvY2hnZWxhZGVuZW4gRmlsZXNcbiAgICovXG4gIHB1YmxpYyB1cGxvYWRDb21wbGV0ZShub2RlOiBJQnJvd3Nlck5vZGUsIHVwbG9hZElkTGlzdDogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAodXBsb2FkSWRMaXN0ICE9PSBudWxsKSB7XG4gICAgICB1cGxvYWRJZExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy51cGxvYWRzLmluZGV4T2YoZWxlbWVudCkgPCAwKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRzLnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy51cGxvYWRzLnBvcCgpO1xuICAgIGlmIChpZCkge1xuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxuICAgICAgICAuU2F2ZUZpbGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgaWQsIHRoaXMuYWxsb3dlZHR5cGVzKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMgPSByZXN1bHQuRmlsZXM7XG4gICAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVNb3ZlZChpZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXG5cbiAgLyoqXG4gICAqIEFic3RyYWt0ZSBDb25maXJtIE1ldGhvZGUgd2VsY2hlIGltcGxlbWVudGllcnQgd2VyZGVuIG11c3MuIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpbmVcbiAgICogRGF0ZWkgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGbDvHIgd2VsY2hlcyBlaW4gRGVsZXRlIENvbmZpcm0gZWluZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIEFic3RyYWt0ZSBDb25maXJtIE1ldGhvZGUgd2VsY2hlIGltcGxlbWVudGllcnQgd2VyZGVuIG11c3MuIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpblxuICAgKiBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxuICAgKiBAcGFyYW0gZm9sZGVyIE9yZGVybiBmw7xyIHdlbGNoZW4gZWluIERlbGV0ZSBDb25maXJtIGVpbmdlZm9yZGVydCB3ZXJkZW4gc29sbC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25maXJtRGVsZXRlTm9kZShmb2xkZXI6IElCcm93c2VyTm9kZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBBYnN0cmFrdGUgTWV0aG9kZSBkaWUgQXVmZ2VydWZlbiB3aXJkLCB3ZW5uIGRhcyBIb2NoZ2VsYWRlbmUgRmlsZSBhdXMgZGVtIFRlbXAgRm9sZGVyIGluIGRpZVxuICAgKiBTdHJ1a3R1ciB2ZXJzY2hvYmVuIHd1cmRlLlxuICAgKiBAcGFyYW0gdXBsb2FkaWQgSUQgZGVzIFVwbG9hZHNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGxvYWRlZEZpbGVNb3ZlZCh1cGxvYWRpZDogc3RyaW5nKTogdm9pZDtcblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXG5cbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAvKipcbiAgICogUmVrdXJzaXZlIE1ldGhvZGUgd2VsY2hlIGJlaW0gTm9kZSB1bmQgYWxsIHNlaW5lbiBDaGlsZHMgbmV1ZSBOb2RlcyBlbnRmZXJudFxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIGJlaSB3ZWxjaGVtIGFsbGUgbmV1ZW4gTm9kZXMgZW50ZmVybnQgd2VyZGVuIHNvbGwuXG4gICAqL1xuICBwcml2YXRlIGNsZWFyTmV3Q2hpbGROb2Rlcyhub2RlOiBJQnJvd3Nlck5vZGUpIHtcbiAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICBpZiAoaXRtLklzTmV3Tm9kZSkge1xuICAgICAgICBub2RlLkNoaWxkTm9kZXMuc3BsaWNlKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKGl0bSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4gdGhpcy5jbGVhck5ld0NoaWxkTm9kZXMoaXRtKSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZGVuIFBmYWQgZsO8ciBlaW5lbiBOb2RlIGVyemV1Z3RcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBmw7xyIHdlbGNoZW4gZGVyIFBmYWQgZXJ6ZXVndCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gcGFyZW50UGF0aCDDnGJlcmdlb3JkbmV0ZXIgUGZhZFxuICAgKi9cbiAgcHJpdmF0ZSBmaWxsUGF0aChub2RlOiBJQnJvd3Nlck5vZGUsIHBhcmVudFBhdGg6IHN0cmluZykge1xuICAgIG5vZGUuUGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBub2RlLk5hbWU7XG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4ge1xuICAgICAgdGhpcy5maWxsUGF0aChpdG0sIG5vZGUuUGF0aCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3VjaHQgZGVuIMO8YmVyZ2VvcmRuZXRlbiBOb2RlIGltIFRyZWVcbiAgICogQHBhcmFtIG5vZGUgQWt0dWVsbGVyIE5vZGVcbiAgICogQHBhcmFtIG5vZGVUb0ZpbmQgTm9kZSB3ZWxjaGVyIGdlZnVuZGVuIHdlcmRlbiBzb2xsXG4gICAqIEByZXR1cm5zIE5vZGUgd2VubiBlciBnZWZ1bmRlbiB3dXJkZSwgYW5zb25zdGVuIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kUGFyZW50Tm9kZShcbiAgICBub2RlOiBJQnJvd3Nlck5vZGUsXG4gICAgbm9kZVRvRmluZDogSUJyb3dzZXJOb2RlXG4gICk6IElCcm93c2VyTm9kZSB7XG4gICAgaWYgKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKG5vZGVUb0ZpbmQpID49IDApIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5DaGlsZE5vZGVzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRQYXJlbnROb2RlKGNoaWxkLCBub2RlVG9GaW5kKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gVVJMIFBmYWRcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIHBhdGggUGZhZCBuYWNoIHdlbGNoZW0gZ2VzdWNodCB3aXJkXG4gICAqIEByZXR1cm5zIE5vZGUgd2VsY2hlciB6dW0gZ2VzdWNodGVuIFBmYWQgcGFzc3QuIFdlbm4ga2VpbiBOb2RlIGdlZnVuZGVuIHdpcmQsIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoKFxuICAgIG5vZGU6IElCcm93c2VyTm9kZSxcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogSUJyb3dzZXJOb2RlIHtcbiAgICAvLyBDYW5jZWwgd2VubiBQZmFkIG5pY2h0IGRlZmluaWVydFxuICAgIGlmIChwYXRoID09PSB1bmRlZmluZWQgfHwgcGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gUGZhZCBpbiBBcnJheSBzcGxpdHRlbiB1bmQgUm9vdCBGb2xkZXJuYW1lIHNldHplblxuICAgIGNvbnN0IHBhdGhBcnJheSA9IHBhdGguc3BsaXQoJy8nKTtcbiAgICBwYXRoQXJyYXlbMF0gPSB0aGlzLnJvb3ROb2RlLk5hbWU7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkobm9kZSwgcGF0aEFycmF5LCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gQXJyYXkgdm9uIE5vZGUgTmFtZW5cbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIHBhdGggQXJyYXkgdm9uIE5vZGUgTmFtZW4sIHdlbGNoZSBkaWUgSGlyYXJjaHkgZGVzIFBmYWRlcyBhYmJpbGRlblxuICAgKiBAcGFyYW0gaW5kZXggQWt0dWVsbGVyIEluZGV4IGltIFBBVEggQXJyYXlcbiAgICogQHJldHVybnMgTm9kZSB3ZW5uIGVpbmVyIGdlZnVuZGVuIHd1cmRlLCBhbnNvbnN0ZW4gTlVMTFxuICAgKi9cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoXG4gICAgbm9kZTogSUJyb3dzZXJOb2RlLFxuICAgIHBhdGg6IHN0cmluZ1tdLFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogSUJyb3dzZXJOb2RlIHtcbiAgICAvLyBDaGVjayBvYiBPcmRuZXIga29ycmVrdC4gTGV0emVyIE9yZG5lciB6dXLDvGNrZ2ViZW4uIFBhdGggTGFzdCBJbmRleCBpc3QgZGVyIEZpbGVuYW1lXG4gICAgaWYgKG5vZGUuTmFtZSA9PT0gcGF0aFtpbmRleF0gJiYgcGF0aC5sZW5ndGggLSAyID09PSBpbmRleCkge1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSBlbHNlIGlmIChub2RlLk5hbWUgPT09IHBhdGhbaW5kZXhdKSB7XG4gICAgICAvLyBFeHBhbmQgTm9kZVxuICAgICAgbm9kZS5Jc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBub2RlLkNoaWxkTm9kZXMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoaXRlbSwgcGF0aCwgaW5kZXggKyAxKTtcblxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWt1cnNpdmUgTWV0aG9kZSB3ZWxjaGUgYmVpbSBOb2RlIHVuZCBhbGwgc2VpbmVuIENoaWxkcyBkZW4gRWRpdCBNb2RlIGJlZW5kZXQuXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgYmVpIHdlbGNoZW0gZGVyIEVkaXQgTW9kZSBiZWVuZGV0IHdlcmRlbiBzb2xsXG4gICAqL1xuICBwcml2YXRlIHJlc2V0Tm9kZUVkaXRNb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xuICAgIGlmIChub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKHRoaXMucm9vdE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLklzRWRpdE1vZGUgPSBmYWxzZTtcblxuICAgICAgaWYgKG5vZGUuQ2hpbGROb2Rlcykge1xuICAgICAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKGl0bSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR6dCBkZW4gUGZhZCBpbiBhbGxlbiBOb2Rlc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRQYXRoVG9BbGxOb2RlcygpIHtcbiAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XG4gICAgICB0aGlzLmZpbGxQYXRoKGl0bSwgJycpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6Ijt5RkFDQSxPQUNFQSxTQUFTLENBQ1RDLFlBQVksQ0FDWkMsWUFBWSxDQUVaQyxLQUFLLENBRUxDLE1BQU0sS0FDRCxlQUFlLENBTXRCLE9BQ0VDLGVBQWUsQ0FDZkMsdUJBQXVCLENBQ3ZCQyx3QkFBd0IsQ0FDeEJDLHFCQUFxQixDQUNyQkMsOEJBQThCLEtBQ3pCLGdCQUFnQixDQUN2QixPQUNFQyxzQkFBc0IsQ0FDdEJDLDRCQUE0QixLQUN2Qix3Q0FBd0MsQ0FDL0MsT0FBU0MsNkJBQTZCLEtBQVEseUNBQXlDLEMseUVBTXZGOztHQUlBLE1BQU0sTUFBZ0IsQ0FBQUMsb0JBQW9CLENBb0d4QztBQUVBO0FBRUE7Ozs7T0FLQUMsWUFBWUMsVUFB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
@@ -5,4 +5,4 @@ cov_un97vz0gc=function(){return actualCoverage;};}return actualCoverage;}cov_un9
5
5
  * Konstruktor
6
6
  * @param init Initale Werte der Klasse
7
7
  */constructor(init){cov_un97vz0gc().f[0]++;cov_un97vz0gc().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGVkZWxldGVyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZWRlbGV0ZXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7T0FHRztJQUNILFlBQVksSUFBd0M7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gbMO2c2NoZW4gZWluZXMgRmlsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaW5pdCBJbml0YWxlIFdlcnRlIGRlciBLbGFzc2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdD4pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBmYWRcbiAgICovXG4gIFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIEVybGF1YnRlIERhdGVpdHlwZW5cbiAgICovXG4gIEFsbG93ZWRUeXBlczogc3RyaW5nO1xufVxuIl19
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfdW45N3Z6MGdjIiwiZiIsInMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlZGVsZXRlcmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtsYXNzZSBmw7xyIEFQSSBSZXF1ZXN0IHp1bSBsw7ZzY2hlbiBlaW5lcyBGaWxlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3NlckZpbGVEZWxldGVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRhbGUgV2VydGUgZGVyIEtsYXNzZVxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3NlckZpbGVEZWxldGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZFxuICAgKi9cbiAgUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogRXJsYXVidGUgRGF0ZWl0eXBlblxuICAgKi9cbiAgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLHdCQUF3QixDQUNuQzs7O09BSUFDLFlBQVlDLElBQXdDLEVBQUFDLGFBQUEsR0FBQUMsQ0FBQSxNQUFBRCxhQUFBLEdBQUFFLENBQUEsTUFDbERDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBRUwsSUFBSSxDQUFDLENBQzNCLEMiLCJpZ25vcmVMaXN0IjpbXX0=
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfdW45N3Z6MGdjIiwiZiIsInMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlZGVsZXRlcmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtsYXNzZSBmw7xyIEFQSSBSZXF1ZXN0IHp1bSBsw7ZzY2hlbiBlaW5lcyBGaWxlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3NlckZpbGVEZWxldGVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRhbGUgV2VydGUgZGVyIEtsYXNzZVxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3NlckZpbGVEZWxldGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZFxuICAgKi9cbiAgUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogRXJsYXVidGUgRGF0ZWl0eXBlblxuICAgKi9cbiAgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLHdCQUF3QixDQUNuQzs7O09BSUFDLFlBQVlDLElBQXdDLEVBQUFDLGFBQUEsR0FBQUMsQ0FBQSxLQUFBRCxDQUFBLGdCQUFBRSxDQUFBLE1BQ2xEQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
@@ -5,4 +5,4 @@ cov_4ljmsfy9y=function(){return actualCoverage;};}return actualCoverage;}cov_4lj
5
5
  * Konstruktor
6
6
  * @param init Initiale Werte
7
7
  */constructor(init){cov_4ljmsfy9y().f[0]++;cov_4ljmsfy9y().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGVyZW5hbWVyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXJlbmFtZXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7T0FHRztJQUNILFlBQVksSUFBd0M7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQWNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBkZW4gQVBJIFJlcXVlc3QgenVtIHVtYmVuZW5uZW4gZWluZXIgRGF0ZWlcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaW5pdCBJbml0aWFsZSBXZXJ0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3NlckZpbGVSZW5hbWVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZCB6dSBEYXRlaVxuICAgKi9cbiAgUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogTmV1ZXIgRGF0ZWluYW1lXG4gICAqL1xuICBOZXdGaWxlbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogRXJsYXVidGUgRGF0ZWllcndlaXRlcnVuZ2VuXG4gICAqL1xuICBBbGxvd2VkVHlwZXM6IHN0cmluZztcbn1cbiJdfQ==
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfNGxqbXNmeTl5IiwiZiIsInMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlcmVuYW1lcmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtsYXNzZSBmw7xyIGRlbiBBUEkgUmVxdWVzdCB6dW0gdW1iZW5lbm5lbiBlaW5lciBEYXRlaVxuICovXG5leHBvcnQgY2xhc3MgQnJvd3NlckZpbGVSZW5hbWVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRpYWxlIFdlcnRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkIHp1IERhdGVpXG4gICAqL1xuICBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOZXVlciBEYXRlaW5hbWVcbiAgICovXG4gIE5ld0ZpbGVuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaWVyd2VpdGVydW5nZW5cbiAgICovXG4gIEFsbG93ZWRUeXBlczogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiO3lGQUFBOztHQUdBLE1BQU0sTUFBTyxDQUFBQSx3QkFBd0IsQ0FDbkM7OztPQUlBQyxZQUFZQyxJQUF3QyxFQUFBQyxhQUFBLEdBQUFDLENBQUEsTUFBQUQsYUFBQSxHQUFBRSxDQUFBLE1BQ2xEQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfNGxqbXNmeTl5IiwiZiIsInMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlcmVuYW1lcmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtsYXNzZSBmw7xyIGRlbiBBUEkgUmVxdWVzdCB6dW0gdW1iZW5lbm5lbiBlaW5lciBEYXRlaVxuICovXG5leHBvcnQgY2xhc3MgQnJvd3NlckZpbGVSZW5hbWVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRpYWxlIFdlcnRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkIHp1IERhdGVpXG4gICAqL1xuICBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOZXVlciBEYXRlaW5hbWVcbiAgICovXG4gIE5ld0ZpbGVuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaWVyd2VpdGVydW5nZW5cbiAgICovXG4gIEFsbG93ZWRUeXBlczogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiO3lGQUFBOztHQUdBLE1BQU0sTUFBTyxDQUFBQSx3QkFBd0IsQ0FDbkM7OztPQUlBQyxZQUFZQyxJQUF3QyxFQUFBQyxhQUFBLEdBQUFDLENBQUEsS0FBQUQsQ0FBQSxnQkFBQUUsQ0FBQSxNQUNsREMsTUFBTSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFFTCxJQUFJLENBQUMsQ0FDM0IsQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -5,4 +5,4 @@ cov_hq2i0uim1=function(){return actualCoverage;};}return actualCoverage;}cov_hq2
5
5
  * Constructor
6
6
  * @param init Initale Parameter
7
7
  */constructor(init){cov_hq2i0uim1().f[0]++;cov_hq2i0uim1().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGVzYXZlcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVzYXZlcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7OztPQUdHO0lBQ0gsWUFBWSxJQUFzQztRQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBY0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcXVlc3QgenVtIHNwZWljaGVybiBlaW5lciBob2NoZ2VsYWRlbmVuIERhdGVpXG4gKi9cbmV4cG9ydCBjbGFzcyBCcm93c2VyRmlsZVNhdmVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRhbGUgUGFyYW1ldGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyRmlsZVNhdmVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZCBpbiB3ZWxjaGVtIGRlciBVcGxvYWQgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxcbiAgICovXG4gIHB1YmxpYyBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVcGxvYWQgSURcbiAgICovXG4gIHB1YmxpYyBVcGxvYWRJZDogc3RyaW5nO1xuICAvKipcbiAgICogRXJsYXVidGUgRGF0ZWl0eXBlblxuICAgKi9cbiAgcHVibGljIEFsbG93ZWRUeXBlczogc3RyaW5nO1xufVxuIl19
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyRmlsZVNhdmVSZXF1ZXN0IiwiY29uc3RydWN0b3IiLCJpbml0IiwiY292X2hxMmkwdWltMSIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXNhdmVyZXF1ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVxdWVzdCB6dW0gc3BlaWNoZXJuIGVpbmVyIGhvY2hnZWxhZGVuZW4gRGF0ZWlcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3Qge1xuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGluaXQgSW5pdGFsZSBQYXJhbWV0ZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkIGluIHdlbGNoZW0gZGVyIFVwbG9hZCBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIFVwbG9hZCBJRFxuICAgKi9cbiAgcHVibGljIFVwbG9hZElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaXR5cGVuXG4gICAqL1xuICBwdWJsaWMgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLHNCQUFzQixDQUNqQzs7O09BSUFDLFlBQVlDLElBQXNDLEVBQUFDLGFBQUEsR0FBQUMsQ0FBQSxNQUFBRCxhQUFBLEdBQUFFLENBQUEsTUFDaERDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBRUwsSUFBSSxDQUFDLENBQzNCLEMiLCJpZ25vcmVMaXN0IjpbXX0=
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyRmlsZVNhdmVSZXF1ZXN0IiwiY29uc3RydWN0b3IiLCJpbml0IiwiY292X2hxMmkwdWltMSIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXNhdmVyZXF1ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVxdWVzdCB6dW0gc3BlaWNoZXJuIGVpbmVyIGhvY2hnZWxhZGVuZW4gRGF0ZWlcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3Qge1xuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGluaXQgSW5pdGFsZSBQYXJhbWV0ZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEJyb3dzZXJGaWxlU2F2ZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkIGluIHdlbGNoZW0gZGVyIFVwbG9hZCBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIFVwbG9hZCBJRFxuICAgKi9cbiAgcHVibGljIFVwbG9hZElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaXR5cGVuXG4gICAqL1xuICBwdWJsaWMgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLHNCQUFzQixDQUNqQzs7O09BSUFDLFlBQVlDLElBQXNDLEVBQUFDLGFBQUEsR0FBQUMsQ0FBQSxLQUFBRCxDQUFBLGdCQUFBRSxDQUFBLE1BQ2hEQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
@@ -5,4 +5,4 @@ cov_1gh6wy5vlr=function(){return actualCoverage;};}return actualCoverage;}cov_1g
5
5
  * Konstruktor
6
6
  * @param init Initiale Werte
7
7
  */constructor(init){cov_1gh6wy5vlr().f[0]++;cov_1gh6wy5vlr().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlcm5vZGVkZWxldGVyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7T0FHRztJQUNILFlBQVksSUFBd0M7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQU1GIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gbMO2c2NoZW4gZWluZXMgTm9kZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaW5pdCBJbml0aWFsZSBXZXJ0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZFxuICAgKi9cbiAgUGF0aDogc3RyaW5nO1xufVxuIl19
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZURlbGV0ZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfMWdoNnd5NXZsciIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gbMO2c2NoZW4gZWluZXMgTm9kZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaW5pdCBJbml0aWFsZSBXZXJ0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZFxuICAgKi9cbiAgUGF0aDogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzJGQUFBOztHQUdBLE1BQU0sTUFBTyxDQUFBQSx3QkFBd0IsQ0FDbkM7OztPQUlBQyxZQUFZQyxJQUF3QyxFQUFBQyxjQUFBLEdBQUFDLENBQUEsTUFBQUQsY0FBQSxHQUFBRSxDQUFBLE1BQ2xEQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZURlbGV0ZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfMWdoNnd5NXZsciIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZWRlbGV0ZXJlcXVlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gbMO2c2NoZW4gZWluZXMgTm9kZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaW5pdCBJbml0aWFsZSBXZXJ0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3Nlck5vZGVEZWxldGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZFxuICAgKi9cbiAgUGF0aDogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzJGQUFBOztHQUdBLE1BQU0sTUFBTyxDQUFBQSx3QkFBd0IsQ0FDbkM7OztPQUlBQyxZQUFZQyxJQUF3QyxFQUFBQyxjQUFBLEdBQUFDLENBQUEsS0FBQUQsQ0FBQSxpQkFBQUUsQ0FBQSxNQUNsREMsTUFBTSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFFTCxJQUFJLENBQUMsQ0FDM0IsQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -5,4 +5,4 @@ cov_7u99zlci2=function(){return actualCoverage;};}return actualCoverage;}cov_7u9
5
5
  * Konstruktor
6
6
  * @param init Initiale Werte
7
7
  */constructor(init){cov_7u99zlci2().f[0]++;cov_7u99zlci2().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlcm5vZGVuZXdyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZW5ld3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDOzs7T0FHRztJQUNILFlBQVksSUFBcUM7UUFDL0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gYW5sZWdlbiBlaW5lcyBuZXVlbiBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVOZXdSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRpYWxlIFdlcnRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyTm9kZU5ld1JlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkXG4gICAqL1xuICBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOYW1lIGRlcyBuZXVlbiBOb2Rlc1xuICAgKi9cbiAgTmV3Rm9sZGVybmFtZTogc3RyaW5nO1xufVxuIl19
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZU5ld1JlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfN3U5OXpsY2kyIiwiZiIsInMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlbmV3cmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtsYXNzZSBmw7xyIEFQSSBSZXF1ZXN0IHp1bSBhbmxlZ2VuIGVpbmVzIG5ldWVuIE5vZGVzXG4gKi9cbmV4cG9ydCBjbGFzcyBCcm93c2VyTm9kZU5ld1JlcXVlc3Qge1xuICAvKipcbiAgICogS29uc3RydWt0b3JcbiAgICogQHBhcmFtIGluaXQgSW5pdGlhbGUgV2VydGVcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEJyb3dzZXJOb2RlTmV3UmVxdWVzdD4pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBmYWRcbiAgICovXG4gIFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIE5hbWUgZGVzIG5ldWVuIE5vZGVzXG4gICAqL1xuICBOZXdGb2xkZXJuYW1lOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLHFCQUFxQixDQUNoQzs7O09BSUFDLFlBQVlDLElBQXFDLEVBQUFDLGFBQUEsR0FBQUMsQ0FBQSxNQUFBRCxhQUFBLEdBQUFFLENBQUEsTUFDL0NDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBRUwsSUFBSSxDQUFDLENBQzNCLEMiLCJpZ25vcmVMaXN0IjpbXX0=
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZU5ld1JlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfN3U5OXpsY2kyIiwiZiIsInMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlbmV3cmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtsYXNzZSBmw7xyIEFQSSBSZXF1ZXN0IHp1bSBhbmxlZ2VuIGVpbmVzIG5ldWVuIE5vZGVzXG4gKi9cbmV4cG9ydCBjbGFzcyBCcm93c2VyTm9kZU5ld1JlcXVlc3Qge1xuICAvKipcbiAgICogS29uc3RydWt0b3JcbiAgICogQHBhcmFtIGluaXQgSW5pdGlhbGUgV2VydGVcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEJyb3dzZXJOb2RlTmV3UmVxdWVzdD4pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBmYWRcbiAgICovXG4gIFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIE5hbWUgZGVzIG5ldWVuIE5vZGVzXG4gICAqL1xuICBOZXdGb2xkZXJuYW1lOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7eUZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLHFCQUFxQixDQUNoQzs7O09BSUFDLFlBQVlDLElBQXFDLEVBQUFDLGFBQUEsR0FBQUMsQ0FBQSxLQUFBRCxDQUFBLGdCQUFBRSxDQUFBLE1BQy9DQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
@@ -5,4 +5,4 @@ cov_29cujmn0fl=function(){return actualCoverage;};}return actualCoverage;}cov_29
5
5
  * Konstruktor
6
6
  * @param init Initiale Werte
7
7
  */constructor(init){cov_29cujmn0fl().f[0]++;cov_29cujmn0fl().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlcm5vZGVyZW5hbWVyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7T0FHRztJQUNILFlBQVksSUFBd0M7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gdW1iZW5lbm5lbiBlaW5lcyBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRpYWxlIFdlcnRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkXG4gICAqL1xuICBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOZXVlciBOYW1lIGRlcyBOb2Rlc1xuICAgKi9cbiAgTmV3Rm9sZGVybmFtZTogc3RyaW5nO1xufVxuIl19
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfMjljdWptbjBmbCIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gdW1iZW5lbm5lbiBlaW5lcyBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRpYWxlIFdlcnRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkXG4gICAqL1xuICBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOZXVlciBOYW1lIGRlcyBOb2Rlc1xuICAgKi9cbiAgTmV3Rm9sZGVybmFtZTogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzJGQUFBOztHQUdBLE1BQU0sTUFBTyxDQUFBQSx3QkFBd0IsQ0FDbkM7OztPQUlBQyxZQUFZQyxJQUF3QyxFQUFBQyxjQUFBLEdBQUFDLENBQUEsTUFBQUQsY0FBQSxHQUFBRSxDQUFBLE1BQ2xEQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfMjljdWptbjBmbCIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlbmFtZXJlcXVlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBBUEkgUmVxdWVzdCB6dW0gdW1iZW5lbm5lbiBlaW5lcyBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRpYWxlIFdlcnRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3Q+KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZmFkXG4gICAqL1xuICBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOZXVlciBOYW1lIGRlcyBOb2Rlc1xuICAgKi9cbiAgTmV3Rm9sZGVybmFtZTogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzJGQUFBOztHQUdBLE1BQU0sTUFBTyxDQUFBQSx3QkFBd0IsQ0FDbkM7OztPQUlBQyxZQUFZQyxJQUF3QyxFQUFBQyxjQUFBLEdBQUFDLENBQUEsS0FBQUQsQ0FBQSxpQkFBQUUsQ0FBQSxNQUNsREMsTUFBTSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFFTCxJQUFJLENBQUMsQ0FDM0IsQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -5,4 +5,4 @@ cov_13evi3d9v2=function(){return actualCoverage;};}return actualCoverage;}cov_13
5
5
  * Konstruktor
6
6
  * @param init Initale Werte für die Instanz
7
7
  */constructor(init){cov_13evi3d9v2().f[0]++;cov_13evi3d9v2().s[0]++;Object.assign(this,init);}}//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlcm5vZGVyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7T0FHRztJQUNILFlBQVksSUFBa0M7UUFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBkZW4gUmVxdWVzdCBlaW5lcyBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRhbGUgV2VydGUgZsO8ciBkaWUgSW5zdGFuelxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3Nlck5vZGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZCBkZXMgTm9kZXNcbiAgICovXG4gIHB1YmxpYyBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaXR5cGVuXG4gICAqL1xuICBwdWJsaWMgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXX0=
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfMTNldmkzZDl2MiIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBkZW4gUmVxdWVzdCBlaW5lcyBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRhbGUgV2VydGUgZsO8ciBkaWUgSW5zdGFuelxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3Nlck5vZGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZCBkZXMgTm9kZXNcbiAgICovXG4gIHB1YmxpYyBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaXR5cGVuXG4gICAqL1xuICBwdWJsaWMgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7MkZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLGtCQUFrQixDQUM3Qjs7O09BSUFDLFlBQVlDLElBQWtDLEVBQUFDLGNBQUEsR0FBQUMsQ0FBQSxNQUFBRCxjQUFBLEdBQUFFLENBQUEsTUFDNUNDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBRUwsSUFBSSxDQUFDLENBQzNCLEMiLCJpZ25vcmVMaXN0IjpbXX0=
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyTm9kZVJlcXVlc3QiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJjb3ZfMTNldmkzZDl2MiIsImYiLCJzIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlcXVlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLbGFzc2UgZsO8ciBkZW4gUmVxdWVzdCBlaW5lcyBOb2Rlc1xuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5vZGVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBpbml0IEluaXRhbGUgV2VydGUgZsO8ciBkaWUgSW5zdGFuelxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8QnJvd3Nlck5vZGVSZXF1ZXN0Pikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gIH1cblxuICAvKipcbiAgICogUGZhZCBkZXMgTm9kZXNcbiAgICovXG4gIHB1YmxpYyBQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFcmxhdWJ0ZSBEYXRlaXR5cGVuXG4gICAqL1xuICBwdWJsaWMgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7MkZBQUE7O0dBR0EsTUFBTSxNQUFPLENBQUFBLGtCQUFrQixDQUM3Qjs7O09BSUFDLFlBQVlDLElBQWtDLEVBQUFDLGNBQUEsR0FBQUMsQ0FBQSxLQUFBRCxDQUFBLGlCQUFBRSxDQUFBLE1BQzVDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUVMLElBQUksQ0FBQyxDQUMzQixDIiwiaWdub3JlTGlzdCI6W119
@@ -44,4 +44,4 @@ if(v===''){cov_xr9a4te1c().b[5][0]++;cov_xr9a4te1c().s[21]++;this._role='default
44
44
  /**
45
45
  * Die Methode wird ein Event aufrufen, wenn das Button geklickt wird UND das Button nicht disabled ODER isloading ist.
46
46
  */buttonClick(){cov_xr9a4te1c().f[8]++;cov_xr9a4te1c().s[25]++;if((cov_xr9a4te1c().b[7][0]++,this._isdisabled===false)&&(cov_xr9a4te1c().b[7][1]++,this._isloadingvalue===false)){cov_xr9a4te1c().b[6][0]++;cov_xr9a4te1c().s[26]++;this.clicked.emit();}else{cov_xr9a4te1c().b[6][1]++;}}}cov_xr9a4te1c().s[27]++;SacButtonCommon.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacButtonCommon,deps:[],target:i0.ɵɵFactoryTarget.Directive});cov_xr9a4te1c().s[28]++;SacButtonCommon.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacButtonCommon,inputs:{e2eidentifier:"e2eidentifier",icon:"icon",name:"name",text:"text",isdisabled:"isdisabled",isloading:"isloading",role:"role"},outputs:{clicked:"clicked"},ngImport:i0});cov_xr9a4te1c().s[29]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacButtonCommon,decorators:[{type:Directive}],propDecorators:{clicked:[{type:Output}],e2eidentifier:[{type:Input}],icon:[{type:Input}],name:[{type:Input}],text:[{type:Input}],isdisabled:[{type:Input}],isloading:[{type:Input}],role:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvYnV0dG9ucy9idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVJLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNLLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUUxQzs7V0FFRztRQUNLLFVBQUssR0FBbUIsU0FBUyxDQUFDO1FBRTFDOztXQUVHO1FBQ0ksb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFeEM7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVwQzs7V0FFRztRQUVJLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUUzQzs7V0FFRztRQUNJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFeEI7O1dBRUc7UUFDYSxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxDOztXQUVHO1FBQ2EsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQzs7V0FFRztRQUNhLFNBQUksR0FBVyxFQUFFLENBQUM7S0FxR3JDO0lBbkdHLHdCQUF3QjtJQUV4QixxQ0FBcUM7SUFFckM7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csVUFBVSxDQUFDLENBQW1CO1FBQ3JDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBWSxDQUFDO1NBQ3hDO2FBQU07WUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csU0FBUyxDQUFDLENBQW1CO1FBQ3BDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQVksQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQ1csSUFBSSxDQUFDLENBQWlCO1FBQzdCLHNCQUFzQjtRQUN0QixRQUFRLENBQUMsRUFBRTtZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssTUFBTTtnQkFDUCx3QkFBd0I7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDVixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztpQkFDMUI7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQ2xCO2dCQUNELE1BQU07WUFDVjtnQkFDSSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0lBRUQsd0NBQXdDO0lBRXhDLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSyxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDOzs0R0FsSlEsZUFBZTtnR0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFNBQVM7OEJBdUJDLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxhQUFhO3NCQURuQixLQUFLO2dCQVdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS1UsSUFBSTtzQkFBbkIsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQXVCSyxVQUFVO3NCQURwQixLQUFLO2dCQWlCSyxTQUFTO3NCQURuQixLQUFLO2dCQXVCSyxJQUFJO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCVVRUT05ST0xFVFlQRSB9IGZyb20gJy4uLy4uL2VudW1zL0J1dHRvblJvbGVUeXBlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgZGFzIEJ1dHRvblxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNCdXR0b25Db21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBQcm9wZXJ0eSBkZWZpbmllcnQsIG9iIGRhcyBCdXR0b24gJ2Rpc2FibGVkJyBpc3Q7IGRlZmF1bHQgLSBmYWxzZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2lzZGlzYWJsZWR2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGFzIFByb3BlcnR5IGRlZmluaWVydCBkaWUgUm9sbGUgZGVzIEJ1dHRvbnMuIFN0YW5kYXJkd2VydCBpc3QgJ2RlZmF1bHQnLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3JvbGU6IEJVVFRPTlJPTEVUWVBFID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqXG4gICAgICogRGFzIGJvb2xlYW4gcHJvcGVydHkgaXN0IGJlbnV0enQgZsO8ciBBa3RpdmF0aW9uIGRlcyBTcGlubmVyIGRlcyBCdXR0b24uIERlZmF1bHQgaXN0IGZhbHNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBfaXNsb2FkaW5ndmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE91dHB1dCBFdmVudCBFbWl0dGVyXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIFByb3BlcnR5IGbDvHIgRXJyb3I7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIEljb24gU3R5bGUgS2xhc3NlOyBkZWZhdWx0IFdlcnQgLSAnJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIElucHV0IFByb3BlcnR5IGbDvHIgTmFtZTsgZGVmYXVsdCBXZXJ0IC0gJydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIFRleHQgZGVzIEJ1dHRvbnM7IGRlZmF1bHQgV2VydCAtICcnXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIgTWV0aG9kZS4gRXJnaWJ0IGJvb2xlYW4gV2VydC4gRGVmaW5pZXJ0LCBvYiBkYXMgQnV0dG9uIGRlc2FibGVkIGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IF9pc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNkaXNhYmxlZHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNkaXNhYmxlZCgpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzZGlzYWJsZWR2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWFrdGl2aWVyZW4gdm9uIEJ1dHRvbnNcbiAgICAgKiBAcGFyYW0gdiBEZWFrdGl2aWVydCBkZW4gQnV0dG9uXG4gICAgICogQHJldHVybiBEZWZpbmllcnQgb2IgZGVyIEJ1dHRvbiBkZWFrdGl2aWVydCBpc3RcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNkaXNhYmxlZCh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkdmFsdWUgPSB2IGFzIGJvb2xlYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkdmFsdWUgPSB2ID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzbG9hZGluZygpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzbG9hZGluZ3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhcyBJbnB1dCBwcm9wZXJ0eS4gRGVmaW5pZXJ0IGRlciBTdGF0dXMgZGVzIGlzbGFvZGluZyBwcm9wZXJ0eS4gRXMgaXN0IGJlbnV0enQgZsO8ciBBa3RpdmF0aW9uIGRlcyBTcGlubmVyIGRlcyBCdXR0b24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzbG9hZGluZyh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2xvYWRpbmd2YWx1ZSA9IHYgYXMgYm9vbGVhbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2lzbG9hZGluZ3ZhbHVlID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgcmV0dXJucyBkaWUgZGVmaW5pZXJ0ZSBTdHlsZS1Sb2xsZSBkZXMgQnV0dG9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcm9sZSgpOiBCVVRUT05ST0xFVFlQRSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb2xlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkZW4gU3R5bGUgZGVzIEJ1dHRvbnNcbiAgICAgKiBAcGFyYW0gIHYgRGVmaW5pZXJ0IGRlbiBTdHlsZSBkZXMgQnV0dG9ucy5cbiAgICAgKiBGb2xnZW5kZSBUeXBlbiBzaW5kIFN1cHBvcnRlZDogcHJpbWFyeSwgc2Vjb25kYXJ5LCBzdWNjZXNzLCBkYW5nZXIsIHdhcm5pbmcsIGluZm8sIGxpZ2h0LCBkYXJrLCBsaW5rLCBkZWZhdWx0XG4gICAgICogQHJldHVybnMgIFR5cGUgZGVzIEJ1dHRvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcm9sZSh2OiBCVVRUT05ST0xFVFlQRSkge1xuICAgICAgICAvLyBWYWxpZGF0aW9uIG9mIElucHV0XG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgICBjYXNlICdsaWdodCc6XG4gICAgICAgICAgICBjYXNlICdkYXJrJzpcbiAgICAgICAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRhcnknOlxuICAgICAgICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgLy8gRW1wdHkgUm9sZSBpcyBEZWZhdWx0XG4gICAgICAgICAgICAgICAgaWYgKHYgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZGVmYXVsdCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcm9sZSA9IHY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcm9sZSBcIiArIHYgKyBcIiBmb3IgYnV0dG9uLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgd2lyZCBlaW4gRXZlbnQgYXVmcnVmZW4sIHdlbm4gZGFzIEJ1dHRvbiBnZWtsaWNrdCB3aXJkIFVORCBkYXMgQnV0dG9uIG5pY2h0IGRpc2FibGVkIE9ERVIgaXNsb2FkaW5nIGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLl9pc2Rpc2FibGVkID09PSBmYWxzZSAmJiB0aGlzLl9pc2xvYWRpbmd2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfeHI5YTR0ZTFjIiwiYWN0dWFsQ292ZXJhZ2UiLCJEaXJlY3RpdmUiLCJFdmVudEVtaXR0ZXIiLCJJbnB1dCIsIk91dHB1dCIsIlNhY0J1dHRvbkNvbW1vbiIsImNvbnN0cnVjdG9yIiwiZiIsInMiLCJfaXNkaXNhYmxlZHZhbHVlIiwiX3JvbGUiLCJfaXNsb2FkaW5ndmFsdWUiLCJjbGlja2VkIiwiZTJlaWRlbnRpZmllciIsImhhc0Vycm9yIiwiaWNvbiIsIm5hbWUiLCJ0ZXh0IiwiX2lzZGlzYWJsZWQiLCJpc2Rpc2FibGVkIiwidiIsImIiLCJ1bmRlZmluZWQiLCJpc2xvYWRpbmciLCJyb2xlIiwiRXJyb3IiLCJidXR0b25DbGljayIsImVtaXQiLCJkZXBzIiwidGFyZ2V0IiwiaTAiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm91dHB1dHMiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9idXR0b25zL2J1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCVVRUT05ST0xFVFlQRSB9IGZyb20gJy4uLy4uL2VudW1zL0J1dHRvblJvbGVUeXBlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgZGFzIEJ1dHRvblxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNCdXR0b25Db21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBQcm9wZXJ0eSBkZWZpbmllcnQsIG9iIGRhcyBCdXR0b24gJ2Rpc2FibGVkJyBpc3Q7IGRlZmF1bHQgLSBmYWxzZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2lzZGlzYWJsZWR2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGFzIFByb3BlcnR5IGRlZmluaWVydCBkaWUgUm9sbGUgZGVzIEJ1dHRvbnMuIFN0YW5kYXJkd2VydCBpc3QgJ2RlZmF1bHQnLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3JvbGU6IEJVVFRPTlJPTEVUWVBFID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqXG4gICAgICogRGFzIGJvb2xlYW4gcHJvcGVydHkgaXN0IGJlbnV0enQgZsO8ciBBa3RpdmF0aW9uIGRlcyBTcGlubmVyIGRlcyBCdXR0b24uIERlZmF1bHQgaXN0IGZhbHNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBfaXNsb2FkaW5ndmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE91dHB1dCBFdmVudCBFbWl0dGVyXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIFByb3BlcnR5IGbDvHIgRXJyb3I7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIEljb24gU3R5bGUgS2xhc3NlOyBkZWZhdWx0IFdlcnQgLSAnJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIElucHV0IFByb3BlcnR5IGbDvHIgTmFtZTsgZGVmYXVsdCBXZXJ0IC0gJydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIFRleHQgZGVzIEJ1dHRvbnM7IGRlZmF1bHQgV2VydCAtICcnXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIgTWV0aG9kZS4gRXJnaWJ0IGJvb2xlYW4gV2VydC4gRGVmaW5pZXJ0LCBvYiBkYXMgQnV0dG9uIGRlc2FibGVkIGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IF9pc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNkaXNhYmxlZHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNkaXNhYmxlZCgpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzZGlzYWJsZWR2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWFrdGl2aWVyZW4gdm9uIEJ1dHRvbnNcbiAgICAgKiBAcGFyYW0gdiBEZWFrdGl2aWVydCBkZW4gQnV0dG9uXG4gICAgICogQHJldHVybiBEZWZpbmllcnQgb2IgZGVyIEJ1dHRvbiBkZWFrdGl2aWVydCBpc3RcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNkaXNhYmxlZCh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkdmFsdWUgPSB2IGFzIGJvb2xlYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkdmFsdWUgPSB2ID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzbG9hZGluZygpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzbG9hZGluZ3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhcyBJbnB1dCBwcm9wZXJ0eS4gRGVmaW5pZXJ0IGRlciBTdGF0dXMgZGVzIGlzbGFvZGluZyBwcm9wZXJ0eS4gRXMgaXN0IGJlbnV0enQgZsO8ciBBa3RpdmF0aW9uIGRlcyBTcGlubmVyIGRlcyBCdXR0b24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzbG9hZGluZyh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2xvYWRpbmd2YWx1ZSA9IHYgYXMgYm9vbGVhbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2lzbG9hZGluZ3ZhbHVlID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgcmV0dXJucyBkaWUgZGVmaW5pZXJ0ZSBTdHlsZS1Sb2xsZSBkZXMgQnV0dG9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcm9sZSgpOiBCVVRUT05ST0xFVFlQRSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb2xlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkZW4gU3R5bGUgZGVzIEJ1dHRvbnNcbiAgICAgKiBAcGFyYW0gIHYgRGVmaW5pZXJ0IGRlbiBTdHlsZSBkZXMgQnV0dG9ucy5cbiAgICAgKiBGb2xnZW5kZSBUeXBlbiBzaW5kIFN1cHBvcnRlZDogcHJpbWFyeSwgc2Vjb25kYXJ5LCBzdWNjZXNzLCBkYW5nZXIsIHdhcm5pbmcsIGluZm8sIGxpZ2h0LCBkYXJrLCBsaW5rLCBkZWZhdWx0XG4gICAgICogQHJldHVybnMgIFR5cGUgZGVzIEJ1dHRvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcm9sZSh2OiBCVVRUT05ST0xFVFlQRSkge1xuICAgICAgICAvLyBWYWxpZGF0aW9uIG9mIElucHV0XG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgICBjYXNlICdsaWdodCc6XG4gICAgICAgICAgICBjYXNlICdkYXJrJzpcbiAgICAgICAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRhcnknOlxuICAgICAgICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgLy8gRW1wdHkgUm9sZSBpcyBEZWZhdWx0XG4gICAgICAgICAgICAgICAgaWYgKHYgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZGVmYXVsdCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcm9sZSA9IHY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcm9sZSBcIiArIHYgKyBcIiBmb3IgYnV0dG9uLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgd2lyZCBlaW4gRXZlbnQgYXVmcnVmZW4sIHdlbm4gZGFzIEJ1dHRvbiBnZWtsaWNrdCB3aXJkIFVORCBkYXMgQnV0dG9uIG5pY2h0IGRpc2FibGVkIE9ERVIgaXNsb2FkaW5nIGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLl9pc2Rpc2FibGVkID09PSBmYWxzZSAmJiB0aGlzLl9pc2xvYWRpbmd2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiJ1dFpBa0JZO0FBQUFBLGFBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsYUFBQSxHQWpCWixPQUFTRSxTQUFTLENBQUVDLFlBQVksQ0FBRUMsS0FBSyxDQUFFQyxNQUFNLEtBQVEsZUFBZSxDLGlDQUV0RTs7R0FJQSxNQUFNLE1BQU8sQ0FBQUMsZUFBZSxDQUQ1QkMsWUFBQSxFQUFBUCxhQUFBLEdBQUFRLENBQUEsTUFBQVIsYUFBQSxHQUFBUyxDQUFBLE1BRUk7QUFFQTs7V0FHUSxLQUFBQyxnQkFBZ0IsQ0FBWSxLQUFLLENBRXpDOztXQUFBVixhQUFBLEdBQUFTLENBQUEsTUFHUSxLQUFBRSxLQUFLLENBQW1CLFNBQVMsQ0FFekM7O1dBQUFYLGFBQUEsR0FBQVMsQ0FBQSxNQUdPLEtBQUFHLGVBQWUsQ0FBWSxLQUFLLENBRXZDOztXQUFBWixhQUFBLEdBQUFTLENBQUEsTUFJTyxLQUFBSSxPQUFPLENBQUcsR0FBSSxDQUFBVixZQUFZLEVBQUUsQ0FFbkM7O1dBQUFILGFBQUEsR0FBQVMsQ0FBQSxNQUlPLEtBQUFLLGFBQWEsQ0FBa0IsSUFBSSxDQUUxQzs7V0FBQWQsYUFBQSxHQUFBUyxDQUFBLE1BR08sS0FB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
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfeHI5YTR0ZTFjIiwiYWN0dWFsQ292ZXJhZ2UiLCJEaXJlY3RpdmUiLCJFdmVudEVtaXR0ZXIiLCJJbnB1dCIsIk91dHB1dCIsIlNhY0J1dHRvbkNvbW1vbiIsImNvbnN0cnVjdG9yIiwiZiIsInMiLCJfaXNkaXNhYmxlZHZhbHVlIiwiX3JvbGUiLCJfaXNsb2FkaW5ndmFsdWUiLCJjbGlja2VkIiwiZTJlaWRlbnRpZmllciIsImhhc0Vycm9yIiwiaWNvbiIsIm5hbWUiLCJ0ZXh0IiwiX2lzZGlzYWJsZWQiLCJpc2Rpc2FibGVkIiwidiIsImIiLCJ1bmRlZmluZWQiLCJpc2xvYWRpbmciLCJyb2xlIiwiRXJyb3IiLCJidXR0b25DbGljayIsImVtaXQiLCJkZXBzIiwidGFyZ2V0IiwiaTAiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm91dHB1dHMiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9idXR0b25zL2J1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCVVRUT05ST0xFVFlQRSB9IGZyb20gJy4uLy4uL2VudW1zL0J1dHRvblJvbGVUeXBlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgZGFzIEJ1dHRvblxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNCdXR0b25Db21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBQcm9wZXJ0eSBkZWZpbmllcnQsIG9iIGRhcyBCdXR0b24gJ2Rpc2FibGVkJyBpc3Q7IGRlZmF1bHQgLSBmYWxzZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2lzZGlzYWJsZWR2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGFzIFByb3BlcnR5IGRlZmluaWVydCBkaWUgUm9sbGUgZGVzIEJ1dHRvbnMuIFN0YW5kYXJkd2VydCBpc3QgJ2RlZmF1bHQnLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3JvbGU6IEJVVFRPTlJPTEVUWVBFID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqXG4gICAgICogRGFzIGJvb2xlYW4gcHJvcGVydHkgaXN0IGJlbnV0enQgZsO8ciBBa3RpdmF0aW9uIGRlcyBTcGlubmVyIGRlcyBCdXR0b24uIERlZmF1bHQgaXN0IGZhbHNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBfaXNsb2FkaW5ndmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE91dHB1dCBFdmVudCBFbWl0dGVyXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIFByb3BlcnR5IGbDvHIgRXJyb3I7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIEljb24gU3R5bGUgS2xhc3NlOyBkZWZhdWx0IFdlcnQgLSAnJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIElucHV0IFByb3BlcnR5IGbDvHIgTmFtZTsgZGVmYXVsdCBXZXJ0IC0gJydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIFRleHQgZGVzIEJ1dHRvbnM7IGRlZmF1bHQgV2VydCAtICcnXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIgTWV0aG9kZS4gRXJnaWJ0IGJvb2xlYW4gV2VydC4gRGVmaW5pZXJ0LCBvYiBkYXMgQnV0dG9uIGRlc2FibGVkIGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IF9pc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNkaXNhYmxlZHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNkaXNhYmxlZCgpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzZGlzYWJsZWR2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWFrdGl2aWVyZW4gdm9uIEJ1dHRvbnNcbiAgICAgKiBAcGFyYW0gdiBEZWFrdGl2aWVydCBkZW4gQnV0dG9uXG4gICAgICogQHJldHVybiBEZWZpbmllcnQgb2IgZGVyIEJ1dHRvbiBkZWFrdGl2aWVydCBpc3RcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNkaXNhYmxlZCh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkdmFsdWUgPSB2IGFzIGJvb2xlYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkdmFsdWUgPSB2ID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzbG9hZGluZygpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzbG9hZGluZ3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhcyBJbnB1dCBwcm9wZXJ0eS4gRGVmaW5pZXJ0IGRlciBTdGF0dXMgZGVzIGlzbGFvZGluZyBwcm9wZXJ0eS4gRXMgaXN0IGJlbnV0enQgZsO8ciBBa3RpdmF0aW9uIGRlcyBTcGlubmVyIGRlcyBCdXR0b24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzbG9hZGluZyh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2xvYWRpbmd2YWx1ZSA9IHYgYXMgYm9vbGVhbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2lzbG9hZGluZ3ZhbHVlID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgcmV0dXJucyBkaWUgZGVmaW5pZXJ0ZSBTdHlsZS1Sb2xsZSBkZXMgQnV0dG9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcm9sZSgpOiBCVVRUT05ST0xFVFlQRSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb2xlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkZW4gU3R5bGUgZGVzIEJ1dHRvbnNcbiAgICAgKiBAcGFyYW0gIHYgRGVmaW5pZXJ0IGRlbiBTdHlsZSBkZXMgQnV0dG9ucy5cbiAgICAgKiBGb2xnZW5kZSBUeXBlbiBzaW5kIFN1cHBvcnRlZDogcHJpbWFyeSwgc2Vjb25kYXJ5LCBzdWNjZXNzLCBkYW5nZXIsIHdhcm5pbmcsIGluZm8sIGxpZ2h0LCBkYXJrLCBsaW5rLCBkZWZhdWx0XG4gICAgICogQHJldHVybnMgIFR5cGUgZGVzIEJ1dHRvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcm9sZSh2OiBCVVRUT05ST0xFVFlQRSkge1xuICAgICAgICAvLyBWYWxpZGF0aW9uIG9mIElucHV0XG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgICBjYXNlICdsaWdodCc6XG4gICAgICAgICAgICBjYXNlICdkYXJrJzpcbiAgICAgICAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRhcnknOlxuICAgICAgICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgLy8gRW1wdHkgUm9sZSBpcyBEZWZhdWx0XG4gICAgICAgICAgICAgICAgaWYgKHYgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZGVmYXVsdCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcm9sZSA9IHY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcm9sZSBcIiArIHYgKyBcIiBmb3IgYnV0dG9uLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgd2lyZCBlaW4gRXZlbnQgYXVmcnVmZW4sIHdlbm4gZGFzIEJ1dHRvbiBnZWtsaWNrdCB3aXJkIFVORCBkYXMgQnV0dG9uIG5pY2h0IGRpc2FibGVkIE9ERVIgaXNsb2FkaW5nIGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLl9pc2Rpc2FibGVkID09PSBmYWxzZSAmJiB0aGlzLl9pc2xvYWRpbmd2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiJ1dFpBa0JZO0FBQUFBLGFBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsYUFBQSxHQWpCWixPQUFTRSxTQUFTLENBQUVDLFlBQVksQ0FBRUMsS0FBSyxDQUFFQyxNQUFNLEtBQVEsZUFBZSxDLGlDQUV0RTs7R0FJQSxNQUFNLE1BQU8sQ0FBQUMsZUFBZSxDQUQ1QkMsWUFBQSxFQUFBUCxhQUFBLEdBQUFRLENBQUEsS0FBQVIsQ0FBQSxnQkFBQVMsQ0FBQSxNQUVJO0FBRUE7O1dBR1EsS0FBQUMsZ0JBQWdCLENBQVksS0FBSyxDQUV6Qzs7V0FBQVYsYUFBQSxHQUFBUyxDQUFBLE1BR1EsS0FBQUUsS0FBSyxDQUFtQixTQUFTLENBRXpDOztXQUFBWCxhQUFBLEdBQUFTLENBQUEsTUFHTyxLQUFBRyxlQUFlLENBQVksS0FBSyxDQUV2Qzs7V0FBQVosYUFBQSxHQUFBUyxDQUFBLE1BSU8sS0FBQUksT0FBTyxDQUFHLEdBQUksQ0FBQVYsWUFBWSxFQUFFLENBRW5DOztXQUFBSCxhQUFBLEdBQUFTLENBQUEsTUFJTyxLQUFBSyxhQUFhLENBQWtCLElBQUksQ0FFMUM7O1dBQUFkLGFBQUEsR0FBQVMsQ0FBQSxNQUdPLEtB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
@@ -14,4 +14,4 @@ cov_vrecjte0c=function(){return actualCoverage;};}return actualCoverage;}cov_vre
14
14
  /**
15
15
  * Adopts the default display if no display has been defined on the component.
16
16
  */setCheckboxStyle(){cov_vrecjte0c().f[3]++;cov_vrecjte0c().s[5]++;if(!this.checkboxstyle){cov_vrecjte0c().b[0][0]++;cov_vrecjte0c().s[6]++;if(this.formlayout?.checkboxstyle){cov_vrecjte0c().b[1][0]++;cov_vrecjte0c().s[7]++;this.checkboxstyle=this.formlayout.checkboxstyle;}else{cov_vrecjte0c().b[1][1]++;cov_vrecjte0c().s[8]++;this.checkboxstyle=this.configurationService.CheckboxStyle;}}else{cov_vrecjte0c().b[0][1]++;}}}cov_vrecjte0c().s[9]++;SacCheckboxCommon.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacCheckboxCommon,deps:null,target:i0.ɵɵFactoryTarget.Directive});cov_vrecjte0c().s[10]++;SacCheckboxCommon.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacCheckboxCommon,inputs:{checkboxstyle:"checkboxstyle",checkboxtext:"checkboxtext",stacked:"stacked"},usesInheritance:true,ngImport:i0});cov_vrecjte0c().s[11]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacCheckboxCommon,decorators:[{type:Directive}],propDecorators:{checkboxstyle:[{type:Input}],checkboxtext:[{type:Input}],stacked:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jaGVja2JveC9jaGVja2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFHekQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQTRCO0lBRG5FOztRQWVJOztXQUVHO1FBQ2EsWUFBTyxHQUFZLEtBQUssQ0FBQztLQXdDNUM7SUF0Q0csd0JBQXdCO0lBRXhCLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWSxDQUFDLENBQWtCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsMEJBQTBCO0lBRTFCOztPQUVHO0lBQ0ssZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7YUFDdEQ7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDO2FBQ2hFO1NBQ0o7SUFDTCxDQUFDOzs4R0F0RFEsaUJBQWlCO2tHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUzs4QkFRQyxhQUFhO3NCQURuQixLQUFLO2dCQU1VLFlBQVk7c0JBQTNCLEtBQUs7Z0JBS1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZW1vZGVsY29udHJvbCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjQ2hlY2tib3hDb21tb24uIEV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNDaGVja2JveENvbW1vbiBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8Ym9vbGVhbj4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgZGlzcGxheSBmb3IgYSBjaGVja2JveFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNoZWNrYm94c3R5bGU6ICdjaGVja2JveCcgfCAnc3dpdGNoJyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IHZvbSBDaGVja2JveC1Db250cm9sLiBEZXIgVGV4dCB3aXJkIHJlY2h0cyB2b24gZGVyIENoZWNrYm94IGFuZ2V6ZWlndC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgY2hlY2tib3h0ZXh0O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGF0IHRoZSBjaGVja2JveCBjYW4gYmUgdXNlZCBpbiBhIGxpc3Qgb2YgY2hlY2tib3hlcyBhbmQgaXMgbm90IGhhbmRsZWQgYXMgYSBzaW5nbGUgZm9ybSBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHN0YWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogSW5pdCBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLnNldENoZWNrYm94U3R5bGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sIGhhdCBrZWluZW4gVmFsaWRhdG9yXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBBZG9wdHMgdGhlIGRlZmF1bHQgZGlzcGxheSBpZiBubyBkaXNwbGF5IGhhcyBiZWVuIGRlZmluZWQgb24gdGhlIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldENoZWNrYm94U3R5bGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jaGVja2JveHN0eWxlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5jaGVja2JveHN0eWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveHN0eWxlID0gdGhpcy5mb3JtbGF5b3V0LmNoZWNrYm94c3R5bGU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hzdHlsZSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuQ2hlY2tib3hTdHlsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXX0=
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfdnJlY2p0ZTBjIiwiYWN0dWFsQ292ZXJhZ2UiLCJTYWNCYXNlTW9kZWxDb250cm9sIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJTYWNDaGVja2JveENvbW1vbiIsImNvbnN0cnVjdG9yIiwiZiIsInMiLCJzdGFja2VkIiwibmdPbkluaXQiLCJzZXRDaGVja2JveFN0eWxlIiwidmFsaWRhdGVEYXRhIiwiYyIsImNoZWNrYm94c3R5bGUiLCJiIiwiZm9ybWxheW91dCIsImNvbmZpZ3VyYXRpb25TZXJ2aWNlIiwiQ2hlY2tib3hTdHlsZSIsImRlcHMiLCJ0YXJnZXQiLCJpMCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiaW5wdXRzIiwiY2hlY2tib3h0ZXh0IiwidXNlc0luaGVyaXRhbmNlIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNDaGVja2JveENvbW1vbi4gRXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NoZWNrYm94Q29tbW9uIGV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbDxib29sZWFuPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBkaXNwbGF5IGZvciBhIGNoZWNrYm94XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2hlY2tib3hzdHlsZTogJ2NoZWNrYm94JyB8ICdzd2l0Y2gnIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFRleHQgdm9tIENoZWNrYm94LUNvbnRyb2wuIERlciBUZXh0IHdpcmQgcmVjaHRzIHZvbiBkZXIgQ2hlY2tib3ggYW5nZXplaWd0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjaGVja2JveHRleHQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoYXQgdGhlIGNoZWNrYm94IGNhbiBiZSB1c2VkIGluIGEgbGlzdCBvZiBjaGVja2JveGVzIGFuZCBpcyBub3QgaGFuZGxlZCBhcyBhIHNpbmdsZSBmb3JtIGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc3RhY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBJbml0IEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuc2V0Q2hlY2tib3hTdHlsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnRyb2wgaGF0IGtlaW5lbiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEFkb3B0cyB0aGUgZGVmYXVsdCBkaXNwbGF5IGlmIG5vIGRpc3BsYXkgaGFzIGJlZW4gZGVmaW5lZCBvbiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0Q2hlY2tib3hTdHlsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrYm94c3R5bGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmNoZWNrYm94c3R5bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94c3R5bGUgPSB0aGlzLmZvcm1sYXlvdXQuY2hlY2tib3hzdHlsZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveHN0eWxlID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5DaGVja2JveFN0eWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6IjBuS0E2Qkk7QUFBQUEsYUFBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxhQUFBLEdBN0JKLE9BQVNFLG1CQUFtQixLQUFRLCtCQUErQixDQUNuRSxPQUFTQyxTQUFTLENBQUVDLEtBQUssS0FBZ0IsZUFBZSxDLGlDQUd4RDs7R0FJQSxNQUFNLE1BQU8sQ0FBQUMsaUJBQWtCLFFBQVEsQ0FBQUgsbUJBQTRCLENBRG5FSSxZQUFBLEVBQUFOLGFBQUEsR0FBQU8sQ0FBQSxNQUFBUCxhQUFBLEdBQUFRLENBQUEsTSxvQkFlSTs7V0FBQVIsYUFBQSxHQUFBUSxDQUFBLE1BR2dCLEtBQUFDLE9BQU8sQ0FBWSxLQUFLLEMsQ0FFeEM7QUFFQTtBQUVBOztPQUdPQyxRQUFRQSxDQUFBLEVBQUFWLGFBQUEsR0FBQU8sQ0FBQSxNQUFBUCxhQUFBLEdBQUFRLENBQUEsTUFDWCxLQUFLLENBQUNFLFFBQVEsRUFBRSxDQUFDVixhQUFBLEdBQUFRLENBQUEsTUFFakIsSUFBSSxDQUFDRyxnQkFBZ0IsRUFBRSxDQUMzQixDQUVBOztPQUdPQyxZQUFZQSxDQUFDQyxDQUFrQixFQUFBYixhQUFBLEdBQUFPLENBQUEsTUFBQVAsYUFBQSxHQUFBUSxDQUFBLE1BQ2xDLE1BQU8sS0FBSSxDQUNmLENBRUE7QUFFQTtBQUVBOztPQUdRRyxnQkFBZ0JBLENBQUEsRUFBQVgsYUFBQSxHQUFBTyxDQUFBLE1BQUFQLGFBQUEsR0FBQVEsQ0FBQSxNQUNwQixHQUFJLENBQUMsSUFBSSxDQUFDTSxhQUFhLENBQUUsQ0FBQWQsYUFBQSxHQUFBZSxDQUFBLFNBQUFmLGFBQUEsR0FBQVEsQ0FBQSxNQUNyQixHQUFJLElBQUksQ0FBQ1EsVUFBVSxFQUFFRixhQUFhLENBQUUsQ0FBQWQsYUFBQSxHQUFBZSxDQUFBLFNBQUFmLGFBQUEsR0FBQVEsQ0FBQSxNQUNoQyxJQUFJLENBQUNNLGFBQWEsQ0FBRyxJQUFJLENBQUNFLFVBQVUsQ0FBQ0YsYUFBYSxDLENBQ3JELElBQU0sQ0FBQWQsYUFBQSxHQUFBZSxDQUFBLFNBQUFmLGFBQUEsR0FBQVEsQ0FBQSxNQUNILElBQUksQ0FBQ00sYUFBYSxDQUFHLElBQUksQ0FBQ0csb0JBQW9CLENBQUNDLGFBQWEsQyxFQUVuRSxLQUFBbEIsYUFBQSxHQUFBZSxDQUFBLFVBQ0wsQyw0SEF0RFNWLGlCQUFpQixDQUFBYyxJQUFBLE1BQUFDLE1BQUEsQ0FBQUMsRUFBQSxDQUFBQyxlQUFBLENBQUFuQixTQUFBLEdBQUFILGFBQUEsR0FBQVEsQ0FBQSxPLDBGQUFqQkgsaUJBQWlCLENBQUFrQixNQUFBLEVBQUFULGFBQUEsaUJBQUFVLFlBQUEsZ0JBQUFmLE9BQUEsWUFBQWdCLGVBQUEsTUFBQUMsUUFBQSxDQUFBTCxFQUFBLEdBQUFyQixhQUFBLEdBQUFRLENBQUEsTyxtRkFBakJILGlCQUFpQixDQUFBc0IsVUFBQSxHLEtBRDdCeEIsUyxtQkFRVVcsYUFBYSxHLEtBRG5CVixLLEdBTWVvQixZQUFZLEcsS0FBM0JwQixLLEdBS2VLLE9BQU8sRyxLQUF0QkwsSyIsImlnbm9yZUxpc3QiOltdfQ==
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfdnJlY2p0ZTBjIiwiYWN0dWFsQ292ZXJhZ2UiLCJTYWNCYXNlTW9kZWxDb250cm9sIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJTYWNDaGVja2JveENvbW1vbiIsImNvbnN0cnVjdG9yIiwiZiIsInMiLCJzdGFja2VkIiwibmdPbkluaXQiLCJzZXRDaGVja2JveFN0eWxlIiwidmFsaWRhdGVEYXRhIiwiYyIsImNoZWNrYm94c3R5bGUiLCJiIiwiZm9ybWxheW91dCIsImNvbmZpZ3VyYXRpb25TZXJ2aWNlIiwiQ2hlY2tib3hTdHlsZSIsImRlcHMiLCJ0YXJnZXQiLCJpMCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiaW5wdXRzIiwiY2hlY2tib3h0ZXh0IiwidXNlc0luaGVyaXRhbmNlIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNDaGVja2JveENvbW1vbi4gRXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NoZWNrYm94Q29tbW9uIGV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbDxib29sZWFuPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBkaXNwbGF5IGZvciBhIGNoZWNrYm94XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2hlY2tib3hzdHlsZTogJ2NoZWNrYm94JyB8ICdzd2l0Y2gnIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFRleHQgdm9tIENoZWNrYm94LUNvbnRyb2wuIERlciBUZXh0IHdpcmQgcmVjaHRzIHZvbiBkZXIgQ2hlY2tib3ggYW5nZXplaWd0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjaGVja2JveHRleHQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoYXQgdGhlIGNoZWNrYm94IGNhbiBiZSB1c2VkIGluIGEgbGlzdCBvZiBjaGVja2JveGVzIGFuZCBpcyBub3QgaGFuZGxlZCBhcyBhIHNpbmdsZSBmb3JtIGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc3RhY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBJbml0IEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuc2V0Q2hlY2tib3hTdHlsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnRyb2wgaGF0IGtlaW5lbiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEFkb3B0cyB0aGUgZGVmYXVsdCBkaXNwbGF5IGlmIG5vIGRpc3BsYXkgaGFzIGJlZW4gZGVmaW5lZCBvbiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0Q2hlY2tib3hTdHlsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrYm94c3R5bGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmNoZWNrYm94c3R5bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94c3R5bGUgPSB0aGlzLmZvcm1sYXlvdXQuY2hlY2tib3hzdHlsZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveHN0eWxlID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5DaGVja2JveFN0eWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6IjBuS0E2Qkk7QUFBQUEsYUFBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxhQUFBLEdBN0JKLE9BQVNFLG1CQUFtQixLQUFRLCtCQUErQixDQUNuRSxPQUFTQyxTQUFTLENBQUVDLEtBQUssS0FBZ0IsZUFBZSxDLGlDQUd4RDs7R0FJQSxNQUFNLE1BQU8sQ0FBQUMsaUJBQWtCLFFBQVEsQ0FBQUgsbUJBQTRCLENBRG5FSSxZQUFBLEVBQUFOLGFBQUEsR0FBQU8sQ0FBQSxLQUFBUCxDQUFBLGdCQUFBUSxDQUFBLE0sb0JBZUk7O1dBQUFSLGFBQUEsR0FBQVEsQ0FBQSxNQUdnQixLQUFBQyxPQUFPLENBQVksS0FBSyxDLENBRXhDO0FBRUE7QUFFQTs7T0FHT0MsUUFBUUEsQ0FBQSxFQUFBVixhQUFBLEdBQUFPLENBQUEsS0FBQVAsQ0FBQSxnQkFBQVEsQ0FBQSxNQUNYLEtBQUssQ0FBQ0UsUUFBUSxFQUFFLENBQUNWLGFBQUEsR0FBQVEsQ0FBQSxNQUVqQixJQUFJLENBQUNHLGdCQUFnQixFQUFFLENBQzNCLENBRUE7O09BR09DLFlBQVlBLENBQUNDLENBQWtCLEVBQUFiLGFBQUEsR0FBQU8sQ0FBQSxLQUFBUCxDQUFBLGdCQUFBUSxDQUFBLE1BQ2xDLE1BQU8sS0FBSSxDQUNmLENBRUE7QUFFQTtBQUVBOztPQUdRRyxnQkFBZ0JBLENBQUEsRUFBQVgsYUFBQSxHQUFBTyxDQUFBLEtBQUFQLENBQUEsZ0JBQUFRLENBQUEsTUFDcEIsR0FBSSxDQUFDLElBQUksQ0FBQ00sYUFBYSxDQUFFLENBQUFkLGFBQUEsR0FBQWUsQ0FBQSxRQUFBZixDQUFBLGdCQUFBUSxDQUFBLE1BQ3JCLEdBQUksSUFBSSxDQUFDUSxVQUFVLEVBQUVGLGFBQWEsQ0FBRSxDQUFBZCxhQUFBLEdBQUFlLENBQUEsUUFBQWYsQ0FBQSxnQkFBQVEsQ0FBQSxNQUNoQyxJQUFJLENBQUNNLGFBQWEsQ0FBRyxJQUFJLENBQUNFLFVBQVUsQ0FBQ0YsYUFBYSxDLENBQ3JELElBQU0sQ0FBQWQsYUFBQSxHQUFBZSxDQUFBLFFBQUFmLENBQUEsZ0JBQUFRLENBQUEsTUFDSCxJQUFJLENBQUNNLGFBQWEsQ0FBRyxJQUFJLENBQUNHLG9CQUFvQixDQUFDQyxhQUFhLEMsRUFFbkUsS0FBQWxCLGFBQUEsR0FBQWUsQ0FBQSxVQUNMLEMsNEhBdERTVixpQkFBaUIsQ0FBQWMsSUFBQSxNQUFBQyxNQUFBLENBQUFDLEVBQUEsQ0FBQUMsZUFBQSxDQUFBbkIsU0FBQSxHQUFBSCxhQUFBLEdBQUFRLENBQUEsTywwRkFBakJILGlCQUFpQixDQUFBa0IsTUFBQSxFQUFBVCxhQUFBLGlCQUFBVSxZQUFBLGdCQUFBZixPQUFBLFlBQUFnQixlQUFBLE1BQUFDLFFBQUEsQ0FBQUwsRUFBQSxHQUFBckIsYUFBQSxHQUFBUSxDQUFBLE8sbUZBQWpCSCxpQkFBaUIsQ0FBQXNCLFVBQUEsRyxLQUQ3QnhCLFMsbUJBUVVXLGFBQWEsRyxLQURuQlYsSyxHQU1lb0IsWUFBWSxHLEtBQTNCcEIsSyxHQUtlSyxPQUFPLEcsS0FBdEJMLEsiLCJpZ25vcmVMaXN0IjpbXX0=