@simpleangularcontrols/sac-common 16.0.0-rc.2 → 16.0.0-rc.20

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 (296) hide show
  1. package/README.md +15 -15
  2. package/common/basedatetimecontrol.d.ts +116 -30
  3. package/common/basedatetimecontrol.d.ts.map +1 -1
  4. package/common/baseinputcontrol.d.ts +9 -13
  5. package/common/baseinputcontrol.d.ts.map +1 -1
  6. package/common/basemodelcontrol.d.ts +168 -85
  7. package/common/basemodelcontrol.d.ts.map +1 -1
  8. package/common/baseuploadcontrol.d.ts +160 -144
  9. package/common/baseuploadcontrol.d.ts.map +1 -1
  10. package/components/browser/browser.d.ts +11 -6
  11. package/components/browser/browser.d.ts.map +1 -1
  12. package/controls/buttons/button.d.ts +23 -22
  13. package/controls/buttons/button.d.ts.map +1 -1
  14. package/controls/checkbox/checkbox.d.ts +18 -5
  15. package/controls/checkbox/checkbox.d.ts.map +1 -1
  16. package/controls/checkbox/radiobutton.d.ts +68 -24
  17. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  18. package/controls/checkbox/radiobuttons.d.ts +23 -22
  19. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  20. package/controls/confirm/confirm.button.d.ts +14 -8
  21. package/controls/confirm/confirm.button.d.ts.map +1 -1
  22. package/controls/confirm/confirm.service.d.ts +24 -19
  23. package/controls/confirm/confirm.service.d.ts.map +1 -1
  24. package/controls/contextmenu/contextmenu.d.ts +51 -44
  25. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  26. package/controls/contextmenu/contextmenu.interface.d.ts +4 -0
  27. package/controls/contextmenu/contextmenu.interface.d.ts.map +1 -0
  28. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  29. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  30. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  31. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  32. package/controls/contextmenu/contextmenuitem.d.ts +6 -1
  33. package/controls/contextmenu/contextmenuitem.d.ts.map +1 -1
  34. package/controls/contextmenu/contextmenuitembutton.d.ts +22 -21
  35. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
  36. package/controls/datetime/date.d.ts +33 -36
  37. package/controls/datetime/date.d.ts.map +1 -1
  38. package/controls/datetime/datetime.d.ts +33 -40
  39. package/controls/datetime/datetime.d.ts.map +1 -1
  40. package/controls/datetime/time.d.ts +32 -36
  41. package/controls/datetime/time.d.ts.map +1 -1
  42. package/controls/dialog/dialog.d.ts +32 -44
  43. package/controls/dialog/dialog.d.ts.map +1 -1
  44. package/controls/form/form.d.ts +7 -43
  45. package/controls/form/form.d.ts.map +1 -1
  46. package/controls/grid/grid.d.ts +67 -62
  47. package/controls/grid/grid.d.ts.map +1 -1
  48. package/controls/grid/gridbutton.d.ts +14 -14
  49. package/controls/grid/gridbutton.d.ts.map +1 -1
  50. package/controls/grid/gridcolumn.d.ts +8 -8
  51. package/controls/grid/gridcolumn.d.ts.map +1 -1
  52. package/controls/grid/gridcolumnaction.d.ts +3 -3
  53. package/controls/grid/gridcolumnaction.d.ts.map +1 -1
  54. package/controls/grid/gridcolumnbase.d.ts +46 -38
  55. package/controls/grid/gridcolumnbase.d.ts.map +1 -1
  56. package/controls/grid/gridimage.d.ts +2 -2
  57. package/controls/grid/gridimage.d.ts.map +1 -1
  58. package/controls/grid/model.d.ts +51 -42
  59. package/controls/grid/model.d.ts.map +1 -1
  60. package/controls/grid/paging.d.ts +77 -76
  61. package/controls/grid/paging.d.ts.map +1 -1
  62. package/controls/input/input.d.ts +12 -12
  63. package/controls/input/input.d.ts.map +1 -1
  64. package/controls/input/inputarea.d.ts +6 -6
  65. package/controls/input/inputarea.d.ts.map +1 -1
  66. package/controls/input/inputcurrency.d.ts +6 -1
  67. package/controls/input/inputcurrency.d.ts.map +1 -1
  68. package/controls/input/inputdecimal.d.ts +21 -21
  69. package/controls/input/inputdecimal.d.ts.map +1 -1
  70. package/controls/input/inputemail.d.ts.map +1 -1
  71. package/controls/input/inputinteger.d.ts +21 -21
  72. package/controls/input/inputinteger.d.ts.map +1 -1
  73. package/controls/input/inputpassword.d.ts +28 -8
  74. package/controls/input/inputpassword.d.ts.map +1 -1
  75. package/controls/input/inputsearch.d.ts +14 -5
  76. package/controls/input/inputsearch.d.ts.map +1 -1
  77. package/controls/layout/formlayout.d.ts +66 -0
  78. package/controls/layout/formlayout.d.ts.map +1 -0
  79. package/controls/list/buildvaluestring.d.ts +7 -0
  80. package/controls/list/buildvaluestring.d.ts.map +1 -0
  81. package/controls/list/dropdown.d.ts +36 -80
  82. package/controls/list/dropdown.d.ts.map +1 -1
  83. package/controls/list/dropdownoptions.d.ts +42 -0
  84. package/controls/list/dropdownoptions.d.ts.map +1 -0
  85. package/controls/list/listbox.d.ts +20 -20
  86. package/controls/list/listbox.d.ts.map +1 -1
  87. package/controls/multilanguage/multilanguageinput.d.ts +36 -35
  88. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  89. package/controls/multilanguage/multilanguageinputarea.d.ts +41 -40
  90. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  91. package/controls/static/formcontainer.d.ts +8 -4
  92. package/controls/static/formcontainer.d.ts.map +1 -1
  93. package/controls/tinymce/tinymce.d.ts +63 -63
  94. package/controls/tinymce/tinymce.d.ts.map +1 -1
  95. package/controls/tooltip/tooltip.d.ts +76 -69
  96. package/controls/tooltip/tooltip.d.ts.map +1 -1
  97. package/controls/treeview/treeview.d.ts +109 -109
  98. package/controls/treeview/treeview.d.ts.map +1 -1
  99. package/controls/upload/dropzonemultiple.d.ts +21 -21
  100. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  101. package/controls/upload/dropzonesingle.d.ts +18 -18
  102. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  103. package/controls/upload/uploadmultiple.d.ts +10 -10
  104. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  105. package/controls/upload/uploadsingle.d.ts +1 -1
  106. package/controls/upload/uploadsingle.d.ts.map +1 -1
  107. package/controls/validation/validationsummary.d.ts +18 -13
  108. package/controls/validation/validationsummary.d.ts.map +1 -1
  109. package/enums/ButtonRoleType.d.ts +2 -0
  110. package/enums/ButtonRoleType.d.ts.map +1 -0
  111. package/enums/ControlHeight.d.ts +18 -0
  112. package/enums/ControlHeight.d.ts.map +1 -0
  113. package/esm2022/common/basedatetimecontrol.mjs +83 -164
  114. package/esm2022/common/baseinputcontrol.mjs +21 -80
  115. package/esm2022/common/baselistcontrol.mjs +11 -56
  116. package/esm2022/common/basemodelcontrol.mjs +134 -353
  117. package/esm2022/common/baseselectcontrol.mjs +6 -27
  118. package/esm2022/common/baseuploadcontrol.mjs +120 -435
  119. package/esm2022/components/browser/browser.mjs +66 -474
  120. package/esm2022/components/browser/models/browserfile.mjs +3 -2
  121. package/esm2022/components/browser/models/browserfiledeleterequest.mjs +5 -10
  122. package/esm2022/components/browser/models/browserfilerenamerequest.mjs +5 -10
  123. package/esm2022/components/browser/models/browserfileresponse.mjs +3 -2
  124. package/esm2022/components/browser/models/browserfilesaverequest.mjs +5 -10
  125. package/esm2022/components/browser/models/browsernode.mjs +3 -2
  126. package/esm2022/components/browser/models/browsernodedeleterequest.mjs +5 -10
  127. package/esm2022/components/browser/models/browsernodenewrequest.mjs +5 -10
  128. package/esm2022/components/browser/models/browsernoderenamerequest.mjs +5 -10
  129. package/esm2022/components/browser/models/browsernoderequest.mjs +5 -10
  130. package/esm2022/components/browser/models/browsernoderesponse.mjs +3 -2
  131. package/esm2022/controls/buttons/button.mjs +32 -131
  132. package/esm2022/controls/checkbox/checkbox.mjs +15 -30
  133. package/esm2022/controls/checkbox/radiobutton.mjs +45 -102
  134. package/esm2022/controls/checkbox/radiobuttons.mjs +29 -106
  135. package/esm2022/controls/confirm/confirm.button.mjs +17 -21
  136. package/esm2022/controls/confirm/confirm.mjs +19 -69
  137. package/esm2022/controls/confirm/confirm.service.mjs +29 -74
  138. package/esm2022/controls/contextmenu/contextmenu.interface.mjs +3 -0
  139. package/esm2022/controls/contextmenu/contextmenu.mjs +43 -171
  140. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +8 -19
  141. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +8 -19
  142. package/esm2022/controls/contextmenu/contextmenuitem.mjs +7 -13
  143. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +25 -93
  144. package/esm2022/controls/datetime/date.mjs +42 -206
  145. package/esm2022/controls/datetime/dateselector.mjs +65 -409
  146. package/esm2022/controls/datetime/datetime.mjs +42 -224
  147. package/esm2022/controls/datetime/time.mjs +40 -204
  148. package/esm2022/controls/dialog/dialog.mjs +35 -209
  149. package/esm2022/controls/form/form.mjs +27 -153
  150. package/esm2022/controls/grid/grid.mjs +48 -155
  151. package/esm2022/controls/grid/gridbutton.mjs +21 -59
  152. package/esm2022/controls/grid/gridcolumn.mjs +21 -46
  153. package/esm2022/controls/grid/gridcolumnaction.mjs +8 -22
  154. package/esm2022/controls/grid/gridcolumnbase.mjs +35 -124
  155. package/esm2022/controls/grid/gridimage.mjs +5 -16
  156. package/esm2022/controls/grid/model.mjs +49 -74
  157. package/esm2022/controls/grid/paging.mjs +82 -251
  158. package/esm2022/controls/input/input.mjs +17 -65
  159. package/esm2022/controls/input/inputarea.mjs +18 -56
  160. package/esm2022/controls/input/inputcurrency.mjs +9 -14
  161. package/esm2022/controls/input/inputdecimal.mjs +33 -143
  162. package/esm2022/controls/input/inputemail.mjs +10 -37
  163. package/esm2022/controls/input/inputinteger.mjs +32 -127
  164. package/esm2022/controls/input/inputpassword.mjs +26 -45
  165. package/esm2022/controls/input/inputsearch.mjs +16 -38
  166. package/esm2022/controls/layout/formlayout.mjs +31 -0
  167. package/esm2022/controls/list/buildvaluestring.mjs +10 -0
  168. package/esm2022/controls/list/dropdown.mjs +45 -236
  169. package/esm2022/controls/list/dropdownoptions.mjs +22 -0
  170. package/esm2022/controls/list/listbox.mjs +40 -159
  171. package/esm2022/controls/multilanguage/multilanguageinput.mjs +48 -215
  172. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +51 -217
  173. package/esm2022/controls/static/formcontainer.mjs +18 -45
  174. package/esm2022/controls/static/staticlabel.mjs +7 -28
  175. package/esm2022/controls/tabs/tab.mjs +14 -68
  176. package/esm2022/controls/tabs/tabitem.mjs +7 -37
  177. package/esm2022/controls/tinymce/tinymce.mjs +62 -232
  178. package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +5 -10
  179. package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +4 -4
  180. package/esm2022/controls/tinymce/tinymceinstance.mjs +3 -2
  181. package/esm2022/controls/tooltip/tooltip.mjs +74 -358
  182. package/esm2022/controls/treeview/treeview.mjs +103 -343
  183. package/esm2022/controls/upload/dropzonemultiple.mjs +31 -151
  184. package/esm2022/controls/upload/dropzonesingle.mjs +23 -99
  185. package/esm2022/controls/upload/uploadmultiple.mjs +21 -111
  186. package/esm2022/controls/upload/uploadsingle.mjs +11 -50
  187. package/esm2022/controls/validation/validationsummary.mjs +23 -120
  188. package/esm2022/controls/wizard/wizard.mjs +20 -128
  189. package/esm2022/controls/wizard/wizarditem.mjs +6 -31
  190. package/esm2022/enums/ButtonRoleType.mjs +3 -0
  191. package/esm2022/enums/ControlHeight.mjs +11 -0
  192. package/esm2022/enums/IconType.mjs +4 -8
  193. package/esm2022/interfaces/ISacConfigurationService.mjs +3 -0
  194. package/esm2022/interfaces/ISacFileBrowserService.mjs +3 -2
  195. package/esm2022/interfaces/ISacIconService.mjs +3 -2
  196. package/esm2022/interfaces/ISacLabelSizes.mjs +3 -0
  197. package/esm2022/interfaces/ISacLanguageService.mjs +3 -2
  198. package/esm2022/interfaces/ISacLocalisationService.mjs +3 -2
  199. package/esm2022/interfaces/ISacUploadEventCompleteState.mjs +3 -0
  200. package/esm2022/interfaces/ISacValidationKeyService.mjs +3 -0
  201. package/esm2022/interfaces/iabstractcontrollabel.mjs +3 -2
  202. package/esm2022/interfaces/iconfirmcomponent.mjs +3 -2
  203. package/esm2022/interfaces/idatetimecontrol.mjs +3 -2
  204. package/esm2022/interfaces/iuploadcontrol.mjs +3 -2
  205. package/esm2022/interfaces/treeviewaction.interface.mjs +3 -0
  206. package/esm2022/models/languagemodel.mjs +5 -11
  207. package/esm2022/public_api.mjs +25 -94
  208. package/esm2022/services/index.mjs +3 -5
  209. package/esm2022/services/sac-configuration.service.mjs +35 -0
  210. package/esm2022/services/sac-filebrowser.service.mjs +15 -167
  211. package/esm2022/services/sac-icon.service.mjs +67 -157
  212. package/esm2022/services/sac-language.service.mjs +7 -45
  213. package/esm2022/services/sac-localisation.service.mjs +32 -426
  214. package/esm2022/services/sac-validationkey.service.mjs +7 -0
  215. package/esm2022/simpleangularcontrols-sac-common.mjs +4 -4
  216. package/esm2022/utilities/convertion.mjs +6 -26
  217. package/esm2022/utilities/datatypes.mjs +4 -6
  218. package/esm2022/utilities/enums.mjs +10 -15
  219. package/esm2022/utilities/guid.mjs +8 -0
  220. package/esm2022/utilities/interpolation.mjs +7 -42
  221. package/esm2022/utilities/popuphelper.mjs +80 -0
  222. package/esm2022/utilities/positioning.mjs +23 -266
  223. package/esm2022/validation/email.validator.mjs +3 -13
  224. package/esm2022/validation/equals.validator.mjs +3 -0
  225. package/esm2022/validation/index.mjs +3 -3
  226. package/esm2022/validation/invaliddate.validator.mjs +3 -14
  227. package/esm2022/validation/isDateValid.mjs +9 -13
  228. package/esm2022/validation/maxdate.validator.mjs +4 -21
  229. package/esm2022/validation/maxtime.validator.mjs +4 -21
  230. package/esm2022/validation/maxvalue.validator.mjs +3 -16
  231. package/esm2022/validation/mindate.validator.mjs +4 -21
  232. package/esm2022/validation/minfiles.validator.mjs +4 -19
  233. package/esm2022/validation/mintextlength.validator.mjs +5 -0
  234. package/esm2022/validation/mintime.validator.mjs +4 -21
  235. package/esm2022/validation/minvalue.validator.mjs +3 -16
  236. package/esm2022/validation/multilanguagerequired.validator.mjs +3 -22
  237. package/esm2022/validation/multilanguagerequiredany.validator.mjs +3 -22
  238. package/esm2022/validation/notequals.validator.mjs +3 -0
  239. package/esm2022/validation/pattern.validator.mjs +3 -16
  240. package/esm2022/validation/required.validator.mjs +3 -13
  241. package/esm2022/validation/validation.mjs +74 -134
  242. package/esm2022/validation/validationerrorcreator.mjs +3 -11
  243. package/esm2022/validation/validationerroritem.mjs +7 -19
  244. package/fesm2022/simpleangularcontrols-sac-common.mjs +2367 -9261
  245. package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
  246. package/interfaces/ISacConfigurationService.d.ts +59 -0
  247. package/interfaces/ISacConfigurationService.d.ts.map +1 -0
  248. package/interfaces/ISacIconService.d.ts +34 -2
  249. package/interfaces/ISacIconService.d.ts.map +1 -1
  250. package/interfaces/ISacLabelSizes.d.ts +27 -0
  251. package/interfaces/ISacLabelSizes.d.ts.map +1 -0
  252. package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
  253. package/interfaces/ISacUploadEventCompleteState.d.ts.map +1 -0
  254. package/interfaces/ISacValidationKeyService.d.ts +53 -0
  255. package/interfaces/ISacValidationKeyService.d.ts.map +1 -0
  256. package/interfaces/treeviewaction.interface.d.ts +5 -0
  257. package/interfaces/treeviewaction.interface.d.ts.map +1 -0
  258. package/package.json +2 -2
  259. package/public_api.d.ts +33 -21
  260. package/public_api.d.ts.map +1 -1
  261. package/services/index.d.ts +6 -4
  262. package/services/index.d.ts.map +1 -1
  263. package/services/sac-configuration.service.d.ts +127 -0
  264. package/services/sac-configuration.service.d.ts.map +1 -0
  265. package/services/sac-icon.service.d.ts +69 -5
  266. package/services/sac-icon.service.d.ts.map +1 -1
  267. package/services/sac-localisation.service.d.ts +100 -94
  268. package/services/sac-localisation.service.d.ts.map +1 -1
  269. package/services/sac-validationkey.service.d.ts +59 -0
  270. package/services/sac-validationkey.service.d.ts.map +1 -0
  271. package/simpleangularcontrols-sac-common-16.0.0-rc.20.tgz +0 -0
  272. package/utilities/enums.d.ts +3 -1
  273. package/utilities/enums.d.ts.map +1 -1
  274. package/utilities/guid.d.ts +5 -0
  275. package/utilities/guid.d.ts.map +1 -0
  276. package/utilities/popuphelper.d.ts +84 -0
  277. package/utilities/popuphelper.d.ts.map +1 -0
  278. package/validation/equals.validator.d.ts +3 -0
  279. package/validation/equals.validator.d.ts.map +1 -0
  280. package/validation/isDateValid.d.ts.map +1 -1
  281. package/validation/mintextlength.validator.d.ts +3 -0
  282. package/validation/mintextlength.validator.d.ts.map +1 -0
  283. package/validation/notequals.validator.d.ts +3 -0
  284. package/validation/notequals.validator.d.ts.map +1 -0
  285. package/validation/validation.d.ts +70 -52
  286. package/validation/validation.d.ts.map +1 -1
  287. package/controls/treeview/ngtreeitemaction.d.ts +0 -44
  288. package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
  289. package/controls/treeview/treeviewchild.d.ts +0 -16
  290. package/controls/treeview/treeviewchild.d.ts.map +0 -1
  291. package/esm2022/controls/treeview/ngtreeitemaction.mjs +0 -63
  292. package/esm2022/controls/treeview/treeviewchild.mjs +0 -22
  293. package/esm2022/validation/minlength.validator.mjs +0 -21
  294. package/simpleangularcontrols-sac-common-16.0.0-rc.2.tgz +0 -0
  295. package/validation/minlength.validator.d.ts +0 -3
  296. package/validation/minlength.validator.d.ts.map +0 -1
