@anglr/datetime 1.0.0-beta.20210804101324 → 2.0.0-beta.20220221120606

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 (463) hide show
  1. package/changelog.md +13 -1
  2. package/date-fns/datetime-date-fns.d.ts +64 -0
  3. package/date-fns/datetime-date-fns.internal.d.ts +64 -0
  4. package/date-fns/package.json +7 -7
  5. package/date-fns/src/{date-fns.d.ts → index.d.ts} +4 -4
  6. package/date-fns/src/index.d.ts.map +1 -0
  7. package/date-fns/src/misc/tokens.d.ts +10 -10
  8. package/date-fns/src/services/dateFnsDateApi.service.d.ts +36 -33
  9. package/date-fns/src/services/dateFnsDateApi.service.d.ts.map +1 -1
  10. package/date-fns/src/services/dateFnsLocale.service.d.ts +10 -10
  11. package/date-fns/temp/datetime-date-fns.api.md +47 -0
  12. package/datetime.d.ts +1913 -5
  13. package/datetime.internal.d.ts +2090 -0
  14. package/es2015/date-fns/src/index.js +4 -0
  15. package/es2015/date-fns/src/index.js.map +1 -0
  16. package/es2015/date-fns/src/misc/tokens.js +20 -0
  17. package/es2015/date-fns/src/misc/tokens.js.map +1 -0
  18. package/es2015/date-fns/src/services/dateFnsDateApi.service.js +438 -0
  19. package/es2015/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  20. package/es2015/date-fns/src/services/dateFnsLocale.service.js +2 -0
  21. package/es2015/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  22. package/es2015/karma.conf.js +57 -0
  23. package/es2015/karma.conf.js.map +1 -0
  24. package/{moment/src/moment.d.ts → es2015/moment/src/index.js} +3 -3
  25. package/es2015/moment/src/index.js.map +1 -0
  26. package/es2015/moment/src/misc/tokens.js +15 -0
  27. package/es2015/moment/src/misc/tokens.js.map +1 -0
  28. package/es2015/moment/src/services/momentDateApi.service.js +398 -0
  29. package/es2015/moment/src/services/momentDateApi.service.js.map +1 -0
  30. package/{src/datetime.d.ts → es2015/src/index.js} +19 -19
  31. package/es2015/src/index.js.map +1 -0
  32. package/es2015/src/misc/constants.js +33 -0
  33. package/es2015/src/misc/constants.js.map +1 -0
  34. package/es2015/src/misc/datetime.interface.js +2 -0
  35. package/es2015/src/misc/datetime.interface.js.map +1 -0
  36. package/es2015/src/misc/tokens.js +19 -0
  37. package/es2015/src/misc/tokens.js.map +1 -0
  38. package/es2015/src/misc/validators.js +58 -0
  39. package/es2015/src/misc/validators.js.map +1 -0
  40. package/es2015/src/modules/datePipes.module.js +33 -0
  41. package/es2015/src/modules/datePipes.module.js.map +1 -0
  42. package/es2015/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  43. package/es2015/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  44. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  45. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  46. package/es2015/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  47. package/es2015/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  48. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  49. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  50. package/es2015/src/picker/components/picker/picker.component.animations.js +71 -0
  51. package/es2015/src/picker/components/picker/picker.component.animations.js.map +1 -0
  52. package/es2015/src/picker/components/picker/picker.component.js +241 -0
  53. package/es2015/src/picker/components/picker/picker.component.js.map +1 -0
  54. package/es2015/src/picker/components/pickerBase.component.js +243 -0
  55. package/es2015/src/picker/components/pickerBase.component.js.map +1 -0
  56. package/es2015/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  57. package/es2015/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  58. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  59. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  60. package/es2015/src/picker/interfaces.js +5 -0
  61. package/es2015/src/picker/interfaces.js.map +1 -0
  62. package/es2015/src/picker/misc/datetimePicker.interface.js +2 -0
  63. package/es2015/src/picker/misc/datetimePicker.interface.js.map +1 -0
  64. package/es2015/src/picker/misc/tokens.js +6 -0
  65. package/es2015/src/picker/misc/tokens.js.map +1 -0
  66. package/es2015/src/picker/modules/picker.module.js +46 -0
  67. package/es2015/src/picker/modules/picker.module.js.map +1 -0
  68. package/es2015/src/picker/types.js +8 -0
  69. package/es2015/src/picker/types.js.map +1 -0
  70. package/es2015/src/pipes/asRequiredType.js +22 -0
  71. package/es2015/src/pipes/asRequiredType.js.map +1 -0
  72. package/es2015/src/pipes/dateConvert.pipe.js +35 -0
  73. package/es2015/src/pipes/dateConvert.pipe.js.map +1 -0
  74. package/es2015/src/pipes/dateFormat.pipe.js +45 -0
  75. package/es2015/src/pipes/dateFormat.pipe.js.map +1 -0
  76. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +421 -0
  77. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  78. package/es2015/src/selector/components/selector/selector.component.animations.js +15 -0
  79. package/es2015/src/selector/components/selector/selector.component.animations.js.map +1 -0
  80. package/es2015/src/selector/components/selector/selector.component.js +344 -0
  81. package/es2015/src/selector/components/selector/selector.component.js.map +1 -0
  82. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +317 -0
  83. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  84. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  85. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  86. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  87. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  88. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  89. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  90. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +119 -0
  91. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  92. package/es2015/src/selector/interfaces.js +2 -0
  93. package/es2015/src/selector/interfaces.js.map +1 -0
  94. package/es2015/src/selector/misc/datetimeSelector.interface.js +2 -0
  95. package/es2015/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  96. package/es2015/src/selector/misc/tokens.js +6 -0
  97. package/es2015/src/selector/misc/tokens.js.map +1 -0
  98. package/es2015/src/selector/modules/basicSelector.module.js +20 -0
  99. package/es2015/src/selector/modules/basicSelector.module.js.map +1 -0
  100. package/es2015/src/selector/modules/selector.module.js +60 -0
  101. package/es2015/src/selector/modules/selector.module.js.map +1 -0
  102. package/es2015/src/selector/types.js +10 -0
  103. package/es2015/src/selector/types.js.map +1 -0
  104. package/es2015/src/services/dateApi.interface.js +2 -0
  105. package/es2015/src/services/dateApi.interface.js.map +1 -0
  106. package/es2015/src/services/datePositionParser.interface.js +2 -0
  107. package/es2015/src/services/datePositionParser.interface.js.map +1 -0
  108. package/es2015/src/services/datePositionParser.service.js +227 -0
  109. package/es2015/src/services/datePositionParser.service.js.map +1 -0
  110. package/es2015/src/services/dateTimeRelativeParser.service.js +66 -0
  111. package/es2015/src/services/dateTimeRelativeParser.service.js.map +1 -0
  112. package/es2015/src/services/dateValueProvider.service.js +58 -0
  113. package/es2015/src/services/dateValueProvider.service.js.map +1 -0
  114. package/es2015/src/services/formatProvider.interface.js +2 -0
  115. package/es2015/src/services/formatProvider.interface.js.map +1 -0
  116. package/es2015/src/services/index.js +4 -0
  117. package/es2015/src/services/index.js.map +1 -0
  118. package/es2020/date-fns/src/index.js +4 -0
  119. package/es2020/date-fns/src/index.js.map +1 -0
  120. package/es2020/date-fns/src/misc/tokens.js +20 -0
  121. package/es2020/date-fns/src/misc/tokens.js.map +1 -0
  122. package/es2020/date-fns/src/services/dateFnsDateApi.service.js +437 -0
  123. package/es2020/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  124. package/es2020/date-fns/src/services/dateFnsLocale.service.js +2 -0
  125. package/es2020/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  126. package/es2020/karma.conf.js +57 -0
  127. package/es2020/karma.conf.js.map +1 -0
  128. package/es2020/moment/src/index.js +3 -0
  129. package/es2020/moment/src/index.js.map +1 -0
  130. package/es2020/moment/src/misc/tokens.js +15 -0
  131. package/es2020/moment/src/misc/tokens.js.map +1 -0
  132. package/es2020/moment/src/services/momentDateApi.service.js +398 -0
  133. package/es2020/moment/src/services/momentDateApi.service.js.map +1 -0
  134. package/es2020/src/index.js +19 -0
  135. package/es2020/src/index.js.map +1 -0
  136. package/es2020/src/misc/constants.js +33 -0
  137. package/es2020/src/misc/constants.js.map +1 -0
  138. package/es2020/src/misc/datetime.interface.js +2 -0
  139. package/es2020/src/misc/datetime.interface.js.map +1 -0
  140. package/es2020/src/misc/tokens.js +19 -0
  141. package/es2020/src/misc/tokens.js.map +1 -0
  142. package/es2020/src/misc/validators.js +58 -0
  143. package/es2020/src/misc/validators.js.map +1 -0
  144. package/es2020/src/modules/datePipes.module.js +33 -0
  145. package/es2020/src/modules/datePipes.module.js.map +1 -0
  146. package/es2020/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  147. package/es2020/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  148. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  149. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  150. package/es2020/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  151. package/es2020/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  152. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  153. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  154. package/es2020/src/picker/components/picker/picker.component.animations.js +71 -0
  155. package/es2020/src/picker/components/picker/picker.component.animations.js.map +1 -0
  156. package/es2020/src/picker/components/picker/picker.component.js +236 -0
  157. package/es2020/src/picker/components/picker/picker.component.js.map +1 -0
  158. package/es2020/src/picker/components/pickerBase.component.js +243 -0
  159. package/es2020/src/picker/components/pickerBase.component.js.map +1 -0
  160. package/es2020/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  161. package/es2020/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  162. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  163. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  164. package/es2020/src/picker/interfaces.js +5 -0
  165. package/es2020/src/picker/interfaces.js.map +1 -0
  166. package/es2020/src/picker/misc/datetimePicker.interface.js +2 -0
  167. package/es2020/src/picker/misc/datetimePicker.interface.js.map +1 -0
  168. package/es2020/src/picker/misc/tokens.js +6 -0
  169. package/es2020/src/picker/misc/tokens.js.map +1 -0
  170. package/es2020/src/picker/modules/picker.module.js +46 -0
  171. package/es2020/src/picker/modules/picker.module.js.map +1 -0
  172. package/es2020/src/picker/types.js +8 -0
  173. package/es2020/src/picker/types.js.map +1 -0
  174. package/es2020/src/pipes/asRequiredType.js +22 -0
  175. package/es2020/src/pipes/asRequiredType.js.map +1 -0
  176. package/es2020/src/pipes/dateConvert.pipe.js +35 -0
  177. package/es2020/src/pipes/dateConvert.pipe.js.map +1 -0
  178. package/es2020/src/pipes/dateFormat.pipe.js +45 -0
  179. package/es2020/src/pipes/dateFormat.pipe.js.map +1 -0
  180. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js +417 -0
  181. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  182. package/es2020/src/selector/components/selector/selector.component.animations.js +15 -0
  183. package/es2020/src/selector/components/selector/selector.component.animations.js.map +1 -0
  184. package/es2020/src/selector/components/selector/selector.component.js +334 -0
  185. package/es2020/src/selector/components/selector/selector.component.js.map +1 -0
  186. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +314 -0
  187. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  188. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  189. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  190. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  191. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  192. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  193. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  194. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +118 -0
  195. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  196. package/es2020/src/selector/interfaces.js +2 -0
  197. package/es2020/src/selector/interfaces.js.map +1 -0
  198. package/es2020/src/selector/misc/datetimeSelector.interface.js +2 -0
  199. package/es2020/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  200. package/es2020/src/selector/misc/tokens.js +6 -0
  201. package/es2020/src/selector/misc/tokens.js.map +1 -0
  202. package/es2020/src/selector/modules/basicSelector.module.js +20 -0
  203. package/es2020/src/selector/modules/basicSelector.module.js.map +1 -0
  204. package/es2020/src/selector/modules/selector.module.js +60 -0
  205. package/es2020/src/selector/modules/selector.module.js.map +1 -0
  206. package/es2020/src/selector/types.js +10 -0
  207. package/es2020/src/selector/types.js.map +1 -0
  208. package/es2020/src/services/dateApi.interface.js +2 -0
  209. package/es2020/src/services/dateApi.interface.js.map +1 -0
  210. package/es2020/src/services/datePositionParser.interface.js +2 -0
  211. package/es2020/src/services/datePositionParser.interface.js.map +1 -0
  212. package/es2020/src/services/datePositionParser.service.js +227 -0
  213. package/es2020/src/services/datePositionParser.service.js.map +1 -0
  214. package/es2020/src/services/dateTimeRelativeParser.service.js +65 -0
  215. package/es2020/src/services/dateTimeRelativeParser.service.js.map +1 -0
  216. package/es2020/src/services/dateValueProvider.service.js +58 -0
  217. package/es2020/src/services/dateValueProvider.service.js.map +1 -0
  218. package/es2020/src/services/formatProvider.interface.js +2 -0
  219. package/es2020/src/services/formatProvider.interface.js.map +1 -0
  220. package/es2020/src/services/index.js +4 -0
  221. package/es2020/src/services/index.js.map +1 -0
  222. package/karma.conf.d.ts +2 -0
  223. package/karma.conf.d.ts.map +1 -0
  224. package/moment/datetime-moment.d.ts +47 -0
  225. package/moment/datetime-moment.internal.d.ts +47 -0
  226. package/moment/package.json +7 -7
  227. package/moment/src/index.d.ts +3 -0
  228. package/moment/src/index.d.ts.map +1 -0
  229. package/moment/src/misc/tokens.d.ts +5 -5
  230. package/moment/src/services/momentDateApi.service.d.ts +35 -32
  231. package/moment/src/services/momentDateApi.service.d.ts.map +1 -1
  232. package/moment/temp/datetime-moment.api.md +36 -0
  233. package/package.json +91 -48
  234. package/src/index.d.ts +19 -0
  235. package/src/index.d.ts.map +1 -0
  236. package/src/misc/constants.d.ts +32 -32
  237. package/src/misc/datetime.interface.d.ts +34 -34
  238. package/src/misc/tokens.d.ts +10 -10
  239. package/src/misc/validators.d.ts +25 -25
  240. package/src/modules/datePipes.module.d.ts +12 -5
  241. package/src/modules/datePipes.module.d.ts.map +1 -1
  242. package/src/picker/components/dayPicker/dayPicker.component.d.ts +68 -65
  243. package/src/picker/components/dayPicker/dayPicker.component.d.ts.map +1 -1
  244. package/src/picker/components/dayPicker/dayPicker.component.html +7 -7
  245. package/src/picker/components/dayPicker/dayPicker.interfaces.d.ts +10 -10
  246. package/src/picker/components/monthPicker/monthPicker.component.d.ts +52 -49
  247. package/src/picker/components/monthPicker/monthPicker.component.d.ts.map +1 -1
  248. package/src/picker/components/monthPicker/monthPicker.component.html +6 -6
  249. package/src/picker/components/monthPicker/monthPicker.interfaces.d.ts +6 -6
  250. package/src/picker/components/picker/picker.component.animations.d.ts +4 -4
  251. package/src/picker/components/picker/picker.component.d.ts +104 -101
  252. package/src/picker/components/picker/picker.component.d.ts.map +1 -1
  253. package/src/picker/components/pickerBase.component.d.ts +169 -166
  254. package/src/picker/components/pickerBase.component.d.ts.map +1 -1
  255. package/src/picker/components/yearPicker/yearPicker.component.d.ts +57 -54
  256. package/src/picker/components/yearPicker/yearPicker.component.d.ts.map +1 -1
  257. package/src/picker/components/yearPicker/yearPicker.component.html +6 -6
  258. package/src/picker/components/yearPicker/yearPicker.interfaces.d.ts +6 -6
  259. package/src/picker/interfaces.d.ts +4 -4
  260. package/src/picker/misc/datetimePicker.interface.d.ts +188 -188
  261. package/src/picker/misc/tokens.d.ts +6 -6
  262. package/src/picker/modules/picker.module.d.ts +16 -5
  263. package/src/picker/modules/picker.module.d.ts.map +1 -1
  264. package/src/picker/types.d.ts +7 -7
  265. package/src/pipes/asRequiredType.d.ts +21 -0
  266. package/src/pipes/asRequiredType.d.ts.map +1 -0
  267. package/src/pipes/dateConvert.pipe.d.ts +18 -15
  268. package/src/pipes/dateConvert.pipe.d.ts.map +1 -1
  269. package/src/pipes/dateFormat.pipe.d.ts +20 -17
  270. package/src/pipes/dateFormat.pipe.d.ts.map +1 -1
  271. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts +187 -184
  272. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts.map +1 -1
  273. package/src/selector/components/selector/selector.component.animations.d.ts +4 -4
  274. package/src/selector/components/selector/selector.component.d.ts +155 -152
  275. package/src/selector/components/selector/selector.component.d.ts.map +1 -1
  276. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts +170 -167
  277. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts.map +1 -1
  278. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts +22 -19
  279. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts.map +1 -1
  280. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts +22 -19
  281. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts.map +1 -1
  282. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts +21 -18
  283. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts.map +1 -1
  284. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts +53 -50
  285. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts.map +1 -1
  286. package/src/selector/interfaces.d.ts +1 -1
  287. package/src/selector/misc/datetimeSelector.interface.d.ts +82 -82
  288. package/src/selector/misc/tokens.d.ts +6 -6
  289. package/src/selector/modules/basicSelector.module.d.ts +10 -5
  290. package/src/selector/modules/basicSelector.module.d.ts.map +1 -1
  291. package/src/selector/modules/selector.module.d.ts +18 -5
  292. package/src/selector/modules/selector.module.d.ts.map +1 -1
  293. package/src/selector/types.d.ts +9 -9
  294. package/src/services/dateApi.interface.d.ts +275 -275
  295. package/src/services/datePositionParser.interface.d.ts +40 -40
  296. package/src/services/datePositionParser.service.d.ts +60 -57
  297. package/src/services/datePositionParser.service.d.ts.map +1 -1
  298. package/src/services/dateTimeRelativeParser.service.d.ts +21 -18
  299. package/src/services/dateTimeRelativeParser.service.d.ts.map +1 -1
  300. package/src/services/dateValueProvider.service.d.ts +18 -15
  301. package/src/services/dateValueProvider.service.d.ts.map +1 -1
  302. package/src/services/formatProvider.interface.d.ts +17 -17
  303. package/src/services/index.d.ts +3 -3
  304. package/tsconfig.karma.json +5 -6
  305. package/version.bak +1 -1
  306. package/appveyor.yml +0 -70
  307. package/date-fns/dist/es2015/date-fns/index.js +0 -10
  308. package/date-fns/dist/es2015/date-fns/public_api.js +0 -7
  309. package/date-fns/dist/es2015/date-fns/src/date-fns.js +0 -9
  310. package/date-fns/dist/es2015/date-fns/src/misc/tokens.js +0 -32
  311. package/date-fns/dist/es2015/date-fns/src/services/dateFnsDateApi.service.js +0 -512
  312. package/date-fns/dist/es2015/date-fns/src/services/dateFnsLocale.service.js +0 -18
  313. package/date-fns/dist/es5/date-fns/index.js +0 -10
  314. package/date-fns/dist/es5/date-fns/public_api.js +0 -7
  315. package/date-fns/dist/es5/date-fns/src/date-fns.js +0 -9
  316. package/date-fns/dist/es5/date-fns/src/misc/tokens.js +0 -32
  317. package/date-fns/dist/es5/date-fns/src/services/dateFnsDateApi.service.js +0 -902
  318. package/date-fns/dist/es5/date-fns/src/services/dateFnsLocale.service.js +0 -18
  319. package/date-fns/index.d.ts +0 -5
  320. package/date-fns/index.d.ts.map +0 -1
  321. package/date-fns/index.metadata.json +0 -1
  322. package/date-fns/public_api.d.ts +0 -2
  323. package/date-fns/public_api.d.ts.map +0 -1
  324. package/date-fns/src/date-fns.d.ts.map +0 -1
  325. package/date-fns/src/services/dateFnsDateApi.service.ngfactory.d.ts.map +0 -1
  326. package/datetime.d.ts.map +0 -1
  327. package/datetime.metadata.json +0 -1
  328. package/dist/es2015/datetime.js +0 -10
  329. package/dist/es2015/public_api.js +0 -7
  330. package/dist/es2015/src/datetime.js +0 -24
  331. package/dist/es2015/src/misc/constants.js +0 -46
  332. package/dist/es2015/src/misc/datetime.interface.js +0 -52
  333. package/dist/es2015/src/misc/tokens.js +0 -29
  334. package/dist/es2015/src/misc/validators.js +0 -80
  335. package/dist/es2015/src/modules/datePipes.module.js +0 -26
  336. package/dist/es2015/src/picker/components/dayPicker/dayPicker.component.js +0 -215
  337. package/dist/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  338. package/dist/es2015/src/picker/components/monthPicker/monthPicker.component.js +0 -138
  339. package/dist/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  340. package/dist/es2015/src/picker/components/picker/picker.component.animations.js +0 -77
  341. package/dist/es2015/src/picker/components/picker/picker.component.js +0 -386
  342. package/dist/es2015/src/picker/components/pickerBase.component.js +0 -406
  343. package/dist/es2015/src/picker/components/yearPicker/yearPicker.component.js +0 -158
  344. package/dist/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  345. package/dist/es2015/src/picker/interfaces.js +0 -10
  346. package/dist/es2015/src/picker/misc/datetimePicker.interface.js +0 -245
  347. package/dist/es2015/src/picker/misc/tokens.js +0 -12
  348. package/dist/es2015/src/picker/modules/picker.module.js +0 -35
  349. package/dist/es2015/src/picker/types.js +0 -13
  350. package/dist/es2015/src/pipes/dateConvert.pipe.js +0 -50
  351. package/dist/es2015/src/pipes/dateFormat.pipe.js +0 -64
  352. package/dist/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +0 -588
  353. package/dist/es2015/src/selector/components/selector/selector.component.animations.js +0 -21
  354. package/dist/es2015/src/selector/components/selector/selector.component.js +0 -514
  355. package/dist/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -456
  356. package/dist/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -73
  357. package/dist/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -73
  358. package/dist/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -70
  359. package/dist/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -171
  360. package/dist/es2015/src/selector/interfaces.js +0 -7
  361. package/dist/es2015/src/selector/misc/datetimeSelector.interface.js +0 -106
  362. package/dist/es2015/src/selector/misc/tokens.js +0 -12
  363. package/dist/es2015/src/selector/modules/basicSelector.module.js +0 -20
  364. package/dist/es2015/src/selector/modules/selector.module.js +0 -45
  365. package/dist/es2015/src/selector/types.js +0 -15
  366. package/dist/es2015/src/services/dateApi.interface.js +0 -316
  367. package/dist/es2015/src/services/datePositionParser.interface.js +0 -56
  368. package/dist/es2015/src/services/datePositionParser.service.js +0 -297
  369. package/dist/es2015/src/services/dateTimeRelativeParser.service.js +0 -97
  370. package/dist/es2015/src/services/dateValueProvider.service.js +0 -79
  371. package/dist/es2015/src/services/formatProvider.interface.js +0 -28
  372. package/dist/es2015/src/services/index.js +0 -9
  373. package/dist/es5/datetime.js +0 -10
  374. package/dist/es5/public_api.js +0 -7
  375. package/dist/es5/src/datetime.js +0 -24
  376. package/dist/es5/src/misc/constants.js +0 -46
  377. package/dist/es5/src/misc/datetime.interface.js +0 -52
  378. package/dist/es5/src/misc/tokens.js +0 -29
  379. package/dist/es5/src/misc/validators.js +0 -124
  380. package/dist/es5/src/modules/datePipes.module.js +0 -30
  381. package/dist/es5/src/picker/components/dayPicker/dayPicker.component.js +0 -323
  382. package/dist/es5/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  383. package/dist/es5/src/picker/components/monthPicker/monthPicker.component.js +0 -233
  384. package/dist/es5/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  385. package/dist/es5/src/picker/components/picker/picker.component.animations.js +0 -77
  386. package/dist/es5/src/picker/components/picker/picker.component.js +0 -460
  387. package/dist/es5/src/picker/components/pickerBase.component.js +0 -561
  388. package/dist/es5/src/picker/components/yearPicker/yearPicker.component.js +0 -253
  389. package/dist/es5/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  390. package/dist/es5/src/picker/interfaces.js +0 -10
  391. package/dist/es5/src/picker/misc/datetimePicker.interface.js +0 -245
  392. package/dist/es5/src/picker/misc/tokens.js +0 -12
  393. package/dist/es5/src/picker/modules/picker.module.js +0 -39
  394. package/dist/es5/src/picker/types.js +0 -13
  395. package/dist/es5/src/pipes/dateConvert.pipe.js +0 -63
  396. package/dist/es5/src/pipes/dateFormat.pipe.js +0 -79
  397. package/dist/es5/src/selector/components/inputDateTime/inputDateTime.component.js +0 -808
  398. package/dist/es5/src/selector/components/selector/selector.component.animations.js +0 -21
  399. package/dist/es5/src/selector/components/selector/selector.component.js +0 -653
  400. package/dist/es5/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -656
  401. package/dist/es5/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -84
  402. package/dist/es5/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -84
  403. package/dist/es5/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -82
  404. package/dist/es5/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -230
  405. package/dist/es5/src/selector/interfaces.js +0 -7
  406. package/dist/es5/src/selector/misc/datetimeSelector.interface.js +0 -106
  407. package/dist/es5/src/selector/misc/tokens.js +0 -12
  408. package/dist/es5/src/selector/modules/basicSelector.module.js +0 -24
  409. package/dist/es5/src/selector/modules/selector.module.js +0 -49
  410. package/dist/es5/src/selector/types.js +0 -15
  411. package/dist/es5/src/services/dateApi.interface.js +0 -316
  412. package/dist/es5/src/services/datePositionParser.interface.js +0 -56
  413. package/dist/es5/src/services/datePositionParser.service.js +0 -366
  414. package/dist/es5/src/services/dateTimeRelativeParser.service.js +0 -108
  415. package/dist/es5/src/services/dateValueProvider.service.js +0 -92
  416. package/dist/es5/src/services/formatProvider.interface.js +0 -28
  417. package/dist/es5/src/services/index.js +0 -9
  418. package/moment/dist/es2015/moment/index.js +0 -10
  419. package/moment/dist/es2015/moment/public_api.js +0 -7
  420. package/moment/dist/es2015/moment/src/misc/tokens.js +0 -26
  421. package/moment/dist/es2015/moment/src/moment.js +0 -8
  422. package/moment/dist/es2015/moment/src/services/momentDateApi.service.js +0 -466
  423. package/moment/dist/es5/moment/index.js +0 -10
  424. package/moment/dist/es5/moment/public_api.js +0 -7
  425. package/moment/dist/es5/moment/src/misc/tokens.js +0 -26
  426. package/moment/dist/es5/moment/src/moment.js +0 -8
  427. package/moment/dist/es5/moment/src/services/momentDateApi.service.js +0 -858
  428. package/moment/index.d.ts +0 -5
  429. package/moment/index.d.ts.map +0 -1
  430. package/moment/index.metadata.json +0 -1
  431. package/moment/public_api.d.ts +0 -2
  432. package/moment/public_api.d.ts.map +0 -1
  433. package/moment/src/moment.d.ts.map +0 -1
  434. package/moment/src/services/momentDateApi.service.ngfactory.d.ts.map +0 -1
  435. package/public_api.d.ts +0 -2
  436. package/public_api.d.ts.map +0 -1
  437. package/src/datetime.d.ts.map +0 -1
  438. package/src/modules/datePipes.module.ngfactory.d.ts.map +0 -1
  439. package/src/picker/components/dayPicker/dayPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  440. package/src/picker/components/dayPicker/dayPicker.component.ngfactory.d.ts.map +0 -1
  441. package/src/picker/components/monthPicker/monthPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  442. package/src/picker/components/monthPicker/monthPicker.component.ngfactory.d.ts.map +0 -1
  443. package/src/picker/components/picker/picker.component.ngfactory.d.ts.map +0 -1
  444. package/src/picker/components/yearPicker/yearPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  445. package/src/picker/components/yearPicker/yearPicker.component.ngfactory.d.ts.map +0 -1
  446. package/src/picker/modules/picker.module.ngfactory.d.ts.map +0 -1
  447. package/src/pipes/dateConvert.pipe.ngfactory.d.ts.map +0 -1
  448. package/src/pipes/dateFormat.pipe.ngfactory.d.ts.map +0 -1
  449. package/src/selector/components/inputDateTime/inputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  450. package/src/selector/components/inputDateTime/inputDateTime.component.ngfactory.d.ts.map +0 -1
  451. package/src/selector/components/selector/selector.component.css.shim.ngstyle.d.ts.map +0 -1
  452. package/src/selector/components/selector/selector.component.ngfactory.d.ts.map +0 -1
  453. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  454. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.ngfactory.d.ts.map +0 -1
  455. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.ngfactory.d.ts.map +0 -1
  456. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.ngfactory.d.ts.map +0 -1
  457. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.ngfactory.d.ts.map +0 -1
  458. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.ngfactory.d.ts.map +0 -1
  459. package/src/selector/modules/basicSelector.module.ngfactory.d.ts.map +0 -1
  460. package/src/selector/modules/selector.module.ngfactory.d.ts.map +0 -1
  461. package/src/services/datePositionParser.service.ngfactory.d.ts.map +0 -1
  462. package/src/services/dateTimeRelativeParser.service.ngfactory.d.ts.map +0 -1
  463. package/src/services/dateValueProvider.service.ngfactory.d.ts.map +0 -1
