@simpleangularcontrols/sac-common 13.0.0-rc.12 → 13.0.0-rc.14

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 (822) hide show
  1. package/README.md +15 -15
  2. package/common/basedatetimecontrol.d.ts +172 -172
  3. package/common/basedatetimecontrol.ngfactory.d.ts +3 -3
  4. package/common/basedatetimecontrol.ngsummary.d.ts +1 -1
  5. package/common/baseinputcontrol.d.ts +41 -41
  6. package/common/baseinputcontrol.ngfactory.d.ts +3 -3
  7. package/common/baseinputcontrol.ngsummary.d.ts +1 -1
  8. package/common/baselistcontrol.d.ts +46 -46
  9. package/common/baselistcontrol.ngfactory.d.ts +3 -3
  10. package/common/baselistcontrol.ngsummary.d.ts +1 -1
  11. package/common/basemodelcontrol.d.ts +283 -283
  12. package/common/basemodelcontrol.ngfactory.d.ts +3 -3
  13. package/common/basemodelcontrol.ngsummary.d.ts +1 -1
  14. package/common/baseselectcontrol.d.ts +17 -17
  15. package/common/baseselectcontrol.ngfactory.d.ts +3 -3
  16. package/common/baseselectcontrol.ngsummary.d.ts +1 -1
  17. package/common/baseuploadcontrol.d.ts +303 -303
  18. package/common/baseuploadcontrol.ngfactory.d.ts +3 -3
  19. package/common/baseuploadcontrol.ngsummary.d.ts +1 -1
  20. package/components/browser/browser.d.ts +270 -270
  21. package/components/browser/browser.ngfactory.d.ts +3 -3
  22. package/components/browser/browser.ngsummary.d.ts +1 -1
  23. package/components/browser/models/browserfile.d.ts +17 -17
  24. package/components/browser/models/browserfile.ngfactory.d.ts +1 -1
  25. package/components/browser/models/browserfile.ngsummary.d.ts +1 -1
  26. package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
  27. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -1
  28. package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts +1 -1
  29. package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
  30. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -1
  31. package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts +1 -1
  32. package/components/browser/models/browserfileresponse.d.ts +10 -10
  33. package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -1
  34. package/components/browser/models/browserfileresponse.ngsummary.d.ts +1 -1
  35. package/components/browser/models/browserfilesaverequest.d.ts +22 -22
  36. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -1
  37. package/components/browser/models/browserfilesaverequest.ngsummary.d.ts +1 -1
  38. package/components/browser/models/browsernode.d.ts +34 -34
  39. package/components/browser/models/browsernode.ngfactory.d.ts +1 -1
  40. package/components/browser/models/browsernode.ngsummary.d.ts +1 -1
  41. package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
  42. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -1
  43. package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts +1 -1
  44. package/components/browser/models/browsernodenewrequest.d.ts +18 -18
  45. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -1
  46. package/components/browser/models/browsernodenewrequest.ngsummary.d.ts +1 -1
  47. package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
  48. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -1
  49. package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts +1 -1
  50. package/components/browser/models/browsernoderequest.d.ts +18 -18
  51. package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -1
  52. package/components/browser/models/browsernoderequest.ngsummary.d.ts +1 -1
  53. package/components/browser/models/browsernoderesponse.d.ts +10 -10
  54. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -1
  55. package/components/browser/models/browsernoderesponse.ngsummary.d.ts +1 -1
  56. package/controls/buttons/button.d.ts +73 -73
  57. package/controls/buttons/button.ngfactory.d.ts +3 -3
  58. package/controls/buttons/button.ngsummary.d.ts +1 -1
  59. package/controls/checkbox/checkbox.d.ts +35 -35
  60. package/controls/checkbox/checkbox.ngfactory.d.ts +3 -3
  61. package/controls/checkbox/checkbox.ngsummary.d.ts +1 -1
  62. package/controls/checkbox/radiobutton.d.ts +117 -117
  63. package/controls/checkbox/radiobutton.ngfactory.d.ts +3 -3
  64. package/controls/checkbox/radiobutton.ngsummary.d.ts +1 -1
  65. package/controls/checkbox/radiobuttons.d.ts +63 -63
  66. package/controls/checkbox/radiobuttons.ngfactory.d.ts +3 -3
  67. package/controls/checkbox/radiobuttons.ngsummary.d.ts +1 -1
  68. package/controls/confirm/confirm.button.d.ts +25 -25
  69. package/controls/confirm/confirm.button.ngfactory.d.ts +1 -1
  70. package/controls/confirm/confirm.button.ngsummary.d.ts +1 -1
  71. package/controls/confirm/confirm.d.ts +52 -52
  72. package/controls/confirm/confirm.ngfactory.d.ts +3 -3
  73. package/controls/confirm/confirm.ngsummary.d.ts +1 -1
  74. package/controls/confirm/confirm.service.d.ts +63 -63
  75. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
  76. package/controls/confirm/confirm.service.ngsummary.d.ts +1 -1
  77. package/controls/contextmenu/contextmenu.d.ts +123 -123
  78. package/controls/contextmenu/contextmenu.interface.d.ts +3 -3
  79. package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts +1 -1
  80. package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts +1 -1
  81. package/controls/contextmenu/contextmenu.ngfactory.d.ts +3 -3
  82. package/controls/contextmenu/contextmenu.ngsummary.d.ts +1 -1
  83. package/controls/contextmenu/contextmenuanchor.d.ts +18 -18
  84. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +3 -3
  85. package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts +1 -1
  86. package/controls/contextmenu/contextmenucontainer.d.ts +18 -18
  87. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +3 -3
  88. package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts +1 -1
  89. package/controls/contextmenu/contextmenuitem.d.ts +13 -13
  90. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +3 -3
  91. package/controls/contextmenu/contextmenuitem.ngsummary.d.ts +1 -1
  92. package/controls/contextmenu/contextmenuitembutton.d.ts +70 -70
  93. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +3 -3
  94. package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts +1 -1
  95. package/controls/datetime/date.d.ts +120 -120
  96. package/controls/datetime/date.ngfactory.d.ts +3 -3
  97. package/controls/datetime/date.ngsummary.d.ts +1 -1
  98. package/controls/datetime/dateselector.d.ts +164 -164
  99. package/controls/datetime/dateselector.ngfactory.d.ts +3 -3
  100. package/controls/datetime/dateselector.ngsummary.d.ts +1 -1
  101. package/controls/datetime/datetime.d.ts +134 -134
  102. package/controls/datetime/datetime.ngfactory.d.ts +3 -3
  103. package/controls/datetime/datetime.ngsummary.d.ts +1 -1
  104. package/controls/datetime/time.d.ts +114 -114
  105. package/controls/datetime/time.ngfactory.d.ts +3 -3
  106. package/controls/datetime/time.ngsummary.d.ts +1 -1
  107. package/controls/dialog/dialog.d.ts +96 -96
  108. package/controls/dialog/dialog.ngfactory.d.ts +3 -3
  109. package/controls/dialog/dialog.ngsummary.d.ts +1 -1
  110. package/controls/form/form.d.ts +50 -50
  111. package/controls/form/form.ngfactory.d.ts +3 -3
  112. package/controls/form/form.ngsummary.d.ts +1 -1
  113. package/controls/grid/grid.d.ts +130 -130
  114. package/controls/grid/grid.ngfactory.d.ts +3 -3
  115. package/controls/grid/grid.ngsummary.d.ts +1 -1
  116. package/controls/grid/gridbutton.d.ts +36 -36
  117. package/controls/grid/gridbutton.ngfactory.d.ts +3 -3
  118. package/controls/grid/gridbutton.ngsummary.d.ts +1 -1
  119. package/controls/grid/gridcolumn.d.ts +31 -31
  120. package/controls/grid/gridcolumn.ngfactory.d.ts +3 -3
  121. package/controls/grid/gridcolumn.ngsummary.d.ts +1 -1
  122. package/controls/grid/gridcolumnaction.d.ts +18 -18
  123. package/controls/grid/gridcolumnaction.ngfactory.d.ts +3 -3
  124. package/controls/grid/gridcolumnaction.ngsummary.d.ts +1 -1
  125. package/controls/grid/gridcolumnbase.d.ts +97 -97
  126. package/controls/grid/gridcolumnbase.ngfactory.d.ts +3 -3
  127. package/controls/grid/gridcolumnbase.ngsummary.d.ts +1 -1
  128. package/controls/grid/gridimage.d.ts +12 -12
  129. package/controls/grid/gridimage.ngfactory.d.ts +3 -3
  130. package/controls/grid/gridimage.ngsummary.d.ts +1 -1
  131. package/controls/grid/model.d.ts +92 -92
  132. package/controls/grid/model.ngfactory.d.ts +1 -1
  133. package/controls/grid/model.ngsummary.d.ts +1 -1
  134. package/controls/grid/paging.d.ts +148 -148
  135. package/controls/grid/paging.ngfactory.d.ts +3 -3
  136. package/controls/grid/paging.ngsummary.d.ts +1 -1
  137. package/controls/input/input.d.ts +38 -38
  138. package/controls/input/input.d.ts.map +1 -1
  139. package/controls/input/input.ngfactory.d.ts +3 -3
  140. package/controls/input/input.ngsummary.d.ts +1 -1
  141. package/controls/input/inputarea.d.ts +29 -29
  142. package/controls/input/inputarea.d.ts.map +1 -1
  143. package/controls/input/inputarea.ngfactory.d.ts +3 -3
  144. package/controls/input/inputarea.ngsummary.d.ts +1 -1
  145. package/controls/input/inputcurrency.d.ts +14 -14
  146. package/controls/input/inputcurrency.ngfactory.d.ts +3 -3
  147. package/controls/input/inputcurrency.ngsummary.d.ts +1 -1
  148. package/controls/input/inputdecimal.d.ts +62 -62
  149. package/controls/input/inputdecimal.ngfactory.d.ts +3 -3
  150. package/controls/input/inputdecimal.ngsummary.d.ts +1 -1
  151. package/controls/input/inputemail.d.ts +22 -22
  152. package/controls/input/inputemail.ngfactory.d.ts +3 -3
  153. package/controls/input/inputemail.ngsummary.d.ts +1 -1
  154. package/controls/input/inputinteger.d.ts +62 -62
  155. package/controls/input/inputinteger.ngfactory.d.ts +3 -3
  156. package/controls/input/inputinteger.ngsummary.d.ts +1 -1
  157. package/controls/input/inputpassword.d.ts +26 -26
  158. package/controls/input/inputpassword.d.ts.map +1 -1
  159. package/controls/input/inputpassword.ngfactory.d.ts +3 -3
  160. package/controls/input/inputpassword.ngsummary.d.ts +1 -1
  161. package/controls/input/inputsearch.d.ts +35 -35
  162. package/controls/input/inputsearch.ngfactory.d.ts +3 -3
  163. package/controls/input/inputsearch.ngsummary.d.ts +1 -1
  164. package/controls/layout/formlayout.d.ts +65 -65
  165. package/controls/layout/formlayout.ngfactory.d.ts +3 -3
  166. package/controls/layout/formlayout.ngsummary.d.ts +1 -1
  167. package/controls/list/buildvaluestring.d.ts +6 -6
  168. package/controls/list/buildvaluestring.ngfactory.d.ts +1 -1
  169. package/controls/list/buildvaluestring.ngsummary.d.ts +1 -1
  170. package/controls/list/dropdown.d.ts +99 -99
  171. package/controls/list/dropdown.ngfactory.d.ts +3 -3
  172. package/controls/list/dropdown.ngsummary.d.ts +1 -1
  173. package/controls/list/dropdownoptions.d.ts +41 -41
  174. package/controls/list/dropdownoptions.ngfactory.d.ts +3 -3
  175. package/controls/list/dropdownoptions.ngsummary.d.ts +1 -1
  176. package/controls/list/list.module.d.ts +6 -6
  177. package/controls/list/list.module.ngfactory.d.ts +3 -3
  178. package/controls/list/list.module.ngsummary.d.ts +1 -1
  179. package/controls/list/listbox.d.ts +91 -91
  180. package/controls/list/listbox.ngfactory.d.ts +4 -4
  181. package/controls/list/listbox.ngsummary.d.ts +2 -2
  182. package/controls/multilanguage/multilanguageinput.d.ts +105 -105
  183. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  184. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +3 -3
  185. package/controls/multilanguage/multilanguageinput.ngsummary.d.ts +1 -1
  186. package/controls/multilanguage/multilanguageinputarea.d.ts +110 -110
  187. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  188. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +3 -3
  189. package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts +1 -1
  190. package/controls/static/formcontainer.d.ts +38 -38
  191. package/controls/static/formcontainer.ngfactory.d.ts +3 -3
  192. package/controls/static/formcontainer.ngsummary.d.ts +1 -1
  193. package/controls/static/staticlabel.d.ts +21 -21
  194. package/controls/static/staticlabel.ngfactory.d.ts +3 -3
  195. package/controls/static/staticlabel.ngsummary.d.ts +1 -1
  196. package/controls/tabs/tab.d.ts +48 -48
  197. package/controls/tabs/tab.ngfactory.d.ts +3 -3
  198. package/controls/tabs/tab.ngsummary.d.ts +1 -1
  199. package/controls/tabs/tabitem.d.ts +33 -33
  200. package/controls/tabs/tabitem.ngfactory.d.ts +3 -3
  201. package/controls/tabs/tabitem.ngsummary.d.ts +1 -1
  202. package/controls/tinymce/tinymce.d.ts +152 -152
  203. package/controls/tinymce/tinymce.ngfactory.d.ts +3 -3
  204. package/controls/tinymce/tinymce.ngsummary.d.ts +1 -1
  205. package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
  206. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -1
  207. package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts +1 -1
  208. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
  209. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +4 -1
  210. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts.map +1 -1
  211. package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts +1 -1
  212. package/controls/tinymce/tinymceinstance.d.ts +10 -10
  213. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -1
  214. package/controls/tinymce/tinymceinstance.ngsummary.d.ts +1 -1
  215. package/controls/tooltip/tooltip.d.ts +148 -148
  216. package/controls/tooltip/tooltip.ngfactory.d.ts +3 -3
  217. package/controls/tooltip/tooltip.ngsummary.d.ts +1 -1
  218. package/controls/treeview/treeview.d.ts +188 -188
  219. package/controls/treeview/treeview.ngfactory.d.ts +3 -3
  220. package/controls/treeview/treeview.ngsummary.d.ts +1 -1
  221. package/controls/upload/dropzonemultiple.d.ts +73 -73
  222. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  223. package/controls/upload/dropzonemultiple.ngfactory.d.ts +3 -3
  224. package/controls/upload/dropzonemultiple.ngsummary.d.ts +1 -1
  225. package/controls/upload/dropzonesingle.d.ts +50 -50
  226. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  227. package/controls/upload/dropzonesingle.ngfactory.d.ts +3 -3
  228. package/controls/upload/dropzonesingle.ngsummary.d.ts +1 -1
  229. package/controls/upload/uploadmultiple.d.ts +53 -53
  230. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  231. package/controls/upload/uploadmultiple.ngfactory.d.ts +3 -3
  232. package/controls/upload/uploadmultiple.ngsummary.d.ts +1 -1
  233. package/controls/upload/uploadsingle.d.ts +30 -30
  234. package/controls/upload/uploadsingle.d.ts.map +1 -1
  235. package/controls/upload/uploadsingle.ngfactory.d.ts +3 -3
  236. package/controls/upload/uploadsingle.ngsummary.d.ts +1 -1
  237. package/controls/validation/validationsummary.d.ts +63 -63
  238. package/controls/validation/validationsummary.ngfactory.d.ts +3 -3
  239. package/controls/validation/validationsummary.ngsummary.d.ts +1 -1
  240. package/controls/wizard/wizard.d.ts +76 -76
  241. package/controls/wizard/wizard.ngfactory.d.ts +3 -3
  242. package/controls/wizard/wizard.ngsummary.d.ts +1 -1
  243. package/controls/wizard/wizarditem.d.ts +28 -28
  244. package/controls/wizard/wizarditem.ngfactory.d.ts +3 -3
  245. package/controls/wizard/wizarditem.ngsummary.d.ts +1 -1
  246. package/enums/ButtonRoleType.d.ts +1 -1
  247. package/enums/ButtonRoleType.ngfactory.d.ts +1 -1
  248. package/enums/ButtonRoleType.ngsummary.d.ts +1 -1
  249. package/enums/ControlHeight.d.ts +17 -17
  250. package/enums/ControlHeight.ngfactory.d.ts +1 -1
  251. package/enums/ControlHeight.ngsummary.d.ts +1 -1
  252. package/enums/IconType.d.ts +7 -7
  253. package/enums/IconType.ngfactory.d.ts +1 -1
  254. package/enums/IconType.ngsummary.d.ts +1 -1
  255. package/esm2020/common/basedatetimecontrol.mjs +84 -84
  256. package/esm2020/common/basedatetimecontrol.ngfactory.mjs +3 -3
  257. package/esm2020/common/basedatetimecontrol.ngsummary.mjs +3 -3
  258. package/esm2020/common/baseinputcontrol.mjs +25 -25
  259. package/esm2020/common/baseinputcontrol.ngfactory.mjs +3 -3
  260. package/esm2020/common/baseinputcontrol.ngsummary.mjs +3 -3
  261. package/esm2020/common/baselistcontrol.mjs +19 -19
  262. package/esm2020/common/baselistcontrol.ngfactory.mjs +3 -3
  263. package/esm2020/common/baselistcontrol.ngsummary.mjs +3 -3
  264. package/esm2020/common/basemodelcontrol.mjs +143 -143
  265. package/esm2020/common/basemodelcontrol.ngfactory.mjs +3 -3
  266. package/esm2020/common/basemodelcontrol.ngsummary.mjs +3 -3
  267. package/esm2020/common/baseselectcontrol.mjs +9 -9
  268. package/esm2020/common/baseselectcontrol.ngfactory.mjs +3 -3
  269. package/esm2020/common/baseselectcontrol.ngsummary.mjs +3 -3
  270. package/esm2020/common/baseuploadcontrol.mjs +140 -140
  271. package/esm2020/common/baseuploadcontrol.ngfactory.mjs +3 -3
  272. package/esm2020/common/baseuploadcontrol.ngsummary.mjs +3 -3
  273. package/esm2020/components/browser/browser.mjs +141 -141
  274. package/esm2020/components/browser/browser.ngfactory.mjs +3 -3
  275. package/esm2020/components/browser/browser.ngsummary.mjs +3 -3
  276. package/esm2020/components/browser/models/browserfile.mjs +3 -3
  277. package/esm2020/components/browser/models/browserfile.ngfactory.mjs +3 -3
  278. package/esm2020/components/browser/models/browserfile.ngsummary.mjs +3 -3
  279. package/esm2020/components/browser/models/browserfiledeleterequest.mjs +8 -8
  280. package/esm2020/components/browser/models/browserfiledeleterequest.ngfactory.mjs +3 -3
  281. package/esm2020/components/browser/models/browserfiledeleterequest.ngsummary.mjs +3 -3
  282. package/esm2020/components/browser/models/browserfilerenamerequest.mjs +8 -8
  283. package/esm2020/components/browser/models/browserfilerenamerequest.ngfactory.mjs +3 -3
  284. package/esm2020/components/browser/models/browserfilerenamerequest.ngsummary.mjs +3 -3
  285. package/esm2020/components/browser/models/browserfileresponse.mjs +3 -3
  286. package/esm2020/components/browser/models/browserfileresponse.ngfactory.mjs +3 -3
  287. package/esm2020/components/browser/models/browserfileresponse.ngsummary.mjs +3 -3
  288. package/esm2020/components/browser/models/browserfilesaverequest.mjs +8 -8
  289. package/esm2020/components/browser/models/browserfilesaverequest.ngfactory.mjs +3 -3
  290. package/esm2020/components/browser/models/browserfilesaverequest.ngsummary.mjs +3 -3
  291. package/esm2020/components/browser/models/browsernode.mjs +3 -3
  292. package/esm2020/components/browser/models/browsernode.ngfactory.mjs +3 -3
  293. package/esm2020/components/browser/models/browsernode.ngsummary.mjs +3 -3
  294. package/esm2020/components/browser/models/browsernodedeleterequest.mjs +8 -8
  295. package/esm2020/components/browser/models/browsernodedeleterequest.ngfactory.mjs +3 -3
  296. package/esm2020/components/browser/models/browsernodedeleterequest.ngsummary.mjs +3 -3
  297. package/esm2020/components/browser/models/browsernodenewrequest.mjs +8 -8
  298. package/esm2020/components/browser/models/browsernodenewrequest.ngfactory.mjs +3 -3
  299. package/esm2020/components/browser/models/browsernodenewrequest.ngsummary.mjs +3 -3
  300. package/esm2020/components/browser/models/browsernoderenamerequest.mjs +8 -8
  301. package/esm2020/components/browser/models/browsernoderenamerequest.ngfactory.mjs +3 -3
  302. package/esm2020/components/browser/models/browsernoderenamerequest.ngsummary.mjs +3 -3
  303. package/esm2020/components/browser/models/browsernoderequest.mjs +8 -8
  304. package/esm2020/components/browser/models/browsernoderequest.ngfactory.mjs +3 -3
  305. package/esm2020/components/browser/models/browsernoderequest.ngsummary.mjs +3 -3
  306. package/esm2020/components/browser/models/browsernoderesponse.mjs +3 -3
  307. package/esm2020/components/browser/models/browsernoderesponse.ngfactory.mjs +3 -3
  308. package/esm2020/components/browser/models/browsernoderesponse.ngsummary.mjs +3 -3
  309. package/esm2020/controls/buttons/button.mjs +43 -43
  310. package/esm2020/controls/buttons/button.ngfactory.mjs +3 -3
  311. package/esm2020/controls/buttons/button.ngsummary.mjs +3 -3
  312. package/esm2020/controls/checkbox/checkbox.mjs +15 -15
  313. package/esm2020/controls/checkbox/checkbox.ngfactory.mjs +3 -3
  314. package/esm2020/controls/checkbox/checkbox.ngsummary.mjs +3 -3
  315. package/esm2020/controls/checkbox/radiobutton.mjs +47 -47
  316. package/esm2020/controls/checkbox/radiobutton.ngfactory.mjs +3 -3
  317. package/esm2020/controls/checkbox/radiobutton.ngsummary.mjs +3 -3
  318. package/esm2020/controls/checkbox/radiobuttons.mjs +33 -33
  319. package/esm2020/controls/checkbox/radiobuttons.ngfactory.mjs +3 -3
  320. package/esm2020/controls/checkbox/radiobuttons.ngsummary.mjs +3 -3
  321. package/esm2020/controls/confirm/confirm.button.mjs +17 -17
  322. package/esm2020/controls/confirm/confirm.button.ngfactory.mjs +3 -3
  323. package/esm2020/controls/confirm/confirm.button.ngsummary.mjs +3 -3
  324. package/esm2020/controls/confirm/confirm.mjs +29 -29
  325. package/esm2020/controls/confirm/confirm.ngfactory.mjs +3 -3
  326. package/esm2020/controls/confirm/confirm.ngsummary.mjs +3 -3
  327. package/esm2020/controls/confirm/confirm.service.mjs +33 -33
  328. package/esm2020/controls/confirm/confirm.service.ngfactory.mjs +3 -3
  329. package/esm2020/controls/confirm/confirm.service.ngsummary.mjs +3 -3
  330. package/esm2020/controls/contextmenu/contextmenu.interface.mjs +3 -3
  331. package/esm2020/controls/contextmenu/contextmenu.interface.ngfactory.mjs +3 -3
  332. package/esm2020/controls/contextmenu/contextmenu.interface.ngsummary.mjs +3 -3
  333. package/esm2020/controls/contextmenu/contextmenu.mjs +58 -58
  334. package/esm2020/controls/contextmenu/contextmenu.ngfactory.mjs +3 -3
  335. package/esm2020/controls/contextmenu/contextmenu.ngsummary.mjs +3 -3
  336. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +8 -8
  337. package/esm2020/controls/contextmenu/contextmenuanchor.ngfactory.mjs +3 -3
  338. package/esm2020/controls/contextmenu/contextmenuanchor.ngsummary.mjs +3 -3
  339. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +8 -8
  340. package/esm2020/controls/contextmenu/contextmenucontainer.ngfactory.mjs +3 -3
  341. package/esm2020/controls/contextmenu/contextmenucontainer.ngsummary.mjs +3 -3
  342. package/esm2020/controls/contextmenu/contextmenuitem.mjs +8 -8
  343. package/esm2020/controls/contextmenu/contextmenuitem.ngfactory.mjs +3 -3
  344. package/esm2020/controls/contextmenu/contextmenuitem.ngsummary.mjs +3 -3
  345. package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +32 -32
  346. package/esm2020/controls/contextmenu/contextmenuitembutton.ngfactory.mjs +3 -3
  347. package/esm2020/controls/contextmenu/contextmenuitembutton.ngsummary.mjs +3 -3
  348. package/esm2020/controls/datetime/date.mjs +51 -51
  349. package/esm2020/controls/datetime/date.ngfactory.mjs +3 -3
  350. package/esm2020/controls/datetime/date.ngsummary.mjs +3 -3
  351. package/esm2020/controls/datetime/dateselector.mjs +111 -111
  352. package/esm2020/controls/datetime/dateselector.ngfactory.mjs +3 -3
  353. package/esm2020/controls/datetime/dateselector.ngsummary.mjs +3 -3
  354. package/esm2020/controls/datetime/datetime.mjs +53 -53
  355. package/esm2020/controls/datetime/datetime.ngfactory.mjs +3 -3
  356. package/esm2020/controls/datetime/datetime.ngsummary.mjs +3 -3
  357. package/esm2020/controls/datetime/time.mjs +50 -50
  358. package/esm2020/controls/datetime/time.ngfactory.mjs +3 -3
  359. package/esm2020/controls/datetime/time.ngsummary.mjs +3 -3
  360. package/esm2020/controls/dialog/dialog.mjs +48 -48
  361. package/esm2020/controls/dialog/dialog.ngfactory.mjs +3 -3
  362. package/esm2020/controls/dialog/dialog.ngsummary.mjs +3 -3
  363. package/esm2020/controls/form/form.mjs +31 -31
  364. package/esm2020/controls/form/form.ngfactory.mjs +3 -3
  365. package/esm2020/controls/form/form.ngsummary.mjs +3 -3
  366. package/esm2020/controls/grid/grid.mjs +46 -46
  367. package/esm2020/controls/grid/grid.ngfactory.mjs +3 -3
  368. package/esm2020/controls/grid/grid.ngsummary.mjs +3 -3
  369. package/esm2020/controls/grid/gridbutton.mjs +20 -20
  370. package/esm2020/controls/grid/gridbutton.ngfactory.mjs +3 -3
  371. package/esm2020/controls/grid/gridbutton.ngsummary.mjs +3 -3
  372. package/esm2020/controls/grid/gridcolumn.mjs +18 -18
  373. package/esm2020/controls/grid/gridcolumn.ngfactory.mjs +3 -3
  374. package/esm2020/controls/grid/gridcolumn.ngsummary.mjs +3 -3
  375. package/esm2020/controls/grid/gridcolumnaction.mjs +10 -10
  376. package/esm2020/controls/grid/gridcolumnaction.ngfactory.mjs +3 -3
  377. package/esm2020/controls/grid/gridcolumnaction.ngsummary.mjs +3 -3
  378. package/esm2020/controls/grid/gridcolumnbase.mjs +36 -36
  379. package/esm2020/controls/grid/gridcolumnbase.ngfactory.mjs +3 -3
  380. package/esm2020/controls/grid/gridcolumnbase.ngsummary.mjs +3 -3
  381. package/esm2020/controls/grid/gridimage.mjs +5 -5
  382. package/esm2020/controls/grid/gridimage.ngfactory.mjs +3 -3
  383. package/esm2020/controls/grid/gridimage.ngsummary.mjs +3 -3
  384. package/esm2020/controls/grid/model.mjs +47 -47
  385. package/esm2020/controls/grid/model.ngfactory.mjs +3 -3
  386. package/esm2020/controls/grid/model.ngsummary.mjs +3 -3
  387. package/esm2020/controls/grid/paging.mjs +80 -80
  388. package/esm2020/controls/grid/paging.ngfactory.mjs +3 -3
  389. package/esm2020/controls/grid/paging.ngsummary.mjs +3 -3
  390. package/esm2020/controls/input/input.mjs +21 -21
  391. package/esm2020/controls/input/input.ngfactory.mjs +3 -3
  392. package/esm2020/controls/input/input.ngsummary.mjs +3 -3
  393. package/esm2020/controls/input/inputarea.mjs +21 -16
  394. package/esm2020/controls/input/inputarea.ngfactory.mjs +3 -3
  395. package/esm2020/controls/input/inputarea.ngsummary.mjs +3 -3
  396. package/esm2020/controls/input/inputcurrency.mjs +9 -9
  397. package/esm2020/controls/input/inputcurrency.ngfactory.mjs +3 -3
  398. package/esm2020/controls/input/inputcurrency.ngsummary.mjs +3 -3
  399. package/esm2020/controls/input/inputdecimal.mjs +39 -39
  400. package/esm2020/controls/input/inputdecimal.ngfactory.mjs +3 -3
  401. package/esm2020/controls/input/inputdecimal.ngsummary.mjs +3 -3
  402. package/esm2020/controls/input/inputemail.mjs +13 -13
  403. package/esm2020/controls/input/inputemail.ngfactory.mjs +3 -3
  404. package/esm2020/controls/input/inputemail.ngsummary.mjs +3 -3
  405. package/esm2020/controls/input/inputinteger.mjs +38 -38
  406. package/esm2020/controls/input/inputinteger.ngfactory.mjs +3 -3
  407. package/esm2020/controls/input/inputinteger.ngsummary.mjs +3 -3
  408. package/esm2020/controls/input/inputpassword.mjs +15 -15
  409. package/esm2020/controls/input/inputpassword.ngfactory.mjs +3 -3
  410. package/esm2020/controls/input/inputpassword.ngsummary.mjs +3 -3
  411. package/esm2020/controls/input/inputsearch.mjs +18 -18
  412. package/esm2020/controls/input/inputsearch.ngfactory.mjs +3 -3
  413. package/esm2020/controls/input/inputsearch.ngsummary.mjs +3 -3
  414. package/esm2020/controls/layout/formlayout.mjs +31 -31
  415. package/esm2020/controls/layout/formlayout.ngfactory.mjs +3 -3
  416. package/esm2020/controls/layout/formlayout.ngsummary.mjs +3 -3
  417. package/esm2020/controls/list/buildvaluestring.mjs +10 -10
  418. package/esm2020/controls/list/buildvaluestring.ngfactory.mjs +3 -3
  419. package/esm2020/controls/list/buildvaluestring.ngsummary.mjs +3 -3
  420. package/esm2020/controls/list/dropdown.mjs +60 -60
  421. package/esm2020/controls/list/dropdown.ngfactory.mjs +3 -3
  422. package/esm2020/controls/list/dropdown.ngsummary.mjs +3 -3
  423. package/esm2020/controls/list/dropdownoptions.mjs +22 -22
  424. package/esm2020/controls/list/dropdownoptions.ngfactory.mjs +3 -3
  425. package/esm2020/controls/list/dropdownoptions.ngsummary.mjs +3 -3
  426. package/esm2020/controls/list/list.module.mjs +3 -3
  427. package/esm2020/controls/list/list.module.ngfactory.mjs +3 -3
  428. package/esm2020/controls/list/list.module.ngsummary.mjs +3 -3
  429. package/esm2020/controls/list/listbox.mjs +51 -51
  430. package/esm2020/controls/list/listbox.ngfactory.mjs +3 -3
  431. package/esm2020/controls/list/listbox.ngsummary.mjs +3 -3
  432. package/esm2020/controls/multilanguage/multilanguageinput.mjs +58 -58
  433. package/esm2020/controls/multilanguage/multilanguageinput.ngfactory.mjs +3 -3
  434. package/esm2020/controls/multilanguage/multilanguageinput.ngsummary.mjs +3 -3
  435. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +61 -61
  436. package/esm2020/controls/multilanguage/multilanguageinputarea.ngfactory.mjs +3 -3
  437. package/esm2020/controls/multilanguage/multilanguageinputarea.ngsummary.mjs +3 -3
  438. package/esm2020/controls/static/formcontainer.mjs +25 -25
  439. package/esm2020/controls/static/formcontainer.ngfactory.mjs +3 -3
  440. package/esm2020/controls/static/formcontainer.ngsummary.mjs +3 -3
  441. package/esm2020/controls/static/staticlabel.mjs +13 -13
  442. package/esm2020/controls/static/staticlabel.ngfactory.mjs +3 -3
  443. package/esm2020/controls/static/staticlabel.ngsummary.mjs +3 -3
  444. package/esm2020/controls/tabs/tab.mjs +24 -24
  445. package/esm2020/controls/tabs/tab.ngfactory.mjs +3 -3
  446. package/esm2020/controls/tabs/tab.ngsummary.mjs +3 -3
  447. package/esm2020/controls/tabs/tabitem.mjs +11 -11
  448. package/esm2020/controls/tabs/tabitem.ngfactory.mjs +3 -3
  449. package/esm2020/controls/tabs/tabitem.ngsummary.mjs +3 -3
  450. package/esm2020/controls/tinymce/tinymce.mjs +75 -75
  451. package/esm2020/controls/tinymce/tinymce.ngfactory.mjs +3 -3
  452. package/esm2020/controls/tinymce/tinymce.ngsummary.mjs +3 -3
  453. package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +8 -8
  454. package/esm2020/controls/tinymce/tinymcedialogsettings.ngfactory.mjs +3 -3
  455. package/esm2020/controls/tinymce/tinymcedialogsettings.ngsummary.mjs +3 -3
  456. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +5 -5
  457. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.mjs +5 -3
  458. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.mjs +3 -3
  459. package/esm2020/controls/tinymce/tinymceinstance.mjs +3 -3
  460. package/esm2020/controls/tinymce/tinymceinstance.ngfactory.mjs +3 -3
  461. package/esm2020/controls/tinymce/tinymceinstance.ngsummary.mjs +3 -3
  462. package/esm2020/controls/tooltip/tooltip.mjs +77 -77
  463. package/esm2020/controls/tooltip/tooltip.ngfactory.mjs +3 -3
  464. package/esm2020/controls/tooltip/tooltip.ngsummary.mjs +3 -3
  465. package/esm2020/controls/treeview/treeview.mjs +99 -99
  466. package/esm2020/controls/treeview/treeview.ngfactory.mjs +3 -3
  467. package/esm2020/controls/treeview/treeview.ngsummary.mjs +3 -3
  468. package/esm2020/controls/upload/dropzonemultiple.mjs +45 -45
  469. package/esm2020/controls/upload/dropzonemultiple.ngfactory.mjs +3 -3
  470. package/esm2020/controls/upload/dropzonemultiple.ngsummary.mjs +3 -3
  471. package/esm2020/controls/upload/dropzonesingle.mjs +31 -28
  472. package/esm2020/controls/upload/dropzonesingle.ngfactory.mjs +3 -3
  473. package/esm2020/controls/upload/dropzonesingle.ngsummary.mjs +3 -3
  474. package/esm2020/controls/upload/uploadmultiple.mjs +34 -34
  475. package/esm2020/controls/upload/uploadmultiple.ngfactory.mjs +3 -3
  476. package/esm2020/controls/upload/uploadmultiple.ngsummary.mjs +3 -3
  477. package/esm2020/controls/upload/uploadsingle.mjs +20 -17
  478. package/esm2020/controls/upload/uploadsingle.ngfactory.mjs +3 -3
  479. package/esm2020/controls/upload/uploadsingle.ngsummary.mjs +3 -3
  480. package/esm2020/controls/validation/validationsummary.mjs +27 -27
  481. package/esm2020/controls/validation/validationsummary.ngfactory.mjs +3 -3
  482. package/esm2020/controls/validation/validationsummary.ngsummary.mjs +3 -3
  483. package/esm2020/controls/wizard/wizard.mjs +37 -37
  484. package/esm2020/controls/wizard/wizard.ngfactory.mjs +3 -3
  485. package/esm2020/controls/wizard/wizard.ngsummary.mjs +3 -3
  486. package/esm2020/controls/wizard/wizarditem.mjs +9 -9
  487. package/esm2020/controls/wizard/wizarditem.ngfactory.mjs +3 -3
  488. package/esm2020/controls/wizard/wizarditem.ngsummary.mjs +3 -3
  489. package/esm2020/enums/ButtonRoleType.mjs +3 -3
  490. package/esm2020/enums/ButtonRoleType.ngfactory.mjs +3 -3
  491. package/esm2020/enums/ButtonRoleType.ngsummary.mjs +3 -3
  492. package/esm2020/enums/ControlHeight.mjs +11 -11
  493. package/esm2020/enums/ControlHeight.ngfactory.mjs +3 -3
  494. package/esm2020/enums/ControlHeight.ngsummary.mjs +3 -3
  495. package/esm2020/enums/IconType.mjs +5 -5
  496. package/esm2020/enums/IconType.ngfactory.mjs +3 -3
  497. package/esm2020/enums/IconType.ngsummary.mjs +3 -3
  498. package/esm2020/interfaces/ISacConfigurationService.mjs +3 -3
  499. package/esm2020/interfaces/ISacConfigurationService.ngfactory.mjs +3 -3
  500. package/esm2020/interfaces/ISacConfigurationService.ngsummary.mjs +3 -3
  501. package/esm2020/interfaces/ISacFileBrowserService.mjs +3 -3
  502. package/esm2020/interfaces/ISacFileBrowserService.ngfactory.mjs +3 -3
  503. package/esm2020/interfaces/ISacFileBrowserService.ngsummary.mjs +3 -3
  504. package/esm2020/interfaces/ISacIconService.mjs +3 -3
  505. package/esm2020/interfaces/ISacIconService.ngfactory.mjs +3 -3
  506. package/esm2020/interfaces/ISacIconService.ngsummary.mjs +3 -3
  507. package/esm2020/interfaces/ISacLabelSizes.mjs +3 -3
  508. package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +3 -3
  509. package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +3 -3
  510. package/esm2020/interfaces/ISacLanguageService.mjs +3 -3
  511. package/esm2020/interfaces/ISacLanguageService.ngfactory.mjs +3 -3
  512. package/esm2020/interfaces/ISacLanguageService.ngsummary.mjs +3 -3
  513. package/esm2020/interfaces/ISacLocalisationService.mjs +3 -3
  514. package/esm2020/interfaces/ISacLocalisationService.ngfactory.mjs +3 -3
  515. package/esm2020/interfaces/ISacLocalisationService.ngsummary.mjs +3 -3
  516. package/esm2020/interfaces/ISacUploadEventCompleteState.mjs +3 -3
  517. package/esm2020/interfaces/ISacUploadEventCompleteState.ngfactory.mjs +3 -3
  518. package/esm2020/interfaces/ISacUploadEventCompleteState.ngsummary.mjs +3 -3
  519. package/esm2020/interfaces/ISacValidationKeyService.mjs +3 -3
  520. package/esm2020/interfaces/ISacValidationKeyService.ngfactory.mjs +3 -3
  521. package/esm2020/interfaces/ISacValidationKeyService.ngsummary.mjs +3 -3
  522. package/esm2020/interfaces/iabstractcontrollabel.mjs +3 -3
  523. package/esm2020/interfaces/iabstractcontrollabel.ngfactory.mjs +3 -3
  524. package/esm2020/interfaces/iabstractcontrollabel.ngsummary.mjs +3 -3
  525. package/esm2020/interfaces/iconfirmcomponent.mjs +3 -3
  526. package/esm2020/interfaces/iconfirmcomponent.ngfactory.mjs +3 -3
  527. package/esm2020/interfaces/iconfirmcomponent.ngsummary.mjs +3 -3
  528. package/esm2020/interfaces/idatetimecontrol.mjs +3 -3
  529. package/esm2020/interfaces/idatetimecontrol.ngfactory.mjs +3 -3
  530. package/esm2020/interfaces/idatetimecontrol.ngsummary.mjs +3 -3
  531. package/esm2020/interfaces/iuploadcontrol.mjs +3 -3
  532. package/esm2020/interfaces/iuploadcontrol.ngfactory.mjs +3 -3
  533. package/esm2020/interfaces/iuploadcontrol.ngsummary.mjs +3 -3
  534. package/esm2020/interfaces/treeviewaction.interface.mjs +3 -3
  535. package/esm2020/interfaces/treeviewaction.interface.ngfactory.mjs +3 -3
  536. package/esm2020/interfaces/treeviewaction.interface.ngsummary.mjs +3 -3
  537. package/esm2020/models/languagemodel.mjs +7 -7
  538. package/esm2020/models/languagemodel.ngfactory.mjs +3 -3
  539. package/esm2020/models/languagemodel.ngsummary.mjs +3 -3
  540. package/esm2020/public_api.mjs +5 -5
  541. package/esm2020/public_api.ngfactory.mjs +3 -3
  542. package/esm2020/public_api.ngsummary.mjs +3 -3
  543. package/esm2020/services/index.mjs +3 -3
  544. package/esm2020/services/index.ngfactory.mjs +3 -3
  545. package/esm2020/services/index.ngsummary.mjs +3 -3
  546. package/esm2020/services/sac-configuration.service.mjs +35 -35
  547. package/esm2020/services/sac-configuration.service.ngfactory.mjs +3 -3
  548. package/esm2020/services/sac-configuration.service.ngsummary.mjs +3 -3
  549. package/esm2020/services/sac-filebrowser.service.mjs +53 -53
  550. package/esm2020/services/sac-filebrowser.service.ngfactory.mjs +3 -3
  551. package/esm2020/services/sac-filebrowser.service.ngsummary.mjs +3 -3
  552. package/esm2020/services/sac-icon.service.mjs +65 -65
  553. package/esm2020/services/sac-icon.service.ngfactory.mjs +3 -3
  554. package/esm2020/services/sac-icon.service.ngsummary.mjs +3 -3
  555. package/esm2020/services/sac-language.service.mjs +11 -11
  556. package/esm2020/services/sac-language.service.ngfactory.mjs +3 -3
  557. package/esm2020/services/sac-language.service.ngsummary.mjs +3 -3
  558. package/esm2020/services/sac-localisation.service.mjs +36 -35
  559. package/esm2020/services/sac-localisation.service.ngfactory.mjs +3 -3
  560. package/esm2020/services/sac-localisation.service.ngsummary.mjs +3 -3
  561. package/esm2020/services/sac-validationkey.service.mjs +7 -7
  562. package/esm2020/services/sac-validationkey.service.ngfactory.mjs +3 -3
  563. package/esm2020/services/sac-validationkey.service.ngsummary.mjs +3 -3
  564. package/esm2020/simpleangularcontrols-sac-common.mjs +4 -4
  565. package/esm2020/utilities/convertion.mjs +12 -12
  566. package/esm2020/utilities/convertion.ngfactory.mjs +3 -3
  567. package/esm2020/utilities/convertion.ngsummary.mjs +3 -3
  568. package/esm2020/utilities/datatypes.mjs +7 -7
  569. package/esm2020/utilities/datatypes.ngfactory.mjs +3 -3
  570. package/esm2020/utilities/datatypes.ngsummary.mjs +3 -3
  571. package/esm2020/utilities/enums.mjs +11 -11
  572. package/esm2020/utilities/enums.ngfactory.mjs +3 -3
  573. package/esm2020/utilities/enums.ngsummary.mjs +3 -3
  574. package/esm2020/utilities/guid.mjs +8 -8
  575. package/esm2020/utilities/guid.ngfactory.mjs +3 -3
  576. package/esm2020/utilities/guid.ngsummary.mjs +3 -3
  577. package/esm2020/utilities/interpolation.mjs +15 -15
  578. package/esm2020/utilities/interpolation.ngfactory.mjs +3 -3
  579. package/esm2020/utilities/interpolation.ngsummary.mjs +3 -3
  580. package/esm2020/utilities/popuphelper.mjs +79 -79
  581. package/esm2020/utilities/popuphelper.ngfactory.mjs +3 -3
  582. package/esm2020/utilities/popuphelper.ngsummary.mjs +3 -3
  583. package/esm2020/utilities/positioning.mjs +56 -56
  584. package/esm2020/utilities/positioning.ngfactory.mjs +3 -3
  585. package/esm2020/utilities/positioning.ngsummary.mjs +3 -3
  586. package/esm2020/validation/email.validator.mjs +3 -3
  587. package/esm2020/validation/email.validator.ngfactory.mjs +3 -3
  588. package/esm2020/validation/email.validator.ngsummary.mjs +3 -3
  589. package/esm2020/validation/equals.validator.mjs +3 -3
  590. package/esm2020/validation/equals.validator.ngfactory.mjs +3 -3
  591. package/esm2020/validation/equals.validator.ngsummary.mjs +3 -3
  592. package/esm2020/validation/index.mjs +3 -3
  593. package/esm2020/validation/index.ngfactory.mjs +3 -3
  594. package/esm2020/validation/index.ngsummary.mjs +3 -3
  595. package/esm2020/validation/invaliddate.validator.mjs +3 -3
  596. package/esm2020/validation/invaliddate.validator.ngfactory.mjs +3 -3
  597. package/esm2020/validation/invaliddate.validator.ngsummary.mjs +3 -3
  598. package/esm2020/validation/isDateValid.mjs +10 -10
  599. package/esm2020/validation/isDateValid.ngfactory.mjs +3 -3
  600. package/esm2020/validation/isDateValid.ngsummary.mjs +3 -3
  601. package/esm2020/validation/maxdate.validator.mjs +4 -4
  602. package/esm2020/validation/maxdate.validator.ngfactory.mjs +3 -3
  603. package/esm2020/validation/maxdate.validator.ngsummary.mjs +3 -3
  604. package/esm2020/validation/maxtime.validator.mjs +4 -4
  605. package/esm2020/validation/maxtime.validator.ngfactory.mjs +3 -3
  606. package/esm2020/validation/maxtime.validator.ngsummary.mjs +3 -3
  607. package/esm2020/validation/maxvalue.validator.mjs +3 -3
  608. package/esm2020/validation/maxvalue.validator.ngfactory.mjs +3 -3
  609. package/esm2020/validation/maxvalue.validator.ngsummary.mjs +3 -3
  610. package/esm2020/validation/mindate.validator.mjs +4 -4
  611. package/esm2020/validation/mindate.validator.ngfactory.mjs +3 -3
  612. package/esm2020/validation/mindate.validator.ngsummary.mjs +3 -3
  613. package/esm2020/validation/minfiles.validator.mjs +4 -4
  614. package/esm2020/validation/minfiles.validator.ngfactory.mjs +3 -3
  615. package/esm2020/validation/minfiles.validator.ngsummary.mjs +3 -3
  616. package/esm2020/validation/mintextlength.validator.mjs +5 -0
  617. package/esm2020/validation/mintextlength.validator.ngfactory.mjs +3 -0
  618. package/esm2020/validation/mintextlength.validator.ngsummary.mjs +3 -0
  619. package/esm2020/validation/mintime.validator.mjs +4 -4
  620. package/esm2020/validation/mintime.validator.ngfactory.mjs +3 -3
  621. package/esm2020/validation/mintime.validator.ngsummary.mjs +3 -3
  622. package/esm2020/validation/minvalue.validator.mjs +3 -3
  623. package/esm2020/validation/minvalue.validator.ngfactory.mjs +3 -3
  624. package/esm2020/validation/minvalue.validator.ngsummary.mjs +3 -3
  625. package/esm2020/validation/multilanguagerequired.validator.mjs +3 -3
  626. package/esm2020/validation/multilanguagerequired.validator.ngfactory.mjs +3 -3
  627. package/esm2020/validation/multilanguagerequired.validator.ngsummary.mjs +3 -3
  628. package/esm2020/validation/multilanguagerequiredany.validator.mjs +3 -3
  629. package/esm2020/validation/multilanguagerequiredany.validator.ngfactory.mjs +3 -3
  630. package/esm2020/validation/multilanguagerequiredany.validator.ngsummary.mjs +3 -3
  631. package/esm2020/validation/notequals.validator.mjs +3 -3
  632. package/esm2020/validation/notequals.validator.ngfactory.mjs +3 -3
  633. package/esm2020/validation/notequals.validator.ngsummary.mjs +3 -3
  634. package/esm2020/validation/pattern.validator.mjs +3 -3
  635. package/esm2020/validation/pattern.validator.ngfactory.mjs +3 -3
  636. package/esm2020/validation/pattern.validator.ngsummary.mjs +3 -3
  637. package/esm2020/validation/required.validator.mjs +3 -3
  638. package/esm2020/validation/required.validator.ngfactory.mjs +3 -3
  639. package/esm2020/validation/required.validator.ngsummary.mjs +3 -3
  640. package/esm2020/validation/validation.mjs +128 -123
  641. package/esm2020/validation/validation.ngfactory.mjs +3 -3
  642. package/esm2020/validation/validation.ngsummary.mjs +3 -3
  643. package/esm2020/validation/validationerrorcreator.mjs +3 -3
  644. package/esm2020/validation/validationerrorcreator.ngfactory.mjs +3 -3
  645. package/esm2020/validation/validationerrorcreator.ngsummary.mjs +3 -3
  646. package/esm2020/validation/validationerroritem.mjs +15 -15
  647. package/esm2020/validation/validationerroritem.ngfactory.mjs +3 -3
  648. package/esm2020/validation/validationerroritem.ngsummary.mjs +3 -3
  649. package/fesm2015/simpleangularcontrols-sac-common.mjs +2873 -2854
  650. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
  651. package/fesm2020/simpleangularcontrols-sac-common.mjs +2873 -2854
  652. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
  653. package/interfaces/ISacConfigurationService.d.ts +58 -58
  654. package/interfaces/ISacConfigurationService.ngfactory.d.ts +1 -1
  655. package/interfaces/ISacConfigurationService.ngsummary.d.ts +1 -1
  656. package/interfaces/ISacFileBrowserService.d.ts +65 -65
  657. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -1
  658. package/interfaces/ISacFileBrowserService.ngsummary.d.ts +1 -1
  659. package/interfaces/ISacIconService.d.ts +113 -113
  660. package/interfaces/ISacIconService.ngfactory.d.ts +1 -1
  661. package/interfaces/ISacIconService.ngsummary.d.ts +1 -1
  662. package/interfaces/ISacLabelSizes.d.ts +26 -26
  663. package/interfaces/ISacLabelSizes.ngfactory.d.ts +1 -1
  664. package/interfaces/ISacLabelSizes.ngsummary.d.ts +1 -1
  665. package/interfaces/ISacLanguageService.d.ts +12 -12
  666. package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -1
  667. package/interfaces/ISacLanguageService.ngsummary.d.ts +1 -1
  668. package/interfaces/ISacLocalisationService.d.ts +10 -10
  669. package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -1
  670. package/interfaces/ISacLocalisationService.ngsummary.d.ts +1 -1
  671. package/interfaces/ISacUploadEventCompleteState.d.ts +5 -5
  672. package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts +1 -1
  673. package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts +1 -1
  674. package/interfaces/ISacValidationKeyService.d.ts +52 -52
  675. package/interfaces/ISacValidationKeyService.d.ts.map +1 -1
  676. package/interfaces/ISacValidationKeyService.ngfactory.d.ts +1 -1
  677. package/interfaces/ISacValidationKeyService.ngsummary.d.ts +1 -1
  678. package/interfaces/iabstractcontrollabel.d.ts +6 -6
  679. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -1
  680. package/interfaces/iabstractcontrollabel.ngsummary.d.ts +1 -1
  681. package/interfaces/iconfirmcomponent.d.ts +18 -18
  682. package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -1
  683. package/interfaces/iconfirmcomponent.ngsummary.d.ts +1 -1
  684. package/interfaces/idatetimecontrol.d.ts +7 -7
  685. package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -1
  686. package/interfaces/idatetimecontrol.ngsummary.d.ts +1 -1
  687. package/interfaces/iuploadcontrol.d.ts +9 -9
  688. package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -1
  689. package/interfaces/iuploadcontrol.ngsummary.d.ts +1 -1
  690. package/interfaces/treeviewaction.interface.d.ts +4 -4
  691. package/interfaces/treeviewaction.interface.ngfactory.d.ts +1 -1
  692. package/interfaces/treeviewaction.interface.ngsummary.d.ts +1 -1
  693. package/models/languagemodel.d.ts +22 -22
  694. package/models/languagemodel.ngfactory.d.ts +1 -1
  695. package/models/languagemodel.ngsummary.d.ts +1 -1
  696. package/package.json +1 -1
  697. package/public_api.d.ts +86 -86
  698. package/public_api.ngfactory.d.ts +1 -1
  699. package/public_api.ngsummary.d.ts +1 -1
  700. package/services/index.d.ts +6 -6
  701. package/services/index.ngfactory.d.ts +1 -1
  702. package/services/index.ngsummary.d.ts +1 -1
  703. package/services/sac-configuration.service.d.ts +126 -126
  704. package/services/sac-configuration.service.ngfactory.d.ts +4 -4
  705. package/services/sac-configuration.service.ngsummary.d.ts +2 -2
  706. package/services/sac-filebrowser.service.d.ts +145 -145
  707. package/services/sac-filebrowser.service.ngfactory.d.ts +4 -4
  708. package/services/sac-filebrowser.service.ngsummary.d.ts +2 -2
  709. package/services/sac-icon.service.d.ts +237 -237
  710. package/services/sac-icon.service.ngfactory.d.ts +4 -4
  711. package/services/sac-icon.service.ngsummary.d.ts +2 -2
  712. package/services/sac-language.service.d.ts +31 -31
  713. package/services/sac-language.service.ngfactory.d.ts +4 -4
  714. package/services/sac-language.service.ngsummary.d.ts +2 -2
  715. package/services/sac-localisation.service.d.ts +142 -142
  716. package/services/sac-localisation.service.d.ts.map +1 -1
  717. package/services/sac-localisation.service.ngfactory.d.ts +4 -4
  718. package/services/sac-localisation.service.ngsummary.d.ts +2 -2
  719. package/services/sac-validationkey.service.d.ts +58 -58
  720. package/services/sac-validationkey.service.d.ts.map +1 -1
  721. package/services/sac-validationkey.service.ngfactory.d.ts +3 -3
  722. package/services/sac-validationkey.service.ngsummary.d.ts +1 -1
  723. package/simpleangularcontrols-sac-common-13.0.0-rc.14.tgz +0 -0
  724. package/simpleangularcontrols-sac-common.d.ts +5 -5
  725. package/utilities/convertion.d.ts +15 -15
  726. package/utilities/convertion.ngfactory.d.ts +1 -1
  727. package/utilities/convertion.ngsummary.d.ts +1 -1
  728. package/utilities/datatypes.d.ts +6 -6
  729. package/utilities/datatypes.ngfactory.d.ts +1 -1
  730. package/utilities/datatypes.ngsummary.d.ts +1 -1
  731. package/utilities/enums.d.ts +12 -12
  732. package/utilities/enums.ngfactory.d.ts +1 -1
  733. package/utilities/enums.ngsummary.d.ts +1 -1
  734. package/utilities/guid.d.ts +4 -4
  735. package/utilities/guid.ngfactory.d.ts +1 -1
  736. package/utilities/guid.ngsummary.d.ts +1 -1
  737. package/utilities/interpolation.d.ts +21 -21
  738. package/utilities/interpolation.ngfactory.d.ts +1 -1
  739. package/utilities/interpolation.ngsummary.d.ts +1 -1
  740. package/utilities/popuphelper.d.ts +83 -83
  741. package/utilities/popuphelper.ngfactory.d.ts +1 -1
  742. package/utilities/popuphelper.ngsummary.d.ts +1 -1
  743. package/utilities/positioning.d.ts +82 -82
  744. package/utilities/positioning.ngfactory.d.ts +1 -1
  745. package/utilities/positioning.ngsummary.d.ts +1 -1
  746. package/validation/email.validator.d.ts +2 -2
  747. package/validation/email.validator.ngfactory.d.ts +1 -1
  748. package/validation/email.validator.ngsummary.d.ts +1 -1
  749. package/validation/equals.validator.d.ts +2 -2
  750. package/validation/equals.validator.ngfactory.d.ts +1 -1
  751. package/validation/equals.validator.ngsummary.d.ts +1 -1
  752. package/validation/index.d.ts +2 -2
  753. package/validation/index.ngfactory.d.ts +1 -1
  754. package/validation/index.ngsummary.d.ts +1 -1
  755. package/validation/invaliddate.validator.d.ts +2 -2
  756. package/validation/invaliddate.validator.ngfactory.d.ts +1 -1
  757. package/validation/invaliddate.validator.ngsummary.d.ts +1 -1
  758. package/validation/isDateValid.d.ts +5 -5
  759. package/validation/isDateValid.ngfactory.d.ts +1 -1
  760. package/validation/isDateValid.ngsummary.d.ts +1 -1
  761. package/validation/maxdate.validator.d.ts +2 -2
  762. package/validation/maxdate.validator.ngfactory.d.ts +1 -1
  763. package/validation/maxdate.validator.ngsummary.d.ts +1 -1
  764. package/validation/maxtime.validator.d.ts +2 -2
  765. package/validation/maxtime.validator.ngfactory.d.ts +1 -1
  766. package/validation/maxtime.validator.ngsummary.d.ts +1 -1
  767. package/validation/maxvalue.validator.d.ts +2 -2
  768. package/validation/maxvalue.validator.ngfactory.d.ts +1 -1
  769. package/validation/maxvalue.validator.ngsummary.d.ts +1 -1
  770. package/validation/mindate.validator.d.ts +2 -2
  771. package/validation/mindate.validator.ngfactory.d.ts +1 -1
  772. package/validation/mindate.validator.ngsummary.d.ts +1 -1
  773. package/validation/minfiles.validator.d.ts +2 -2
  774. package/validation/minfiles.validator.ngfactory.d.ts +1 -1
  775. package/validation/minfiles.validator.ngsummary.d.ts +1 -1
  776. package/validation/mintextlength.validator.d.ts +3 -0
  777. package/validation/mintextlength.validator.d.ts.map +1 -0
  778. package/validation/mintextlength.validator.ngfactory.d.ts +2 -0
  779. package/validation/mintextlength.validator.ngfactory.d.ts.map +1 -0
  780. package/validation/mintextlength.validator.ngsummary.d.ts +2 -0
  781. package/validation/mintextlength.validator.ngsummary.d.ts.map +1 -0
  782. package/validation/mintime.validator.d.ts +2 -2
  783. package/validation/mintime.validator.ngfactory.d.ts +1 -1
  784. package/validation/mintime.validator.ngsummary.d.ts +1 -1
  785. package/validation/minvalue.validator.d.ts +2 -2
  786. package/validation/minvalue.validator.ngfactory.d.ts +1 -1
  787. package/validation/minvalue.validator.ngsummary.d.ts +1 -1
  788. package/validation/multilanguagerequired.validator.d.ts +3 -3
  789. package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -1
  790. package/validation/multilanguagerequired.validator.ngsummary.d.ts +1 -1
  791. package/validation/multilanguagerequiredany.validator.d.ts +3 -3
  792. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -1
  793. package/validation/multilanguagerequiredany.validator.ngsummary.d.ts +1 -1
  794. package/validation/notequals.validator.d.ts +2 -2
  795. package/validation/notequals.validator.ngfactory.d.ts +1 -1
  796. package/validation/notequals.validator.ngsummary.d.ts +1 -1
  797. package/validation/pattern.validator.d.ts +2 -2
  798. package/validation/pattern.validator.ngfactory.d.ts +1 -1
  799. package/validation/pattern.validator.ngsummary.d.ts +1 -1
  800. package/validation/required.validator.d.ts +2 -2
  801. package/validation/required.validator.ngfactory.d.ts +1 -1
  802. package/validation/required.validator.ngsummary.d.ts +1 -1
  803. package/validation/validation.d.ts +157 -157
  804. package/validation/validation.d.ts.map +1 -1
  805. package/validation/validation.ngfactory.d.ts +1 -1
  806. package/validation/validation.ngsummary.d.ts +1 -1
  807. package/validation/validationerrorcreator.d.ts +1 -1
  808. package/validation/validationerrorcreator.ngfactory.d.ts +1 -1
  809. package/validation/validationerrorcreator.ngsummary.d.ts +1 -1
  810. package/validation/validationerroritem.d.ts +33 -33
  811. package/validation/validationerroritem.ngfactory.d.ts +1 -1
  812. package/validation/validationerroritem.ngsummary.d.ts +1 -1
  813. package/esm2020/validation/minlength.validator.mjs +0 -3
  814. package/esm2020/validation/minlength.validator.ngfactory.mjs +0 -3
  815. package/esm2020/validation/minlength.validator.ngsummary.mjs +0 -3
  816. package/simpleangularcontrols-sac-common-13.0.0-rc.12.tgz +0 -0
  817. package/validation/minlength.validator.d.ts +0 -3
  818. package/validation/minlength.validator.d.ts.map +0 -1
  819. package/validation/minlength.validator.ngfactory.d.ts +0 -2
  820. package/validation/minlength.validator.ngfactory.d.ts.map +0 -1
  821. package/validation/minlength.validator.ngsummary.d.ts +0 -2
  822. package/validation/minlength.validator.ngsummary.d.ts.map +0 -1