@@ -1,231 +1,65 @@
1
- import { Directive, Host, Input } from '@angular/core';
2
- import { SacInputBase } from '../../common/baseinputcontrol';
3
- import { IconType } from '../../enums/IconType';
4
- import { SacDefaultLanguageService, SACLANGUAGE_SERVICE, } from '../../services/sac-language.service';
5
- import { Validation } from '../../validation';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../form/form";
8
- /**
1
+ function cov_1d0lntewhi(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/multilanguage/multilanguageinputarea.mjs";var hash="af36ed53f320183d5a3ef6e3bc23e367258265ba";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/multilanguage/multilanguageinputarea.mjs",statementMap:{"0":{start:{line:20,column:8},end:{line:20,column:36}},"1":{start:{line:25,column:8},end:{line:25,column:28}},"2":{start:{line:29,column:8},end:{line:29,column:37}},"3":{start:{line:33,column:8},end:{line:33,column:33}},"4":{start:{line:37,column:8},end:{line:37,column:34}},"5":{start:{line:41,column:8},end:{line:41,column:33}},"6":{start:{line:45,column:8},end:{line:45,column:22}},"7":{start:{line:49,column:8},end:{line:49,column:98}},"8":{start:{line:53,column:8},end:{line:53,column:110}},"9":{start:{line:57,column:8},end:{line:57,column:118}},"10":{start:{line:61,column:8},end:{line:61,column:124}},"11":{start:{line:62,column:8},end:{line:62,column:101}},"12":{start:{line:63,column:8},end:{line:70,column:11}},"13":{start:{line:64,column:12},end:{line:64,column:36}},"14":{start:{line:65,column:12},end:{line:67,column:13}},"15":{start:{line:66,column:16},end:{line:66,column:58}},"16":{start:{line:69,column:12},end:{line:69,column:42}},"17":{start:{line:79,column:8},end:{line:89,column:9}},"18":{start:{line:80,column:35},end:{line:80,column:95}},"19":{start:{line:82,column:12},end:{line:84,column:13}},"20":{start:{line:83,column:16},end:{line:83,column:26}},"21":{start:{line:85,column:12},end:{line:85,column:46}},"22":{start:{line:88,column:12},end:{line:88,column:22}},"23":{start:{line:95,column:8},end:{line:95,column:30}},"24":{start:{line:101,column:8},end:{line:106,column:9}},"25":{start:{line:102,column:12},end:{line:102,column:46}},"26":{start:{line:105,column:12},end:{line:105,column:22}},"27":{start:{line:112,column:8},end:{line:117,column:9}},"28":{start:{line:113,column:12},end:{line:113,column:50}},"29":{start:{line:116,column:12},end:{line:116,column:34}},"30":{start:{line:126,column:20},end:{line:126,column:25}},"31":{start:{line:127,column:8},end:{line:140,column:9}},"32":{start:{line:128,column:12},end:{line:139,column:15}},"33":{start:{line:129,column:16},end:{line:132,column:17}},"34":{start:{line:130,column:20},end:{line:130,column:33}},"35":{start:{line:131,column:20},end:{line:131,column:27}},"36":{start:{line:133,column:16},end:{line:138,column:17}},"37":{start:{line:136,column:20},end:{line:136,column:33}},"38":{start:{line:137,column:20},end:{line:137,column:27}},"39":{start:{line:141,column:8},end:{line:141,column:21}},"40":{start:{line:149,column:8},end:{line:160,column:9}},"41":{start:{line:151,column:12},end:{line:153,column:13}},"42":{start:{line:152,column:16},end:{line:152,column:28}},"43":{start:{line:154,column:12},end:{line:156,column:54}},"44":{start:{line:159,column:12},end:{line:159,column:24}},"45":{start:{line:167,column:8},end:{line:167,column:41}},"46":{start:{line:174,column:8},end:{line:182,column:9}},"47":{start:{line:175,column:35},end:{line:175,column:95}},"48":{start:{line:177,column:12},end:{line:179,column:13}},"49":{start:{line:178,column:16},end:{line:178,column:23}},"50":{start:{line:180,column:12},end:{line:180,column:47}},"51":{start:{line:181,column:12},end:{line:181,column:46}},"52":{start:{line:189,column:20},end:{line:189,column:24}},"53":{start:{line:190,column:8},end:{line:197,column:9}},"54":{start:{line:196,column:12},end:{line:196,column:143}},"55":{start:{line:198,column:8},end:{line:205,column:9}},"56":{start:{line:204,column:12},end:{line:204,column:152}},"57":{start:{line:206,column:8},end:{line:206,column:21}},"58":{start:{line:208,column:13},end:{line:208,column:263}},"59":{start:{line:209,column:13},end:{line:209,column:551}},"60":{start:{line:212,column:0},end:{line:232,column:20}},"61":{start:{line:214,column:42},end:{line:216,column:45}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:19,column:4},end:{line:19,column:5}},loc:{start:{line:19,column:38},end:{line:71,column:5}},line:19},"1":{name:"(anonymous_1)",decl:{start:{line:63,column:57},end:{line:63,column:58}},loc:{start:{line:63,column:69},end:{line:70,column:9}},line:63},"2":{name:"(anonymous_2)",decl:{start:{line:78,column:4},end:{line:78,column:5}},loc:{start:{line:78,column:24},end:{line:90,column:5}},line:78},"3":{name:"(anonymous_3)",decl:{start:{line:94,column:4},end:{line:94,column:5}},loc:{start:{line:94,column:20},end:{line:96,column:5}},line:94},"4":{name:"(anonymous_4)",decl:{start:{line:100,column:4},end:{line:100,column:5}},loc:{start:{line:100,column:23},end:{line:107,column:5}},line:100},"5":{name:"(anonymous_5)",decl:{start:{line:111,column:4},end:{line:111,column:5}},loc:{start:{line:111,column:27},end:{line:118,column:5}},line:111},"6":{name:"(anonymous_6)",decl:{start:{line:125,column:4},end:{line:125,column:5}},loc:{start:{line:125,column:17},end:{line:142,column:5}},line:125},"7":{name:"(anonymous_7)",decl:{start:{line:128,column:35},end:{line:128,column:36}},loc:{start:{line:128,column:44},end:{line:139,column:13}},line:128},"8":{name:"(anonymous_8)",decl:{start:{line:148,column:4},end:{line:148,column:5}},loc:{start:{line:148,column:21},end:{line:161,column:5}},line:148},"9":{name:"(anonymous_9)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:29},end:{line:168,column:5}},line:166},"10":{name:"(anonymous_10)",decl:{start:{line:173,column:4},end:{line:173,column:5}},loc:{start:{line:173,column:28},end:{line:183,column:5}},line:173},"11":{name:"(anonymous_11)",decl:{start:{line:188,column:4},end:{line:188,column:5}},loc:{start:{line:188,column:20},end:{line:207,column:5}},line:188},"12":{name:"(anonymous_12)",decl:{start:{line:214,column:28},end:{line:214,column:29}},loc:{start:{line:214,column:40},end:{line:216,column:47}},line:214}},branchMap:{"0":{loc:{start:{line:65,column:12},end:{line:67,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:67,column:13}},{start:{line:65,column:12},end:{line:67,column:13}}],line:65},"1":{loc:{start:{line:79,column:8},end:{line:89,column:9}},type:"if",locations:[{start:{line:79,column:8},end:{line:89,column:9}},{start:{line:79,column:8},end:{line:89,column:9}}],line:79},"2":{loc:{start:{line:80,column:35},end:{line:80,column:95}},type:"cond-expr",locations:[{start:{line:80,column:59},end:{line:80,column:88}},{start:{line:80,column:91},end:{line:80,column:95}}],line:80},"3":{loc:{start:{line:82,column:12},end:{line:84,column:13}},type:"if",locations:[{start:{line:82,column:12},end:{line:84,column:13}},{start:{line:82,column:12},end:{line:84,column:13}}],line:82},"4":{loc:{start:{line:101,column:8},end:{line:106,column:9}},type:"if",locations:[{start:{line:101,column:8},end:{line:106,column:9}},{start:{line:101,column:8},end:{line:106,column:9}}],line:101},"5":{loc:{start:{line:112,column:8},end:{line:117,column:9}},type:"if",locations:[{start:{line:112,column:8},end:{line:117,column:9}},{start:{line:112,column:8},end:{line:117,column:9}}],line:112},"6":{loc:{start:{line:127,column:8},end:{line:140,column:9}},type:"if",locations:[{start:{line:127,column:8},end:{line:140,column:9}},{start:{line:127,column:8},end:{line:140,column:9}}],line:127},"7":{loc:{start:{line:129,column:16},end:{line:132,column:17}},type:"if",locations:[{start:{line:129,column:16},end:{line:132,column:17}},{start:{line:129,column:16},end:{line:132,column:17}}],line:129},"8":{loc:{start:{line:133,column:16},end:{line:138,column:17}},type:"if",locations:[{start:{line:133,column:16},end:{line:138,column:17}},{start:{line:133,column:16},end:{line:138,column:17}}],line:133},"9":{loc:{start:{line:133,column:20},end:{line:135,column:52}},type:"binary-expr",locations:[{start:{line:133,column:20},end:{line:133,column:57}},{start:{line:134,column:20},end:{line:134,column:50}},{start:{line:135,column:20},end:{line:135,column:52}}],line:133},"10":{loc:{start:{line:149,column:8},end:{line:160,column:9}},type:"if",locations:[{start:{line:149,column:8},end:{line:160,column:9}},{start:{line:149,column:8},end:{line:160,column:9}}],line:149},"11":{loc:{start:{line:151,column:12},end:{line:153,column:13}},type:"if",locations:[{start:{line:151,column:12},end:{line:153,column:13}},{start:{line:151,column:12},end:{line:153,column:13}}],line:151},"12":{loc:{start:{line:154,column:20},end:{line:156,column:52}},type:"binary-expr",locations:[{start:{line:154,column:20},end:{line:154,column:61}},{start:{line:155,column:16},end:{line:155,column:50}},{start:{line:156,column:16},end:{line:156,column:52}}],line:154},"13":{loc:{start:{line:174,column:8},end:{line:182,column:9}},type:"if",locations:[{start:{line:174,column:8},end:{line:182,column:9}},{start:{line:174,column:8},end:{line:182,column:9}}],line:174},"14":{loc:{start:{line:175,column:35},end:{line:175,column:95}},type:"cond-expr",locations:[{start:{line:175,column:59},end:{line:175,column:88}},{start:{line:175,column:91},end:{line:175,column:95}}],line:175},"15":{loc:{start:{line:177,column:12},end:{line:179,column:13}},type:"if",locations:[{start:{line:177,column:12},end:{line:179,column:13}},{start:{line:177,column:12},end:{line:179,column:13}}],line:177},"16":{loc:{start:{line:190,column:8},end:{line:197,column:9}},type:"if",locations:[{start:{line:190,column:8},end:{line:197,column:9}},{start:{line:190,column:8},end:{line:197,column:9}}],line:190},"17":{loc:{start:{line:190,column:12},end:{line:195,column:36}},type:"binary-expr",locations:[{start:{line:190,column:12},end:{line:190,column:26}},{start:{line:191,column:12},end:{line:191,column:28}},{start:{line:192,column:12},end:{line:192,column:33}},{start:{line:193,column:12},end:{line:193,column:26}},{start:{line:194,column:12},end:{line:194,column:41}},{start:{line:195,column:12},end:{line:195,column:36}}],line:190},"18":{loc:{start:{line:198,column:8},end:{line:205,column:9}},type:"if",locations:[{start:{line:198,column:8},end:{line:205,column:9}},{start:{line:198,column:8},end:{line:205,column:9}}],line:198},"19":{loc:{start:{line:198,column:12},end:{line:203,column:37}},type:"binary-expr",locations:[{start:{line:198,column:12},end:{line:198,column:26}},{start:{line:199,column:12},end:{line:199,column:28}},{start:{line:200,column:12},end:{line:200,column:33}},{start:{line:201,column:12},end:{line:201,column:26}},{start:{line:202,column:12},end:{line:202,column:42}},{start:{line:203,column:12},end:{line:203,column:37}}],line:198}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0,0,0,0],"18":[0,0],"19":[0,0,0,0,0,0]},inputSourceMap:{version:3,file:"multilanguageinputarea.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/multilanguage/multilanguageinputarea.ts"],names:[],mappings:"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",sourcesContent:["import { SacInputBase } from '../../common/baseinputcontrol';\nimport { IconType } from '../../enums/IconType';\nimport { ISacLanguageService } from '../../interfaces/ISacLanguageService';\nimport { LanguageModel } from '../../models/languagemodel';\nimport { SACLANGUAGE_SERVICE, SacDefaultLanguageService } from '../../services/sac-language.service';\nimport { Validation } from '../../validation';\nimport { SacFormLayoutCommon } from '../layout/formlayout';\nimport { Directive, Host, Injector, Input } from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\n\n/**\n * Base Klasse f\xFCr Multi Language Textarea Control\n */\n@Directive()\nexport class SacMultilanguageInputAreaCommon extends SacInputBase<any> {\n // #region Properties\n\n /**\n * Sprache f\xFCr das Control\n */\n private languages: LanguageModel[] = [];\n\n /**\n * Selektierte Sprace des Controls\n */\n private selectedLanguage: LanguageModel = null;\n\n /**\n * Service f\xFCr Error Localisation\n */\n protected lngLanguageService: ISacLanguageService;\n\n /**\n * Fix breite f\xFCr das Control definieren.\n */\n @Input() public controlwidth: string = null;\n\n /**\n * Max length of characters for input field\n */\n @Input() public maxtextlength: number = null;\n\n /**\n * Aktiviert den Validator, das min. eine Sprache erfasst sein muss\n */\n @Input() public requiredany: boolean = false;\n\n /**\n * Anzahl Rows f\xFCr TextArea\n */\n @Input() public rows: number = 7;\n\n /**\n * Resource Key f\xFCr Validation Message Required bei Control\n */\n @Input() public validationmessagerequired: string = this.validationKeyService.ValidationErrorSummaryRequired;\n\n /**\n * Resource Key f\xFCr Validation Message Pattern bei Control\n */\n @Input() public validationmessagerequiredany: string =\n this.validationKeyService.ValidationErrorMultilanguageRequiredAny;\n\n /**\n * Resource Key f\xFCr Validation Message Required in Validation Summary\n */\n @Input() public validationmessagesummaryrequired: string =\n this.validationKeyService.ValidationErrorSummaryMultilanguageRequired;\n\n /**\n * Resource Key f\xFCr Validation Message Pattern in Validation Summary\n */\n @Input() public validationmessagesummaryrequiredany: string =\n this.validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() formlayout: SacFormLayoutCommon, injector: Injector) {\n super(formlayout, injector);\n\n this.lngLanguageService = injector.get(SACLANGUAGE_SERVICE, new SacDefaultLanguageService());\n\n this.lngLanguageService.GetLanguages().subscribe((result: LanguageModel[]) => {\n this.languages = result;\n\n if (this.languages.length > 0) {\n this.selectedLanguage = this.languages[0];\n }\n // Control Validierung ausf\xFChren, da Wert potentiell bereits gesetzt sein kann\n this.UpdateValueAndValidity();\n });\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Getter welcher den Wert der Component in der gew\xE4hlten Sprache zur\xFCckgibt. Wenn keine Sprache selektiert ist, wird ein leerer Wert zur\xFCckgegeben.\n * Ist in der Component kein Wert gespeichert wird ein leerer Wert zur\xFCckgegeben\n */\n public get LanguageValue(): string {\n if (this.value) {\n const currentIsoCode: string = this.selectedLanguage ? this.selectedLanguage.IsoCode : null;\n\n // Fallback falls keine Selektierte Sprache\n if (currentIsoCode === null) {\n return '';\n }\n\n return this.value[currentIsoCode];\n } else {\n return '';\n }\n }\n\n /**\n * Collection der Sprachen\n */\n public get Languages(): LanguageModel[] {\n return this.languages;\n }\n\n /**\n * Gibt das Icon der selektierten Sprache zur\xFCck\n */\n public get SelectedIcon(): string {\n if (this.selectedLanguage) {\n return this.selectedLanguage.Icon;\n } else {\n return '';\n }\n }\n\n /**\n * Gibt den Type des Icons f\xFCr die selektierte Sprache zur\xFCck\n */\n public get SelectedIconType(): IconType {\n if (this.selectedLanguage) {\n return this.selectedLanguage.IconType;\n } else {\n return IconType.Image;\n }\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Pr\xFCft, ob in einer beliebigen Sprache der Kompontente kein Wert definiert ist.\n * @returns Gibt an ob ein Leeres Element vorhanden ist\n */\n public IsAnyEmpty(): boolean {\n let found = false;\n\n if (this.value) {\n this.languages.forEach((itm: LanguageModel) => {\n if (itm === null) {\n found = true;\n return;\n }\n\n if (\n this.value[itm.IsoCode] === undefined ||\n this.value[itm.IsoCode] === '' ||\n this.value[itm.IsoCode] === null\n ) {\n found = true;\n return;\n }\n });\n }\n return found;\n }\n\n /**\n * Gibt an, ob in einer bestimmten Sprache ein Wert definiert ist\n * @param sprache Sprache in welcher der Wert gepr\xFCft werden soll\n * @returns Wert ist vorhanden\n */\n public IsEmpty(sprache: LanguageModel): boolean {\n if (this.value) {\n // Fallback falls keine Selektierte Sprache\n if (sprache === null) {\n return true;\n }\n\n return (\n this.value[sprache.IsoCode] === undefined ||\n this.value[sprache.IsoCode] === '' ||\n this.value[sprache.IsoCode] === null\n );\n } else {\n return true;\n }\n }\n\n /**\n * Selektiert die Sprache der Komponente\n * @param language Sprache die selektiert werden soll\n */\n public SelectLanguage(language: LanguageModel) {\n this.selectedLanguage = language;\n }\n\n /**\n * Speichert einen Wert zur aktuell gew\xE4hlten Sprache\n * @param value Wert welcher gespeichert werden soll\n */\n public SetLanguageValue(value: string) {\n if (this.value) {\n const currentIsoCode: string = this.selectedLanguage ? this.selectedLanguage.IsoCode : null;\n\n // Fallback falls keine Selektierte Sprache\n if (currentIsoCode === null) {\n return;\n }\n\n this.value[currentIsoCode] = value;\n this.propagateChange(this._value);\n }\n }\n\n /**\n * Methode validiert, ob der Wert den gegebenen Kriterien entspricht\n * @param c Controls das validiert wird\n */\n public validateData(c: AbstractControl): { [key: string]: any } {\n let error: ValidationErrors | null = null;\n\n if (\n error === null &&\n c.value !== null &&\n c.value !== undefined &&\n c.value !== '' &&\n this.isrequired !== undefined &&\n this.isrequired === true\n ) {\n error = Validation.multilanguageRequired(\n this.languages,\n this.validationmessagerequired,\n this.validationmessagesummaryrequired\n )(c);\n }\n\n if (\n error === null &&\n c.value !== null &&\n c.value !== undefined &&\n c.value !== '' &&\n this.requiredany !== undefined &&\n this.requiredany === true\n ) {\n error = Validation.multilanguageRequiredAny(\n this.languages,\n this.validationmessagerequiredany,\n this.validationmessagesummaryrequiredany\n )(c);\n }\n\n return error;\n }\n\n // #endregion Public Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"af36ed53f320183d5a3ef6e3bc23e367258265ba"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_1d0lntewhi=function(){return actualCoverage;};}return actualCoverage;}cov_1d0lntewhi();import{SacInputBase}from'../../common/baseinputcontrol';import{IconType}from'../../enums/IconType';import{SACLANGUAGE_SERVICE,SacDefaultLanguageService}from'../../services/sac-language.service';import{Validation}from'../../validation';import{Directive,Host,Input}from'@angular/core';import*as i0 from"@angular/core";import*as i1 from"../layout/formlayout";/**
9
3
  * Base Klasse für Multi Language Textarea Control
10
- */
11
- class SacMultilanguageInputAreaCommon extends SacInputBase {
12
- /**
13
- * Konstruktor
14
- * Inject des Formulars
15
- */
16
- constructor(parent, injector) {
17
- super(parent, injector);
18
- /**
19
- * Max länge an Zeichen für Eingabefeld
20
- */
21
- this.maxlength = null;
22
- /**
23
- * Anzahl Rows für TextArea
24
- */
25
- this.rows = 7;
26
- /**
4
+ */class SacMultilanguageInputAreaCommon extends SacInputBase{// #endregion Properties
5
+ // #region Constructors
6
+ /**
7
+ * Constructor
8
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
9
+ * @param injector Injector for injecting services
10
+ */constructor(formlayout,injector){cov_1d0lntewhi().f[0]++;cov_1d0lntewhi().s[0]++;super(formlayout,injector);// #region Properties
11
+ /**
12
+ * Sprache für das Control
13
+ */cov_1d0lntewhi().s[1]++;this.languages=[];/**
14
+ * Selektierte Sprace des Controls
15
+ */cov_1d0lntewhi().s[2]++;this.selectedLanguage=null;/**
27
16
  * Fix breite für das Control definieren.
28
- */
29
- this.controlwidth = null;
30
- /**
17
+ */cov_1d0lntewhi().s[3]++;this.controlwidth=null;/**
18
+ * Max length of characters for input field
19
+ */cov_1d0lntewhi().s[4]++;this.maxtextlength=null;/**
31
20
  * Aktiviert den Validator, das min. eine Sprache erfasst sein muss
32
- */
33
- this.requiredany = false;
34
- /**
21
+ */cov_1d0lntewhi().s[5]++;this.requiredany=false;/**
22
+ * Anzahl Rows für TextArea
23
+ */cov_1d0lntewhi().s[6]++;this.rows=7;/**
35
24
  * Resource Key für Validation Message Required bei Control
36
- */
37
- this.validationmessagerequired = 'VALIDATION_ERROR_MULTILANGUAGEREQUIRED';
38
- /**
39
- * Resource Key für Validation Message Required in Validation Summary
40
- */
41
- this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED';
42
- /**
25
+ */cov_1d0lntewhi().s[7]++;this.validationmessagerequired=this.validationKeyService.ValidationErrorSummaryRequired;/**
43
26
  * Resource Key für Validation Message Pattern bei Control
44
- */
45
- this.validationmessagerequiredany = 'VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY';
46
- /**
27
+ */cov_1d0lntewhi().s[8]++;this.validationmessagerequiredany=this.validationKeyService.ValidationErrorMultilanguageRequiredAny;/**
28
+ * Resource Key für Validation Message Required in Validation Summary
29
+ */cov_1d0lntewhi().s[9]++;this.validationmessagesummaryrequired=this.validationKeyService.ValidationErrorSummaryMultilanguageRequired;/**
47
30
  * Resource Key für Validation Message Pattern in Validation Summary
48
- */
49
- this.validationmessagesummaryrequiredany = 'VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY';
50
- /**
51
- * Sprache für das Control
52
- */
53
- this.languages = [];
54
- /**
55
- * Selektierte Sprace des Controls
56
- */
57
- this.selectedLanguage = null;
58
- this.lngLanguageService = injector.get(SACLANGUAGE_SERVICE, new SacDefaultLanguageService());
59
- this.lngLanguageService
60
- .GetLanguages()
61
- .subscribe((result) => {
62
- this.languages = result;
63
- if (this.languages.length > 0) {
64
- this.selectedLanguage = this.languages[0];
65
- }
66
- // Control Validierung ausführen, da Wert potentiell bereits gesetzt sein kann
67
- this.UpdateValueAndValidity();
68
- });
69
- }
70
- /**
31
+ */cov_1d0lntewhi().s[10]++;this.validationmessagesummaryrequiredany=this.validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny;cov_1d0lntewhi().s[11]++;this.lngLanguageService=injector.get(SACLANGUAGE_SERVICE,new SacDefaultLanguageService());cov_1d0lntewhi().s[12]++;this.lngLanguageService.GetLanguages().subscribe(result=>{cov_1d0lntewhi().f[1]++;cov_1d0lntewhi().s[13]++;this.languages=result;cov_1d0lntewhi().s[14]++;if(this.languages.length>0){cov_1d0lntewhi().b[0][0]++;cov_1d0lntewhi().s[15]++;this.selectedLanguage=this.languages[0];}else{cov_1d0lntewhi().b[0][1]++;}// Control Validierung ausführen, da Wert potentiell bereits gesetzt sein kann
32
+ cov_1d0lntewhi().s[16]++;this.UpdateValueAndValidity();});}// #endregion Constructors
33
+ // #region Public Getters And Setters
34
+ /**
35
+ * Getter welcher den Wert der Component in der gewählten Sprache zurückgibt. Wenn keine Sprache selektiert ist, wird ein leerer Wert zurückgegeben.
36
+ * Ist in der Component kein Wert gespeichert wird ein leerer Wert zurückgegeben
37
+ */get LanguageValue(){cov_1d0lntewhi().f[2]++;cov_1d0lntewhi().s[17]++;if(this.value){cov_1d0lntewhi().b[1][0]++;const currentIsoCode=(cov_1d0lntewhi().s[18]++,this.selectedLanguage?(cov_1d0lntewhi().b[2][0]++,this.selectedLanguage.IsoCode):(cov_1d0lntewhi().b[2][1]++,null));// Fallback falls keine Selektierte Sprache
38
+ cov_1d0lntewhi().s[19]++;if(currentIsoCode===null){cov_1d0lntewhi().b[3][0]++;cov_1d0lntewhi().s[20]++;return'';}else{cov_1d0lntewhi().b[3][1]++;}cov_1d0lntewhi().s[21]++;return this.value[currentIsoCode];}else{cov_1d0lntewhi().b[1][1]++;cov_1d0lntewhi().s[22]++;return'';}}/**
71
39
  * Collection der Sprachen
72
- */
73
- get Languages() {
74
- return this.languages;
75
- }
76
- /**
40
+ */get Languages(){cov_1d0lntewhi().f[3]++;cov_1d0lntewhi().s[23]++;return this.languages;}/**
77
41
  * Gibt das Icon der selektierten Sprache zurück
78
- */
79
- get SelectedIcon() {
80
- if (this.selectedLanguage) {
81
- return this.selectedLanguage.Icon;
82
- }
83
- else {
84
- return '';
85
- }
86
- }
87
- /**
42
+ */get SelectedIcon(){cov_1d0lntewhi().f[4]++;cov_1d0lntewhi().s[24]++;if(this.selectedLanguage){cov_1d0lntewhi().b[4][0]++;cov_1d0lntewhi().s[25]++;return this.selectedLanguage.Icon;}else{cov_1d0lntewhi().b[4][1]++;cov_1d0lntewhi().s[26]++;return'';}}/**
88
43
  * Gibt den Type des Icons für die selektierte Sprache zurück
89
- */
90
- get SelectedIconType() {
91
- if (this.selectedLanguage) {
92
- return this.selectedLanguage.IconType;
93
- }
94
- else {
95
- return IconType.Image;
96
- }
97
- }
98
- /**
99
- * Getter welcher den Wert der Component in der gewählten Sprache zurückgibt. Wenn keine Sprache selektiert ist, wird ein leerer Wert zurückgegeben.
100
- * Ist in der Component kein Wert gespeichert wird ein leerer Wert zurückgegeben
101
- */
102
- get LanguageValue() {
103
- if (this.value) {
104
- const currentIsoCode = this.selectedLanguage
105
- ? this.selectedLanguage.IsoCode
106
- : null;
107
- // Fallback falls keine Selektierte Sprache
108
- if (currentIsoCode === null) {
109
- return '';
110
- }
111
- return this.value[currentIsoCode];
112
- }
113
- else {
114
- return '';
115
- }
116
- }
117
- /**
118
- * Speichert einen Wert zur aktuell gewählten Sprache
119
- * @param value Wert welcher gespeichert werden soll
120
- */
121
- SetLanguageValue(value) {
122
- if (this.value) {
123
- const currentIsoCode = this.selectedLanguage
124
- ? this.selectedLanguage.IsoCode
125
- : null;
126
- // Fallback falls keine Selektierte Sprache
127
- if (currentIsoCode === null) {
128
- return;
129
- }
130
- this.value[currentIsoCode] = value;
131
- this.propagateChange(this._value);
132
- }
133
- }
134
- /**
135
- * Selektiert die Sprache der Komponente
136
- * @param language Sprache die selektiert werden soll
137
- */
138
- SelectLanguage(language) {
139
- this.selectedLanguage = language;
140
- }
141
- /**
44
+ */get SelectedIconType(){cov_1d0lntewhi().f[5]++;cov_1d0lntewhi().s[27]++;if(this.selectedLanguage){cov_1d0lntewhi().b[5][0]++;cov_1d0lntewhi().s[28]++;return this.selectedLanguage.IconType;}else{cov_1d0lntewhi().b[5][1]++;cov_1d0lntewhi().s[29]++;return IconType.Image;}}// #endregion Public Getters And Setters
45
+ // #region Public Methods
46
+ /**
47
+ * Prüft, ob in einer beliebigen Sprache der Kompontente kein Wert definiert ist.
48
+ * @returns Gibt an ob ein Leeres Element vorhanden ist
49
+ */IsAnyEmpty(){cov_1d0lntewhi().f[6]++;let found=(cov_1d0lntewhi().s[30]++,false);cov_1d0lntewhi().s[31]++;if(this.value){cov_1d0lntewhi().b[6][0]++;cov_1d0lntewhi().s[32]++;this.languages.forEach(itm=>{cov_1d0lntewhi().f[7]++;cov_1d0lntewhi().s[33]++;if(itm===null){cov_1d0lntewhi().b[7][0]++;cov_1d0lntewhi().s[34]++;found=true;cov_1d0lntewhi().s[35]++;return;}else{cov_1d0lntewhi().b[7][1]++;}cov_1d0lntewhi().s[36]++;if((cov_1d0lntewhi().b[9][0]++,this.value[itm.IsoCode]===undefined)||(cov_1d0lntewhi().b[9][1]++,this.value[itm.IsoCode]==='')||(cov_1d0lntewhi().b[9][2]++,this.value[itm.IsoCode]===null)){cov_1d0lntewhi().b[8][0]++;cov_1d0lntewhi().s[37]++;found=true;cov_1d0lntewhi().s[38]++;return;}else{cov_1d0lntewhi().b[8][1]++;}});}else{cov_1d0lntewhi().b[6][1]++;}cov_1d0lntewhi().s[39]++;return found;}/**
142
50
  * Gibt an, ob in einer bestimmten Sprache ein Wert definiert ist
143
51
  * @param sprache Sprache in welcher der Wert geprüft werden soll
144
52
  * @returns Wert ist vorhanden
145
- */
146
- IsEmpty(sprache) {
147
- if (this.value) {
148
- // Fallback falls keine Selektierte Sprache
149
- if (sprache === null) {
150
- return true;
151
- }
152
- return (this.value[sprache.IsoCode] === undefined ||
153
- this.value[sprache.IsoCode] === '' ||
154
- this.value[sprache.IsoCode] === null);
155
- }
156
- else {
157
- return true;
158
- }
159
- }
160
- /**
161
- * Prüft, ob in einer beliebigen Sprache der Kompontente kein Wert definiert ist.
162
- * @returns Gibt an ob ein Leeres Element vorhanden ist
163
- */
164
- IsAnyEmpty() {
165
- let found = false;
166
- if (this.value) {
167
- this.languages.forEach((itm) => {
168
- if (itm === null) {
169
- found = true;
170
- return;
171
- }
172
- if (this.value[itm.IsoCode] === undefined ||
173
- this.value[itm.IsoCode] === '' ||
174
- this.value[itm.IsoCode] === null) {
175
- found = true;
176
- return;
177
- }
178
- });
179
- }
180
- return found;
181
- }
182
- /**
53
+ */IsEmpty(sprache){cov_1d0lntewhi().f[8]++;cov_1d0lntewhi().s[40]++;if(this.value){cov_1d0lntewhi().b[10][0]++;cov_1d0lntewhi().s[41]++;// Fallback falls keine Selektierte Sprache
54
+ if(sprache===null){cov_1d0lntewhi().b[11][0]++;cov_1d0lntewhi().s[42]++;return true;}else{cov_1d0lntewhi().b[11][1]++;}cov_1d0lntewhi().s[43]++;return(cov_1d0lntewhi().b[12][0]++,this.value[sprache.IsoCode]===undefined)||(cov_1d0lntewhi().b[12][1]++,this.value[sprache.IsoCode]==='')||(cov_1d0lntewhi().b[12][2]++,this.value[sprache.IsoCode]===null);}else{cov_1d0lntewhi().b[10][1]++;cov_1d0lntewhi().s[44]++;return true;}}/**
55
+ * Selektiert die Sprache der Komponente
56
+ * @param language Sprache die selektiert werden soll
57
+ */SelectLanguage(language){cov_1d0lntewhi().f[9]++;cov_1d0lntewhi().s[45]++;this.selectedLanguage=language;}/**
58
+ * Speichert einen Wert zur aktuell gewählten Sprache
59
+ * @param value Wert welcher gespeichert werden soll
60
+ */SetLanguageValue(value){cov_1d0lntewhi().f[10]++;cov_1d0lntewhi().s[46]++;if(this.value){cov_1d0lntewhi().b[13][0]++;const currentIsoCode=(cov_1d0lntewhi().s[47]++,this.selectedLanguage?(cov_1d0lntewhi().b[14][0]++,this.selectedLanguage.IsoCode):(cov_1d0lntewhi().b[14][1]++,null));// Fallback falls keine Selektierte Sprache
61
+ cov_1d0lntewhi().s[48]++;if(currentIsoCode===null){cov_1d0lntewhi().b[15][0]++;cov_1d0lntewhi().s[49]++;return;}else{cov_1d0lntewhi().b[15][1]++;}cov_1d0lntewhi().s[50]++;this.value[currentIsoCode]=value;cov_1d0lntewhi().s[51]++;this.propagateChange(this._value);}else{cov_1d0lntewhi().b[13][1]++;}}/**
183
62
  * Methode validiert, ob der Wert den gegebenen Kriterien entspricht
184
63
  * @param c Controls das validiert wird
185
- */
186
- validateData(c) {
187
- let error = null;
188
- if (error === null &&
189
- c.value !== null &&
190
- c.value !== undefined &&
191
- c.value !== '' &&
192
- this.isrequired !== undefined &&
193
- this.isrequired === true) {
194
- error = Validation.multilanguageRequired(this.languages, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
195
- }
196
- if (error === null &&
197
- c.value !== null &&
198
- c.value !== undefined &&
199
- c.value !== '' &&
200
- this.requiredany !== undefined &&
201
- this.requiredany === true) {
202
- error = Validation.multilanguageRequiredAny(this.languages, this.validationmessagerequiredany, this.validationmessagesummaryrequiredany)(c);
203
- }
204
- return error;
205
- }
206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguageInputAreaCommon, deps: [{ token: i1.SacFormCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
207
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacMultilanguageInputAreaCommon, inputs: { maxlength: "maxlength", rows: "rows", controlwidth: "controlwidth", requiredany: "requiredany", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessagerequiredany: "validationmessagerequiredany", validationmessagesummaryrequiredany: "validationmessagesummaryrequiredany" }, usesInheritance: true, ngImport: i0 }); }
208
- }
209
- export { SacMultilanguageInputAreaCommon };
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguageInputAreaCommon, decorators: [{
211
- type: Directive
212
- }], ctorParameters: function () { return [{ type: i1.SacFormCommon, decorators: [{
213
- type: Host
214
- }] }, { type: i0.Injector }]; }, propDecorators: { maxlength: [{
215
- type: Input
216
- }], rows: [{
217
- type: Input
218
- }], controlwidth: [{
219
- type: Input
220
- }], requiredany: [{
221
- type: Input
222
- }], validationmessagerequired: [{
223
- type: Input
224
- }], validationmessagesummaryrequired: [{
225
- type: Input
226
- }], validationmessagerequiredany: [{
227
- type: Input
228
- }], validationmessagesummaryrequiredany: [{
229
- type: Input
230
- }] } });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0YXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLG1CQUFtQixHQUNwQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRzlDOztHQUVHO0FBQ0gsTUFDYSwrQkFBZ0MsU0FBUSxZQUFpQjtJQWdEcEU7OztPQUdHO0lBQ0gsWUFBb0IsTUFBcUIsRUFBRSxRQUFrQjtRQUMzRCxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBcEQxQjs7V0FFRztRQUNNLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRTFCOztXQUVHO1FBQ00saUJBQVksR0FBVyxJQUFJLENBQUM7UUFFckM7O1dBRUc7UUFDTSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUV0Qzs7V0FFRztRQUNNLDhCQUF5QixHQUNoQyx3Q0FBd0MsQ0FBQztRQUMzQzs7V0FFRztRQUNNLHFDQUFnQyxHQUN2QyxnREFBZ0QsQ0FBQztRQUVuRDs7V0FFRztRQUNNLGlDQUE0QixHQUNuQywyQ0FBMkMsQ0FBQztRQUM5Qzs7V0FFRztRQUNNLHdDQUFtQyxHQUMxQyxtREFBbUQsQ0FBQztRQWdDdEQ7O1dBRUc7UUFDSyxj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QUN4QjtZQUNBLEtBQUssR0FBRyxVQUFVLENBQUMscUJBQXFCLENBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLHlCQUF5QixFQUM5QixJQUFJLENBQUMsZ0NBQWdDLENBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQ0UsS0FBSyxLQUFLLElBQUk7WUFDZCxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUk7WUFDaEIsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ3JCLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUztZQUM5QixJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFDekI7WUFDQSxLQUFLLEdBQUcsVUFBVSxDQUFDLHdCQUF3QixDQUN6QyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyw0QkFBNEIsRUFDakMsSUFBSSxDQUFDLG1DQUFtQyxDQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBdlBVLCtCQUErQjttR0FBL0IsK0JBQStCOztTQUEvQiwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzs7MEJBcURLLElBQUk7bUVBaERSLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBS0csZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQU1HLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFLRyxtQ0FBbUM7c0JBQTNDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0QmFzZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlaW5wdXRjb250cm9sJztcclxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9JY29uVHlwZSc7XHJcbmltcG9ydCB7IElTYWNMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNMYW5ndWFnZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIFNhY0RlZmF1bHRMYW5ndWFnZVNlcnZpY2UsXHJcbiAgU0FDTEFOR1VBR0VfU0VSVklDRSxcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUNvbW1vbiB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcblxyXG4vKipcclxuICogQmFzZSBLbGFzc2UgZsO8ciBNdWx0aSBMYW5ndWFnZSBUZXh0YXJlYSBDb250cm9sXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21tb24gZXh0ZW5kcyBTYWNJbnB1dEJhc2U8YW55PiB7XHJcbiAgLyoqXHJcbiAgICogTWF4IGzDpG5nZSBhbiBaZWljaGVuIGbDvHIgRWluZ2FiZWZlbGRcclxuICAgKi9cclxuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlciA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuemFobCBSb3dzIGbDvHIgVGV4dEFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dzOiBudW1iZXIgPSA3O1xyXG5cclxuICAvKipcclxuICAgKiBGaXggYnJlaXRlIGbDvHIgZGFzIENvbnRyb2wgZGVmaW5pZXJlbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBjb250cm9sd2lkdGg6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdGl2aWVydCBkZW4gVmFsaWRhdG9yLCBkYXMgbWluLiBlaW5lIFNwcmFjaGUgZXJmYXNzdCBzZWluIG11c3NcclxuICAgKi9cclxuICBASW5wdXQoKSByZXF1aXJlZGFueTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEJztcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueTogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFBhdHRlcm4gaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnk6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgZsO8ciBFcnJvciBMb2NhbGlzYXRpb25cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbG5nTGFuZ3VhZ2VTZXJ2aWNlOiBJU2FjTGFuZ3VhZ2VTZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwYXJlbnQ6IFNhY0Zvcm1Db21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0xBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlKClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2VcclxuICAgICAgLkdldExhbmd1YWdlcygpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogTGFuZ3VhZ2VNb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZXMgPSByZXN1bHQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlc1swXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ29udHJvbCBWYWxpZGllcnVuZyBhdXNmw7xocmVuLCBkYSBXZXJ0IHBvdGVudGllbGwgYmVyZWl0cyBnZXNldHp0IHNlaW4ga2FublxyXG4gICAgICAgIHRoaXMuVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNwcmFjaGUgZsO8ciBkYXMgQ29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10gPSBbXTtcclxuICAvKipcclxuICAgKiBTZWxla3RpZXJ0ZSBTcHJhY2UgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZWxlY3RlZExhbmd1YWdlOiBMYW5ndWFnZU1vZGVsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29sbGVjdGlvbiBkZXIgU3ByYWNoZW5cclxuICAgKi9cclxuICBnZXQgTGFuZ3VhZ2VzKCk6IExhbmd1YWdlTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHaWJ0IGRhcyBJY29uIGRlciBzZWxla3RpZXJ0ZW4gU3ByYWNoZSB6dXLDvGNrXHJcbiAgICovXHJcbiAgZ2V0IFNlbGVjdGVkSWNvbigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmd1YWdlLkljb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHaWJ0IGRlbiBUeXBlIGRlcyBJY29ucyBmw7xyIGRpZSBzZWxla3RpZXJ0ZSBTcHJhY2hlIHp1csO8Y2tcclxuICAgKi9cclxuICBnZXQgU2VsZWN0ZWRJY29uVHlwZSgpOiBJY29uVHlwZSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZExhbmd1YWdlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSWNvblR5cGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gSWNvblR5cGUuSW1hZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgd2VsY2hlciBkZW4gV2VydCBkZXIgQ29tcG9uZW50IGluIGRlciBnZXfDpGhsdGVuIFNwcmFjaGUgenVyw7xja2dpYnQuIFdlbm4ga2VpbmUgU3ByYWNoZSBzZWxla3RpZXJ0IGlzdCwgd2lyZCBlaW4gbGVlcmVyIFdlcnQgenVyw7xja2dlZ2ViZW4uXHJcbiAgICogSXN0IGluIGRlciBDb21wb25lbnQga2VpbiBXZXJ0IGdlc3BlaWNoZXJ0IHdpcmQgZWluIGxlZXJlciBXZXJ0IHp1csO8Y2tnZWdlYmVuXHJcbiAgICovXHJcbiAgZ2V0IExhbmd1YWdlVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRJc29Db2RlOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VcclxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5Jc29Db2RlXHJcbiAgICAgICAgOiBudWxsO1xyXG5cclxuICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxyXG4gICAgICBpZiAoY3VycmVudElzb0NvZGUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlW2N1cnJlbnRJc29Db2RlXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNwZWljaGVydCBlaW5lbiBXZXJ0IHp1ciBha3R1ZWxsIGdld8OkaGx0ZW4gU3ByYWNoZVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBXZXJ0IHdlbGNoZXIgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgU2V0TGFuZ3VhZ2VWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnZhbHVlW2N1cnJlbnRJc29Db2RlXSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxla3RpZXJ0IGRpZSBTcHJhY2hlIGRlciBLb21wb25lbnRlXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlIFNwcmFjaGUgZGllIHNlbGVrdGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgU2VsZWN0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlTW9kZWwpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBhbiwgb2IgaW4gZWluZXIgYmVzdGltbXRlbiBTcHJhY2hlIGVpbiBXZXJ0IGRlZmluaWVydCBpc3RcclxuICAgKiBAcGFyYW0gc3ByYWNoZSBTcHJhY2hlIGluIHdlbGNoZXIgZGVyIFdlcnQgZ2VwcsO8ZnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcmV0dXJucyBXZXJ0IGlzdCB2b3JoYW5kZW5cclxuICAgKi9cclxuICBwdWJsaWMgSXNFbXB0eShzcHJhY2hlOiBMYW5ndWFnZU1vZGVsKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICAvLyBGYWxsYmFjayBmYWxscyBrZWluZSBTZWxla3RpZXJ0ZSBTcHJhY2hlXHJcbiAgICAgIGlmIChzcHJhY2hlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09ICcnIHx8XHJcbiAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSBudWxsXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByw7xmdCwgb2IgaW4gZWluZXIgYmVsaWViaWdlbiBTcHJhY2hlIGRlciBLb21wb250ZW50ZSBrZWluIFdlcnQgZGVmaW5pZXJ0IGlzdC5cclxuICAgKiBAcmV0dXJucyBHaWJ0IGFuIG9iIGVpbiBMZWVyZXMgRWxlbWVudCB2b3JoYW5kZW4gaXN0XHJcbiAgICovXHJcbiAgcHVibGljIElzQW55RW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLmxhbmd1YWdlcy5mb3JFYWNoKChpdG06IExhbmd1YWdlTW9kZWwpID0+IHtcclxuICAgICAgICBpZiAoaXRtID09PSBudWxsKSB7XHJcbiAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnZhbHVlW2l0bS5Jc29Db2RlXSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgICB0aGlzLnZhbHVlW2l0bS5Jc29Db2RlXSA9PT0gJycgfHxcclxuICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSBudWxsXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3VuZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0LCBvYiBkZXIgV2VydCBkZW4gZ2VnZWJlbmVuIEtyaXRlcmllbiBlbnRzcHJpY2h0XHJcbiAgICogQHBhcmFtIGMgQ29udHJvbHMgZGFzIHZhbGlkaWVydCB3aXJkXHJcbiAgICovXHJcbiAgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBlcnJvciA9PT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSBudWxsICYmXHJcbiAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSAnJyAmJlxyXG4gICAgICB0aGlzLmlzcmVxdWlyZWQgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICB0aGlzLmlzcmVxdWlyZWQgPT09IHRydWVcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkXHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBlcnJvciA9PT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSBudWxsICYmXHJcbiAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSAnJyAmJlxyXG4gICAgICB0aGlzLnJlcXVpcmVkYW55ICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5yZXF1aXJlZGFueSA9PT0gdHJ1ZVxyXG4gICAgKSB7XHJcbiAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5tdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZXMsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkYW55LFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnlcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG59XHJcbiJdfQ==
64
+ */validateData(c){cov_1d0lntewhi().f[11]++;let error=(cov_1d0lntewhi().s[52]++,null);cov_1d0lntewhi().s[53]++;if((cov_1d0lntewhi().b[17][0]++,error===null)&&(cov_1d0lntewhi().b[17][1]++,c.value!==null)&&(cov_1d0lntewhi().b[17][2]++,c.value!==undefined)&&(cov_1d0lntewhi().b[17][3]++,c.value!=='')&&(cov_1d0lntewhi().b[17][4]++,this.isrequired!==undefined)&&(cov_1d0lntewhi().b[17][5]++,this.isrequired===true)){cov_1d0lntewhi().b[16][0]++;cov_1d0lntewhi().s[54]++;error=Validation.multilanguageRequired(this.languages,this.validationmessagerequired,this.validationmessagesummaryrequired)(c);}else{cov_1d0lntewhi().b[16][1]++;}cov_1d0lntewhi().s[55]++;if((cov_1d0lntewhi().b[19][0]++,error===null)&&(cov_1d0lntewhi().b[19][1]++,c.value!==null)&&(cov_1d0lntewhi().b[19][2]++,c.value!==undefined)&&(cov_1d0lntewhi().b[19][3]++,c.value!=='')&&(cov_1d0lntewhi().b[19][4]++,this.requiredany!==undefined)&&(cov_1d0lntewhi().b[19][5]++,this.requiredany===true)){cov_1d0lntewhi().b[18][0]++;cov_1d0lntewhi().s[56]++;error=Validation.multilanguageRequiredAny(this.languages,this.validationmessagerequiredany,this.validationmessagesummaryrequiredany)(c);}else{cov_1d0lntewhi().b[18][1]++;}cov_1d0lntewhi().s[57]++;return error;}static{cov_1d0lntewhi().s[58]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacMultilanguageInputAreaCommon,deps:[{token:i1.SacFormLayoutCommon,host:true},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_1d0lntewhi().s[59]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacMultilanguageInputAreaCommon,inputs:{controlwidth:"controlwidth",maxtextlength:"maxtextlength",requiredany:"requiredany",rows:"rows",validationmessagerequired:"validationmessagerequired",validationmessagerequiredany:"validationmessagerequiredany",validationmessagesummaryrequired:"validationmessagesummaryrequired",validationmessagesummaryrequiredany:"validationmessagesummaryrequiredany"},usesInheritance:true,ngImport:i0});}}export{SacMultilanguageInputAreaCommon};cov_1d0lntewhi().s[60]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacMultilanguageInputAreaCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_1d0lntewhi().f[12]++;cov_1d0lntewhi().s[61]++;return[{type:i1.SacFormLayoutCommon,decorators:[{type:Host}]},{type:i0.Injector}];},propDecorators:{controlwidth:[{type:Input}],maxtextlength:[{type:Input}],requiredany:[{type:Input}],rows:[{type:Input}],validationmessagerequired:[{type:Input}],validationmessagerequiredany:[{type:Input}],validationmessagesummaryrequired:[{type:Input}],validationmessagesummaryrequiredany:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0YXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUdqRTs7R0FFRztBQUNILE1BQ2EsK0JBQWdDLFNBQVEsWUFBaUI7SUE2RGxFLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQW9CLFVBQStCLEVBQUUsUUFBa0I7UUFDbkUsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQXRFaEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ssY0FBUyxHQUFvQixFQUFFLENBQUM7UUFFeEM7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBTy9DOztXQUVHO1FBQ2EsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFFNUM7O1dBRUc7UUFDYSxrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU3Qzs7V0FFRztRQUNhLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdDOztXQUVHO1FBQ2EsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUVqQzs7V0FFRztRQUNhLDhCQUF5QixHQUFXLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw4QkFBOEIsQ0FBQztRQUU3Rzs7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TVUsbUNBQW1DO3NCQUFsRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VpbnB1dGNvbnRyb2wnO1xuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9JY29uVHlwZSc7XG5pbXBvcnQgeyBJU2FjTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTGFuZ3VhZ2VTZXJ2aWNlJztcbmltcG9ydCB7IExhbmd1YWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGFuZ3VhZ2Vtb2RlbCc7XG5pbXBvcnQgeyBTQUNMQU5HVUFHRV9TRVJWSUNFLCBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQmFzZSBLbGFzc2UgZsO8ciBNdWx0aSBMYW5ndWFnZSBUZXh0YXJlYSBDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21tb24gZXh0ZW5kcyBTYWNJbnB1dEJhc2U8YW55PiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBTcHJhY2hlIGbDvHIgZGFzIENvbnRyb2xcbiAgICAgKi9cbiAgICBwcml2YXRlIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBTZWxla3RpZXJ0ZSBTcHJhY2UgZGVzIENvbnRyb2xzXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZWxlY3RlZExhbmd1YWdlOiBMYW5ndWFnZU1vZGVsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFNlcnZpY2UgZsO8ciBFcnJvciBMb2NhbGlzYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbG5nTGFuZ3VhZ2VTZXJ2aWNlOiBJU2FjTGFuZ3VhZ2VTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogRml4IGJyZWl0ZSBmw7xyIGRhcyBDb250cm9sIGRlZmluaWVyZW4uXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGNvbnRyb2x3aWR0aDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE1heCBsZW5ndGggb2YgY2hhcmFjdGVycyBmb3IgaW5wdXQgZmllbGRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbWF4dGV4dGxlbmd0aDogbnVtYmVyID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEFrdGl2aWVydCBkZW4gVmFsaWRhdG9yLCBkYXMgbWluLiBlaW5lIFNwcmFjaGUgZXJmYXNzdCBzZWluIG11c3NcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWRhbnk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFuemFobCBSb3dzIGbDvHIgVGV4dEFyZWFcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcm93czogbnVtYmVyID0gNztcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRhbnk6IHN0cmluZyA9XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55O1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TXVsdGlsYW5ndWFnZVJlcXVpcmVkO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFBhdHRlcm4gaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55OiBzdHJpbmcgPVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnk7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcblxuICAgICAgICB0aGlzLmxuZ0xhbmd1YWdlU2VydmljZSA9IGluamVjdG9yLmdldChTQUNMQU5HVUFHRV9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSgpKTtcblxuICAgICAgICB0aGlzLmxuZ0xhbmd1YWdlU2VydmljZS5HZXRMYW5ndWFnZXMoKS5zdWJzY3JpYmUoKHJlc3VsdDogTGFuZ3VhZ2VNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlcyA9IHJlc3VsdDtcblxuICAgICAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlc1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENvbnRyb2wgVmFsaWRpZXJ1bmcgYXVzZsO8aHJlbiwgZGEgV2VydCBwb3RlbnRpZWxsIGJlcmVpdHMgZ2VzZXR6dCBzZWluIGthbm5cbiAgICAgICAgICAgIHRoaXMuVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIHdlbGNoZXIgZGVuIFdlcnQgZGVyIENvbXBvbmVudCBpbiBkZXIgZ2V3w6RobHRlbiBTcHJhY2hlIHp1csO8Y2tnaWJ0LiBXZW5uIGtlaW5lIFNwcmFjaGUgc2VsZWt0aWVydCBpc3QsIHdpcmQgZWluIGxlZXJlciBXZXJ0IHp1csO8Y2tnZWdlYmVuLlxuICAgICAqIElzdCBpbiBkZXIgQ29tcG9uZW50IGtlaW4gV2VydCBnZXNwZWljaGVydCB3aXJkIGVpbiBsZWVyZXIgV2VydCB6dXLDvGNrZ2VnZWJlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgTGFuZ3VhZ2VWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudElzb0NvZGU6IHN0cmluZyA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA/IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5Jc29Db2RlIDogbnVsbDtcblxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb2xsZWN0aW9uIGRlciBTcHJhY2hlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgTGFuZ3VhZ2VzKCk6IExhbmd1YWdlTW9kZWxbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaWJ0IGRhcyBJY29uIGRlciBzZWxla3RpZXJ0ZW4gU3ByYWNoZSB6dXLDvGNrXG4gICAgICovXG4gICAgcHVibGljIGdldCBTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2lidCBkZW4gVHlwZSBkZXMgSWNvbnMgZsO8ciBkaWUgc2VsZWt0aWVydGUgU3ByYWNoZSB6dXLDvGNrXG4gICAgICovXG4gICAgcHVibGljIGdldCBTZWxlY3RlZEljb25UeXBlKCk6IEljb25UeXBlIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uVHlwZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBJY29uVHlwZS5JbWFnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFByw7xmdCwgb2IgaW4gZWluZXIgYmVsaWViaWdlbiBTcHJhY2hlIGRlciBLb21wb250ZW50ZSBrZWluIFdlcnQgZGVmaW5pZXJ0IGlzdC5cbiAgICAgKiBAcmV0dXJucyBHaWJ0IGFuIG9iIGVpbiBMZWVyZXMgRWxlbWVudCB2b3JoYW5kZW4gaXN0XG4gICAgICovXG4gICAgcHVibGljIElzQW55RW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlcy5mb3JFYWNoKChpdG06IExhbmd1YWdlTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRtID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW2l0bS5Jc29Db2RlXSA9PT0gJycgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IG51bGxcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpYnQgYW4sIG9iIGluIGVpbmVyIGJlc3RpbW10ZW4gU3ByYWNoZSBlaW4gV2VydCBkZWZpbmllcnQgaXN0XG4gICAgICogQHBhcmFtIHNwcmFjaGUgU3ByYWNoZSBpbiB3ZWxjaGVyIGRlciBXZXJ0IGdlcHLDvGZ0IHdlcmRlbiBzb2xsXG4gICAgICogQHJldHVybnMgV2VydCBpc3Qgdm9yaGFuZGVuXG4gICAgICovXG4gICAgcHVibGljIElzRW1wdHkoc3ByYWNoZTogTGFuZ3VhZ2VNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxuICAgICAgICAgICAgaWYgKHNwcmFjaGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gJycgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09IG51bGxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVrdGllcnQgZGllIFNwcmFjaGUgZGVyIEtvbXBvbmVudGVcbiAgICAgKiBAcGFyYW0gbGFuZ3VhZ2UgU3ByYWNoZSBkaWUgc2VsZWt0aWVydCB3ZXJkZW4gc29sbFxuICAgICAqL1xuICAgIHB1YmxpYyBTZWxlY3RMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTcGVpY2hlcnQgZWluZW4gV2VydCB6dXIgYWt0dWVsbCBnZXfDpGhsdGVuIFNwcmFjaGVcbiAgICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXG4gICAgICovXG4gICAgcHVibGljIFNldExhbmd1YWdlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudElzb0NvZGU6IHN0cmluZyA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA/IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5Jc29Db2RlIDogbnVsbDtcblxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZhbHVlW2N1cnJlbnRJc29Db2RlXSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kZSB2YWxpZGllcnQsIG9iIGRlciBXZXJ0IGRlbiBnZWdlYmVuZW4gS3JpdGVyaWVuIGVudHNwcmljaHRcbiAgICAgKiBAcGFyYW0gYyBDb250cm9scyBkYXMgdmFsaWRpZXJ0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5pc3JlcXVpcmVkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIHRoaXMuaXNyZXF1aXJlZCA9PT0gdHJ1ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5tdWx0aWxhbmd1YWdlUmVxdWlyZWQoXG4gICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZGFueSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVkYW55ID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueShcbiAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRhbnksXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZGFueVxuICAgICAgICAgICAgKShjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTYWNJbnB1dEJhc2UiLCJJY29uVHlwZSIsIlNBQ0xBTkdVQUdFX1NFUlZJQ0UiLCJTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlIiwiVmFsaWRhdGlvbiIsIkRpcmVjdGl2ZSIsIkhvc3QiLCJJbnB1dCIsIlNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21tb24iLCJjb25zdHJ1Y3RvciIsImZvcm1sYXlvdXQiLCJpbmplY3RvciIsImNvdl8xZDBsbnRld2hpIiwiZiIsInMiLCJsYW5ndWFnZXMiLCJzZWxlY3RlZExhbmd1YWdlIiwiY29udHJvbHdpZHRoIiwibWF4dGV4dGxlbmd0aCIsInJlcXVpcmVkYW55Iiwicm93cyIsInZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQiLCJ2YWxpZGF0aW9uS2V5U2VydmljZSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZCIsInZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRhbnkiLCJWYWxpZGF0aW9uRXJyb3JNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkiLCJ2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZCIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWQiLCJ2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZGFueSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkiLCJsbmdMYW5ndWFnZVNlcnZpY2UiLCJnZXQiLCJHZXRMYW5ndWFnZXMiLCJzdWJzY3JpYmUiLCJyZXN1bHQiLCJsZW5ndGgiLCJiIiwiVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSIsIkxhbmd1YWdlVmFsdWUiLCJ2YWx1ZSIsImN1cnJlbnRJc29Db2RlIiwiSXNvQ29kZSIsIkxhbmd1YWdlcyIsIlNlbGVjdGVkSWNvbiIsIkljb24iLCJTZWxlY3RlZEljb25UeXBlIiwiSW1hZ2UiLCJJc0FueUVtcHR5IiwiZm91bmQiLCJmb3JFYWNoIiwiaXRtIiwidW5kZWZpbmVkIiwiSXNFbXB0eSIsInNwcmFjaGUiLCJTZWxlY3RMYW5ndWFnZSIsImxhbmd1YWdlIiwiU2V0TGFuZ3VhZ2VWYWx1ZSIsInByb3BhZ2F0ZUNoYW5nZSIsIl92YWx1ZSIsInZhbGlkYXRlRGF0YSIsImMiLCJlcnJvciIsImlzcmVxdWlyZWQiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWQiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkiLCJkZXBzIiwidG9rZW4iLCJpMSIsIlNhY0Zvcm1MYXlvdXRDb21tb24iLCJob3N0IiwiaTAiLCJJbmplY3RvciIsInRhcmdldCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiaW5wdXRzIiwidXNlc0luaGVyaXRhbmNlIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlaW5wdXRhcmVhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0lucHV0QmFzZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlaW5wdXRjb250cm9sJztcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvSWNvblR5cGUnO1xuaW1wb3J0IHsgSVNhY0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xhbmd1YWdlU2VydmljZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xuaW1wb3J0IHsgU0FDTEFOR1VBR0VfU0VSVklDRSwgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEJhc2UgS2xhc3NlIGbDvHIgTXVsdGkgTGFuZ3VhZ2UgVGV4dGFyZWEgQ29udHJvbFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPGFueT4ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogU3ByYWNoZSBmw7xyIGRhcyBDb250cm9sXG4gICAgICovXG4gICAgcHJpdmF0ZSBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWt0aWVydGUgU3ByYWNlIGRlcyBDb250cm9sc1xuICAgICAqL1xuICAgIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxuZ0xhbmd1YWdlU2VydmljZTogSVNhY0xhbmd1YWdlU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEZpeCBicmVpdGUgZsO8ciBkYXMgQ29udHJvbCBkZWZpbmllcmVuLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb250cm9sd2lkdGg6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBNYXggbGVuZ3RoIG9mIGNoYXJhY3RlcnMgZm9yIGlucHV0IGZpZWxkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG1heHRleHRsZW5ndGg6IG51bWJlciA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBBa3RpdmllcnQgZGVuIFZhbGlkYXRvciwgZGFzIG1pbi4gZWluZSBTcHJhY2hlIGVyZmFzc3Qgc2VpbiBtdXNzXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkYW55OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbnphaGwgUm93cyBmw7xyIFRleHRBcmVhXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHJvd3M6IG51bWJlciA9IDc7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUGF0dGVybiBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkYW55OiBzdHJpbmcgPVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueTtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZGFueTogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3Rvcik7XG5cbiAgICAgICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDTEFOR1VBR0VfU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRMYW5ndWFnZVNlcnZpY2UoKSk7XG5cbiAgICAgICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UuR2V0TGFuZ3VhZ2VzKCkuc3Vic2NyaWJlKChyZXN1bHQ6IExhbmd1YWdlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMgPSByZXN1bHQ7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDb250cm9sIFZhbGlkaWVydW5nIGF1c2bDvGhyZW4sIGRhIFdlcnQgcG90ZW50aWVsbCBiZXJlaXRzIGdlc2V0enQgc2VpbiBrYW5uXG4gICAgICAgICAgICB0aGlzLlVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIEdldHRlciB3ZWxjaGVyIGRlbiBXZXJ0IGRlciBDb21wb25lbnQgaW4gZGVyIGdld8OkaGx0ZW4gU3ByYWNoZSB6dXLDvGNrZ2lidC4gV2VubiBrZWluZSBTcHJhY2hlIHNlbGVrdGllcnQgaXN0LCB3aXJkIGVpbiBsZWVyZXIgV2VydCB6dXLDvGNrZ2VnZWJlbi5cbiAgICAgKiBJc3QgaW4gZGVyIENvbXBvbmVudCBrZWluIFdlcnQgZ2VzcGVpY2hlcnQgd2lyZCBlaW4gbGVlcmVyIFdlcnQgenVyw7xja2dlZ2ViZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IExhbmd1YWdlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJc29Db2RlOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZSA6IG51bGw7XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXNvQ29kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbY3VycmVudElzb0NvZGVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29sbGVjdGlvbiBkZXIgU3ByYWNoZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IExhbmd1YWdlcygpOiBMYW5ndWFnZU1vZGVsW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2lidCBkYXMgSWNvbiBkZXIgc2VsZWt0aWVydGVuIFNwcmFjaGUgenVyw7xja1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgU2VsZWN0ZWRJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSWNvbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpYnQgZGVuIFR5cGUgZGVzIEljb25zIGbDvHIgZGllIHNlbGVrdGllcnRlIFNwcmFjaGUgenVyw7xja1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgU2VsZWN0ZWRJY29uVHlwZSgpOiBJY29uVHlwZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSWNvblR5cGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gSWNvblR5cGUuSW1hZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBQcsO8ZnQsIG9iIGluIGVpbmVyIGJlbGllYmlnZW4gU3ByYWNoZSBkZXIgS29tcG9udGVudGUga2VpbiBXZXJ0IGRlZmluaWVydCBpc3QuXG4gICAgICogQHJldHVybnMgR2lidCBhbiBvYiBlaW4gTGVlcmVzIEVsZW1lbnQgdm9yaGFuZGVuIGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBJc0FueUVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZm91bmQgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMuZm9yRWFjaCgoaXRtOiBMYW5ndWFnZU1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0bSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09ICcnIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSBudWxsXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaWJ0IGFuLCBvYiBpbiBlaW5lciBiZXN0aW1tdGVuIFNwcmFjaGUgZWluIFdlcnQgZGVmaW5pZXJ0IGlzdFxuICAgICAqIEBwYXJhbSBzcHJhY2hlIFNwcmFjaGUgaW4gd2VsY2hlciBkZXIgV2VydCBnZXByw7xmdCB3ZXJkZW4gc29sbFxuICAgICAqIEByZXR1cm5zIFdlcnQgaXN0IHZvcmhhbmRlblxuICAgICAqL1xuICAgIHB1YmxpYyBJc0VtcHR5KHNwcmFjaGU6IExhbmd1YWdlTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcbiAgICAgICAgICAgIGlmIChzcHJhY2hlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09ICcnIHx8XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSBudWxsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxla3RpZXJ0IGRpZSBTcHJhY2hlIGRlciBLb21wb25lbnRlXG4gICAgICogQHBhcmFtIGxhbmd1YWdlIFNwcmFjaGUgZGllIHNlbGVrdGllcnQgd2VyZGVuIHNvbGxcbiAgICAgKi9cbiAgICBwdWJsaWMgU2VsZWN0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlTW9kZWwpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3BlaWNoZXJ0IGVpbmVuIFdlcnQgenVyIGFrdHVlbGwgZ2V3w6RobHRlbiBTcHJhY2hlXG4gICAgICogQHBhcmFtIHZhbHVlIFdlcnQgd2VsY2hlciBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgICAqL1xuICAgIHB1YmxpYyBTZXRMYW5ndWFnZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJc29Db2RlOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZSA6IG51bGw7XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXNvQ29kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZGUgdmFsaWRpZXJ0LCBvYiBkZXIgV2VydCBkZW4gZ2VnZWJlbmVuIEtyaXRlcmllbiBlbnRzcHJpY2h0XG4gICAgICogQHBhcmFtIGMgQ29udHJvbHMgZGFzIHZhbGlkaWVydCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMuaXNyZXF1aXJlZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLmlzcmVxdWlyZWQgPT09IHRydWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWRhbnkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZGFueSA9PT0gdHJ1ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5tdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXG4gICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkYW55LFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnlcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl0sIm1hcHBpbmdzIjoiOzJGQUFBLE9BQVNBLFlBQVksS0FBUSwrQkFBK0IsQ0FDNUQsT0FBU0MsUUFBUSxLQUFRLHNCQUFzQixDQUcvQyxPQUFTQyxtQkFBbUIsQ0FBRUMseUJBQXlCLEtBQVEscUNBQXFDLENBQ3BHLE9BQVNDLFVBQVUsS0FBUSxrQkFBa0IsQ0FFN0MsT0FBU0MsU0FBUyxDQUFFQyxJQUFJLENBQVlDLEtBQUssS0FBUSxlQUFlLEMseUVBR2hFOztHQUdBLEtBQ2EsQ0FBQUMsK0JBQWdDLFFBQVEsQ0FBQVIsWUFBaUIsQ0E2RGxFO0FBRUE7QUFFQTs7OztPQUtBUyxZQUFvQkMsVUFBK0IsQ0FBRUMsUUFBa0IsRUFBQUMsY0FBQSxHQUFBQyxDQUFBLE1BQUFELGNBQUEsR0FBQUUsQ0FBQSxNQUNuRSxLQUFLLENBQUNKLFVBQVUsQ0FBRUMsUUFBUSxDQUFDLENBdEUvQjtBQUVBOztXQUFBQyxjQUFBLEdBQUFFLENBQUEsTUFHUSxLQUFBQyxTQUFTLENBQW9CLEVBQUUsQ0FFdkM7O1dBQUFILGNBQUEsR0FBQUUsQ0FBQSxNQUdRLEtBQUFFLGdCQUFnQixDQUFrQixJQUFJLENBTzlDOztXQUFBSixjQUFBLEdBQUFFLENBQUEsTUFHZ0IsS0FBQUcsWUFBWSxDQUFXLElBQUksQ0FFM0M7O1dBQUFMLGNBQUEsR0FBQUUsQ0FBQSxNQUdnQixLQUFBSSxhQUFhLENBQVcsSUFBSSxDQUU1Qzs7V0FBQU4sY0FBQSxHQUFBRSxDQUFBLE1BR2dCLEtBQUFLLFdBQVcsQ0FBWSxLQUFLLENBRTVDOztXQUFBUCxjQUFBLEdBQUFFLENBQUEsTUFHZ0IsS0FBQU0sSUFBSSxDQUFXLENBQUMsQ0FFaEM7O1dBQUFSLGNBQUEsR0FBQUUsQ0FBQSxNQUdnQixLQUFBTyx5QkFBeUIsQ0FBVyxJQUFJLENBQUNDLG9CQUFvQixDQUFDQyw4QkFBOEIsQ0FFNUc7O1dBQUFYLGNBQUEsR0FBQUUsQ0FBQSxNQUdnQixLQUFBVSw0QkFBNEIsQ0FDeEMsSUFBSSxDQUFDRixvQkFBb0IsQ0FBQ0csdUNBQXVDLENBRXJFOztXQUFBYixjQUFBLEdBQUFFLENBQUEsTUFHZ0IsS0FBQVksZ0NBQWdDLENBQzVDLElBQUksQ0FBQ0osb0JBQW9CLENBQUNLLDJDQUEyQyxDQUV6RTs7V0FBQWYsY0FBQSxHQUFBRSxDQUFBLE9BR2dCLEtBQUFjLG1DQUFtQyxDQUMvQyxJQUFJLENBQUNOLG9CQUFvQixDQUFDTyw4Q0FBOEMsQ0FBQ2pCLGNBQUEsR0FBQUUsQ0FBQSxPQWN6RSxJQUFJLENBQUNnQixrQkFBa0IsQ0FBR25CLFFBQVEsQ0FBQ29CLEdBQUcsQ0FBQzdCLG1CQUFtQixDQUFFLEdBQUksQ0FBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDUyxjQUFBLEdBQUFFLENBQUEsT0FFN0YsSUFBSSxDQUFDZ0Isa0JBQWtCLENBQUNFLFlBQVksRUFBRSxDQUFDQyxTQUFTLENBQUVDLE1BQXVCLEVBQUksQ0FBQXRCLGNBQUEsR0FBQUMsQ0FBQSxNQUFBRCxjQUFBLEdBQUFFLENBQUEsT0FDekUsSUFBSSxDQUFDQyxTQUFTLENBQUdtQixNQUFNLENBQUN0QixjQUFBLEdBQUFFLENBQUEsT0FFeEIsR0FBSSxJQUFJLENBQUNDLFNBQVMsQ0FBQ29CLE1BQU0sQ0FBRyxDQUFDLENBQUUsQ0FBQXZCLGNBQUEsR0FBQXdCLENBQUEsU0FBQXhCLGNBQUEsR0FBQUUsQ0FBQSxPQUMzQixJQUFJLENBQUNFLGdCQUFnQixDQUFHLElBQUksQ0FBQ0QsU0FBUyxDQUFDLENBQUMsQ0FBQyxDLENBQzVDLEtBQUFILGNBQUEsR0FBQXdCLENBQUEsVUFDRDtBQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ0EsSUFBSSxDQUFDdUIsc0JBQXNCLEVBQUUsQ0FDakMsQ0FBQyxDQUFDLENBQ04sQ0FFQTtBQUVBO0FBRUE7OztPQUlBLEdBQVcsQ0FBQUMsYUFBYUEsQ0FBQSxFQUFBMUIsY0FBQSxHQUFBQyxDQUFBLE1BQUFELGNBQUEsR0FBQUUsQ0FBQSxPQUNwQixHQUFJLElBQUksQ0FBQ3lCLEtBQUssQ0FBRSxDQUFBM0IsY0FBQSxHQUFBd0IsQ0FBQSxTQUNaLEtBQU0sQ0FBQUksY0FBYyxFQUFBNUIsY0FBQSxHQUFBRSxDQUFBLE9BQVcsSUFBSSxDQUFDRSxnQkFBZ0IsRUFBQUosY0FBQSxHQUFBd0IsQ0FBQSxTQUFHLElBQUksQ0FBQ3BCLGdCQUFnQixDQUFDeUIsT0FBTyxHQUFBN0IsY0FBQSxHQUFBd0IsQ0FBQSxTQUFHLElBQUksR0FFM0Y7QUFBQXhCLGNBQUEsR0FBQUUsQ0FBQSxPQUNBLEdBQUkwQixjQUFjLEdBQUssSUFBSSxDQUFFLENBQUE1QixjQUFBLEdBQUF3QixDQUFBLFNBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FDekIsTUFBTyxFQUFFLEMsQ0FDWixLQUFBRixjQUFBLEdBQUF3QixDQUFBLFVBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FFRCxNQUFPLEtBQUksQ0FBQ3lCLEtBQUssQ0FBQ0MsY0FBYyxDQUFDLEMsQ0FDcEMsSUFBTSxDQUFBNUIsY0FBQSxHQUFBd0IsQ0FBQSxTQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ0gsTUFBTyxFQUFFLEMsQ0FFakIsQ0FFQTs7T0FHQSxHQUFXLENBQUE0QixTQUFTQSxDQUFBLEVBQUE5QixjQUFBLEdBQUFDLENBQUEsTUFBQUQsY0FBQSxHQUFBRSxDQUFBLE9BQ2hCLE1BQU8sS0FBSSxDQUFDQyxTQUFTLENBQ3pCLENBRUE7O09BR0EsR0FBVyxDQUFBNEIsWUFBWUEsQ0FBQSxFQUFBL0IsY0FBQSxHQUFBQyxDQUFBLE1BQUFELGNBQUEsR0FBQUUsQ0FBQSxPQUNuQixHQUFJLElBQUksQ0FBQ0UsZ0JBQWdCLENBQUUsQ0FBQUosY0FBQSxHQUFBd0IsQ0FBQSxTQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ3ZCLE1BQU8sS0FBSSxDQUFDRSxnQkFBZ0IsQ0FBQzRCLElBQUksQyxDQUNwQyxJQUFNLENBQUFoQyxjQUFBLEdBQUF3QixDQUFBLFNBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FDSCxNQUFPLEVBQUUsQyxDQUVqQixDQUVBOztPQUdBLEdBQVcsQ0FBQStCLGdCQUFnQkEsQ0FBQSxFQUFBakMsY0FBQSxHQUFBQyxDQUFBLE1BQUFELGNBQUEsR0FBQUUsQ0FBQSxPQUN2QixHQUFJLElBQUksQ0FBQ0UsZ0JBQWdCLENBQUUsQ0FBQUosY0FBQSxHQUFBd0IsQ0FBQSxTQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ3ZCLE1BQU8sS0FBSSxDQUFDRSxnQkFBZ0IsQ0FBQ2YsUUFBUSxDLENBQ3hDLElBQU0sQ0FBQVcsY0FBQSxHQUFBd0IsQ0FBQSxTQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ0gsTUFBTyxDQUFBYixRQUFRLENBQUM2QyxLQUFLLEMsQ0FFN0IsQ0FFQTtBQUVBO0FBRUE7OztPQUlPQyxVQUFVQSxDQUFBLEVBQUFuQyxjQUFBLEdBQUFDLENBQUEsTUFDYixHQUFJLENBQUFtQyxLQUFLLEVBQUFwQyxjQUFBLEdBQUFFLENBQUEsT0FBRyxLQUFLLEVBQUNGLGNBQUEsR0FBQUUsQ0FBQSxPQUVsQixHQUFJLElBQUksQ0FBQ3lCLEtBQUssQ0FBRSxDQUFBM0IsY0FBQSxHQUFBd0IsQ0FBQSxTQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ1osSUFBSSxDQUFDQyxTQUFTLENBQUNrQyxPQUFPLENBQUVDLEdBQWtCLEVBQUksQ0FBQXRDLGNBQUEsR0FBQUMsQ0FBQSxNQUFBRCxjQUFBLEdBQUFFLENBQUEsT0FDMUMsR0FBSW9DLEdBQUcsR0FBSyxJQUFJLENBQUUsQ0FBQXRDLGNBQUEsR0FBQXdCLENBQUEsU0FBQXhCLGNBQUEsR0FBQUUsQ0FBQSxPQUNka0MsS0FBSyxDQUFHLElBQUksQ0FBQ3BDLGNBQUEsR0FBQUUsQ0FBQSxPQUNiLE8sQ0FDSCxLQUFBRixjQUFBLEdBQUF3QixDQUFBLFVBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FFRCxHQUNJLENBQUFGLGNBQUEsR0FBQXdCLENBQUEsYUFBSSxDQUFDRyxLQUFLLENBQUNXLEdBQUcsQ0FBQ1QsT0FBTyxDQUFDLEdBQUtVLFNBQVMsSUFBQXZDLGNBQUEsR0FBQXdCLENBQUEsU0FDckMsSUFBSSxDQUFDRyxLQUFLLENBQUNXLEdBQUcsQ0FBQ1QsT0FBTyxDQUFDLEdBQUssRUFBRSxJQUFBN0IsY0FBQSxHQUFBd0IsQ0FBQSxTQUM5QixJQUFJLENBQUNHLEtBQUssQ0FBQ1csR0FBRyxDQUFDVCxPQUFPLENBQUMsR0FBSyxJQUFJLEVBQ2xDLENBQUE3QixjQUFBLEdBQUF3QixDQUFBLFNBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FDRWtDLEtBQUssQ0FBRyxJQUFJLENBQUNwQyxjQUFBLEdBQUFFLENBQUEsT0FDYixPLENBQ0gsS0FBQUYsY0FBQSxHQUFBd0IsQ0FBQSxVQUNMLENBQUMsQ0FBQyxDLENBQ0wsS0FBQXhCLGNBQUEsR0FBQXdCLENBQUEsVUFBQXhCLGNBQUEsR0FBQUUsQ0FBQSxPQUNELE1BQU8sQ0FBQWtDLEtBQUssQ0FDaEIsQ0FFQTs7OztPQUtPSSxPQUFPQSxDQUFDQyxPQUFzQixFQUFBekMsY0FBQSxHQUFBQyxDQUFBLE1BQUFELGNBQUEsR0FBQUUsQ0FBQSxPQUNqQyxHQUFJLElBQUksQ0FBQ3lCLEtBQUssQ0FBRSxDQUFBM0IsY0FBQSxHQUFBd0IsQ0FBQSxVQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ1o7QUFDQSxHQUFJdUMsT0FBTyxHQUFLLElBQUksQ0FBRSxDQUFBekMsY0FBQSxHQUFBd0IsQ0FBQSxVQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ2xCLE1BQU8sS0FBSSxDLENBQ2QsS0FBQUYsY0FBQSxHQUFBd0IsQ0FBQSxXQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BRUQsTUFDSSxDQUFBRixjQUFBLEdBQUF3QixDQUFBLGNBQUksQ0FBQ0csS0FBSyxDQUFDYyxPQUFPLENBQUNaLE9BQU8sQ0FBQyxHQUFLVSxTQUFTLElBQUF2QyxjQUFBLEdBQUF3QixDQUFBLFVBQ3pDLElBQUksQ0FBQ0csS0FBSyxDQUFDYyxPQUFPLENBQUNaLE9BQU8sQ0FBQyxHQUFLLEVBQUUsSUFBQTdCLGNBQUEsR0FBQXdCLENBQUEsVUFDbEMsSUFBSSxDQUFDRyxLQUFLLENBQUNjLE9BQU8sQ0FBQ1osT0FBTyxDQUFDLEdBQUssSUFBSSxFLENBRTNDLElBQU0sQ0FBQTdCLGNBQUEsR0FBQXdCLENBQUEsVUFBQXhCLGNBQUEsR0FBQUUsQ0FBQSxPQUNILE1BQU8sS0FBSSxDLENBRW5CLENBRUE7OztPQUlPd0MsY0FBY0EsQ0FBQ0MsUUFBdUIsRUFBQTNDLGNBQUEsR0FBQUMsQ0FBQSxNQUFBRCxjQUFBLEdBQUFFLENBQUEsT0FDekMsSUFBSSxDQUFDRSxnQkFBZ0IsQ0FBR3VDLFFBQVEsQ0FDcEMsQ0FFQTs7O09BSU9DLGdCQUFnQkEsQ0FBQ2pCLEtBQWEsRUFBQTNCLGNBQUEsR0FBQUMsQ0FBQSxPQUFBRCxjQUFBLEdBQUFFLENBQUEsT0FDakMsR0FBSSxJQUFJLENBQUN5QixLQUFLLENBQUUsQ0FBQTNCLGNBQUEsR0FBQXdCLENBQUEsVUFDWixLQUFNLENBQUFJLGNBQWMsRUFBQTVCLGNBQUEsR0FBQUUsQ0FBQSxPQUFXLElBQUksQ0FBQ0UsZ0JBQWdCLEVBQUFKLGNBQUEsR0FBQXdCLENBQUEsVUFBRyxJQUFJLENBQUNwQixnQkFBZ0IsQ0FBQ3lCLE9BQU8sR0FBQTdCLGNBQUEsR0FBQXdCLENBQUEsVUFBRyxJQUFJLEdBRTNGO0FBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FDQSxHQUFJMEIsY0FBYyxHQUFLLElBQUksQ0FBRSxDQUFBNUIsY0FBQSxHQUFBd0IsQ0FBQSxVQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ3pCLE8sQ0FDSCxLQUFBRixjQUFBLEdBQUF3QixDQUFBLFdBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FFRCxJQUFJLENBQUN5QixLQUFLLENBQUNDLGNBQWMsQ0FBQyxDQUFHRCxLQUFLLENBQUMzQixjQUFBLEdBQUFFLENBQUEsT0FDbkMsSUFBSSxDQUFDMkMsZUFBZSxDQUFDLElBQUksQ0FBQ0MsTUFBTSxDQUFDLEMsQ0FDcEMsS0FBQTlDLGNBQUEsR0FBQXdCLENBQUEsV0FDTCxDQUVBOzs7T0FJT3VCLFlBQVlBLENBQUNDLENBQWtCLEVBQUFoRCxjQUFBLEdBQUFDLENBQUEsT0FDbEMsR0FBSSxDQUFBZ0QsS0FBSyxFQUFBakQsY0FBQSxHQUFBRSxDQUFBLE9BQTRCLElBQUksRUFBQ0YsY0FBQSxHQUFBRSxDQUFBLE9BRTFDLEdBQ0ksQ0FBQUYsY0FBQSxHQUFBd0IsQ0FBQSxVQUFBeUIsS0FBSyxHQUFLLElBQUksSUFBQWpELGNBQUEsR0FBQXdCLENBQUEsVUFDZHdCLENBQUMsQ0FBQ3JCLEtBQUssR0FBSyxJQUFJLElBQUEzQixjQUFBLEdBQUF3QixDQUFBLFVBQ2hCd0IsQ0FBQyxDQUFDckIsS0FBSyxHQUFLWSxTQUFTLElBQUF2QyxjQUFBLEdBQUF3QixDQUFBLFVBQ3JCd0IsQ0FBQyxDQUFDckIsS0FBSyxHQUFLLEVBQUUsSUFBQTNCLGNBQUEsR0FBQXdCLENBQUEsVUFDZCxJQUFJLENBQUMwQixVQUFVLEdBQUtYLFNBQVMsSUFBQXZDLGNBQUEsR0FBQXdCLENBQUEsVUFDN0IsSUFBSSxDQUFDMEIsVUFBVSxHQUFLLElBQUksRUFDMUIsQ0FBQWxELGNBQUEsR0FBQXdCLENBQUEsVUFBQXhCLGNBQUEsR0FBQUUsQ0FBQSxPQUNFK0MsS0FBSyxDQUFHekQsVUFBVSxDQUFDMkQscUJBQXFCLENBQ3BDLElBQUksQ0FBQ2hELFNBQVMsQ0FDZCxJQUFJLENBQUNNLHlCQUF5QixDQUM5QixJQUFJLENBQUNLLGdDQUFnQyxDQUN4QyxDQUFDa0MsQ0FBQyxDQUFDLEMsQ0FDUCxLQUFBaEQsY0FBQSxHQUFBd0IsQ0FBQSxXQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BRUQsR0FDSSxDQUFBRixjQUFBLEdBQUF3QixDQUFBLFVBQUF5QixLQUFLLEdBQUssSUFBSSxJQUFBakQsY0FBQSxHQUFBd0IsQ0FBQSxVQUNkd0IsQ0FBQyxDQUFDckIsS0FBSyxHQUFLLElBQUksSUFBQTNCLGNBQUEsR0FBQXdCLENBQUEsVUFDaEJ3QixDQUFDLENBQUNyQixLQUFLLEdBQUtZLFNBQVMsSUFBQXZDLGNBQUEsR0FBQXdCLENBQUEsVUFDckJ3QixDQUFDLENBQUNyQixLQUFLLEdBQUssRUFBRSxJQUFBM0IsY0FBQSxHQUFBd0IsQ0FBQSxVQUNkLElBQUksQ0FBQ2pCLFdBQVcsR0FBS2dDLFNBQVMsSUFBQXZDLGNBQUEsR0FBQXdCLENBQUEsVUFDOUIsSUFBSSxDQUFDakIsV0FBVyxHQUFLLElBQUksRUFDM0IsQ0FBQVAsY0FBQSxHQUFBd0IsQ0FBQSxVQUFBeEIsY0FBQSxHQUFBRSxDQUFBLE9BQ0UrQyxLQUFLLENBQUd6RCxVQUFVLENBQUM0RCx3QkFBd0IsQ0FDdkMsSUFBSSxDQUFDakQsU0FBUyxDQUNkLElBQUksQ0FBQ1MsNEJBQTRCLENBQ2pDLElBQUksQ0FBQ0ksbUNBQW1DLENBQzNDLENBQUNnQyxDQUFDLENBQUMsQyxDQUNQLEtBQUFoRCxjQUFBLEdBQUF3QixDQUFBLFdBQUF4QixjQUFBLEdBQUFFLENBQUEsT0FFRCxNQUFPLENBQUErQyxLQUFLLENBQ2hCLEMsd0hBL1BTckQsK0JBQStCLENBQUF5RCxJQUFBLEdBQUFDLEtBQUEsQ0FBQUMsRUFBQSxDQUFBQyxtQkFBQSxDQUFBQyxJQUFBLFFBQUFILEtBQUEsQ0FBQUksRUFBQSxDQUFBQyxRQUFBLEdBQUFDLE1BQUEsQ0FBQUYsRUFBQSxDQUFBRyxlQUFBLENBQUFwRSxTQUFBLEksOEdBQS9CRywrQkFBK0IsQ0FBQWtFLE1BQUEsRUFBQXpELFlBQUEsZ0JBQUFDLGFBQUEsaUJBQUFDLFdBQUEsZUFBQUMsSUFBQSxRQUFBQyx5QkFBQSw2QkFBQUcsNEJBQUEsZ0NBQUFFLGdDQUFBLG9DQUFBRSxtQ0FBQSx3Q0FBQStDLGVBQUEsTUFBQUMsUUFBQSxDQUFBTixFQUFBLEksUUFBL0I5RCwrQkFBK0IsRUFBQUksY0FBQSxHQUFBRSxDQUFBLE8sb0ZBQS9CTiwrQkFBK0IsQ0FBQXFFLFVBQUEsRyxLQUQzQ3hFLFMscUlBdUVnQkMsSSwwQ0FqREdXLFlBQVksRyxLQUEzQlYsSyxHQUtlVyxhQUFhLEcsS0FBNUJYLEssR0FLZVksV0FBVyxHLEtBQTFCWixLLEdBS2VhLElBQUksRyxLQUFuQmIsSyxHQUtlYyx5QkFBeUIsRyxLQUF4Q2QsSyxHQUtlaUIsNEJBQTRCLEcsS0FBM0NqQixLLEdBTWVtQixnQ0FBZ0MsRyxLQUEvQ25CLEssR0FNZXFCLG1DQUFtQyxHLEtBQWxEckIsSyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,54 +1,27 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { SacBaseModelControl } from '../../common/basemodelcontrol';
3
- import { convertToBoolean } from '../../utilities/convertion';
4
- import * as i0 from "@angular/core";
5
- /**
1
+ function cov_1y2bfkio6m(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/static/formcontainer.mjs";var hash="a3d654b91456a8834a8156bbdeb2bb598ccd4ecd";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/static/formcontainer.mjs",statementMap:{"0":{start:{line:10,column:8},end:{line:10,column:28}},"1":{start:{line:15,column:8},end:{line:15,column:33}},"2":{start:{line:19,column:8},end:{line:19,column:31}},"3":{start:{line:23,column:8},end:{line:23,column:31}},"4":{start:{line:31,column:8},end:{line:31,column:32}},"5":{start:{line:37,column:8},end:{line:37,column:47}},"6":{start:{line:50,column:8},end:{line:50,column:20}},"7":{start:{line:52,column:13},end:{line:52,column:193}},"8":{start:{line:53,column:13},end:{line:53,column:260}},"9":{start:{line:56,column:0},end:{line:64,column:20}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:9,column:4},end:{line:9,column:5}},loc:{start:{line:9,column:18},end:{line:24,column:5}},line:9},"1":{name:"(anonymous_1)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:21},end:{line:32,column:5}},line:30},"2":{name:"(anonymous_2)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:22},end:{line:38,column:5}},line:36},"3":{name:"(anonymous_3)",decl:{start:{line:48,column:4},end:{line:48,column:5}},loc:{start:{line:48,column:20},end:{line:51,column:5}},line:48}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},f:{"0":0,"1":0,"2":0,"3":0},b:{},inputSourceMap:{version:3,file:"formcontainer.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/static/formcontainer.ts"],names:[],mappings:"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAGjD;;IAEI;AACJ,MACa,4BAA6B,SAAQ,mBAA2B;IAD7E;;QAEI,qBAAqB;QAErB;;WAEG;QACK,gBAAW,GAAY,KAAK,CAAC;QAErC;;WAEG;QAEI,iBAAY,GAAW,EAAE,CAAC;QAEjC;;WAEG;QAEI,cAAS,GAAY,KAAK,CAAC;KAsCrC;IApCG,wBAAwB;IAExB,qCAAqC;IAErC;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IACW,UAAU,CAAC,CAAU;QAC5B,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,wCAAwC;IAExC,yBAAyB;IAEzB;;;;;;OAMG;IACI,YAAY,CAAC,CAAkB;QAClC,sCAAsC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;+GArDQ,4BAA4B;mGAA5B,4BAA4B;;SAA5B,4BAA4B;4FAA5B,4BAA4B;kBADxC,SAAS;8BAaC,YAAY;sBADlB,KAAK;gBAOC,SAAS;sBADf,KAAK;gBAkBK,UAAU;sBADpB,KAAK",sourcesContent:["import { SacBaseModelControl } from '../../common/basemodelcontrol';\nimport { convertToBoolean } from '../../utilities/convertion';\nimport { Directive, Input } from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\n\n/**\n * Common Control f\xFCr Form Item Container.\n **/\n@Directive()\nexport class SacStaticFormContainerCommon extends SacBaseModelControl<string> {\n // #region Properties\n\n /**\n * Definiert den Container als Required Form Item\n */\n private _isrequired: boolean = false;\n\n /**\n * Error message to be displayed\n */\n @Input()\n public errormessage: string = '';\n\n /**\n * Activates the error message on the container control\n */\n @Input()\n public isinvalid: boolean = false;\n\n // #endregion Properties\n\n // #region Public Getters And Setters\n\n /**\n * Definiert den Container als Required Form Item\n */\n public get isrequired(): boolean {\n return this._isrequired;\n }\n\n /**\n * Definiert den Container als Required Form Item\n */\n @Input()\n public set isrequired(v: boolean) {\n this._isrequired = convertToBoolean(v);\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Validierung des Controls\n *\n * @description Validierung wird auf dem Form Container nicht gemacht, da kein Model Binding vorhanden.\n * @param c Control das Validiert werden soll\n * @returns Fehlermeldung aus Validation oder NULL\n */\n public validateData(c: AbstractControl): ValidationErrors | null {\n // Keine Validierung, daher immer NULL\n return null;\n }\n\n // #endregion Public Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"a3d654b91456a8834a8156bbdeb2bb598ccd4ecd"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_1y2bfkio6m=function(){return actualCoverage;};}return actualCoverage;}cov_1y2bfkio6m();import{SacBaseModelControl}from'../../common/basemodelcontrol';import{convertToBoolean}from'../../utilities/convertion';import{Directive,Input}from'@angular/core';import*as i0 from"@angular/core";/**
6
3
  * Common Control für Form Item Container.
7
- **/
8
- class SacStaticFormContainerCommon extends SacBaseModelControl {
9
- constructor() {
10
- super(...arguments);
11
- /**
4
+ **/class SacStaticFormContainerCommon extends SacBaseModelControl{constructor(){cov_1y2bfkio6m().f[0]++;cov_1y2bfkio6m().s[0]++;super(...arguments);// #region Properties
5
+ /**
12
6
  * Definiert den Container als Required Form Item
13
- */
14
- this._isrequired = false;
15
- /**
16
- * Text welcher als Tooltip angezeigt wird.
17
- */
18
- this.tooltiptext = '';
19
- }
20
- /**
7
+ */cov_1y2bfkio6m().s[1]++;this._isrequired=false;/**
8
+ * Error message to be displayed
9
+ */cov_1y2bfkio6m().s[2]++;this.errormessage='';/**
10
+ * Activates the error message on the container control
11
+ */cov_1y2bfkio6m().s[3]++;this.isinvalid=false;}// #endregion Properties
12
+ // #region Public Getters And Setters
13
+ /**
21
14
  * Definiert den Container als Required Form Item
22
- */
23
- get isrequired() {
24
- return this._isrequired;
25
- }
26
- /**
15
+ */get isrequired(){cov_1y2bfkio6m().f[1]++;cov_1y2bfkio6m().s[4]++;return this._isrequired;}/**
27
16
  * Definiert den Container als Required Form Item
28
- */
29
- set isrequired(v) {
30
- this._isrequired = convertToBoolean(v);
31
- }
32
- /**
17
+ */set isrequired(v){cov_1y2bfkio6m().f[2]++;cov_1y2bfkio6m().s[5]++;this._isrequired=convertToBoolean(v);}// #endregion Public Getters And Setters
18
+ // #region Public Methods
19
+ /**
33
20
  * Validierung des Controls
34
21
  *
35
22
  * @description Validierung wird auf dem Form Container nicht gemacht, da kein Model Binding vorhanden.
36
23
  * @param c Control das Validiert werden soll
37
24
  * @returns Fehlermeldung aus Validation oder NULL
38
- */
39
- validateData(c) {
40
- // Keine Validierung, daher immer NULL
41
- return null;
42
- }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacStaticFormContainerCommon, inputs: { tooltiptext: "tooltiptext", isrequired: "isrequired" }, usesInheritance: true, ngImport: i0 }); }
45
- }
46
- export { SacStaticFormContainerCommon };
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerCommon, decorators: [{
48
- type: Directive
49
- }], propDecorators: { tooltiptext: [{
50
- type: Input
51
- }], isrequired: [{
52
- type: Input
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3N0YXRpYy9mb3JtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUU5RDs7SUFFSTtBQUNKLE1BQ2EsNEJBQTZCLFNBQVEsbUJBQTJCO0lBRDdFOztRQUlFOztXQUVHO1FBQ0ssZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFckM7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztLQTJCbkM7SUF6QkM7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFDSSxVQUFVLENBQUMsQ0FBVTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxZQUFZLENBQUMsQ0FBa0I7UUFDN0Isc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0FyQ1UsNEJBQTRCO21HQUE1Qiw0QkFBNEI7O1NBQTVCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQUR4QyxTQUFTOzhCQVlDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBWUYsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZW1vZGVsY29udHJvbCc7XHJcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29udmVydGlvbic7XHJcblxyXG4vKipcclxuICogQ29tbW9uIENvbnRyb2wgZsO8ciBGb3JtIEl0ZW0gQ29udGFpbmVyLlxyXG4gKiovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8c3RyaW5nPiB7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIENvbnRhaW5lciBhbHMgUmVxdWlyZWQgRm9ybSBJdGVtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUZXh0IHdlbGNoZXIgYWxzIFRvb2x0aXAgYW5nZXplaWd0IHdpcmQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgdG9vbHRpcHRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIENvbnRhaW5lciBhbHMgUmVxdWlyZWQgRm9ybSBJdGVtXHJcbiAgICovXHJcbiAgZ2V0IGlzcmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNyZXF1aXJlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGRlbiBDb250YWluZXIgYWxzIFJlcXVpcmVkIEZvcm0gSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzcmVxdWlyZWQodjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNyZXF1aXJlZCA9IGNvbnZlcnRUb0Jvb2xlYW4odik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnVuZyBkZXMgQ29udHJvbHNcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBWYWxpZGllcnVuZyB3aXJkIGF1ZiBkZW0gRm9ybSBDb250YWluZXIgbmljaHQgZ2VtYWNodCwgZGEga2VpbiBNb2RlbCBCaW5kaW5nIHZvcmhhbmRlbi5cclxuICAgKiBAcGFyYW0gYyBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcmV0dXJucyBGZWhsZXJtZWxkdW5nIGF1cyBWYWxpZGF0aW9uIG9kZXIgTlVMTFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAvLyBLZWluZSBWYWxpZGllcnVuZywgZGFoZXIgaW1tZXIgTlVMTFxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
25
+ */validateData(c){cov_1y2bfkio6m().f[3]++;cov_1y2bfkio6m().s[6]++;// Keine Validierung, daher immer NULL
26
+ return null;}static{cov_1y2bfkio6m().s[7]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacStaticFormContainerCommon,deps:null,target:i0.ɵɵFactoryTarget.Directive});}static{cov_1y2bfkio6m().s[8]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacStaticFormContainerCommon,inputs:{errormessage:"errormessage",isinvalid:"isinvalid",isrequired:"isrequired"},usesInheritance:true,ngImport:i0});}}export{SacStaticFormContainerCommon};cov_1y2bfkio6m().s[9]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacStaticFormContainerCommon,decorators:[{type:Directive}],propDecorators:{errormessage:[{type:Input}],isinvalid:[{type:Input}],isrequired:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3N0YXRpYy9mb3JtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdqRDs7SUFFSTtBQUNKLE1BQ2EsNEJBQTZCLFNBQVEsbUJBQTJCO0lBRDdFOztRQUVJLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNLLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRXJDOztXQUVHO1FBRUksaUJBQVksR0FBVyxFQUFFLENBQUM7UUFFakM7O1dBRUc7UUFFSSxjQUFTLEdBQVksS0FBSyxDQUFDO0tBc0NyQztJQXBDRyx3QkFBd0I7SUFFeEIscUNBQXFDO0lBRXJDOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxDQUFVO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7Ozs7OztPQU1HO0lBQ0ksWUFBWSxDQUFDLENBQWtCO1FBQ2xDLHNDQUFzQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOytHQXJEUSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7U0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7OEJBYUMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBa0JLLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNCYXNlTW9kZWxDb250cm9sIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2Vtb2RlbGNvbnRyb2wnO1xuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb252ZXJ0aW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBDb21tb24gQ29udHJvbCBmw7xyIEZvcm0gSXRlbSBDb250YWluZXIuXG4gKiovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tbW9uIGV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbDxzdHJpbmc+IHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkZW4gQ29udGFpbmVyIGFscyBSZXF1aXJlZCBGb3JtIEl0ZW1cbiAgICAgKi9cbiAgICBwcml2YXRlIF9pc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFcnJvciBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVycm9ybWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmF0ZXMgdGhlIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGNvbnRhaW5lciBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkZW4gQ29udGFpbmVyIGFscyBSZXF1aXJlZCBGb3JtIEl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc3JlcXVpcmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkZW4gQ29udGFpbmVyIGFscyBSZXF1aXJlZCBGb3JtIEl0ZW1cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNyZXF1aXJlZCh2OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzcmVxdWlyZWQgPSBjb252ZXJ0VG9Cb29sZWFuKHYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydW5nIGRlcyBDb250cm9sc1xuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIFZhbGlkaWVydW5nIHdpcmQgYXVmIGRlbSBGb3JtIENvbnRhaW5lciBuaWNodCBnZW1hY2h0LCBkYSBrZWluIE1vZGVsIEJpbmRpbmcgdm9yaGFuZGVuLlxuICAgICAqIEBwYXJhbSBjIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEByZXR1cm5zIEZlaGxlcm1lbGR1bmcgYXVzIFZhbGlkYXRpb24gb2RlciBOVUxMXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIC8vIEtlaW5lIFZhbGlkaWVydW5nLCBkYWhlciBpbW1lciBOVUxMXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMXkyYmZraW82bSIsImFjdHVhbENvdmVyYWdlIiwiU2FjQmFzZU1vZGVsQ29udHJvbCIsImNvbnZlcnRUb0Jvb2xlYW4iLCJEaXJlY3RpdmUiLCJJbnB1dCIsIlNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24iLCJjb25zdHJ1Y3RvciIsImYiLCJzIiwiX2lzcmVxdWlyZWQiLCJlcnJvcm1lc3NhZ2UiLCJpc2ludmFsaWQiLCJpc3JlcXVpcmVkIiwidiIsInZhbGlkYXRlRGF0YSIsImMiLCJkZXBzIiwidGFyZ2V0IiwiaTAiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsInVzZXNJbmhlcml0YW5jZSIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3N0YXRpYy9mb3JtY29udGFpbmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZW1vZGVsY29udHJvbCc7XG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIENvbW1vbiBDb250cm9sIGbDvHIgRm9ybSBJdGVtIENvbnRhaW5lci5cbiAqKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24gZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPHN0cmluZz4ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IGRlbiBDb250YWluZXIgYWxzIFJlcXVpcmVkIEZvcm0gSXRlbVxuICAgICAqL1xuICAgIHByaXZhdGUgX2lzcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXJyb3JtZXNzYWdlOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjdGl2YXRlcyB0aGUgZXJyb3IgbWVzc2FnZSBvbiB0aGUgY29udGFpbmVyIGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc2ludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IGRlbiBDb250YWluZXIgYWxzIFJlcXVpcmVkIEZvcm0gSXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNyZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IGRlbiBDb250YWluZXIgYWxzIFJlcXVpcmVkIEZvcm0gSXRlbVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpc3JlcXVpcmVkKHY6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNyZXF1aXJlZCA9IGNvbnZlcnRUb0Jvb2xlYW4odik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ1bmcgZGVzIENvbnRyb2xzXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gVmFsaWRpZXJ1bmcgd2lyZCBhdWYgZGVtIEZvcm0gQ29udGFpbmVyIG5pY2h0IGdlbWFjaHQsIGRhIGtlaW4gTW9kZWwgQmluZGluZyB2b3JoYW5kZW4uXG4gICAgICogQHBhcmFtIGMgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHJldHVybnMgRmVobGVybWVsZHVuZyBhdXMgVmFsaWRhdGlvbiBvZGVyIE5VTExcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgLy8gS2VpbmUgVmFsaWRpZXJ1bmcsIGRhaGVyIGltbWVyIE5VTExcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl0sIm1hcHBpbmdzIjoib21KQWlCSTtBQUFBQSxjQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGNBQUEsR0FqQkosT0FBU0UsbUJBQW1CLEtBQVEsK0JBQStCLENBQ25FLE9BQVNDLGdCQUFnQixLQUFRLDRCQUE0QixDQUM3RCxPQUFTQyxTQUFTLENBQUVDLEtBQUssS0FBUSxlQUFlLEMsaUNBR2hEOztJQUdBLEtBQ2EsQ0FBQUMsNEJBQTZCLFFBQVEsQ0FBQUosbUJBQTJCLENBRDdFSyxZQUFBLEVBQUFQLGNBQUEsR0FBQVEsQ0FBQSxNQUFBUixjQUFBLEdBQUFTLENBQUEsTSxvQkFFSTtBQUVBOztXQUFBVCxjQUFBLEdBQUFTLENBQUEsTUFHUSxLQUFBQyxXQUFXLENBQVksS0FBSyxDQUVwQzs7V0FBQVYsY0FBQSxHQUFBUyxDQUFBLE1BSU8sS0FBQUUsWUFBWSxDQUFXLEVBQUUsQ0FFaEM7O1dBQUFYLGNBQUEsR0FBQVMsQ0FBQSxNQUlPLEtBQUFHLFNBQVMsQ0FBWSxLQUFLLEMsQ0FFakM7QUFFQTtBQUVBOztPQUdBLEdBQVcsQ0FBQUMsVUFBVUEsQ0FBQSxFQUFBYixjQUFBLEdBQUFRLENBQUEsTUFBQVIsY0FBQSxHQUFBUyxDQUFBLE1BQ2pCLE1BQU8sS0FBSSxDQUFDQyxXQUFXLENBQzNCLENBRUE7O09BR0EsR0FDVyxDQUFBRyxVQUFVQSxDQUFDQyxDQUFVLEVBQUFkLGNBQUEsR0FBQVEsQ0FBQSxNQUFBUixjQUFBLEdBQUFTLENBQUEsTUFDNUIsSUFBSSxDQUFDQyxXQUFXLENBQUdQLGdCQUFnQixDQUFDVyxDQUFDLENBQUMsQ0FDMUMsQ0FFQTtBQUVBO0FBRUE7Ozs7OztPQU9PQyxZQUFZQSxDQUFDQyxDQUFrQixFQUFBaEIsY0FBQSxHQUFBUSxDQUFBLE1BQUFSLGNBQUEsR0FBQVMsQ0FBQSxNQUNsQztBQUNBLE1BQU8sS0FBSSxDQUNmLEMsdUhBckRTSCw0QkFBNEIsQ0FBQVcsSUFBQSxNQUFBQyxNQUFBLENBQUFDLEVBQUEsQ0FBQUMsZUFBQSxDQUFBaEIsU0FBQSxJLDZHQUE1QkUsNEJBQTRCLENBQUFlLE1BQUEsRUFBQVYsWUFBQSxnQkFBQUMsU0FBQSxhQUFBQyxVQUFBLGVBQUFTLGVBQUEsTUFBQUMsUUFBQSxDQUFBSixFQUFBLEksUUFBNUJiLDRCQUE0QixFQUFBTixjQUFBLEdBQUFTLENBQUEsTSxvRkFBNUJILDRCQUE0QixDQUFBa0IsVUFBQSxHLEtBRHhDcEIsUyxtQkFhVU8sWUFBWSxHLEtBRGxCTixLLEdBT01PLFNBQVMsRyxLQURmUCxLLEdBa0JVUSxVQUFVLEcsS0FEcEJSLEsiLCJpZ25vcmVMaXN0IjpbXX0=