@@ -1,514 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: src/selector/components/selector/selector.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, ChangeDetectionStrategy, Input, Inject, Optional, ChangeDetectorRef } from '@angular/core';
7
- import { extend, isBlank, isString, nameof } from '@jscrpt/common';
8
- import { Subject, Subscription } from 'rxjs';
9
- import { DATE_API, FORMAT_PROVIDER } from '../../../misc/tokens';
10
- import { DateTimeDayPickerComponent } from '../../../picker/components/dayPicker/dayPicker.component';
11
- import { DateTimeMonthPickerComponent } from '../../../picker/components/monthPicker/monthPicker.component';
12
- import { DateTimeYearPickerComponent } from '../../../picker/components/yearPicker/yearPicker.component';
13
- import { DateValueProvider } from '../../../services/dateValueProvider.service';
14
- import { DATE_TIME_SELECTOR_CONFIGURATION } from '../../misc/tokens';
15
- import { InputDateTimeSelectorComponent } from '../inputDateTime/inputDateTime.component';
16
- import { enterLeaveAnimateChildTrigger } from './selector.component.animations';
17
- //TODO - add support for body absolute picker
18
- /**
19
- * Default configuration for selector
20
- * @type {?}
21
- */
22
- const defaultConfiguration = {
23
- selectorComponent: InputDateTimeSelectorComponent,
24
- pickerCloseOnValueSelect: false,
25
- pickerDisabled: false,
26
- defaultPeriod: 'day',
27
- pickerPeriodsDefinition: {
28
- "day": DateTimeDayPickerComponent,
29
- "month": DateTimeMonthPickerComponent,
30
- "year": DateTimeYearPickerComponent
31
- },
32
- cssClasses: {}
33
- };
34
- /**
35
- * Component used for displaying and selecting date time
36
- * @template TDate
37
- */
38
- export class DateTimeSelectorComponent {
39
- //######################### constructor #########################
40
- /**
41
- * @param {?} configuration
42
- * @param {?} _valueProvider
43
- * @param {?} _changeDetector
44
- * @param {?} _dateApi
45
- * @param {?} formatProvider
46
- */
47
- constructor(configuration, _valueProvider, _changeDetector, _dateApi, formatProvider) {
48
- this._valueProvider = _valueProvider;
49
- this._changeDetector = _changeDetector;
50
- this._dateApi = _dateApi;
51
- //######################### protected fields #########################
52
- /**
53
- * Current value of datetime
54
- */
55
- this._value = null;
56
- /**
57
- * Occurs when selector is touched by user
58
- */
59
- this._touched = new Subject();
60
- /**
61
- * Occurs when value changes
62
- */
63
- this._valueChange = new Subject();
64
- /**
65
- * Indication whether is control disabled
66
- */
67
- this._disabled = false;
68
- /**
69
- * All subscriptions for active selector
70
- */
71
- this._activeSelectorSubscriptions = new Subscription();
72
- /**
73
- * Subscription for changes of min value selector
74
- */
75
- this._minValueChangeSubscription = null;
76
- /**
77
- * Subscription for changes of max value selector
78
- */
79
- this._maxValueChangeSubscription = null;
80
- /**
81
- * Indication whether is picker visible or not
82
- * \@internal
83
- */
84
- this.pickerVisible = false;
85
- /**
86
- * Gets or sets minimal possible value for picker, that can be picked
87
- */
88
- this.min = null;
89
- /**
90
- * Gets or sets maximal possible value for picker, that can be picked
91
- */
92
- this.max = null;
93
- this.format = formatProvider.date;
94
- this._options = extend(true, {}, defaultConfiguration, configuration);
95
- // without deep-copy for this attribute
96
- if (configuration === null || configuration === void 0 ? void 0 : configuration.pickerPeriodsDefinition) {
97
- this._options.pickerPeriodsDefinition = configuration.pickerPeriodsDefinition;
98
- }
99
- }
100
- //######################### public properties #########################
101
- /**
102
- * Gets or sets current value of datetime
103
- * @return {?}
104
- */
105
- get value() {
106
- return this._value;
107
- }
108
- /**
109
- * @param {?} value
110
- * @return {?}
111
- */
112
- set value(value) {
113
- var _a;
114
- this._value = value;
115
- (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.setValue(this._value);
116
- }
117
- /**
118
- * Gets indication whether is current value valid
119
- * @return {?}
120
- */
121
- get valid() {
122
- var _a, _b;
123
- return (_b = (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.valid) !== null && _b !== void 0 ? _b : true;
124
- }
125
- /**
126
- * Gets or sets formatted value
127
- * @return {?}
128
- */
129
- get formattedValue() {
130
- var _a, _b;
131
- return (_b = (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.formattedValue) !== null && _b !== void 0 ? _b : null;
132
- }
133
- /**
134
- * @param {?} value
135
- * @return {?}
136
- */
137
- set formattedValue(value) {
138
- if (value) {
139
- /** @type {?} */
140
- let val = this._dateApi.getValue(value, this.format);
141
- this.value = this._valueProvider.getValue(val.value, this.format);
142
- }
143
- else {
144
- this.value = null;
145
- }
146
- }
147
- /**
148
- * Occurs when selector is touched by user
149
- * @return {?}
150
- */
151
- get touched() {
152
- return this._touched.asObservable();
153
- }
154
- /**
155
- * Occurs when value changes
156
- * @return {?}
157
- */
158
- get valueChange() {
159
- return this._valueChange.asObservable();
160
- }
161
- /**
162
- * Gets or sets placeholder that is displayed when there is no value selected
163
- * @return {?}
164
- */
165
- get placeholder() {
166
- return this._placeholder;
167
- }
168
- /**
169
- * @param {?} value
170
- * @return {?}
171
- */
172
- set placeholder(value) {
173
- this._placeholder = value;
174
- if (this._activeSelector) {
175
- this._activeSelector.placeholder = this._placeholder;
176
- this._activeSelector.invalidateVisuals();
177
- }
178
- }
179
- /**
180
- * Current options used by selector
181
- * @return {?}
182
- */
183
- get options() {
184
- return this._options;
185
- }
186
- /**
187
- * @param {?} value
188
- * @return {?}
189
- */
190
- set options(value) {
191
- this._options = extend(true, this._options, value);
192
- // without deep-copy for this attribute
193
- if (value === null || value === void 0 ? void 0 : value.pickerPeriodsDefinition) {
194
- this._options.pickerPeriodsDefinition = value.pickerPeriodsDefinition;
195
- }
196
- }
197
- /**
198
- * Gets or sets minimal possible value for picker, that can be picked
199
- * @return {?}
200
- */
201
- get minValue() {
202
- return this.min;
203
- }
204
- /**
205
- * @param {?} value
206
- * @return {?}
207
- */
208
- set minValue(value) {
209
- var _a, _b;
210
- (_a = this._minValueChangeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
211
- this._minValueChangeSubscription = null;
212
- if (isBlank(value)) {
213
- this.min = null;
214
- }
215
- else if (isString(value)) {
216
- /** @type {?} */
217
- let date = this._dateApi.getValue(value);
218
- if (date.isValid()) {
219
- this.min = date.value;
220
- }
221
- }
222
- else if (value instanceof DateTimeSelectorComponent) {
223
- this.min = value.valueOf();
224
- this._minValueChangeSubscription = value.valueChange.subscribe((/**
225
- * @return {?}
226
- */
227
- () => {
228
- var _a;
229
- this.min = value.valueOf();
230
- (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.setMinValue(this.min);
231
- this._changeDetector.detectChanges();
232
- }));
233
- }
234
- else {
235
- this.min = value;
236
- }
237
- (_b = this._activeSelector) === null || _b === void 0 ? void 0 : _b.setMinValue(this.min);
238
- }
239
- /**
240
- * Gets or sets maximal possible value for picker, that can be picked
241
- * @return {?}
242
- */
243
- get maxValue() {
244
- return this.max;
245
- }
246
- /**
247
- * @param {?} value
248
- * @return {?}
249
- */
250
- set maxValue(value) {
251
- var _a, _b;
252
- (_a = this._maxValueChangeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
253
- this._maxValueChangeSubscription = null;
254
- if (isBlank(value)) {
255
- this.max = null;
256
- }
257
- else if (isString(value)) {
258
- /** @type {?} */
259
- let date = this._dateApi.getValue(value);
260
- if (date.isValid()) {
261
- this.max = date.value;
262
- }
263
- }
264
- else if (value instanceof DateTimeSelectorComponent) {
265
- this.max = value.valueOf();
266
- this._maxValueChangeSubscription = value.valueChange.subscribe((/**
267
- * @return {?}
268
- */
269
- () => {
270
- var _a;
271
- this.max = value.valueOf();
272
- (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.setMaxValue(this.max);
273
- this._changeDetector.detectChanges();
274
- }));
275
- }
276
- else {
277
- this.max = value;
278
- }
279
- (_b = this._activeSelector) === null || _b === void 0 ? void 0 : _b.setMaxValue(this.max);
280
- }
281
- //######################### public methods - implementation of OnInit #########################
282
- /**
283
- * Initialize component
284
- * @return {?}
285
- */
286
- ngOnInit() {
287
- this.activeSelectorComponent = this._options.selectorComponent;
288
- }
289
- //######################### public methods - implementation of OnChanges #########################
290
- /**
291
- * Called when input value changes
292
- * @param {?} changes
293
- * @return {?}
294
- */
295
- ngOnChanges(changes) {
296
- if (nameof('format') in changes && this._activeSelector) {
297
- this._activeSelector.format = this.format;
298
- this._activeSelector.invalidateVisuals();
299
- }
300
- }
301
- //######################### public methods - implementation of OnDestroy #########################
302
- /**
303
- * Called when component is destroyed
304
- * @return {?}
305
- */
306
- ngOnDestroy() {
307
- var _a, _b;
308
- this._activeSelectorSubscriptions.unsubscribe();
309
- (_a = this._minValueChangeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
310
- this._minValueChangeSubscription = null;
311
- (_b = this._maxValueChangeSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
312
- this._maxValueChangeSubscription = null;
313
- }
314
- //######################### public methods - template bindings #########################
315
- /**
316
- * Handles created or destroyed date time selector instance
317
- * \@internal
318
- * @param {?} selector - Instance of selector or null
319
- * @return {?}
320
- */
321
- selectorCreated(selector) {
322
- this._activeSelector = selector;
323
- this._activeSelectorSubscriptions.unsubscribe();
324
- this._activeSelectorSubscriptions = new Subscription();
325
- this._activeSelectorSubscriptions.add(selector.touched.subscribe((/**
326
- * @return {?}
327
- */
328
- () => this._touched.next())));
329
- this._activeSelectorSubscriptions.add(selector.pickerRequest.subscribe((/**
330
- * @param {?} visible
331
- * @return {?}
332
- */
333
- visible => this.pickerVisible = visible)));
334
- this._activeSelectorSubscriptions.add(selector.valueChange.subscribe((/**
335
- * @return {?}
336
- */
337
- () => {
338
- this._value = selector.value;
339
- this._valueChange.next();
340
- })));
341
- selector.format = this.format;
342
- selector.setMaxValue(this.max);
343
- selector.setMinValue(this.min);
344
- selector.setValue(this._value);
345
- selector.setDisabled(this._disabled);
346
- selector.placeholder = this._placeholder;
347
- selector.invalidateVisuals();
348
- }
349
- /**
350
- * Handles changed value by picker
351
- * \@intenral
352
- * @param {?} value - Value that was changed
353
- * @return {?}
354
- */
355
- pickerChangedValue(value) {
356
- var _a;
357
- (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.setValue(value);
358
- this._value = value;
359
- this._valueChange.next();
360
- if (this._options.pickerCloseOnValueSelect) {
361
- this.pickerVisible = false;
362
- }
363
- }
364
- //######################### public methods #########################
365
- /**
366
- * Sets as 'control' disabled
367
- * @param {?=} disabled - Indication whether sets value as disabled, if omitted it is same as disabled set to true
368
- * @return {?}
369
- */
370
- setDisabled(disabled = true) {
371
- var _a;
372
- this._disabled = disabled;
373
- (_a = this._activeSelector) === null || _a === void 0 ? void 0 : _a.setDisabled(disabled);
374
- }
375
- /**
376
- * Gets simple value of selector
377
- * @return {?}
378
- */
379
- valueOf() {
380
- if (!this._value) {
381
- return null;
382
- }
383
- return this._value.from;
384
- }
385
- }
386
- DateTimeSelectorComponent.decorators = [
387
- { type: Component, args: [{
388
- selector: 'date-time-selector',
389
- template: "<ng-template [ngComponentOutletEx]=\"activeSelectorComponent\" (ngComponentOutletExCreated)=\"selectorCreated($event)\"></ng-template>\r\n\r\n<ng-template [ngIf]=\"!options?.pickerDisabled && pickerVisible\">\r\n <date-time-picker [value]=\"value\"\r\n [minValue]=\"min\"\r\n [maxValue]=\"max\"\r\n [options]=\"options\"\r\n (valueChange)=\"pickerChangedValue($event)\"></date-time-picker>\r\n</ng-template>",
390
- animations: [enterLeaveAnimateChildTrigger],
391
- changeDetection: ChangeDetectionStrategy.OnPush,
392
- styles: [":host\r\n{\r\n display: block;\r\n position: relative;\r\n}\r\n\r\ndate-time-picker\r\n{\r\n position: absolute;\r\n top: 100%;\r\n}"]
393
- },] }
394
- ];
395
- /** @nocollapse */
396
- DateTimeSelectorComponent.ctorParameters = () => [
397
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATE_TIME_SELECTOR_CONFIGURATION,] }] },
398
- { type: DateValueProvider },
399
- { type: ChangeDetectorRef },
400
- { type: undefined, decorators: [{ type: Inject, args: [DATE_API,] }] },
401
- { type: undefined, decorators: [{ type: Inject, args: [FORMAT_PROVIDER,] }] }
402
- ];
403
- DateTimeSelectorComponent.propDecorators = {
404
- format: [{ type: Input }],
405
- placeholder: [{ type: Input }],
406
- options: [{ type: Input }],
407
- minValue: [{ type: Input }],
408
- maxValue: [{ type: Input }]
409
- };
410
- if (false) {
411
- /**
412
- * Current value of datetime
413
- * @type {?}
414
- * @protected
415
- */
416
- DateTimeSelectorComponent.prototype._value;
417
- /**
418
- * Occurs when selector is touched by user
419
- * @type {?}
420
- * @protected
421
- */
422
- DateTimeSelectorComponent.prototype._touched;
423
- /**
424
- * Occurs when value changes
425
- * @type {?}
426
- * @protected
427
- */
428
- DateTimeSelectorComponent.prototype._valueChange;
429
- /**
430
- * Indication whether is control disabled
431
- * @type {?}
432
- * @protected
433
- */
434
- DateTimeSelectorComponent.prototype._disabled;
435
- /**
436
- * Instance of active date time selector
437
- * @type {?}
438
- * @protected
439
- */
440
- DateTimeSelectorComponent.prototype._activeSelector;
441
- /**
442
- * All subscriptions for active selector
443
- * @type {?}
444
- * @protected
445
- */
446
- DateTimeSelectorComponent.prototype._activeSelectorSubscriptions;
447
- /**
448
- * Subscription for changes of min value selector
449
- * @type {?}
450
- * @protected
451
- */
452
- DateTimeSelectorComponent.prototype._minValueChangeSubscription;
453
- /**
454
- * Subscription for changes of max value selector
455
- * @type {?}
456
- * @protected
457
- */
458
- DateTimeSelectorComponent.prototype._maxValueChangeSubscription;
459
- /**
460
- * Current options used by selector
461
- * @type {?}
462
- * @protected
463
- */
464
- DateTimeSelectorComponent.prototype._options;
465
- /**
466
- * Placeholder that is displayed when there is no value selected
467
- * @type {?}
468
- * @protected
469
- */
470
- DateTimeSelectorComponent.prototype._placeholder;
471
- /**
472
- * Currently active date time selector component type
473
- * \@internal
474
- * @type {?}
475
- */
476
- DateTimeSelectorComponent.prototype.activeSelectorComponent;
477
- /**
478
- * Indication whether is picker visible or not
479
- * \@internal
480
- * @type {?}
481
- */
482
- DateTimeSelectorComponent.prototype.pickerVisible;
483
- /**
484
- * Gets or sets minimal possible value for picker, that can be picked
485
- * @type {?}
486
- */
487
- DateTimeSelectorComponent.prototype.min;
488
- /**
489
- * Gets or sets maximal possible value for picker, that can be picked
490
- * @type {?}
491
- */
492
- DateTimeSelectorComponent.prototype.max;
493
- /**
494
- * Format of displayed
495
- * @type {?}
496
- */
497
- DateTimeSelectorComponent.prototype.format;
498
- /**
499
- * @type {?}
500
- * @protected
501
- */
502
- DateTimeSelectorComponent.prototype._valueProvider;
503
- /**
504
- * @type {?}
505
- * @protected
506
- */
507
- DateTimeSelectorComponent.prototype._changeDetector;
508
- /**
509
- * @type {?}
510
- * @protected
511
- */
512
- DateTimeSelectorComponent.prototype._dateApi;
513
- }
514
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NlbGVjdG9yL2NvbXBvbmVudHMvc2VsZWN0b3Ivc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUQsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBYSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxRQUFRLEVBQUUsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFFdkcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFOUUsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDeEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7OztNQU94RSxvQkFBb0IsR0FDMUI7SUFDSSxpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsd0JBQXdCLEVBQUUsS0FBSztJQUMvQixjQUFjLEVBQUUsS0FBSztJQUNyQixhQUFhLEVBQUUsS0FBSztJQUNwQix1QkFBdUIsRUFDdkI7UUFDSSxLQUFLLEVBQUUsMEJBQTBCO1FBQ2pDLE9BQU8sRUFBRSw0QkFBNEI7UUFDckMsTUFBTSxFQUFFLDJCQUEyQjtLQUN0QztJQUNELFVBQVUsRUFDVixFQUNDO0NBQ0o7Ozs7O0FBYUQsTUFBTSxPQUFPLHlCQUF5Qjs7Ozs7Ozs7O0lBcVJsQyxZQUFrRSxhQUErRCxFQUMzRyxjQUF3QyxFQUN4QyxlQUFrQyxFQUNoQixRQUF3QixFQUMzQixjQUE4QjtRQUg3QyxtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFDeEMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWdCOzs7OztRQWpSdEQsV0FBTSxHQUE4QixJQUFJLENBQUM7Ozs7UUFLekMsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDOzs7O1FBSzlDLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7Ozs7UUFLbEQsY0FBUyxHQUFZLEtBQUssQ0FBQzs7OztRQVUzQixpQ0FBNEIsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7OztRQUtoRSxnQ0FBMkIsR0FBc0IsSUFBSSxDQUFDOzs7O1FBS3RELGdDQUEyQixHQUFzQixJQUFJLENBQUM7Ozs7O1FBb0Z6RCxrQkFBYSxHQUFZLEtBQUssQ0FBQzs7OztRQUsvQixRQUFHLEdBQWUsSUFBSSxDQUFDOzs7O1FBS3ZCLFFBQUcsR0FBZSxJQUFJLENBQUM7UUFtSjFCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLHVDQUF1QztRQUN2QyxJQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSx1QkFBdUIsRUFDMUM7WUFDSSxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQTtTQUNoRjtJQUNMLENBQUM7Ozs7OztJQXZPRCxJQUFXLEtBQUs7UUFFWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFDRCxJQUFXLEtBQUssQ0FBQyxLQUFnQzs7UUFFN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtJQUNoRCxDQUFDOzs7OztJQUtELElBQVcsS0FBSzs7UUFFWixtQkFBTyxJQUFJLENBQUMsZUFBZSwwQ0FBRSxLQUFLLG1DQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDOzs7OztJQUtELElBQVcsY0FBYzs7UUFFckIsbUJBQU8sSUFBSSxDQUFDLGVBQWUsMENBQUUsY0FBYyxtQ0FBSSxJQUFJLENBQUM7SUFDeEQsQ0FBQzs7Ozs7SUFDRCxJQUFXLGNBQWMsQ0FBQyxLQUFrQjtRQUV4QyxJQUFHLEtBQUssRUFDUjs7Z0JBQ1EsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckU7YUFFRDtZQUNJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQzs7Ozs7SUFLRCxJQUFXLE9BQU87UUFFZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFLRCxJQUFXLFdBQVc7UUFFbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBcUNELElBQ1csV0FBVztRQUVsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQzs7Ozs7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUF1QjtRQUUxQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixJQUFHLElBQUksQ0FBQyxlQUFlLEVBQ3ZCO1lBQ0ksSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUVyRCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUM7SUFDTCxDQUFDOzs7OztJQUtELElBQ1csT0FBTztRQUVkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOzs7OztJQUNELElBQVcsT0FBTyxDQUFDLEtBQXVEO1FBRXRFLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELHVDQUF1QztRQUN2QyxJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSx1QkFBdUIsRUFDbEM7WUFDSSxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQTtTQUN4RTtJQUNMLENBQUM7Ozs7O0lBS0QsSUFDVyxRQUFRO1FBRWYsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBeUQ7O1FBRXpFLE1BQUEsSUFBSSxDQUFDLDJCQUEyQiwwQ0FBRSxXQUFXLEdBQUc7UUFDaEQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQztRQUV4QyxJQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDakI7WUFDSSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNuQjthQUNJLElBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUN2Qjs7Z0JBQ1EsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUV4QyxJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDakI7Z0JBQ0ksSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ3pCO1NBQ0o7YUFDSSxJQUFHLEtBQUssWUFBWSx5QkFBeUIsRUFDbEQ7WUFDSSxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUUzQixJQUFJLENBQUMsMkJBQTJCLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTOzs7WUFBQyxHQUFHLEVBQUU7O2dCQUVoRSxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0IsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFFNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxDQUFDLEVBQUMsQ0FBQztTQUNOO2FBRUQ7WUFDSSxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztTQUNwQjtRQUVELE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDaEQsQ0FBQzs7Ozs7SUFLRCxJQUNXLFFBQVE7UUFFZixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUF5RDs7UUFFekUsTUFBQSxJQUFJLENBQUMsMkJBQTJCLDBDQUFFLFdBQVcsR0FBRztRQUNoRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1FBRXhDLElBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUNqQjtZQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ25CO2FBQ0ksSUFBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQ3ZCOztnQkFDUSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBRXhDLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNqQjtnQkFDSSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDekI7U0FDSjthQUNJLElBQUcsS0FBSyxZQUFZLHlCQUF5QixFQUNsRDtZQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRTNCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVM7OztZQUFDLEdBQUcsRUFBRTs7Z0JBRWhFLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUU1QyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLENBQUMsRUFBQyxDQUFDO1NBQ047YUFFRDtZQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO1FBRUQsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNoRCxDQUFDOzs7Ozs7SUF1Qk0sUUFBUTtRQUVYLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO0lBQ25FLENBQUM7Ozs7Ozs7SUFPTSxXQUFXLENBQUMsT0FBc0I7UUFFckMsSUFBRyxNQUFNLENBQTRCLFFBQVEsQ0FBQyxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUNqRjtZQUNJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzVDO0lBQ0wsQ0FBQzs7Ozs7O0lBT00sV0FBVzs7UUFFZCxJQUFJLENBQUMsNEJBQTRCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFaEQsTUFBQSxJQUFJLENBQUMsMkJBQTJCLDBDQUFFLFdBQVcsR0FBRztRQUNoRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1FBRXhDLE1BQUEsSUFBSSxDQUFDLDJCQUEyQiwwQ0FBRSxXQUFXLEdBQUc7UUFDaEQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQztJQUM1QyxDQUFDOzs7Ozs7OztJQVNNLGVBQWUsQ0FBQyxRQUFpQztRQUVwRCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUVoQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTOzs7O1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFFakgsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUV0RSxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBRUosUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUV6QyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs7Ozs7O0lBT00sa0JBQWtCLENBQUMsS0FBMkI7O1FBRWpELE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXpCLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsRUFDekM7WUFDSSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM5QjtJQUNMLENBQUM7Ozs7Ozs7SUFRTSxXQUFXLENBQUMsV0FBb0IsSUFBSTs7UUFFdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxXQUFXLENBQUMsUUFBUSxFQUFFO0lBQ2hELENBQUM7Ozs7O0lBS00sT0FBTztRQUVWLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUNmO1lBQ0ksT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQzs7O1lBN1pKLFNBQVMsU0FDVjtnQkFDSSxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QiwwZkFBc0M7Z0JBRXRDLFVBQVUsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7Ozs7NENBc1JnQixRQUFRLFlBQUksTUFBTSxTQUFDLGdDQUFnQztZQTVUNUQsaUJBQWlCO1lBVitGLGlCQUFpQjs0Q0F5VXhILE1BQU0sU0FBQyxRQUFROzRDQUNmLE1BQU0sU0FBQyxlQUFlOzs7cUJBMUlsQyxLQUFLOzBCQU1MLEtBQUs7c0JBb0JMLEtBQUs7dUJBa0JMLEtBQUs7dUJBOENMLEtBQUs7Ozs7Ozs7O0lBbE9OLDJDQUFtRDs7Ozs7O0lBS25ELDZDQUF3RDs7Ozs7O0lBS3hELGlEQUE0RDs7Ozs7O0lBSzVELDhDQUFxQzs7Ozs7O0lBS3JDLG9EQUFvRDs7Ozs7O0lBS3BELGlFQUEwRTs7Ozs7O0lBSzFFLGdFQUFnRTs7Ozs7O0lBS2hFLGdFQUFnRTs7Ozs7O0lBS2hFLDZDQUFxRTs7Ozs7O0lBS3JFLGlEQUFnQzs7Ozs7O0lBb0VoQyw0REFBK0Q7Ozs7OztJQU0vRCxrREFBc0M7Ozs7O0lBS3RDLHdDQUE4Qjs7Ozs7SUFLOUIsd0NBQThCOzs7OztJQU85QiwyQ0FDc0I7Ozs7O0lBc0lWLG1EQUFrRDs7Ozs7SUFDbEQsb0RBQTRDOzs7OztJQUM1Qyw2Q0FBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBJbmplY3QsIE9wdGlvbmFsLCBUeXBlLCBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7ZXh0ZW5kLCBpc0JsYW5rLCBpc1N0cmluZywgbmFtZW9mfSBmcm9tICdAanNjcnB0L2NvbW1vbic7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7RGF0ZVRpbWVWYWx1ZX0gZnJvbSAnLi4vLi4vLi4vbWlzYy9kYXRldGltZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0RBVEVfQVBJLCBGT1JNQVRfUFJPVklERVJ9IGZyb20gJy4uLy4uLy4uL21pc2MvdG9rZW5zJztcclxuaW1wb3J0IHtEYXRlVGltZURheVBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGlja2VyL2NvbXBvbmVudHMvZGF5UGlja2VyL2RheVBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0RhdGVUaW1lTW9udGhQaWNrZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3BpY2tlci9jb21wb25lbnRzL21vbnRoUGlja2VyL21vbnRoUGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGF0ZVRpbWVZZWFyUGlja2VyQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9waWNrZXIvY29tcG9uZW50cy95ZWFyUGlja2VyL3llYXJQaWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtEYXRlQXBpLCBGb3JtYXRQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge0RhdGVWYWx1ZVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kYXRlVmFsdWVQcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtEYXRlVGltZVNlbGVjdG9yLCBEYXRlVGltZVNlbGVjdG9yT3B0aW9uc30gZnJvbSAnLi4vLi4vbWlzYy9kYXRldGltZVNlbGVjdG9yLmludGVyZmFjZSc7XHJcbmltcG9ydCB7REFURV9USU1FX1NFTEVDVE9SX0NPTkZJR1VSQVRJT059IGZyb20gJy4uLy4uL21pc2MvdG9rZW5zJztcclxuaW1wb3J0IHtJbnB1dERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnR9IGZyb20gJy4uL2lucHV0RGF0ZVRpbWUvaW5wdXREYXRlVGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge2VudGVyTGVhdmVBbmltYXRlQ2hpbGRUcmlnZ2VyfSBmcm9tICcuL3NlbGVjdG9yLmNvbXBvbmVudC5hbmltYXRpb25zJztcclxuXHJcbi8vVE9ETyAtIGFkZCBzdXBwb3J0IGZvciBib2R5IGFic29sdXRlIHBpY2tlclxyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgY29uZmlndXJhdGlvbiBmb3Igc2VsZWN0b3JcclxuICovXHJcbmNvbnN0IGRlZmF1bHRDb25maWd1cmF0aW9uOiBEYXRlVGltZVNlbGVjdG9yT3B0aW9uczxEYXRlVGltZVNlbGVjdG9yPiA9XHJcbntcclxuICAgIHNlbGVjdG9yQ29tcG9uZW50OiBJbnB1dERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQsXHJcbiAgICBwaWNrZXJDbG9zZU9uVmFsdWVTZWxlY3Q6IGZhbHNlLFxyXG4gICAgcGlja2VyRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgZGVmYXVsdFBlcmlvZDogJ2RheScsXHJcbiAgICBwaWNrZXJQZXJpb2RzRGVmaW5pdGlvbjpcclxuICAgIHtcclxuICAgICAgICBcImRheVwiOiBEYXRlVGltZURheVBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICBcIm1vbnRoXCI6IERhdGVUaW1lTW9udGhQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgICAgXCJ5ZWFyXCI6IERhdGVUaW1lWWVhclBpY2tlckNvbXBvbmVudFxyXG4gICAgfSxcclxuICAgIGNzc0NsYXNzZXM6XHJcbiAgICB7XHJcbiAgICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHVzZWQgZm9yIGRpc3BsYXlpbmcgYW5kIHNlbGVjdGluZyBkYXRlIHRpbWVcclxuICovXHJcbkBDb21wb25lbnQoXHJcbntcclxuICAgIHNlbGVjdG9yOiAnZGF0ZS10aW1lLXNlbGVjdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ3NlbGVjdG9yLmNvbXBvbmVudC5jc3MnXSxcclxuICAgIGFuaW1hdGlvbnM6IFtlbnRlckxlYXZlQW5pbWF0ZUNoaWxkVHJpZ2dlcl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVTZWxlY3RvckNvbXBvbmVudDxURGF0ZSA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyAsT25EZXN0cm95XHJcbntcclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwcm90ZWN0ZWQgZmllbGRzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnQgdmFsdWUgb2YgZGF0ZXRpbWVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF92YWx1ZTogRGF0ZVRpbWVWYWx1ZTxURGF0ZT58bnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiBzZWxlY3RvciBpcyB0b3VjaGVkIGJ5IHVzZXJcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF90b3VjaGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9jY3VycyB3aGVuIHZhbHVlIGNoYW5nZXNcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF92YWx1ZUNoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0aW9uIHdoZXRoZXIgaXMgY29udHJvbCBkaXNhYmxlZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnN0YW5jZSBvZiBhY3RpdmUgZGF0ZSB0aW1lIHNlbGVjdG9yXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfYWN0aXZlU2VsZWN0b3I/OiBEYXRlVGltZVNlbGVjdG9yPFREYXRlPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFsbCBzdWJzY3JpcHRpb25zIGZvciBhY3RpdmUgc2VsZWN0b3JcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9hY3RpdmVTZWxlY3RvclN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN1YnNjcmlwdGlvbiBmb3IgY2hhbmdlcyBvZiBtaW4gdmFsdWUgc2VsZWN0b3JcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9taW5WYWx1ZUNoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9ufG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3Vic2NyaXB0aW9uIGZvciBjaGFuZ2VzIG9mIG1heCB2YWx1ZSBzZWxlY3RvclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX21heFZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb258bnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDdXJyZW50IG9wdGlvbnMgdXNlZCBieSBzZWxlY3RvclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnM6IERhdGVUaW1lU2VsZWN0b3JPcHRpb25zPERhdGVUaW1lU2VsZWN0b3I8VERhdGU+PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBsYWNlaG9sZGVyIHRoYXQgaXMgZGlzcGxheWVkIHdoZW4gdGhlcmUgaXMgbm8gdmFsdWUgc2VsZWN0ZWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9wbGFjZWhvbGRlcj86IHN0cmluZztcclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIHByb3BlcnRpZXMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIGN1cnJlbnQgdmFsdWUgb2YgZGF0ZXRpbWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBEYXRlVGltZVZhbHVlPFREYXRlPnxudWxsXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogRGF0ZVRpbWVWYWx1ZTxURGF0ZT58bnVsbClcclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmVTZWxlY3Rvcj8uc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBpbmRpY2F0aW9uIHdoZXRoZXIgaXMgY3VycmVudCB2YWx1ZSB2YWxpZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlU2VsZWN0b3I/LnZhbGlkID8/IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgZm9ybWF0dGVkIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nfG51bGxcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlU2VsZWN0b3I/LmZvcm1hdHRlZFZhbHVlID8/IG51bGw7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGZvcm1hdHRlZFZhbHVlKHZhbHVlOiBzdHJpbmd8bnVsbClcclxuICAgIHtcclxuICAgICAgICBpZih2YWx1ZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSB0aGlzLl9kYXRlQXBpLmdldFZhbHVlKHZhbHVlLCB0aGlzLmZvcm1hdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZVByb3ZpZGVyLmdldFZhbHVlKHZhbC52YWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiBzZWxlY3RvciBpcyB0b3VjaGVkIGJ5IHVzZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0b3VjaGVkKCk6IE9ic2VydmFibGU8dm9pZD5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdG91Y2hlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9jY3VycyB3aGVuIHZhbHVlIGNoYW5nZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgcHJvcGVydGllcyAtIHRlbXBsYXRlIGJpbmRpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnRseSBhY3RpdmUgZGF0ZSB0aW1lIHNlbGVjdG9yIGNvbXBvbmVudCB0eXBlXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFjdGl2ZVNlbGVjdG9yQ29tcG9uZW50PzogVHlwZTxEYXRlVGltZVNlbGVjdG9yPFREYXRlPj47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0aW9uIHdoZXRoZXIgaXMgcGlja2VyIHZpc2libGUgb3Igbm90XHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBpY2tlclZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBtaW5pbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWluOiBURGF0ZXxudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBtYXhpbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWF4OiBURGF0ZXxudWxsID0gbnVsbDtcclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIHByb3BlcnRpZXMgLSBpbnB1dHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9ybWF0IG9mIGRpc3BsYXllZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZvcm1hdDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHBsYWNlaG9sZGVyIHRoYXQgaXMgZGlzcGxheWVkIHdoZW4gdGhlcmUgaXMgbm8gdmFsdWUgc2VsZWN0ZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nfHVuZGVmaW5lZFxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZ3x1bmRlZmluZWQpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYodGhpcy5fYWN0aXZlU2VsZWN0b3IpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVTZWxlY3Rvci5wbGFjZWhvbGRlciA9IHRoaXMuX3BsYWNlaG9sZGVyO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3IuaW52YWxpZGF0ZVZpc3VhbHMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDdXJyZW50IG9wdGlvbnMgdXNlZCBieSBzZWxlY3RvclxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBvcHRpb25zKCk6IERhdGVUaW1lU2VsZWN0b3JPcHRpb25zPERhdGVUaW1lU2VsZWN0b3I8VERhdGU+PlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBvcHRpb25zKHZhbHVlOiBEYXRlVGltZVNlbGVjdG9yT3B0aW9uczxEYXRlVGltZVNlbGVjdG9yPFREYXRlPj4pXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IGV4dGVuZCh0cnVlLCB0aGlzLl9vcHRpb25zLCB2YWx1ZSk7XHJcbiAgICAgICAgLy8gd2l0aG91dCBkZWVwLWNvcHkgZm9yIHRoaXMgYXR0cmlidXRlXHJcbiAgICAgICAgaWYgKHZhbHVlPy5waWNrZXJQZXJpb2RzRGVmaW5pdGlvbilcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMucGlja2VyUGVyaW9kc0RlZmluaXRpb24gPSB2YWx1ZS5waWNrZXJQZXJpb2RzRGVmaW5pdGlvblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBtaW5pbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBURGF0ZXxzdHJpbmd8bnVsbHxEYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50PFREYXRlPlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1pbjtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbWluVmFsdWUodmFsdWU6IFREYXRlfHN0cmluZ3xudWxsfERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQ8VERhdGU+KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX21pblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX21pblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYoaXNCbGFuayh2YWx1ZSkpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLm1pbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoaXNTdHJpbmcodmFsdWUpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbGV0IGRhdGUgPSB0aGlzLl9kYXRlQXBpLmdldFZhbHVlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIGlmKGRhdGUuaXNWYWxpZCgpKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1pbiA9IGRhdGUudmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih2YWx1ZSBpbnN0YW5jZW9mIERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLm1pbiA9IHZhbHVlLnZhbHVlT2YoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX21pblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uID0gdmFsdWUudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWluID0gdmFsdWUudmFsdWVPZigpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3I/LnNldE1pblZhbHVlKHRoaXMubWluKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLm1pbiA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3I/LnNldE1pblZhbHVlKHRoaXMubWluKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBtYXhpbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBURGF0ZXxzdHJpbmd8bnVsbHxEYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50PFREYXRlPlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1heDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbWF4VmFsdWUodmFsdWU6IFREYXRlfHN0cmluZ3xudWxsfERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQ8VERhdGU+KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX21heFZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX21heFZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYoaXNCbGFuayh2YWx1ZSkpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLm1heCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoaXNTdHJpbmcodmFsdWUpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbGV0IGRhdGUgPSB0aGlzLl9kYXRlQXBpLmdldFZhbHVlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIGlmKGRhdGUuaXNWYWxpZCgpKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1heCA9IGRhdGUudmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih2YWx1ZSBpbnN0YW5jZW9mIERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLm1heCA9IHZhbHVlLnZhbHVlT2YoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX21heFZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uID0gdmFsdWUudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWF4ID0gdmFsdWUudmFsdWVPZigpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3I/LnNldE1heFZhbHVlKHRoaXMubWF4KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLm1heCA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3I/LnNldE1heFZhbHVlKHRoaXMubWF4KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgY29uc3RydWN0b3IgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChEQVRFX1RJTUVfU0VMRUNUT1JfQ09ORklHVVJBVElPTikgY29uZmlndXJhdGlvbjogRGF0ZVRpbWVTZWxlY3Rvck9wdGlvbnM8RGF0ZVRpbWVTZWxlY3RvcjxURGF0ZT4+LFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF92YWx1ZVByb3ZpZGVyOiBEYXRlVmFsdWVQcm92aWRlcjxURGF0ZT4sXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICAgIEBJbmplY3QoREFURV9BUEkpIHByb3RlY3RlZCBfZGF0ZUFwaTogRGF0ZUFwaTxURGF0ZT4sXHJcbiAgICAgICAgICAgICAgICBASW5qZWN0KEZPUk1BVF9QUk9WSURFUikgZm9ybWF0UHJvdmlkZXI6IEZvcm1hdFByb3ZpZGVyKVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuZm9ybWF0ID0gZm9ybWF0UHJvdmlkZXIuZGF0ZTtcclxuICAgICAgICB0aGlzLl9vcHRpb25zID0gZXh0ZW5kKHRydWUsIHt9LCBkZWZhdWx0Q29uZmlndXJhdGlvbiwgY29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgLy8gd2l0aG91dCBkZWVwLWNvcHkgZm9yIHRoaXMgYXR0cmlidXRlXHJcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24/LnBpY2tlclBlcmlvZHNEZWZpbml0aW9uKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucy5waWNrZXJQZXJpb2RzRGVmaW5pdGlvbiA9IGNvbmZpZ3VyYXRpb24ucGlja2VyUGVyaW9kc0RlZmluaXRpb25cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBtZXRob2RzIC0gaW1wbGVtZW50YXRpb24gb2YgT25Jbml0ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemUgY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVTZWxlY3RvckNvbXBvbmVudCA9IHRoaXMuX29wdGlvbnMuc2VsZWN0b3JDb21wb25lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBtZXRob2RzIC0gaW1wbGVtZW50YXRpb24gb2YgT25DaGFuZ2VzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxlZCB3aGVuIGlucHV0IHZhbHVlIGNoYW5nZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgaWYobmFtZW9mPERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQ+KCdmb3JtYXQnKSBpbiBjaGFuZ2VzICYmIHRoaXMuX2FjdGl2ZVNlbGVjdG9yKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3IuZm9ybWF0ID0gdGhpcy5mb3JtYXQ7XHJcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVNlbGVjdG9yLmludmFsaWRhdGVWaXN1YWxzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAtIGltcGxlbWVudGF0aW9uIG9mIE9uRGVzdHJveSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsZWQgd2hlbiBjb21wb25lbnQgaXMgZGVzdHJveWVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3JTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX21pblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX21pblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuXHJcbiAgICAgICAgdGhpcy5fbWF4VmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5fbWF4VmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAtIHRlbXBsYXRlIGJpbmRpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMgY3JlYXRlZCBvciBkZXN0cm95ZWQgZGF0ZSB0aW1lIHNlbGVjdG9yIGluc3RhbmNlXHJcbiAgICAgKiBAcGFyYW0gc2VsZWN0b3IgLSBJbnN0YW5jZSBvZiBzZWxlY3RvciBvciBudWxsXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlbGVjdG9yQ3JlYXRlZChzZWxlY3RvcjogRGF0ZVRpbWVTZWxlY3RvcjxURGF0ZT4pXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3IgPSBzZWxlY3RvcjtcclxuXHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3JTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3JTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmVTZWxlY3RvclN1YnNjcmlwdGlvbnMuYWRkKHNlbGVjdG9yLnRvdWNoZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3RvdWNoZWQubmV4dCgpKSk7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3JTdWJzY3JpcHRpb25zLmFkZChzZWxlY3Rvci5waWNrZXJSZXF1ZXN0LnN1YnNjcmliZSh2aXNpYmxlID0+IHRoaXMucGlja2VyVmlzaWJsZSA9IHZpc2libGUpKTtcclxuXHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3JTdWJzY3JpcHRpb25zLmFkZChzZWxlY3Rvci52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gc2VsZWN0b3IudmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlLm5leHQoKTtcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHNlbGVjdG9yLmZvcm1hdCA9IHRoaXMuZm9ybWF0O1xyXG4gICAgICAgIHNlbGVjdG9yLnNldE1heFZhbHVlKHRoaXMubWF4KTtcclxuICAgICAgICBzZWxlY3Rvci5zZXRNaW5WYWx1ZSh0aGlzLm1pbik7XHJcbiAgICAgICAgc2VsZWN0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIHNlbGVjdG9yLnNldERpc2FibGVkKHRoaXMuX2Rpc2FibGVkKTtcclxuICAgICAgICBzZWxlY3Rvci5wbGFjZWhvbGRlciA9IHRoaXMuX3BsYWNlaG9sZGVyO1xyXG5cclxuICAgICAgICBzZWxlY3Rvci5pbnZhbGlkYXRlVmlzdWFscygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBjaGFuZ2VkIHZhbHVlIGJ5IHBpY2tlclxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdGhhdCB3YXMgY2hhbmdlZFxyXG4gICAgICogQGludGVucmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwaWNrZXJDaGFuZ2VkVmFsdWUodmFsdWU6IERhdGVUaW1lVmFsdWU8VERhdGU+KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVNlbGVjdG9yPy5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZS5uZXh0KCk7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX29wdGlvbnMucGlja2VyQ2xvc2VPblZhbHVlU2VsZWN0KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5waWNrZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIGFzICdjb250cm9sJyBkaXNhYmxlZFxyXG4gICAgICogQHBhcmFtIGRpc2FibGVkIC0gSW5kaWNhdGlvbiB3aGV0aGVyIHNldHMgdmFsdWUgYXMgZGlzYWJsZWQsIGlmIG9taXR0ZWQgaXQgaXMgc2FtZSBhcyBkaXNhYmxlZCBzZXQgdG8gdHJ1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZFxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlU2VsZWN0b3I/LnNldERpc2FibGVkKGRpc2FibGVkKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgc2ltcGxlIHZhbHVlIG9mIHNlbGVjdG9yXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB2YWx1ZU9mKCk6IFREYXRlfG51bGxcclxuICAgIHtcclxuICAgICAgICBpZighdGhpcy5fdmFsdWUpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5mcm9tO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==