@@ -1,123 +1,128 @@
1
- function cov_2htktrox8d(){var path="C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\validation\\validation.mjs";var hash="cb94a843218a35066202334fa8eea0f0e8911c17";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\validation\\validation.mjs",statementMap:{"0":{start:{line:32,column:8},end:{line:32,column:111}},"1":{start:{line:42,column:8},end:{line:42,column:78}},"2":{start:{line:54,column:8},end:{line:54,column:96}},"3":{start:{line:64,column:8},end:{line:64,column:88}},"4":{start:{line:75,column:8},end:{line:75,column:86}},"5":{start:{line:86,column:8},end:{line:86,column:88}},"6":{start:{line:96,column:8},end:{line:96,column:75}},"7":{start:{line:107,column:8},end:{line:107,column:90}},"8":{start:{line:118,column:8},end:{line:118,column:86}},"9":{start:{line:129,column:8},end:{line:129,column:86}},"10":{start:{line:140,column:8},end:{line:140,column:86}},"11":{start:{line:151,column:8},end:{line:151,column:86}},"12":{start:{line:161,column:8},end:{line:161,column:81}},"13":{start:{line:172,column:8},end:{line:172,column:88}},"14":{start:{line:183,column:8},end:{line:183,column:98}},"15":{start:{line:194,column:8},end:{line:194,column:102}},"16":{start:{line:205,column:8},end:{line:205,column:105}},"17":{start:{line:211,column:15},end:{line:211,column:33}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:138},end:{line:33,column:5}},line:31},"1":{name:"(anonymous_1)",decl:{start:{line:41,column:4},end:{line:41,column:5}},loc:{start:{line:41,column:65},end:{line:43,column:5}},line:41},"2":{name:"(anonymous_2)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:78},end:{line:55,column:5}},line:53},"3":{name:"(anonymous_3)",decl:{start:{line:63,column:4},end:{line:63,column:5}},loc:{start:{line:63,column:75},end:{line:65,column:5}},line:63},"4":{name:"(anonymous_4)",decl:{start:{line:74,column:4},end:{line:74,column:5}},loc:{start:{line:74,column:73},end:{line:76,column:5}},line:74},"5":{name:"(anonymous_5)",decl:{start:{line:85,column:4},end:{line:85,column:5}},loc:{start:{line:85,column:75},end:{line:87,column:5}},line:85},"6":{name:"(anonymous_6)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:62},end:{line:97,column:5}},line:95},"7":{name:"(anonymous_7)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:77},end:{line:108,column:5}},line:106},"8":{name:"(anonymous_8)",decl:{start:{line:117,column:4},end:{line:117,column:5}},loc:{start:{line:117,column:73},end:{line:119,column:5}},line:117},"9":{name:"(anonymous_9)",decl:{start:{line:128,column:4},end:{line:128,column:5}},loc:{start:{line:128,column:73},end:{line:130,column:5}},line:128},"10":{name:"(anonymous_10)",decl:{start:{line:139,column:4},end:{line:139,column:5}},loc:{start:{line:139,column:73},end:{line:141,column:5}},line:139},"11":{name:"(anonymous_11)",decl:{start:{line:150,column:4},end:{line:150,column:5}},loc:{start:{line:150,column:73},end:{line:152,column:5}},line:150},"12":{name:"(anonymous_12)",decl:{start:{line:160,column:4},end:{line:160,column:5}},loc:{start:{line:160,column:68},end:{line:162,column:5}},line:160},"13":{name:"(anonymous_13)",decl:{start:{line:171,column:4},end:{line:171,column:5}},loc:{start:{line:171,column:75},end:{line:173,column:5}},line:171},"14":{name:"(anonymous_14)",decl:{start:{line:182,column:4},end:{line:182,column:5}},loc:{start:{line:182,column:80},end:{line:184,column:5}},line:182},"15":{name:"(anonymous_15)",decl:{start:{line:193,column:4},end:{line:193,column:5}},loc:{start:{line:193,column:89},end:{line:195,column:5}},line:193},"16":{name:"(anonymous_16)",decl:{start:{line:204,column:4},end:{line:204,column:5}},loc:{start:{line:204,column:92},end:{line:206,column:5}},line:204}},branchMap:{"0":{loc:{start:{line:31,column:96},end:{line:31,column:112}},type:"default-arg",locations:[{start:{line:31,column:108},end:{line:31,column:112}}],line:31},"1":{loc:{start:{line:31,column:114},end:{line:31,column:136}},type:"default-arg",locations:[{start:{line:31,column:127},end:{line:31,column:136}}],line:31}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},b:{"0":[0],"1":[0]},inputSourceMap:{version:3,file:"validation.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/validation/validation.ts"],names:[],mappings:"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",sourcesContent:["import * as moment_ from 'moment';\r\n\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { LanguageModel } from '../models/languagemodel';\r\nimport { emailValidator } from './email.validator';\r\nimport { equalsValueValidator } from './equals.validator';\r\nimport { isValidDateValidator } from './invaliddate.validator';\r\nimport { maxDateValidator } from './maxdate.validator';\r\nimport { maxTimeValidator } from './maxtime.validator';\r\nimport { maxValueValidator } from './maxvalue.validator';\r\nimport { minDateValidator } from './mindate.validator';\r\nimport { minFilesValidator } from './minfiles.validator';\r\nimport { minLengthValidator } from './minlength.validator';\r\nimport { minTimeValidator } from './mintime.validator';\r\nimport { minValueValidator } from './minvalue.validator';\r\nimport { multilanguageRequiredValidator } from './multilanguagerequired.validator';\r\nimport { multilanguageRequiredAnyValidator } from './multilanguagerequiredany.validator';\r\nimport { notEqualsValueValidator } from './notequals.validator';\r\nimport { patternValidator } from './pattern.validator';\r\nimport { requiredValidator } from './required.validator';\r\nimport { CreateValidationError } from './validationerrorcreator';\r\n\r\n/**\r\n * Klasse mit Standard Validatoren\r\n */\r\nexport class Validation {\r\n /**\r\n * Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerp\xFCfte Item, als auch die ErrorMessage (gem\xE4ss von errorType, FieldName und Parameters).\r\n * @param errorType Typ den Fehler\r\n * @param errorMessageKey Error Message Key\r\n * @param errorMessageValidationSummaryKey Error Message Key f\xFCr Validation Summary\r\n * @param fieldName Label oder Name des Feldes\r\n * @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden k\xF6nnen\r\n */\r\n static GetValidationErrorItem(\r\n errorType: string,\r\n errorMessageKey: string,\r\n errorMessageValidationSummaryKey: string,\r\n fieldName: string = null,\r\n parameters: Map<string, any> = new Map<string, any>()\r\n ): any {\r\n return CreateValidationError(\r\n errorType,\r\n errorMessageKey,\r\n errorMessageValidationSummaryKey,\r\n parameters\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Required State\r\n * @param control Control das Validiert wird\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static required(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return requiredValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validator validate if value is the requiredValue\r\n * @param requiredValue Value that control should have\r\n * @param control Control to be validate\r\n * @param fieldName Label of control\r\n * @param validationMessage validation message near the control\r\n * @param validationMessageSummary validation inside the validation summary\r\n\r\n */\r\n public static equals(\r\n requiredValue: any,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return equalsValueValidator(\r\n requiredValue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator der pr\xFCft ob der Wert ein Datum ist.\r\n * @param control Control mit IDateTimeControl Interface implementierung\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minValue(\r\n minvalue: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minValueValidator(\r\n minvalue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validierung mit einem RegEx Pattern\r\n * @param control Control das validiert werden soll.\r\n * @param pattern RegEx Pattern\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static pattern(\r\n pattern: string,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return patternValidator(\r\n pattern,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr Max Value\r\n * @param control Control das Validiert werden soll\r\n * @param maxvalue Max. Wert\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxValue(\r\n maxvalue: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxValueValidator(\r\n maxvalue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert Feld auf E-Mail Adresse\r\n * @param control Control das Valdiert werden soll\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static email(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return emailValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validiert auf die L\xE4nge des Wertes im Control\r\n * @param control Control das Validiert werden soll\r\n * @param minlength Min. L\xE4nge des Wertes\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minLength(\r\n minlength: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minLengthValidator(\r\n minlength,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob das Datum neuer als minDate ist\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param minDate Min. Datum\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minDate(\r\n minDate: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minDateValidator(\r\n minDate,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob das Datum \xE4lter als maxDate ist\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param maxDate max. Datum\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxDate(\r\n maxDate: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxDateValidator(\r\n maxDate,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob die Zeit sp\xE4ter als minTime ist.\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param minTime Min. Zeit\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minTime(\r\n minTime: Date,\r\n validationMessage: string,\r\n validationMessageSummary: string\r\n ): ValidatorFn {\r\n return minTimeValidator(\r\n minTime,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validiert ob die Zeit fr\xFCher als maxTime ist.\r\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\r\n * @param maxTime Min. Zeit\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static maxTime(\r\n maxTime: Date,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return maxTimeValidator(\r\n maxTime,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator der pr\xFCft ob der Wert ein Datum ist.\r\n * @param control Control mit IDateTimeControl Interface implementierung\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die beim Control angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static isValidDate(\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return isValidDateValidator(validationMessage, validationMessageSummary);\r\n }\r\n\r\n /**\r\n * Validator f\xFCr min. Anzahl von Uploads\r\n * @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben\r\n * @param minFiles Min. Anzahl Files die hochgeladen werden m\xFCssen\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static minFiles(\r\n minFiles: number,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return minFilesValidator(\r\n minFiles,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator validate if value is not the invalidValue\r\n * @param invalidValue Value that control doesn't should have\r\n * @param control Control to be validate\r\n * @param fieldName Label of control\r\n * @param validationMessage validation message near the control\r\n * @param validationMessageSummary validation inside the validation summary\r\n */\r\n public static notequals(\r\n invalidValue: any,\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return notEqualsValueValidator(\r\n invalidValue,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validierung mit einem RegEx Pattern\r\n * @param control Control das validiert werden soll.\r\n * @param pattern RegEx Pattern\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static multilanguageRequired(\r\n languages: LanguageModel[],\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return multilanguageRequiredValidator(\r\n languages,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n\r\n /**\r\n * Validator f\xFCr MultiLanguage Control, welcher \xFCberpr\xFCft ob min. ein Wert erfasst wurde\r\n * @param control Control das Validatiert werden soll\r\n * @param languages Sprachen die im Control erfasst werden k\xF6nnen.\r\n * @param fieldName Label des Controls\r\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\r\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\r\n */\r\n static multilanguageRequiredAny(\r\n languages: LanguageModel[],\r\n validationMessage: string,\r\n validationMessageSummary\r\n ): ValidatorFn {\r\n return multilanguageRequiredAnyValidator(\r\n languages,\r\n validationMessage,\r\n validationMessageSummary\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Moment\r\n */\r\nconst moment = moment_['default'];\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"cb94a843218a35066202334fa8eea0f0e8911c17"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
- cov_2htktrox8d=function(){return actualCoverage;};}return actualCoverage;}cov_2htktrox8d();import*as moment_ from'moment';import{emailValidator}from'./email.validator';import{equalsValueValidator}from'./equals.validator';import{isValidDateValidator}from'./invaliddate.validator';import{maxDateValidator}from'./maxdate.validator';import{maxTimeValidator}from'./maxtime.validator';import{maxValueValidator}from'./maxvalue.validator';import{minDateValidator}from'./mindate.validator';import{minFilesValidator}from'./minfiles.validator';import{minLengthValidator}from'./minlength.validator';import{minTimeValidator}from'./mintime.validator';import{minValueValidator}from'./minvalue.validator';import{multilanguageRequiredValidator}from'./multilanguagerequired.validator';import{multilanguageRequiredAnyValidator}from'./multilanguagerequiredany.validator';import{notEqualsValueValidator}from'./notequals.validator';import{patternValidator}from'./pattern.validator';import{requiredValidator}from'./required.validator';import{CreateValidationError}from'./validationerrorcreator';/**
3
- * Klasse mit Standard Validatoren
4
- */export class Validation{/**
5
- * Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerpüfte Item, als auch die ErrorMessage (gemäss von errorType, FieldName und Parameters).
6
- * @param errorType Typ den Fehler
7
- * @param errorMessageKey Error Message Key
8
- * @param errorMessageValidationSummaryKey Error Message Key für Validation Summary
9
- * @param fieldName Label oder Name des Feldes
10
- * @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden können
11
- */static GetValidationErrorItem(errorType,errorMessageKey,errorMessageValidationSummaryKey,fieldName=(cov_2htktrox8d().b[0][0]++,null),parameters=(cov_2htktrox8d().b[1][0]++,new Map())){cov_2htktrox8d().f[0]++;cov_2htktrox8d().s[0]++;return CreateValidationError(errorType,errorMessageKey,errorMessageValidationSummaryKey,parameters);}/**
12
- * Validator für Required State
13
- * @param control Control das Validiert wird
14
- * @param fieldName Label des Controls
15
- * @param validationMessage Validierungsmeldung die
16
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
17
- */static required(validationMessage,validationMessageSummary){cov_2htktrox8d().f[1]++;cov_2htktrox8d().s[1]++;return requiredValidator(validationMessage,validationMessageSummary);}/**
18
- * Validator validate if value is the requiredValue
19
- * @param requiredValue Value that control should have
20
- * @param control Control to be validate
21
- * @param fieldName Label of control
22
- * @param validationMessage validation message near the control
23
- * @param validationMessageSummary validation inside the validation summary
24
-
25
- */static equals(requiredValue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[2]++;cov_2htktrox8d().s[2]++;return equalsValueValidator(requiredValue,validationMessage,validationMessageSummary);}/**
26
- * Validator der prüft ob der Wert ein Datum ist.
27
- * @param control Control mit IDateTimeControl Interface implementierung
28
- * @param fieldName Label des Controls
29
- * @param validationMessage Validierungsmeldung die
30
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
31
- */static minValue(minvalue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[3]++;cov_2htktrox8d().s[3]++;return minValueValidator(minvalue,validationMessage,validationMessageSummary);}/**
32
- * Validierung mit einem RegEx Pattern
33
- * @param control Control das validiert werden soll.
34
- * @param pattern RegEx Pattern
35
- * @param fieldName Label des Controls
36
- * @param validationMessage Validierungsmeldung die
37
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
38
- */static pattern(pattern,validationMessage,validationMessageSummary){cov_2htktrox8d().f[4]++;cov_2htktrox8d().s[4]++;return patternValidator(pattern,validationMessage,validationMessageSummary);}/**
39
- * Validator für Max Value
40
- * @param control Control das Validiert werden soll
41
- * @param maxvalue Max. Wert
42
- * @param fieldName Label des Controls
43
- * @param validationMessage Validierungsmeldung die
44
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
45
- */static maxValue(maxvalue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[5]++;cov_2htktrox8d().s[5]++;return maxValueValidator(maxvalue,validationMessage,validationMessageSummary);}/**
46
- * Validiert Feld auf E-Mail Adresse
47
- * @param control Control das Valdiert werden soll
48
- * @param fieldName Label des Controls
49
- * @param validationMessage Validierungsmeldung die
50
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
51
- */static email(validationMessage,validationMessageSummary){cov_2htktrox8d().f[6]++;cov_2htktrox8d().s[6]++;return emailValidator(validationMessage,validationMessageSummary);}/**
52
- * Validiert auf die Länge des Wertes im Control
53
- * @param control Control das Validiert werden soll
54
- * @param minlength Min. Länge des Wertes
55
- * @param fieldName Label des Controls
56
- * @param validationMessage Validierungsmeldung die
57
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
58
- */static minLength(minlength,validationMessage,validationMessageSummary){cov_2htktrox8d().f[7]++;cov_2htktrox8d().s[7]++;return minLengthValidator(minlength,validationMessage,validationMessageSummary);}/**
59
- * Validiert ob das Datum neuer als minDate ist
60
- * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
61
- * @param minDate Min. Datum
62
- * @param fieldName Label des Controls
63
- * @param validationMessage Validierungsmeldung die
64
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
65
- */static minDate(minDate,validationMessage,validationMessageSummary){cov_2htktrox8d().f[8]++;cov_2htktrox8d().s[8]++;return minDateValidator(minDate,validationMessage,validationMessageSummary);}/**
66
- * Validiert ob das Datum älter als maxDate ist
67
- * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
68
- * @param maxDate max. Datum
69
- * @param fieldName Label des Controls
70
- * @param validationMessage Validierungsmeldung die
71
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
72
- */static maxDate(maxDate,validationMessage,validationMessageSummary){cov_2htktrox8d().f[9]++;cov_2htktrox8d().s[9]++;return maxDateValidator(maxDate,validationMessage,validationMessageSummary);}/**
73
- * Validiert ob die Zeit später als minTime ist.
74
- * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
75
- * @param minTime Min. Zeit
76
- * @param fieldName Label des Controls
77
- * @param validationMessage Validierungsmeldung die
78
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
79
- */static minTime(minTime,validationMessage,validationMessageSummary){cov_2htktrox8d().f[10]++;cov_2htktrox8d().s[10]++;return minTimeValidator(minTime,validationMessage,validationMessageSummary);}/**
80
- * Validiert ob die Zeit früher als maxTime ist.
81
- * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
82
- * @param maxTime Min. Zeit
83
- * @param fieldName Label des Controls
84
- * @param validationMessage Validierungsmeldung die
85
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
86
- */static maxTime(maxTime,validationMessage,validationMessageSummary){cov_2htktrox8d().f[11]++;cov_2htktrox8d().s[11]++;return maxTimeValidator(maxTime,validationMessage,validationMessageSummary);}/**
87
- * Validator der prüft ob der Wert ein Datum ist.
88
- * @param control Control mit IDateTimeControl Interface implementierung
89
- * @param fieldName Label des Controls
90
- * @param validationMessage Validierungsmeldung die beim Control angezeigt wird
91
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
92
- */static isValidDate(validationMessage,validationMessageSummary){cov_2htktrox8d().f[12]++;cov_2htktrox8d().s[12]++;return isValidDateValidator(validationMessage,validationMessageSummary);}/**
93
- * Validator für min. Anzahl von Uploads
94
- * @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben
95
- * @param minFiles Min. Anzahl Files die hochgeladen werden müssen
96
- * @param fieldName Label des Controls
97
- * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
98
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
99
- */static minFiles(minFiles,validationMessage,validationMessageSummary){cov_2htktrox8d().f[13]++;cov_2htktrox8d().s[13]++;return minFilesValidator(minFiles,validationMessage,validationMessageSummary);}/**
100
- * Validator validate if value is not the invalidValue
101
- * @param invalidValue Value that control doesn't should have
102
- * @param control Control to be validate
103
- * @param fieldName Label of control
104
- * @param validationMessage validation message near the control
105
- * @param validationMessageSummary validation inside the validation summary
106
- */static notequals(invalidValue,validationMessage,validationMessageSummary){cov_2htktrox8d().f[14]++;cov_2htktrox8d().s[14]++;return notEqualsValueValidator(invalidValue,validationMessage,validationMessageSummary);}/**
107
- * Validierung mit einem RegEx Pattern
108
- * @param control Control das validiert werden soll.
109
- * @param pattern RegEx Pattern
110
- * @param fieldName Label des Controls
111
- * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
112
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
113
- */static multilanguageRequired(languages,validationMessage,validationMessageSummary){cov_2htktrox8d().f[15]++;cov_2htktrox8d().s[15]++;return multilanguageRequiredValidator(languages,validationMessage,validationMessageSummary);}/**
114
- * Validator für MultiLanguage Control, welcher überprüft ob min. ein Wert erfasst wurde
115
- * @param control Control das Validatiert werden soll
116
- * @param languages Sprachen die im Control erfasst werden können.
117
- * @param fieldName Label des Controls
118
- * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
119
- * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
120
- */static multilanguageRequiredAny(languages,validationMessage,validationMessageSummary){cov_2htktrox8d().f[16]++;cov_2htktrox8d().s[16]++;return multilanguageRequiredAnyValidator(languages,validationMessage,validationMessageSummary);}}/**
121
- * Moment
122
- */const moment=(cov_2htktrox8d().s[17]++,moment_['default']);//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUlsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENB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dCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgZXF1YWxzVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL2VxdWFscy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vaW52YWxpZGRhdGUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtYXhUaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh0aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1heFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh2YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkZpbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5maWxlcy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbmxlbmd0aC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5UaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZGFueS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbm90ZXF1YWxzLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcclxuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XHJcblxyXG4vKipcclxuICogS2xhc3NlIG1pdCBTdGFuZGFyZCBWYWxpZGF0b3JlblxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb24ge1xyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGlzdCB2b24gamVkZW0gVmFsaWRhdG9yIGF1ZmdlcnVmZW4uIERpZSBzZXR6dCBzb3dvaGwgZGVuIGVycm9yVHlwZSBkZXMgZ2VycMO8ZnRlIEl0ZW0sIGFscyBhdWNoIGRpZSBFcnJvck1lc3NhZ2UgKGdlbcOkc3Mgdm9uIGVycm9yVHlwZSwgRmllbGROYW1lIHVuZCBQYXJhbWV0ZXJzKS5cclxuICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cCBkZW4gRmVobGVyXHJcbiAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxyXG4gICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmw7xyIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgIExhYmVsIG9kZXIgTmFtZSBkZXMgRmVsZGVzXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgUGFyYW1ldGVybiBkaWUgaW4gZGVuIE1lbGR1bmdlbiBhbHMgUGxhdHpoYWx0ZXIgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuXHJcbiAgICovXHJcbiAgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXHJcbiAgICBlcnJvclR5cGU6IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZUtleTogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nID0gbnVsbCxcclxuICAgIHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpXHJcbiAgKTogYW55IHtcclxuICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXHJcbiAgICAgIGVycm9yVHlwZSxcclxuICAgICAgZXJyb3JNZXNzYWdlS2V5LFxyXG4gICAgICBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIFJlcXVpcmVkIFN0YXRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIHJlcXVpcmVkKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiByZXF1aXJlZFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyB0aGUgcmVxdWlyZWRWYWx1ZVxyXG4gICAqIEBwYXJhbSByZXF1aXJlZFZhbHVlIFZhbHVlIHRoYXQgY29udHJvbCBzaG91bGQgaGF2ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcclxuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBlcXVhbHMoXHJcbiAgICByZXF1aXJlZFZhbHVlOiBhbnksXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIGVxdWFsc1ZhbHVlVmFsaWRhdG9yKFxyXG4gICAgICByZXF1aXJlZFZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblZhbHVlKFxyXG4gICAgbWludmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pbnZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgcGF0dGVybihcclxuICAgIHBhdHRlcm46IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gcGF0dGVyblZhbGlkYXRvcihcclxuICAgICAgcGF0dGVybixcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heFZhbHVlKFxyXG4gICAgbWF4dmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWF4VmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heHZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IEZlbGQgYXVmIEUtTWFpbCBBZHJlc3NlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGVtYWlsKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBhdWYgZGllIEzDpG5nZSBkZXMgV2VydGVzIGltIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbWlubGVuZ3RoIE1pbi4gTMOkbmdlIGRlcyBXZXJ0ZXNcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkxlbmd0aChcclxuICAgIG1pbmxlbmd0aDogbnVtYmVyLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5MZW5ndGhWYWxpZGF0b3IoXHJcbiAgICAgIG1pbmxlbmd0aCxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gbmV1ZXIgYWxzIG1pbkRhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtaW5EYXRlIE1pbi4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkRhdGUoXHJcbiAgICBtaW5EYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5EYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtaW5EYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSDDpGx0ZXIgYWxzIG1heERhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhEYXRlIG1heC4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heERhdGUoXHJcbiAgICBtYXhEYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtYXhEYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IHNww6R0ZXIgYWxzIG1pblRpbWUgaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWluVGltZSBNaW4uIFplaXRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblRpbWUoXHJcbiAgICBtaW5UaW1lOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nXHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pblRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgb2IgZGllIFplaXQgZnLDvGhlciBhbHMgbWF4VGltZSBpc3QuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhUaW1lIE1pbi4gWmVpdFxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbWF4VGltZShcclxuICAgIG1heFRpbWU6IERhdGUsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1heFRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heFRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZGVyIHByw7xmdCBvYiBkZXIgV2VydCBlaW4gRGF0dW0gaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgbWl0IElEYXRlVGltZUNvbnRyb2wgSW50ZXJmYWNlIGltcGxlbWVudGllcnVuZ1xyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGJlaW0gQ29udHJvbCBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVmFsaWREYXRlKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZVZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIG1pbi4gQW56YWhsIHZvbiBVcGxvYWRzXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRhdGllcnQgd2VyZGVuIHNvbGwuIENvbnRyb2wgbXVzcyBJVXBsb2FkQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXHJcbiAgICogQHBhcmFtIG1pbkZpbGVzIE1pbi4gQW56YWhsIEZpbGVzIGRpZSBob2NoZ2VsYWRlbiB3ZXJkZW4gbcO8c3NlblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5GaWxlcyhcclxuICAgIG1pbkZpbGVzOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKFxyXG4gICAgICBtaW5GaWxlcyxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyBub3QgdGhlIGludmFsaWRWYWx1ZVxyXG4gICAqIEBwYXJhbSBpbnZhbGlkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIGRvZXNuJ3Qgc2hvdWxkIGhhdmVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRvIGJlIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIHZhbGlkYXRpb24gbWVzc2FnZSBuZWFyIHRoZSBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSB2YWxpZGF0aW9uIGluc2lkZSB0aGUgdmFsaWRhdGlvbiBzdW1tYXJ5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBub3RlcXVhbHMoXHJcbiAgICBpbnZhbGlkVmFsdWU6IGFueSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIGludmFsaWRWYWx1ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydW5nIG1pdCBlaW5lbSBSZWdFeCBQYXR0ZXJuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgdmFsaWRpZXJ0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBwYXR0ZXJuIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxyXG4gICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvcihcclxuICAgICAgbGFuZ3VhZ2VzLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXHJcbiAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKFxyXG4gICAgICBsYW5ndWFnZXMsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTW9tZW50XHJcbiAqL1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XHJcbiJdfQ==
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMmh0a3Ryb3g4ZCIsImFjdHVhbENvdmVyYWdlIiwibW9tZW50XyIsImVtYWlsVmFsaWRhdG9yIiwiZXF1YWxzVmFsdWVWYWxpZGF0b3IiLCJpc1ZhbGlkRGF0ZVZhbGlkYXRvciIsIm1heERhdGVWYWxpZGF0b3IiLCJtYXhUaW1lVmFsaWRhdG9yIiwibWF4VmFsdWVWYWxpZGF0b3IiLCJtaW5EYXRlVmFsaWRhdG9yIiwibWluRmlsZXNWYWxpZGF0b3IiLCJtaW5MZW5ndGhWYWxpZGF0b3IiLCJtaW5UaW1lVmFsaWRhdG9yIiwibWluVmFsdWVWYWxpZGF0b3IiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IiLCJub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciIsInBhdHRlcm5WYWxpZGF0b3IiLCJyZXF1aXJlZFZhbGlkYXRvciIsIkNyZWF0ZVZhbGlkYXRpb25FcnJvciIsIlZhbGlkYXRpb24iLCJHZXRWYWxpZGF0aW9uRXJyb3JJdGVtIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlS2V5IiwiZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkiLCJmaWVsZE5hbWUiLCJiIiwicGFyYW1ldGVycyIsIk1hcCIsImYiLCJzIiwicmVxdWlyZWQiLCJ2YWxpZGF0aW9uTWVzc2FnZSIsInZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSIsImVxdWFscyIsInJlcXVpcmVkVmFsdWUiLCJtaW5WYWx1ZSIsIm1pbnZhbHVlIiwicGF0dGVybiIsIm1heFZhbHVlIiwibWF4dmFsdWUiLCJlbWFpbCIsIm1pbkxlbmd0aCIsIm1pbmxlbmd0aCIsIm1pbkRhdGUiLCJtYXhEYXRlIiwibWluVGltZSIsIm1heFRpbWUiLCJpc1ZhbGlkRGF0ZSIsIm1pbkZpbGVzIiwibm90ZXF1YWxzIiwiaW52YWxpZFZhbHVlIiwibXVsdGlsYW5ndWFnZVJlcXVpcmVkIiwibGFuZ3VhZ2VzIiwibXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55IiwibW9tZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvdmFsaWRhdGlvbi92YWxpZGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcclxuXHJcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgZXF1YWxzVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL2VxdWFscy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vaW52YWxpZGRhdGUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtYXhUaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh0aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1heFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh2YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pbkZpbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5maWxlcy52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbmxlbmd0aC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtaW5UaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50aW1lLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZGFueS52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbm90ZXF1YWxzLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcclxuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XHJcblxyXG4vKipcclxuICogS2xhc3NlIG1pdCBTdGFuZGFyZCBWYWxpZGF0b3JlblxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb24ge1xyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGlzdCB2b24gamVkZW0gVmFsaWRhdG9yIGF1ZmdlcnVmZW4uIERpZSBzZXR6dCBzb3dvaGwgZGVuIGVycm9yVHlwZSBkZXMgZ2VycMO8ZnRlIEl0ZW0sIGFscyBhdWNoIGRpZSBFcnJvck1lc3NhZ2UgKGdlbcOkc3Mgdm9uIGVycm9yVHlwZSwgRmllbGROYW1lIHVuZCBQYXJhbWV0ZXJzKS5cclxuICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cCBkZW4gRmVobGVyXHJcbiAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxyXG4gICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmw7xyIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgIExhYmVsIG9kZXIgTmFtZSBkZXMgRmVsZGVzXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgUGFyYW1ldGVybiBkaWUgaW4gZGVuIE1lbGR1bmdlbiBhbHMgUGxhdHpoYWx0ZXIgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuXHJcbiAgICovXHJcbiAgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXHJcbiAgICBlcnJvclR5cGU6IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZUtleTogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nID0gbnVsbCxcclxuICAgIHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpXHJcbiAgKTogYW55IHtcclxuICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXHJcbiAgICAgIGVycm9yVHlwZSxcclxuICAgICAgZXJyb3JNZXNzYWdlS2V5LFxyXG4gICAgICBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIFJlcXVpcmVkIFN0YXRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIHJlcXVpcmVkKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiByZXF1aXJlZFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyB0aGUgcmVxdWlyZWRWYWx1ZVxyXG4gICAqIEBwYXJhbSByZXF1aXJlZFZhbHVlIFZhbHVlIHRoYXQgY29udHJvbCBzaG91bGQgaGF2ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcclxuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBlcXVhbHMoXHJcbiAgICByZXF1aXJlZFZhbHVlOiBhbnksXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIGVxdWFsc1ZhbHVlVmFsaWRhdG9yKFxyXG4gICAgICByZXF1aXJlZFZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblZhbHVlKFxyXG4gICAgbWludmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pbnZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgcGF0dGVybihcclxuICAgIHBhdHRlcm46IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gcGF0dGVyblZhbGlkYXRvcihcclxuICAgICAgcGF0dGVybixcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heFZhbHVlKFxyXG4gICAgbWF4dmFsdWU6IG51bWJlcixcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbWF4VmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heHZhbHVlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IEZlbGQgYXVmIEUtTWFpbCBBZHJlc3NlXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGVtYWlsKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBhdWYgZGllIEzDpG5nZSBkZXMgV2VydGVzIGltIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbWlubGVuZ3RoIE1pbi4gTMOkbmdlIGRlcyBXZXJ0ZXNcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkxlbmd0aChcclxuICAgIG1pbmxlbmd0aDogbnVtYmVyLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5MZW5ndGhWYWxpZGF0b3IoXHJcbiAgICAgIG1pbmxlbmd0aCxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gbmV1ZXIgYWxzIG1pbkRhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtaW5EYXRlIE1pbi4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pbkRhdGUoXHJcbiAgICBtaW5EYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtaW5EYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtaW5EYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSDDpGx0ZXIgYWxzIG1heERhdGUgaXN0XHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhEYXRlIG1heC4gRGF0dW1cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1heERhdGUoXHJcbiAgICBtYXhEYXRlOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKFxyXG4gICAgICBtYXhEYXRlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IHNww6R0ZXIgYWxzIG1pblRpbWUgaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cclxuICAgKiBAcGFyYW0gbWluVGltZSBNaW4uIFplaXRcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIG1pblRpbWUoXHJcbiAgICBtaW5UaW1lOiBEYXRlLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nXHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1pblRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGllcnQgb2IgZGllIFplaXQgZnLDvGhlciBhbHMgbWF4VGltZSBpc3QuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxyXG4gICAqIEBwYXJhbSBtYXhUaW1lIE1pbi4gWmVpdFxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbWF4VGltZShcclxuICAgIG1heFRpbWU6IERhdGUsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1heFRpbWVWYWxpZGF0b3IoXHJcbiAgICAgIG1heFRpbWUsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgZGVyIHByw7xmdCBvYiBkZXIgV2VydCBlaW4gRGF0dW0gaXN0LlxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgbWl0IElEYXRlVGltZUNvbnRyb2wgSW50ZXJmYWNlIGltcGxlbWVudGllcnVuZ1xyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGJlaW0gQ29udHJvbCBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVmFsaWREYXRlKFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZVZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBmw7xyIG1pbi4gQW56YWhsIHZvbiBVcGxvYWRzXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRhdGllcnQgd2VyZGVuIHNvbGwuIENvbnRyb2wgbXVzcyBJVXBsb2FkQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXHJcbiAgICogQHBhcmFtIG1pbkZpbGVzIE1pbi4gQW56YWhsIEZpbGVzIGRpZSBob2NoZ2VsYWRlbiB3ZXJkZW4gbcO8c3NlblxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtaW5GaWxlcyhcclxuICAgIG1pbkZpbGVzOiBudW1iZXIsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKFxyXG4gICAgICBtaW5GaWxlcyxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyBub3QgdGhlIGludmFsaWRWYWx1ZVxyXG4gICAqIEBwYXJhbSBpbnZhbGlkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIGRvZXNuJ3Qgc2hvdWxkIGhhdmVcclxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRvIGJlIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIHZhbGlkYXRpb24gbWVzc2FnZSBuZWFyIHRoZSBjb250cm9sXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSB2YWxpZGF0aW9uIGluc2lkZSB0aGUgdmFsaWRhdGlvbiBzdW1tYXJ5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBub3RlcXVhbHMoXHJcbiAgICBpbnZhbGlkVmFsdWU6IGFueSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoXHJcbiAgICAgIGludmFsaWRWYWx1ZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydW5nIG1pdCBlaW5lbSBSZWdFeCBQYXR0ZXJuXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgdmFsaWRpZXJ0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBwYXR0ZXJuIFJlZ0V4IFBhdHRlcm5cclxuICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxyXG4gICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvcihcclxuICAgICAgbGFuZ3VhZ2VzLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXHJcbiAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICApOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKFxyXG4gICAgICBsYW5ndWFnZXMsXHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlLFxyXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTW9tZW50XHJcbiAqL1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XHJcbiJdLCJtYXBwaW5ncyI6InV0cEJBa0JTO0FBQUFBLGNBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsY0FBQSxHQWxCVCxNQUFPLEdBQUssQ0FBQUUsT0FBTyxLQUFNLFFBQVEsQ0FJakMsT0FBU0MsY0FBYyxLQUFRLG1CQUFtQixDQUNsRCxPQUFTQyxvQkFBb0IsS0FBUSxvQkFBb0IsQ0FDekQsT0FBU0Msb0JBQW9CLEtBQVEseUJBQXlCLENBQzlELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxnQkFBZ0IsS0FBUSxxQkFBcUIsQ0FDdEQsT0FBU0MsaUJBQWlCLEtBQVEsc0JBQXNCLENBQ3hELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxpQkFBaUIsS0FBUSxzQkFBc0IsQ0FDeEQsT0FBU0Msa0JBQWtCLEtBQVEsdUJBQXVCLENBQzFELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxpQkFBaUIsS0FBUSxzQkFBc0IsQ0FDeEQsT0FBU0MsOEJBQThCLEtBQVEsbUNBQW1DLENBQ2xGLE9BQVNDLGlDQUFpQyxLQUFRLHNDQUFzQyxDQUN4RixPQUFTQyx1QkFBdUIsS0FBUSx1QkFBdUIsQ0FDL0QsT0FBU0MsZ0JBQWdCLEtBQVEscUJBQXFCLENBQ3RELE9BQVNDLGlCQUFpQixLQUFRLHNCQUFzQixD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
1
+ function cov_2obu7cf9ja(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/validation/validation.mjs";var hash="d8eaa50e4225ce5c5a2b7f9db375e9c8a6df0b57";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/validation/validation.mjs",statementMap:{"0":{start:{line:23,column:15},end:{line:23,column:33}},"1":{start:{line:40,column:8},end:{line:40,column:111}},"2":{start:{line:50,column:8},end:{line:50,column:75}},"3":{start:{line:62,column:8},end:{line:62,column:96}},"4":{start:{line:72,column:8},end:{line:72,column:81}},"5":{start:{line:83,column:8},end:{line:83,column:86}},"6":{start:{line:94,column:8},end:{line:94,column:86}},"7":{start:{line:105,column:8},end:{line:105,column:88}},"8":{start:{line:116,column:8},end:{line:116,column:86}},"9":{start:{line:127,column:8},end:{line:127,column:88}},"10":{start:{line:138,column:8},end:{line:138,column:98}},"11":{start:{line:149,column:8},end:{line:149,column:86}},"12":{start:{line:159,column:8},end:{line:159,column:88}},"13":{start:{line:170,column:8},end:{line:170,column:102}},"14":{start:{line:181,column:8},end:{line:181,column:105}},"15":{start:{line:192,column:8},end:{line:192,column:98}},"16":{start:{line:203,column:8},end:{line:203,column:86}},"17":{start:{line:213,column:8},end:{line:213,column:78}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:39,column:4},end:{line:39,column:5}},loc:{start:{line:39,column:138},end:{line:41,column:5}},line:39},"1":{name:"(anonymous_1)",decl:{start:{line:49,column:4},end:{line:49,column:5}},loc:{start:{line:49,column:62},end:{line:51,column:5}},line:49},"2":{name:"(anonymous_2)",decl:{start:{line:61,column:4},end:{line:61,column:5}},loc:{start:{line:61,column:78},end:{line:63,column:5}},line:61},"3":{name:"(anonymous_3)",decl:{start:{line:71,column:4},end:{line:71,column:5}},loc:{start:{line:71,column:68},end:{line:73,column:5}},line:71},"4":{name:"(anonymous_4)",decl:{start:{line:82,column:4},end:{line:82,column:5}},loc:{start:{line:82,column:73},end:{line:84,column:5}},line:82},"5":{name:"(anonymous_5)",decl:{start:{line:93,column:4},end:{line:93,column:5}},loc:{start:{line:93,column:73},end:{line:95,column:5}},line:93},"6":{name:"(anonymous_6)",decl:{start:{line:104,column:4},end:{line:104,column:5}},loc:{start:{line:104,column:75},end:{line:106,column:5}},line:104},"7":{name:"(anonymous_7)",decl:{start:{line:115,column:4},end:{line:115,column:5}},loc:{start:{line:115,column:73},end:{line:117,column:5}},line:115},"8":{name:"(anonymous_8)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:75},end:{line:128,column:5}},line:126},"9":{name:"(anonymous_9)",decl:{start:{line:137,column:4},end:{line:137,column:5}},loc:{start:{line:137,column:85},end:{line:139,column:5}},line:137},"10":{name:"(anonymous_10)",decl:{start:{line:148,column:4},end:{line:148,column:5}},loc:{start:{line:148,column:73},end:{line:150,column:5}},line:148},"11":{name:"(anonymous_11)",decl:{start:{line:158,column:4},end:{line:158,column:5}},loc:{start:{line:158,column:75},end:{line:160,column:5}},line:158},"12":{name:"(anonymous_12)",decl:{start:{line:169,column:4},end:{line:169,column:5}},loc:{start:{line:169,column:89},end:{line:171,column:5}},line:169},"13":{name:"(anonymous_13)",decl:{start:{line:180,column:4},end:{line:180,column:5}},loc:{start:{line:180,column:92},end:{line:182,column:5}},line:180},"14":{name:"(anonymous_14)",decl:{start:{line:191,column:4},end:{line:191,column:5}},loc:{start:{line:191,column:80},end:{line:193,column:5}},line:191},"15":{name:"(anonymous_15)",decl:{start:{line:202,column:4},end:{line:202,column:5}},loc:{start:{line:202,column:73},end:{line:204,column:5}},line:202},"16":{name:"(anonymous_16)",decl:{start:{line:212,column:4},end:{line:212,column:5}},loc:{start:{line:212,column:65},end:{line:214,column:5}},line:212}},branchMap:{"0":{loc:{start:{line:39,column:96},end:{line:39,column:112}},type:"default-arg",locations:[{start:{line:39,column:108},end:{line:39,column:112}}],line:39},"1":{loc:{start:{line:39,column:114},end:{line:39,column:136}},type:"default-arg",locations:[{start:{line:39,column:127},end:{line:39,column:136}}],line:39}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},b:{"0":[0],"1":[0]},inputSourceMap:{version:3,file:"validation.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/validation/validation.ts"],names:[],mappings:"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",sourcesContent:["import { LanguageModel } from '../models/languagemodel';\nimport { emailValidator } from './email.validator';\nimport { equalsValueValidator } from './equals.validator';\nimport { isValidDateValidator } from './invaliddate.validator';\nimport { maxDateValidator } from './maxdate.validator';\nimport { maxTimeValidator } from './maxtime.validator';\nimport { maxValueValidator } from './maxvalue.validator';\nimport { minDateValidator } from './mindate.validator';\nimport { minFilesValidator } from './minfiles.validator';\nimport { minTextLengthValidator } from './mintextlength.validator';\nimport { minTimeValidator } from './mintime.validator';\nimport { minValueValidator } from './minvalue.validator';\nimport { multilanguageRequiredValidator } from './multilanguagerequired.validator';\nimport { multilanguageRequiredAnyValidator } from './multilanguagerequiredany.validator';\nimport { notEqualsValueValidator } from './notequals.validator';\nimport { patternValidator } from './pattern.validator';\nimport { requiredValidator } from './required.validator';\nimport { CreateValidationError } from './validationerrorcreator';\nimport { ValidatorFn } from '@angular/forms';\nimport * as moment_ from 'moment';\n\n// #region Variables\n\n/**\n * Moment\n */\nconst moment = moment_['default'];\n\n// #endregion Variables\n\n// #region Exported Classes\n\n/**\n * Klasse mit Standard Validatoren\n */\nexport class Validation {\n // #region Public Static Methods\n\n /**\n * Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerp\xFCfte Item, als auch die ErrorMessage (gem\xE4ss von errorType, FieldName und Parameters).\n * @param errorType Typ den Fehler\n * @param errorMessageKey Error Message Key\n * @param errorMessageValidationSummaryKey Error Message Key f\xFCr Validation Summary\n * @param fieldName Label oder Name des Feldes\n * @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden k\xF6nnen\n */\n public static GetValidationErrorItem(\n errorType: string,\n errorMessageKey: string,\n errorMessageValidationSummaryKey: string,\n fieldName: string = null,\n parameters: Map<string, any> = new Map<string, any>()\n ): any {\n return CreateValidationError(errorType, errorMessageKey, errorMessageValidationSummaryKey, parameters);\n }\n\n /**\n * Validiert Feld auf E-Mail Adresse\n * @param control Control das Valdiert werden soll\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static email(validationMessage: string, validationMessageSummary): ValidatorFn {\n return emailValidator(validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator validate if value is the requiredValue\n * @param requiredValue Value that control should have\n * @param control Control to be validate\n * @param fieldName Label of control\n * @param validationMessage validation message near the control\n * @param validationMessageSummary validation inside the validation summary\n\n */\n public static equals(requiredValue: any, validationMessage: string, validationMessageSummary): ValidatorFn {\n return equalsValueValidator(requiredValue, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator der pr\xFCft ob der Wert ein Datum ist.\n * @param control Control mit IDateTimeControl Interface implementierung\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die beim Control angezeigt wird\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static isValidDate(validationMessage: string, validationMessageSummary): ValidatorFn {\n return isValidDateValidator(validationMessage, validationMessageSummary);\n }\n\n /**\n * Validiert ob das Datum \xE4lter als maxDate ist\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\n * @param maxDate max. Datum\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static maxDate(maxDate: Date, validationMessage: string, validationMessageSummary): ValidatorFn {\n return maxDateValidator(maxDate, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validiert ob die Zeit fr\xFCher als maxTime ist.\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\n * @param maxTime Min. Zeit\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static maxTime(maxTime: Date, validationMessage: string, validationMessageSummary): ValidatorFn {\n return maxTimeValidator(maxTime, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator f\xFCr Max Value\n * @param control Control das Validiert werden soll\n * @param maxvalue Max. Wert\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static maxValue(maxvalue: number, validationMessage: string, validationMessageSummary): ValidatorFn {\n return maxValueValidator(maxvalue, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validiert ob das Datum neuer als minDate ist\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\n * @param minDate Min. Datum\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static minDate(minDate: Date, validationMessage: string, validationMessageSummary): ValidatorFn {\n return minDateValidator(minDate, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator f\xFCr min. Anzahl von Uploads\n * @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben\n * @param minFiles Min. Anzahl Files die hochgeladen werden m\xFCssen\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static minFiles(minFiles: number, validationMessage: string, validationMessageSummary): ValidatorFn {\n return minFilesValidator(minFiles, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validiert auf die L\xE4nge des Wertes im Control\n * @param control Control das Validiert werden soll\n * @param mintextlength Min. L\xE4nge des Wertes\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static minTextLength(mintextlength: number, validationMessage: string, validationMessageSummary): ValidatorFn {\n return minTextLengthValidator(mintextlength, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validiert ob die Zeit sp\xE4ter als minTime ist.\n * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben\n * @param minTime Min. Zeit\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static minTime(minTime: Date, validationMessage: string, validationMessageSummary: string): ValidatorFn {\n return minTimeValidator(minTime, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator der pr\xFCft ob der Wert ein Datum ist.\n * @param control Control mit IDateTimeControl Interface implementierung\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static minValue(minvalue: number, validationMessage: string, validationMessageSummary): ValidatorFn {\n return minValueValidator(minvalue, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validierung mit einem RegEx Pattern\n * @param control Control das validiert werden soll.\n * @param pattern RegEx Pattern\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static multilanguageRequired(\n languages: LanguageModel[],\n validationMessage: string,\n validationMessageSummary\n ): ValidatorFn {\n return multilanguageRequiredValidator(languages, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator f\xFCr MultiLanguage Control, welcher \xFCberpr\xFCft ob min. ein Wert erfasst wurde\n * @param control Control das Validatiert werden soll\n * @param languages Sprachen die im Control erfasst werden k\xF6nnen.\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static multilanguageRequiredAny(\n languages: LanguageModel[],\n validationMessage: string,\n validationMessageSummary\n ): ValidatorFn {\n return multilanguageRequiredAnyValidator(languages, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator validate if value is not the invalidValue\n * @param invalidValue Value that control doesn't should have\n * @param control Control to be validate\n * @param fieldName Label of control\n * @param validationMessage validation message near the control\n * @param validationMessageSummary validation inside the validation summary\n */\n public static notequals(invalidValue: any, validationMessage: string, validationMessageSummary): ValidatorFn {\n return notEqualsValueValidator(invalidValue, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validierung mit einem RegEx Pattern\n * @param control Control das validiert werden soll.\n * @param pattern RegEx Pattern\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static pattern(pattern: string, validationMessage: string, validationMessageSummary): ValidatorFn {\n return patternValidator(pattern, validationMessage, validationMessageSummary);\n }\n\n /**\n * Validator f\xFCr Required State\n * @param control Control das Validiert wird\n * @param fieldName Label des Controls\n * @param validationMessage Validierungsmeldung die\n * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird\n */\n public static required(validationMessage: string, validationMessageSummary): ValidatorFn {\n return requiredValidator(validationMessage, validationMessageSummary);\n }\n\n // #endregion Public Static Methods\n}\n\n// #endregion Exported Classes\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d8eaa50e4225ce5c5a2b7f9db375e9c8a6df0b57"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_2obu7cf9ja=function(){return actualCoverage;};}return actualCoverage;}cov_2obu7cf9ja();import{emailValidator}from'./email.validator';import{equalsValueValidator}from'./equals.validator';import{isValidDateValidator}from'./invaliddate.validator';import{maxDateValidator}from'./maxdate.validator';import{maxTimeValidator}from'./maxtime.validator';import{maxValueValidator}from'./maxvalue.validator';import{minDateValidator}from'./mindate.validator';import{minFilesValidator}from'./minfiles.validator';import{minTextLengthValidator}from'./mintextlength.validator';import{minTimeValidator}from'./mintime.validator';import{minValueValidator}from'./minvalue.validator';import{multilanguageRequiredValidator}from'./multilanguagerequired.validator';import{multilanguageRequiredAnyValidator}from'./multilanguagerequiredany.validator';import{notEqualsValueValidator}from'./notequals.validator';import{patternValidator}from'./pattern.validator';import{requiredValidator}from'./required.validator';import{CreateValidationError}from'./validationerrorcreator';import*as moment_ from'moment';// #region Variables
3
+ /**
4
+ * Moment
5
+ */const moment=(cov_2obu7cf9ja().s[0]++,moment_['default']);// #endregion Variables
6
+ // #region Exported Classes
7
+ /**
8
+ * Klasse mit Standard Validatoren
9
+ */export class Validation{// #region Public Static Methods
10
+ /**
11
+ * Die Methode ist von jedem Validator aufgerufen. Die setzt sowohl den errorType des gerpüfte Item, als auch die ErrorMessage (gemäss von errorType, FieldName und Parameters).
12
+ * @param errorType Typ den Fehler
13
+ * @param errorMessageKey Error Message Key
14
+ * @param errorMessageValidationSummaryKey Error Message Key für Validation Summary
15
+ * @param fieldName Label oder Name des Feldes
16
+ * @param parameters Parametern die in den Meldungen als Platzhalter verwendet werden können
17
+ */static GetValidationErrorItem(errorType,errorMessageKey,errorMessageValidationSummaryKey,fieldName=(cov_2obu7cf9ja().b[0][0]++,null),parameters=(cov_2obu7cf9ja().b[1][0]++,new Map())){cov_2obu7cf9ja().f[0]++;cov_2obu7cf9ja().s[1]++;return CreateValidationError(errorType,errorMessageKey,errorMessageValidationSummaryKey,parameters);}/**
18
+ * Validiert Feld auf E-Mail Adresse
19
+ * @param control Control das Valdiert werden soll
20
+ * @param fieldName Label des Controls
21
+ * @param validationMessage Validierungsmeldung die
22
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
23
+ */static email(validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[1]++;cov_2obu7cf9ja().s[2]++;return emailValidator(validationMessage,validationMessageSummary);}/**
24
+ * Validator validate if value is the requiredValue
25
+ * @param requiredValue Value that control should have
26
+ * @param control Control to be validate
27
+ * @param fieldName Label of control
28
+ * @param validationMessage validation message near the control
29
+ * @param validationMessageSummary validation inside the validation summary
30
+
31
+ */static equals(requiredValue,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[2]++;cov_2obu7cf9ja().s[3]++;return equalsValueValidator(requiredValue,validationMessage,validationMessageSummary);}/**
32
+ * Validator der prüft ob der Wert ein Datum ist.
33
+ * @param control Control mit IDateTimeControl Interface implementierung
34
+ * @param fieldName Label des Controls
35
+ * @param validationMessage Validierungsmeldung die beim Control angezeigt wird
36
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
37
+ */static isValidDate(validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[3]++;cov_2obu7cf9ja().s[4]++;return isValidDateValidator(validationMessage,validationMessageSummary);}/**
38
+ * Validiert ob das Datum älter als maxDate ist
39
+ * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
40
+ * @param maxDate max. Datum
41
+ * @param fieldName Label des Controls
42
+ * @param validationMessage Validierungsmeldung die
43
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
44
+ */static maxDate(maxDate,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[4]++;cov_2obu7cf9ja().s[5]++;return maxDateValidator(maxDate,validationMessage,validationMessageSummary);}/**
45
+ * Validiert ob die Zeit früher als maxTime ist.
46
+ * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
47
+ * @param maxTime Min. Zeit
48
+ * @param fieldName Label des Controls
49
+ * @param validationMessage Validierungsmeldung die
50
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
51
+ */static maxTime(maxTime,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[5]++;cov_2obu7cf9ja().s[6]++;return maxTimeValidator(maxTime,validationMessage,validationMessageSummary);}/**
52
+ * Validator für Max Value
53
+ * @param control Control das Validiert werden soll
54
+ * @param maxvalue Max. Wert
55
+ * @param fieldName Label des Controls
56
+ * @param validationMessage Validierungsmeldung die
57
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
58
+ */static maxValue(maxvalue,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[6]++;cov_2obu7cf9ja().s[7]++;return maxValueValidator(maxvalue,validationMessage,validationMessageSummary);}/**
59
+ * Validiert ob das Datum neuer als minDate ist
60
+ * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
61
+ * @param minDate Min. Datum
62
+ * @param fieldName Label des Controls
63
+ * @param validationMessage Validierungsmeldung die
64
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
65
+ */static minDate(minDate,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[7]++;cov_2obu7cf9ja().s[8]++;return minDateValidator(minDate,validationMessage,validationMessageSummary);}/**
66
+ * Validator für min. Anzahl von Uploads
67
+ * @param control Control das Validatiert werden soll. Control muss IUploadControl implementiert haben
68
+ * @param minFiles Min. Anzahl Files die hochgeladen werden müssen
69
+ * @param fieldName Label des Controls
70
+ * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
71
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
72
+ */static minFiles(minFiles,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[8]++;cov_2obu7cf9ja().s[9]++;return minFilesValidator(minFiles,validationMessage,validationMessageSummary);}/**
73
+ * Validiert auf die Länge des Wertes im Control
74
+ * @param control Control das Validiert werden soll
75
+ * @param mintextlength Min. Länge des Wertes
76
+ * @param fieldName Label des Controls
77
+ * @param validationMessage Validierungsmeldung die
78
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
79
+ */static minTextLength(mintextlength,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[9]++;cov_2obu7cf9ja().s[10]++;return minTextLengthValidator(mintextlength,validationMessage,validationMessageSummary);}/**
80
+ * Validiert ob die Zeit später als minTime ist.
81
+ * @param control Control das Validiert werden soll. Muss IDateTimeControl implementiert haben
82
+ * @param minTime Min. Zeit
83
+ * @param fieldName Label des Controls
84
+ * @param validationMessage Validierungsmeldung die
85
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
86
+ */static minTime(minTime,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[10]++;cov_2obu7cf9ja().s[11]++;return minTimeValidator(minTime,validationMessage,validationMessageSummary);}/**
87
+ * Validator der prüft ob der Wert ein Datum ist.
88
+ * @param control Control mit IDateTimeControl Interface implementierung
89
+ * @param fieldName Label des Controls
90
+ * @param validationMessage Validierungsmeldung die
91
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
92
+ */static minValue(minvalue,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[11]++;cov_2obu7cf9ja().s[12]++;return minValueValidator(minvalue,validationMessage,validationMessageSummary);}/**
93
+ * Validierung mit einem RegEx Pattern
94
+ * @param control Control das validiert werden soll.
95
+ * @param pattern RegEx Pattern
96
+ * @param fieldName Label des Controls
97
+ * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
98
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
99
+ */static multilanguageRequired(languages,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[12]++;cov_2obu7cf9ja().s[13]++;return multilanguageRequiredValidator(languages,validationMessage,validationMessageSummary);}/**
100
+ * Validator für MultiLanguage Control, welcher überprüft ob min. ein Wert erfasst wurde
101
+ * @param control Control das Validatiert werden soll
102
+ * @param languages Sprachen die im Control erfasst werden können.
103
+ * @param fieldName Label des Controls
104
+ * @param validationMessage Validierungsmeldung die unterhalb des Controls angezeigt wird
105
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
106
+ */static multilanguageRequiredAny(languages,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[13]++;cov_2obu7cf9ja().s[14]++;return multilanguageRequiredAnyValidator(languages,validationMessage,validationMessageSummary);}/**
107
+ * Validator validate if value is not the invalidValue
108
+ * @param invalidValue Value that control doesn't should have
109
+ * @param control Control to be validate
110
+ * @param fieldName Label of control
111
+ * @param validationMessage validation message near the control
112
+ * @param validationMessageSummary validation inside the validation summary
113
+ */static notequals(invalidValue,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[14]++;cov_2obu7cf9ja().s[15]++;return notEqualsValueValidator(invalidValue,validationMessage,validationMessageSummary);}/**
114
+ * Validierung mit einem RegEx Pattern
115
+ * @param control Control das validiert werden soll.
116
+ * @param pattern RegEx Pattern
117
+ * @param fieldName Label des Controls
118
+ * @param validationMessage Validierungsmeldung die
119
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
120
+ */static pattern(pattern,validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[15]++;cov_2obu7cf9ja().s[16]++;return patternValidator(pattern,validationMessage,validationMessageSummary);}/**
121
+ * Validator für Required State
122
+ * @param control Control das Validiert wird
123
+ * @param fieldName Label des Controls
124
+ * @param validationMessage Validierungsmeldung die
125
+ * @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
126
+ */static required(validationMessage,validationMessageSummary){cov_2obu7cf9ja().f[16]++;cov_2obu7cf9ja().s[17]++;return requiredValidator(validationMessage,validationMessageSummary);}}// #endregion Exported Classes
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0s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Li9tb2RlbHMvbGFuZ3VhZ2Vtb2RlbCc7XG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcbmltcG9ydCB7IGVxdWFsc1ZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9lcXVhbHMudmFsaWRhdG9yJztcbmltcG9ydCB7IGlzVmFsaWREYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnZhbGlkZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWF4VGltZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4dGltZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWF4VmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL21heHZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5GaWxlc1ZhbGlkYXRvciB9IGZyb20gJy4vbWluZmlsZXMudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pblRleHRMZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbnRleHRsZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pblRpbWVWYWxpZGF0b3IgfSBmcm9tICcuL21pbnRpbWUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbXVsdGlsYW5ndWFnZVJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlcmVxdWlyZWQudmFsaWRhdG9yJztcbmltcG9ydCB7IG11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueVZhbGlkYXRvciB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZXJlcXVpcmVkYW55LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbm90ZXF1YWxzLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBwYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSAnLi9wYXR0ZXJuLnZhbGlkYXRvcic7XG5pbXBvcnQgeyByZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gJy4vcmVxdWlyZWQudmFsaWRhdG9yJztcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBNb21lbnRcbiAqL1xuY29uc3QgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBLbGFzc2UgbWl0IFN0YW5kYXJkIFZhbGlkYXRvcmVuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBTdGF0aWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgaXN0IHZvbiBqZWRlbSBWYWxpZGF0b3IgYXVmZ2VydWZlbi4gRGllIHNldHp0IHNvd29obCBkZW4gZXJyb3JUeXBlIGRlcyBnZXJww7xmdGUgSXRlbSwgYWxzIGF1Y2ggZGllIEVycm9yTWVzc2FnZSAoZ2Vtw6RzcyB2b24gZXJyb3JUeXBlLCBGaWVsZE5hbWUgdW5kIFBhcmFtZXRlcnMpLlxuICAgICAqIEBwYXJhbSBlcnJvclR5cGUgVHlwIGRlbiBGZWhsZXJcbiAgICAgKiBAcGFyYW0gZXJyb3JNZXNzYWdlS2V5IEVycm9yIE1lc3NhZ2UgS2V5XG4gICAgICogQHBhcmFtIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5IEVycm9yIE1lc3NhZ2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSAgTGFiZWwgb2RlciBOYW1lIGRlcyBGZWxkZXNcbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBQYXJhbWV0ZXJuIGRpZSBpbiBkZW4gTWVsZHVuZ2VuIGFscyBQbGF0emhhbHRlciB2ZXJ3ZW5kZXQgd2VyZGVuIGvDtm5uZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXG4gICAgICAgIGVycm9yVHlwZTogc3RyaW5nLFxuICAgICAgICBlcnJvck1lc3NhZ2VLZXk6IHN0cmluZyxcbiAgICAgICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcbiAgICAgICAgZmllbGROYW1lOiBzdHJpbmcgPSBudWxsLFxuICAgICAgICBwYXJhbWV0ZXJzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKVxuICAgICk6IGFueSB7XG4gICAgICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2VLZXksIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5LCBwYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgRmVsZCBhdWYgRS1NYWlsIEFkcmVzc2VcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxkaWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVtYWlsKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIGVtYWlsVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgKiBWYWxpZGF0b3IgdmFsaWRhdGUgaWYgdmFsdWUgaXMgdGhlIHJlcXVpcmVkVmFsdWVcbiAgICogQHBhcmFtIHJlcXVpcmVkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIHNob3VsZCBoYXZlXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSB2YWxpZGF0aW9uIG1lc3NhZ2UgbmVhciB0aGUgY29udHJvbFxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcblxuICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVxdWFscyhyZXF1aXJlZFZhbHVlOiBhbnksIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIGVxdWFsc1ZhbHVlVmFsaWRhdG9yKHJlcXVpcmVkVmFsdWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBkZXIgcHLDvGZ0IG9iIGRlciBXZXJ0IGVpbiBEYXR1bSBpc3QuXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBtaXQgSURhdGVUaW1lQ29udHJvbCBJbnRlcmZhY2UgaW1wbGVtZW50aWVydW5nXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgYmVpbSBDb250cm9sIGFuZ2V6ZWlndCB3aXJkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWREYXRlKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gw6RsdGVyIGFscyBtYXhEYXRlIGlzdFxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cbiAgICAgKiBAcGFyYW0gbWF4RGF0ZSBtYXguIERhdHVtXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWF4RGF0ZShtYXhEYXRlOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKG1heERhdGUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkaWUgWmVpdCBmcsO8aGVyIGFscyBtYXhUaW1lIGlzdC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1heFRpbWUgTWluLiBaZWl0XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWF4VGltZShtYXhUaW1lOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhUaW1lVmFsaWRhdG9yKG1heFRpbWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtYXhWYWx1ZShtYXh2YWx1ZTogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhWYWx1ZVZhbGlkYXRvcihtYXh2YWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSBuZXVlciBhbHMgbWluRGF0ZSBpc3RcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1pbkRhdGUgTWluLiBEYXR1bVxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1pbkRhdGUobWluRGF0ZTogRGF0ZSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluRGF0ZVZhbGlkYXRvcihtaW5EYXRlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZsO8ciBtaW4uIEFuemFobCB2b24gVXBsb2Fkc1xuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsLiBDb250cm9sIG11c3MgSVVwbG9hZENvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxuICAgICAqIEBwYXJhbSBtaW5GaWxlcyBNaW4uIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIG3DvHNzZW5cbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1pbkZpbGVzKG1pbkZpbGVzOiBudW1iZXIsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKG1pbkZpbGVzLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgYXVmIGRpZSBMw6RuZ2UgZGVzIFdlcnRlcyBpbSBDb250cm9sXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIG1pbnRleHRsZW5ndGggTWluLiBMw6RuZ2UgZGVzIFdlcnRlc1xuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1pblRleHRMZW5ndGgobWludGV4dGxlbmd0aDogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5UZXh0TGVuZ3RoVmFsaWRhdG9yKG1pbnRleHRsZW5ndGgsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkaWUgWmVpdCBzcMOkdGVyIGFscyBtaW5UaW1lIGlzdC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1pblRpbWUgTWluLiBaZWl0XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWluVGltZShtaW5UaW1lOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnk6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IobWluVGltZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5WYWx1ZShtaW52YWx1ZTogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5WYWx1ZVZhbGlkYXRvcihtaW52YWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXG4gICAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxuICAgICAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XG4gICAgKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkVmFsaWRhdG9yKGxhbmd1YWdlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxuICAgICAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XG4gICAgKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKGxhbmd1YWdlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHZhbGlkYXRlIGlmIHZhbHVlIGlzIG5vdCB0aGUgaW52YWxpZFZhbHVlXG4gICAgICogQHBhcmFtIGludmFsaWRWYWx1ZSBWYWx1ZSB0aGF0IGNvbnRyb2wgZG9lc24ndCBzaG91bGQgaGF2ZVxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIG9mIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG5vdGVxdWFscyhpbnZhbGlkVmFsdWU6IGFueSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoaW52YWxpZFZhbHVlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnVuZyBtaXQgZWluZW0gUmVnRXggUGF0dGVyblxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIHZhbGlkaWVydCB3ZXJkZW4gc29sbC5cbiAgICAgKiBAcGFyYW0gcGF0dGVybiBSZWdFeCBQYXR0ZXJuXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcGF0dGVybihwYXR0ZXJuOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIHBhdHRlcm5WYWxpZGF0b3IocGF0dGVybiwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGbDvHIgUmVxdWlyZWQgU3RhdGVcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2lyZFxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlcXVpcmVkKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmVkVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIFN0YXRpYyBNZXRob2RzXG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuIl19
128
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMm9idTdjZjlqYSIsImFjdHVhbENvdmVyYWdlIiwiZW1haWxWYWxpZGF0b3IiLCJlcXVhbHNWYWx1ZVZhbGlkYXRvciIsImlzVmFsaWREYXRlVmFsaWRhdG9yIiwibWF4RGF0ZVZhbGlkYXRvciIsIm1heFRpbWVWYWxpZGF0b3IiLCJtYXhWYWx1ZVZhbGlkYXRvciIsIm1pbkRhdGVWYWxpZGF0b3IiLCJtaW5GaWxlc1ZhbGlkYXRvciIsIm1pblRleHRMZW5ndGhWYWxpZGF0b3IiLCJtaW5UaW1lVmFsaWRhdG9yIiwibWluVmFsdWVWYWxpZGF0b3IiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IiLCJtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IiLCJub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciIsInBhdHRlcm5WYWxpZGF0b3IiLCJyZXF1aXJlZFZhbGlkYXRvciIsIkNyZWF0ZVZhbGlkYXRpb25FcnJvciIsIm1vbWVudF8iLCJtb21lbnQiLCJzIiwiVmFsaWRhdGlvbiIsIkdldFZhbGlkYXRpb25FcnJvckl0ZW0iLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2VLZXkiLCJlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSIsImZpZWxkTmFtZSIsImIiLCJwYXJhbWV0ZXJzIiwiTWFwIiwiZiIsImVtYWlsIiwidmFsaWRhdGlvbk1lc3NhZ2UiLCJ2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkiLCJlcXVhbHMiLCJyZXF1aXJlZFZhbHVlIiwiaXNWYWxpZERhdGUiLCJtYXhEYXRlIiwibWF4VGltZSIsIm1heFZhbHVlIiwibWF4dmFsdWUiLCJtaW5EYXRlIiwibWluRmlsZXMiLCJtaW5UZXh0TGVuZ3RoIiwibWludGV4dGxlbmd0aCIsIm1pblRpbWUiLCJtaW5WYWx1ZSIsIm1pbnZhbHVlIiwibXVsdGlsYW5ndWFnZVJlcXVpcmVkIiwibGFuZ3VhZ2VzIiwibXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55Iiwibm90ZXF1YWxzIiwiaW52YWxpZFZhbHVlIiwicGF0dGVybiIsInJlcXVpcmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvdmFsaWRhdGlvbi92YWxpZGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbGFuZ3VhZ2Vtb2RlbCc7XG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4vZW1haWwudmFsaWRhdG9yJztcbmltcG9ydCB7IGVxdWFsc1ZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9lcXVhbHMudmFsaWRhdG9yJztcbmltcG9ydCB7IGlzVmFsaWREYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnZhbGlkZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4ZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWF4VGltZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4dGltZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWF4VmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL21heHZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5kYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5GaWxlc1ZhbGlkYXRvciB9IGZyb20gJy4vbWluZmlsZXMudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pblRleHRMZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuL21pbnRleHRsZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pblRpbWVWYWxpZGF0b3IgfSBmcm9tICcuL21pbnRpbWUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pblZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9taW52YWx1ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbXVsdGlsYW5ndWFnZVJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlcmVxdWlyZWQudmFsaWRhdG9yJztcbmltcG9ydCB7IG11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueVZhbGlkYXRvciB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZXJlcXVpcmVkYW55LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBub3RFcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbm90ZXF1YWxzLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBwYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSAnLi9wYXR0ZXJuLnZhbGlkYXRvcic7XG5pbXBvcnQgeyByZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gJy4vcmVxdWlyZWQudmFsaWRhdG9yJztcbmltcG9ydCB7IENyZWF0ZVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yY3JlYXRvcic7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBNb21lbnRcbiAqL1xuY29uc3QgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBLbGFzc2UgbWl0IFN0YW5kYXJkIFZhbGlkYXRvcmVuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBTdGF0aWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgaXN0IHZvbiBqZWRlbSBWYWxpZGF0b3IgYXVmZ2VydWZlbi4gRGllIHNldHp0IHNvd29obCBkZW4gZXJyb3JUeXBlIGRlcyBnZXJww7xmdGUgSXRlbSwgYWxzIGF1Y2ggZGllIEVycm9yTWVzc2FnZSAoZ2Vtw6RzcyB2b24gZXJyb3JUeXBlLCBGaWVsZE5hbWUgdW5kIFBhcmFtZXRlcnMpLlxuICAgICAqIEBwYXJhbSBlcnJvclR5cGUgVHlwIGRlbiBGZWhsZXJcbiAgICAgKiBAcGFyYW0gZXJyb3JNZXNzYWdlS2V5IEVycm9yIE1lc3NhZ2UgS2V5XG4gICAgICogQHBhcmFtIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5IEVycm9yIE1lc3NhZ2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSAgTGFiZWwgb2RlciBOYW1lIGRlcyBGZWxkZXNcbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBQYXJhbWV0ZXJuIGRpZSBpbiBkZW4gTWVsZHVuZ2VuIGFscyBQbGF0emhhbHRlciB2ZXJ3ZW5kZXQgd2VyZGVuIGvDtm5uZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXG4gICAgICAgIGVycm9yVHlwZTogc3RyaW5nLFxuICAgICAgICBlcnJvck1lc3NhZ2VLZXk6IHN0cmluZyxcbiAgICAgICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcbiAgICAgICAgZmllbGROYW1lOiBzdHJpbmcgPSBudWxsLFxuICAgICAgICBwYXJhbWV0ZXJzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKVxuICAgICk6IGFueSB7XG4gICAgICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2VLZXksIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5LCBwYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgRmVsZCBhdWYgRS1NYWlsIEFkcmVzc2VcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxkaWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVtYWlsKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIGVtYWlsVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgKiBWYWxpZGF0b3IgdmFsaWRhdGUgaWYgdmFsdWUgaXMgdGhlIHJlcXVpcmVkVmFsdWVcbiAgICogQHBhcmFtIHJlcXVpcmVkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIHNob3VsZCBoYXZlXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSB2YWxpZGF0aW9uIG1lc3NhZ2UgbmVhciB0aGUgY29udHJvbFxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcblxuICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVxdWFscyhyZXF1aXJlZFZhbHVlOiBhbnksIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIGVxdWFsc1ZhbHVlVmFsaWRhdG9yKHJlcXVpcmVkVmFsdWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBkZXIgcHLDvGZ0IG9iIGRlciBXZXJ0IGVpbiBEYXR1bSBpc3QuXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBtaXQgSURhdGVUaW1lQ29udHJvbCBJbnRlcmZhY2UgaW1wbGVtZW50aWVydW5nXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgYmVpbSBDb250cm9sIGFuZ2V6ZWlndCB3aXJkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWREYXRlKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gw6RsdGVyIGFscyBtYXhEYXRlIGlzdFxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cbiAgICAgKiBAcGFyYW0gbWF4RGF0ZSBtYXguIERhdHVtXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWF4RGF0ZShtYXhEYXRlOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKG1heERhdGUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkaWUgWmVpdCBmcsO8aGVyIGFscyBtYXhUaW1lIGlzdC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1heFRpbWUgTWluLiBaZWl0XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWF4VGltZShtYXhUaW1lOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhUaW1lVmFsaWRhdG9yKG1heFRpbWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmw7xyIE1heCBWYWx1ZVxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXguIFdlcnRcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtYXhWYWx1ZShtYXh2YWx1ZTogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhWYWx1ZVZhbGlkYXRvcihtYXh2YWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ0IG9iIGRhcyBEYXR1bSBuZXVlciBhbHMgbWluRGF0ZSBpc3RcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1pbkRhdGUgTWluLiBEYXR1bVxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1pbkRhdGUobWluRGF0ZTogRGF0ZSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluRGF0ZVZhbGlkYXRvcihtaW5EYXRlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZsO8ciBtaW4uIEFuemFobCB2b24gVXBsb2Fkc1xuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsLiBDb250cm9sIG11c3MgSVVwbG9hZENvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxuICAgICAqIEBwYXJhbSBtaW5GaWxlcyBNaW4uIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIG3DvHNzZW5cbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1pbkZpbGVzKG1pbkZpbGVzOiBudW1iZXIsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG1pbkZpbGVzVmFsaWRhdG9yKG1pbkZpbGVzLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgYXVmIGRpZSBMw6RuZ2UgZGVzIFdlcnRlcyBpbSBDb250cm9sXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIG1pbnRleHRsZW5ndGggTWluLiBMw6RuZ2UgZGVzIFdlcnRlc1xuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1pblRleHRMZW5ndGgobWludGV4dGxlbmd0aDogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5UZXh0TGVuZ3RoVmFsaWRhdG9yKG1pbnRleHRsZW5ndGgsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkaWUgWmVpdCBzcMOkdGVyIGFscyBtaW5UaW1lIGlzdC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1pblRpbWUgTWluLiBaZWl0XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWluVGltZShtaW5UaW1lOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnk6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG1pblRpbWVWYWxpZGF0b3IobWluVGltZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGRlciBwcsO8ZnQgb2IgZGVyIFdlcnQgZWluIERhdHVtIGlzdC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIG1pdCBJRGF0ZVRpbWVDb250cm9sIEludGVyZmFjZSBpbXBsZW1lbnRpZXJ1bmdcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5WYWx1ZShtaW52YWx1ZTogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5WYWx1ZVZhbGlkYXRvcihtaW52YWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXG4gICAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxuICAgICAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XG4gICAgKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkVmFsaWRhdG9yKGxhbmd1YWdlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGbDvHIgTXVsdGlMYW5ndWFnZSBDb250cm9sLCB3ZWxjaGVyIMO8YmVycHLDvGZ0IG9iIG1pbi4gZWluIFdlcnQgZXJmYXNzdCB3dXJkZVxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkYXRpZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIGxhbmd1YWdlcyBTcHJhY2hlbiBkaWUgaW0gQ29udHJvbCBlcmZhc3N0IHdlcmRlbiBrw7ZubmVuLlxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIHVudGVyaGFsYiBkZXMgQ29udHJvbHMgYW5nZXplaWd0IHdpcmRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxuICAgICAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XG4gICAgKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKGxhbmd1YWdlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHZhbGlkYXRlIGlmIHZhbHVlIGlzIG5vdCB0aGUgaW52YWxpZFZhbHVlXG4gICAgICogQHBhcmFtIGludmFsaWRWYWx1ZSBWYWx1ZSB0aGF0IGNvbnRyb2wgZG9lc24ndCBzaG91bGQgaGF2ZVxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgdG8gYmUgdmFsaWRhdGVcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIG9mIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IHZhbGlkYXRpb24gaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG5vdGVxdWFscyhpbnZhbGlkVmFsdWU6IGFueSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoaW52YWxpZFZhbHVlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnVuZyBtaXQgZWluZW0gUmVnRXggUGF0dGVyblxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIHZhbGlkaWVydCB3ZXJkZW4gc29sbC5cbiAgICAgKiBAcGFyYW0gcGF0dGVybiBSZWdFeCBQYXR0ZXJuXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcGF0dGVybihwYXR0ZXJuOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIHBhdHRlcm5WYWxpZGF0b3IocGF0dGVybiwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGbDvHIgUmVxdWlyZWQgU3RhdGVcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2lyZFxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlcXVpcmVkKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmVkVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIFN0YXRpYyBNZXRob2RzXG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuIl0sIm1hcHBpbmdzIjoidXFvQkFnQlM7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBZlQsT0FBU0UsY0FBYyxLQUFRLG1CQUFtQixDQUNsRCxPQUFTQyxvQkFBb0IsS0FBUSxvQkFBb0IsQ0FDekQsT0FBU0Msb0JBQW9CLEtBQVEseUJBQXlCLENBQzlELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxnQkFBZ0IsS0FBUSxxQkFBcUIsQ0FDdEQsT0FBU0MsaUJBQWlCLEtBQVEsc0JBQXNCLENBQ3hELE9BQVNDLGdCQUFnQixLQUFRLHFCQUFxQixDQUN0RCxPQUFTQyxpQkFB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QUF5QixDQUFFQyx3QkFBd0IsRUFBQWxDLGNBQUEsR0FBQStCLENBQUEsT0FBQS9CLGNBQUEsR0FBQXFCLENBQUEsT0FDeEYsTUFBTyxDQUFBVCxpQkFBaUIsQ0FBQ29DLFFBQVEsQ0FBRWYsaUJBQWlCLENBQUVDLHdCQUF3QixDQUFDLENBQ25GLENBRUE7Ozs7Ozs7T0FRTyxNQUFPLENBQUFlLHFCQUFxQkEsQ0FDL0JDLFNBQTBCLENBQzFCakIsaUJBQXlCLENBQ3pCQyx3QkFBd0IsRUFBQWxDLGNBQUEsR0FBQStCLENBQUEsT0FBQS9CLGNBQUEsR0FBQXFCLENBQUEsT0FFeEIsTUFBTyxDQUFBUiw4QkFBOEIsQ0FBQ3FDLFNBQVMsQ0FBRWpCLGlCQUFpQixDQUFFQyx3QkFBd0IsQ0FBQyxDQUNqRyxDQUVBOzs7Ozs7O09BUU8sTUFBTyxDQUFBaUIsd0JBQXdCQSxDQUNsQ0QsU0FBMEIsQ0FDMUJqQixpQkFBeUIsQ0FDekJDLHdCQUF3QixFQUFBbEMsY0FBQSxHQUFBK0IsQ0FBQSxPQUFBL0IsY0FBQSxHQUFBcUIsQ0FBQSxPQUV4QixNQUFPLENBQUFQLGlDQUFpQyxDQUFDb0MsU0FBUyxDQUFFakIsaUJBQWlCLENBQUVDLHdCQUF3QixDQUFDLENBQ3BHLENBRUE7Ozs7Ozs7T0FRTyxNQUFPLENBQUFrQixTQUFTQSxDQUFDQyxZQUFpQixDQUFFcEIsaUJBQXlCLENBQUVDLHdCQUF3QixFQUFBbEMsY0FBQSxHQUFBK0IsQ0FBQSxPQUFBL0IsY0FBQSxHQUFBcUIsQ0FBQSxPQUMxRixNQUFPLENBQUFOLHVCQUF1QixDQUFDc0MsWUFBWSxDQUFFcEIsaUJBQWlCLENBQUVDLHdCQUF3QixDQUFDLENBQzdGLENBRUE7Ozs7Ozs7T0FRTyxNQUFPLENBQUFvQixPQUFPQSxDQUFDQSxPQUFlLENBQUVyQixpQkFBeUIsQ0FBRUMsd0JBQXdCLEVBQUFsQyxjQUFBLEdBQUErQixDQUFBLE9BQUEvQixjQUFBLEdBQUFxQixDQUFBLE9BQ3RGLE1BQU8sQ0FBQUwsZ0JBQWdCLENBQUNzQyxPQUFPLENBQUVyQixpQkFBaUIsQ0FBRUMsd0JBQXdCLENBQUMsQ0FDakYsQ0FFQTs7Ozs7O09BT08sTUFBTyxDQUFBcUIsUUFBUUEsQ0FBQ3RCLGlCQUF5QixDQUFFQyx3QkFBd0IsRUFBQWxDLGNBQUEsR0FBQStCLENBQUEsT0FBQS9CLGNBQUEsR0FBQXFCLENBQUEsT0FDdEUsTUFBTyxDQUFBSixpQkFBaUIsQ0FBQ2dCLGlCQUFpQixDQUFFQyx3QkFBd0IsQ0FBQyxDQUN6RSxDLENBS0oiLCJpZ25vcmVMaXN0IjpbXX0=