ngx-bootstrap 18.1.3 → 19.0.0

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 (438) hide show
  1. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +13 -14
  2. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
  3. package/alert/fesm2022/ngx-bootstrap-alert.mjs +10 -10
  4. package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
  5. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +13 -13
  6. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
  7. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +13 -13
  8. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
  9. package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -1
  10. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +7 -8
  11. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
  12. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +3 -3
  13. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
  14. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +85 -86
  15. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
  16. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +22 -25
  17. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
  18. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +19 -19
  19. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
  20. package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -1
  21. package/modal/fesm2022/ngx-bootstrap-modal.mjs +22 -24
  22. package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
  23. package/package.json +1 -3
  24. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +13 -13
  25. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
  26. package/popover/fesm2022/ngx-bootstrap-popover.mjs +13 -13
  27. package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
  28. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs +3 -3
  29. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -1
  30. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +13 -13
  31. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
  32. package/rating/fesm2022/ngx-bootstrap-rating.mjs +10 -10
  33. package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
  34. package/schematics/ng-add/index.js +2 -3
  35. package/schematics/ng-add/index.js.map +1 -1
  36. package/schematics/utils/addStyles.js +1 -2
  37. package/schematics/utils/addStyles.js.map +1 -1
  38. package/schematics/utils/current_dependency_versions.json +1 -1
  39. package/schematics/utils/getVersions.js +2 -3
  40. package/schematics/utils/getVersions.js.map +1 -1
  41. package/schematics/utils/index.js +6 -7
  42. package/schematics/utils/index.js.map +1 -1
  43. package/schematics/utils/ng-module-imports.js +1 -2
  44. package/schematics/utils/ng-module-imports.js.map +1 -1
  45. package/schematics/utils/project-main-file.js +1 -2
  46. package/schematics/utils/project-main-file.js.map +1 -1
  47. package/schematics/utils/project-targets.js +1 -2
  48. package/schematics/utils/project-targets.js.map +1 -1
  49. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +12 -14
  50. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
  51. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +19 -19
  52. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
  53. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +16 -16
  54. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
  55. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +13 -13
  56. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
  57. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +13 -14
  58. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
  59. package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
  60. package/accordion/esm2022/accordion-group.component.mjs +0 -85
  61. package/accordion/esm2022/accordion.component.mjs +0 -57
  62. package/accordion/esm2022/accordion.config.mjs +0 -22
  63. package/accordion/esm2022/accordion.module.mjs +0 -24
  64. package/accordion/esm2022/index.mjs +0 -2
  65. package/accordion/esm2022/ngx-bootstrap-accordion.mjs +0 -5
  66. package/accordion/esm2022/public_api.mjs +0 -5
  67. package/alert/esm2022/alert.component.mjs +0 -77
  68. package/alert/esm2022/alert.config.mjs +0 -21
  69. package/alert/esm2022/alert.module.mjs +0 -23
  70. package/alert/esm2022/index.mjs +0 -2
  71. package/alert/esm2022/ngx-bootstrap-alert.mjs +0 -5
  72. package/alert/esm2022/public_api.mjs +0 -4
  73. package/buttons/esm2022/button-checkbox.directive.mjs +0 -88
  74. package/buttons/esm2022/button-radio-group.directive.mjs +0 -158
  75. package/buttons/esm2022/button-radio.directive.mjs +0 -189
  76. package/buttons/esm2022/buttons.module.mjs +0 -25
  77. package/buttons/esm2022/index.mjs +0 -2
  78. package/buttons/esm2022/ngx-bootstrap-buttons.mjs +0 -5
  79. package/buttons/esm2022/public_api.mjs +0 -5
  80. package/carousel/esm2022/carousel.component.mjs +0 -712
  81. package/carousel/esm2022/carousel.config.mjs +0 -32
  82. package/carousel/esm2022/carousel.module.mjs +0 -24
  83. package/carousel/esm2022/index.mjs +0 -2
  84. package/carousel/esm2022/models/index.mjs +0 -2
  85. package/carousel/esm2022/ngx-bootstrap-carousel.mjs +0 -5
  86. package/carousel/esm2022/public_api.mjs +0 -5
  87. package/carousel/esm2022/slide.component.mjs +0 -65
  88. package/carousel/esm2022/utils.mjs +0 -32
  89. package/chronos/esm2022/create/check-overflow.mjs +0 -30
  90. package/chronos/esm2022/create/clone.mjs +0 -6
  91. package/chronos/esm2022/create/date-from-array.mjs +0 -19
  92. package/chronos/esm2022/create/from-anything.mjs +0 -106
  93. package/chronos/esm2022/create/from-array.mjs +0 -135
  94. package/chronos/esm2022/create/from-object.mjs +0 -17
  95. package/chronos/esm2022/create/from-string-and-array.mjs +0 -38
  96. package/chronos/esm2022/create/from-string-and-format.mjs +0 -106
  97. package/chronos/esm2022/create/from-string.mjs +0 -222
  98. package/chronos/esm2022/create/local.mjs +0 -16
  99. package/chronos/esm2022/create/parsing-flags.mjs +0 -26
  100. package/chronos/esm2022/create/parsing.types.mjs +0 -2
  101. package/chronos/esm2022/create/valid.mjs +0 -42
  102. package/chronos/esm2022/duration/bubble.mjs +0 -47
  103. package/chronos/esm2022/duration/constructor.mjs +0 -130
  104. package/chronos/esm2022/duration/create.mjs +0 -112
  105. package/chronos/esm2022/duration/humanize.mjs +0 -79
  106. package/chronos/esm2022/duration/valid.mjs +0 -43
  107. package/chronos/esm2022/format/format.mjs +0 -50
  108. package/chronos/esm2022/format.mjs +0 -46
  109. package/chronos/esm2022/i18n/ar.mjs +0 -132
  110. package/chronos/esm2022/i18n/bg.mjs +0 -90
  111. package/chronos/esm2022/i18n/ca.mjs +0 -87
  112. package/chronos/esm2022/i18n/cs.mjs +0 -175
  113. package/chronos/esm2022/i18n/da.mjs +0 -49
  114. package/chronos/esm2022/i18n/de.mjs +0 -67
  115. package/chronos/esm2022/i18n/en-gb.mjs +0 -57
  116. package/chronos/esm2022/i18n/es-do.mjs +0 -81
  117. package/chronos/esm2022/i18n/es-pr.mjs +0 -74
  118. package/chronos/esm2022/i18n/es-us.mjs +0 -75
  119. package/chronos/esm2022/i18n/es.mjs +0 -80
  120. package/chronos/esm2022/i18n/et.mjs +0 -69
  121. package/chronos/esm2022/i18n/fa.mjs +0 -130
  122. package/chronos/esm2022/i18n/fi.mjs +0 -96
  123. package/chronos/esm2022/i18n/fr-ca.mjs +0 -69
  124. package/chronos/esm2022/i18n/fr.mjs +0 -72
  125. package/chronos/esm2022/i18n/gl.mjs +0 -80
  126. package/chronos/esm2022/i18n/he.mjs +0 -94
  127. package/chronos/esm2022/i18n/hi.mjs +0 -119
  128. package/chronos/esm2022/i18n/hr.mjs +0 -58
  129. package/chronos/esm2022/i18n/hu.mjs +0 -100
  130. package/chronos/esm2022/i18n/id.mjs +0 -78
  131. package/chronos/esm2022/i18n/it.mjs +0 -61
  132. package/chronos/esm2022/i18n/ja.mjs +0 -71
  133. package/chronos/esm2022/i18n/ka.mjs +0 -83
  134. package/chronos/esm2022/i18n/kk.mjs +0 -76
  135. package/chronos/esm2022/i18n/ko.mjs +0 -72
  136. package/chronos/esm2022/i18n/lt.mjs +0 -112
  137. package/chronos/esm2022/i18n/lv.mjs +0 -52
  138. package/chronos/esm2022/i18n/mn.mjs +0 -94
  139. package/chronos/esm2022/i18n/nb.mjs +0 -53
  140. package/chronos/esm2022/i18n/nl-be.mjs +0 -77
  141. package/chronos/esm2022/i18n/nl.mjs +0 -76
  142. package/chronos/esm2022/i18n/pl.mjs +0 -122
  143. package/chronos/esm2022/i18n/pt-br.mjs +0 -52
  144. package/chronos/esm2022/i18n/ro.mjs +0 -66
  145. package/chronos/esm2022/i18n/ru.mjs +0 -177
  146. package/chronos/esm2022/i18n/sk.mjs +0 -153
  147. package/chronos/esm2022/i18n/sl.mjs +0 -179
  148. package/chronos/esm2022/i18n/sq.mjs +0 -50
  149. package/chronos/esm2022/i18n/sv.mjs +0 -59
  150. package/chronos/esm2022/i18n/th-be.mjs +0 -73
  151. package/chronos/esm2022/i18n/th.mjs +0 -58
  152. package/chronos/esm2022/i18n/tr.mjs +0 -78
  153. package/chronos/esm2022/i18n/uk.mjs +0 -143
  154. package/chronos/esm2022/i18n/vi.mjs +0 -70
  155. package/chronos/esm2022/i18n/zh-cn.mjs +0 -109
  156. package/chronos/esm2022/index.mjs +0 -2
  157. package/chronos/esm2022/locale/calendar.mjs +0 -9
  158. package/chronos/esm2022/locale/locale.class.mjs +0 -532
  159. package/chronos/esm2022/locale/locale.defaults.mjs +0 -40
  160. package/chronos/esm2022/locale/locales.mjs +0 -228
  161. package/chronos/esm2022/moment/add-subtract.mjs +0 -35
  162. package/chronos/esm2022/moment/calendar.mjs +0 -41
  163. package/chronos/esm2022/moment/diff.mjs +0 -70
  164. package/chronos/esm2022/moment/min-max.mjs +0 -38
  165. package/chronos/esm2022/ngx-bootstrap-chronos.mjs +0 -5
  166. package/chronos/esm2022/parse/regex.mjs +0 -47
  167. package/chronos/esm2022/parse/token.mjs +0 -31
  168. package/chronos/esm2022/public_api.mjs +0 -59
  169. package/chronos/esm2022/testing/chain.mjs +0 -708
  170. package/chronos/esm2022/types.mjs +0 -2
  171. package/chronos/esm2022/units/aliases.mjs +0 -35
  172. package/chronos/esm2022/units/constants.mjs +0 -11
  173. package/chronos/esm2022/units/day-of-month.mjs +0 -31
  174. package/chronos/esm2022/units/day-of-week.mjs +0 -129
  175. package/chronos/esm2022/units/day-of-year.mjs +0 -37
  176. package/chronos/esm2022/units/hour.mjs +0 -127
  177. package/chronos/esm2022/units/index.mjs +0 -19
  178. package/chronos/esm2022/units/millisecond.mjs +0 -59
  179. package/chronos/esm2022/units/minute.mjs +0 -23
  180. package/chronos/esm2022/units/month.mjs +0 -63
  181. package/chronos/esm2022/units/offset.mjs +0 -209
  182. package/chronos/esm2022/units/priorities.mjs +0 -21
  183. package/chronos/esm2022/units/quarter.mjs +0 -39
  184. package/chronos/esm2022/units/second.mjs +0 -23
  185. package/chronos/esm2022/units/timestamp.mjs +0 -28
  186. package/chronos/esm2022/units/timezone.mjs +0 -19
  187. package/chronos/esm2022/units/week-calendar-utils.mjs +0 -70
  188. package/chronos/esm2022/units/week-year.mjs +0 -101
  189. package/chronos/esm2022/units/week.mjs +0 -58
  190. package/chronos/esm2022/units/year.mjs +0 -60
  191. package/chronos/esm2022/utils/abs-ceil.mjs +0 -4
  192. package/chronos/esm2022/utils/abs-round.mjs +0 -4
  193. package/chronos/esm2022/utils/compare-arrays.mjs +0 -16
  194. package/chronos/esm2022/utils/date-compare.mjs +0 -55
  195. package/chronos/esm2022/utils/date-getters.mjs +0 -67
  196. package/chronos/esm2022/utils/date-setters.mjs +0 -75
  197. package/chronos/esm2022/utils/defaults.mjs +0 -11
  198. package/chronos/esm2022/utils/start-end-of.mjs +0 -57
  199. package/chronos/esm2022/utils/type-checks.mjs +0 -58
  200. package/chronos/esm2022/utils/zero-fill.mjs +0 -10
  201. package/chronos/esm2022/utils.mjs +0 -7
  202. package/collapse/esm2022/collapse-animations.mjs +0 -11
  203. package/collapse/esm2022/collapse.directive.mjs +0 -169
  204. package/collapse/esm2022/collapse.module.mjs +0 -23
  205. package/collapse/esm2022/index.mjs +0 -2
  206. package/collapse/esm2022/ngx-bootstrap-collapse.mjs +0 -5
  207. package/collapse/esm2022/public_api.mjs +0 -3
  208. package/component-loader/esm2022/bs-component-ref.class.mjs +0 -3
  209. package/component-loader/esm2022/component-loader.class.mjs +0 -292
  210. package/component-loader/esm2022/component-loader.factory.mjs +0 -35
  211. package/component-loader/esm2022/content-ref.class.mjs +0 -16
  212. package/component-loader/esm2022/index.mjs +0 -2
  213. package/component-loader/esm2022/listen-options.model.mjs +0 -2
  214. package/component-loader/esm2022/ngx-bootstrap-component-loader.mjs +0 -5
  215. package/component-loader/esm2022/public_api.mjs +0 -5
  216. package/datepicker/esm2022/base/bs-datepicker-container.mjs +0 -76
  217. package/datepicker/esm2022/bs-datepicker-inline.component.mjs +0 -163
  218. package/datepicker/esm2022/bs-datepicker-inline.config.mjs +0 -14
  219. package/datepicker/esm2022/bs-datepicker-input.directive.mjs +0 -172
  220. package/datepicker/esm2022/bs-datepicker.component.mjs +0 -307
  221. package/datepicker/esm2022/bs-datepicker.config.mjs +0 -101
  222. package/datepicker/esm2022/bs-datepicker.module.mjs +0 -105
  223. package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +0 -169
  224. package/datepicker/esm2022/bs-daterangepicker-inline.config.mjs +0 -21
  225. package/datepicker/esm2022/bs-daterangepicker-input.directive.mjs +0 -215
  226. package/datepicker/esm2022/bs-daterangepicker.component.mjs +0 -302
  227. package/datepicker/esm2022/bs-daterangepicker.config.mjs +0 -19
  228. package/datepicker/esm2022/bs-locale.service.mjs +0 -32
  229. package/datepicker/esm2022/datepicker-animations.mjs +0 -16
  230. package/datepicker/esm2022/engine/calc-days-calendar.mjs +0 -21
  231. package/datepicker/esm2022/engine/flag-days-calendar.mjs +0 -93
  232. package/datepicker/esm2022/engine/flag-months-calendar.mjs +0 -45
  233. package/datepicker/esm2022/engine/flag-years-calendar.mjs +0 -42
  234. package/datepicker/esm2022/engine/format-days-calendar.mjs +0 -33
  235. package/datepicker/esm2022/engine/format-months-calendar.mjs +0 -23
  236. package/datepicker/esm2022/engine/format-years-calendar.mjs +0 -39
  237. package/datepicker/esm2022/engine/view-mode.mjs +0 -4
  238. package/datepicker/esm2022/index.mjs +0 -2
  239. package/datepicker/esm2022/models/index.mjs +0 -9
  240. package/datepicker/esm2022/ngx-bootstrap-datepicker.mjs +0 -5
  241. package/datepicker/esm2022/public_api.mjs +0 -17
  242. package/datepicker/esm2022/reducer/_defaults.mjs +0 -6
  243. package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +0 -143
  244. package/datepicker/esm2022/reducer/bs-datepicker.effects.mjs +0 -182
  245. package/datepicker/esm2022/reducer/bs-datepicker.reducer.mjs +0 -378
  246. package/datepicker/esm2022/reducer/bs-datepicker.state.mjs +0 -18
  247. package/datepicker/esm2022/reducer/bs-datepicker.store.mjs +0 -22
  248. package/datepicker/esm2022/themes/bs/bs-calendar-layout.component.mjs +0 -49
  249. package/datepicker/esm2022/themes/bs/bs-current-date-view.component.mjs +0 -17
  250. package/datepicker/esm2022/themes/bs/bs-custom-dates-view.component.mjs +0 -55
  251. package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +0 -199
  252. package/datepicker/esm2022/themes/bs/bs-datepicker-day-decorator.directive.mjs +0 -48
  253. package/datepicker/esm2022/themes/bs/bs-datepicker-inline-container.component.mjs +0 -49
  254. package/datepicker/esm2022/themes/bs/bs-datepicker-navigation-view.component.mjs +0 -125
  255. package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +0 -275
  256. package/datepicker/esm2022/themes/bs/bs-daterangepicker-inline-container.component.mjs +0 -49
  257. package/datepicker/esm2022/themes/bs/bs-days-calendar-view.component.mjs +0 -233
  258. package/datepicker/esm2022/themes/bs/bs-months-calendar-view.component.mjs +0 -95
  259. package/datepicker/esm2022/themes/bs/bs-timepicker-view.component.mjs +0 -56
  260. package/datepicker/esm2022/themes/bs/bs-years-calendar-view.component.mjs +0 -96
  261. package/datepicker/esm2022/utils/bs-calendar-utils.mjs +0 -117
  262. package/datepicker/esm2022/utils/copy-time-utils.mjs +0 -10
  263. package/datepicker/esm2022/utils/matrix-utils.mjs +0 -14
  264. package/dropdown/esm2022/bs-dropdown-container.component.mjs +0 -81
  265. package/dropdown/esm2022/bs-dropdown-menu.directive.mjs +0 -23
  266. package/dropdown/esm2022/bs-dropdown-toggle.directive.mjs +0 -88
  267. package/dropdown/esm2022/bs-dropdown.config.mjs +0 -24
  268. package/dropdown/esm2022/bs-dropdown.directive.mjs +0 -343
  269. package/dropdown/esm2022/bs-dropdown.module.mjs +0 -40
  270. package/dropdown/esm2022/bs-dropdown.state.mjs +0 -25
  271. package/dropdown/esm2022/dropdown-animations.mjs +0 -7
  272. package/dropdown/esm2022/index.mjs +0 -2
  273. package/dropdown/esm2022/ngx-bootstrap-dropdown.mjs +0 -5
  274. package/dropdown/esm2022/public_api.mjs +0 -8
  275. package/esm2022/index.mjs +0 -2
  276. package/esm2022/ngx-bootstrap.mjs +0 -5
  277. package/focus-trap/esm2022/boolean-property.mjs +0 -12
  278. package/focus-trap/esm2022/focus-trap-manager.mjs +0 -54
  279. package/focus-trap/esm2022/focus-trap.mjs +0 -411
  280. package/focus-trap/esm2022/focus-trap.module.mjs +0 -24
  281. package/focus-trap/esm2022/index.mjs +0 -2
  282. package/focus-trap/esm2022/interactivity-checker.mjs +0 -241
  283. package/focus-trap/esm2022/ngx-bootstrap-focus-trap.mjs +0 -5
  284. package/focus-trap/esm2022/platform.mjs +0 -80
  285. package/focus-trap/esm2022/public_api.mjs +0 -4
  286. package/locale/esm2022/index.mjs +0 -2
  287. package/locale/esm2022/ngx-bootstrap-locale.mjs +0 -5
  288. package/locale/esm2022/public_api.mjs +0 -47
  289. package/mini-ngrx/esm2022/index.mjs +0 -2
  290. package/mini-ngrx/esm2022/ngx-bootstrap-mini-ngrx.mjs +0 -5
  291. package/mini-ngrx/esm2022/public_api.mjs +0 -3
  292. package/mini-ngrx/esm2022/state.class.mjs +0 -16
  293. package/mini-ngrx/esm2022/store.class.mjs +0 -42
  294. package/modal/esm2022/bs-modal-ref.service.mjs +0 -22
  295. package/modal/esm2022/bs-modal.service.mjs +0 -231
  296. package/modal/esm2022/index.mjs +0 -2
  297. package/modal/esm2022/modal-backdrop.component.mjs +0 -51
  298. package/modal/esm2022/modal-backdrop.options.mjs +0 -7
  299. package/modal/esm2022/modal-container.component.mjs +0 -156
  300. package/modal/esm2022/modal-options.class.mjs +0 -46
  301. package/modal/esm2022/modal.directive.mjs +0 -365
  302. package/modal/esm2022/modal.module.mjs +0 -44
  303. package/modal/esm2022/models/index.mjs +0 -2
  304. package/modal/esm2022/ngx-bootstrap-modal.mjs +0 -5
  305. package/modal/esm2022/public_api.mjs +0 -9
  306. package/pagination/esm2022/index.mjs +0 -2
  307. package/pagination/esm2022/models/index.mjs +0 -2
  308. package/pagination/esm2022/ngx-bootstrap-pagination.mjs +0 -5
  309. package/pagination/esm2022/pager.component.mjs +0 -256
  310. package/pagination/esm2022/pagination.component.mjs +0 -257
  311. package/pagination/esm2022/pagination.config.mjs +0 -35
  312. package/pagination/esm2022/pagination.module.mjs +0 -25
  313. package/pagination/esm2022/public_api.mjs +0 -5
  314. package/popover/esm2022/index.mjs +0 -2
  315. package/popover/esm2022/ngx-bootstrap-popover.mjs +0 -5
  316. package/popover/esm2022/popover-container.component.mjs +0 -45
  317. package/popover/esm2022/popover.config.mjs +0 -35
  318. package/popover/esm2022/popover.directive.mjs +0 -241
  319. package/popover/esm2022/popover.module.mjs +0 -25
  320. package/popover/esm2022/public_api.mjs +0 -5
  321. package/positioning/esm2022/index.mjs +0 -2
  322. package/positioning/esm2022/models/index.mjs +0 -53
  323. package/positioning/esm2022/modifiers/arrow.mjs +0 -56
  324. package/positioning/esm2022/modifiers/flip.mjs +0 -65
  325. package/positioning/esm2022/modifiers/index.mjs +0 -6
  326. package/positioning/esm2022/modifiers/initData.mjs +0 -44
  327. package/positioning/esm2022/modifiers/preventOverflow.mjs +0 -54
  328. package/positioning/esm2022/modifiers/shift.mjs +0 -24
  329. package/positioning/esm2022/ng-positioning.mjs +0 -39
  330. package/positioning/esm2022/ngx-bootstrap-positioning.mjs +0 -5
  331. package/positioning/esm2022/positioning.service.mjs +0 -71
  332. package/positioning/esm2022/public_api.mjs +0 -5
  333. package/positioning/esm2022/utils/checkMargin.mjs +0 -32
  334. package/positioning/esm2022/utils/computeAutoPlacement.mjs +0 -55
  335. package/positioning/esm2022/utils/findCommonOffsetParent.mjs +0 -40
  336. package/positioning/esm2022/utils/getBordersSize.mjs +0 -10
  337. package/positioning/esm2022/utils/getBoundaries.mjs +0 -70
  338. package/positioning/esm2022/utils/getBoundingClientRect.mjs +0 -56
  339. package/positioning/esm2022/utils/getClientRect.mjs +0 -8
  340. package/positioning/esm2022/utils/getFixedPositionOffsetParent.mjs +0 -16
  341. package/positioning/esm2022/utils/getOffsetParent.mjs +0 -33
  342. package/positioning/esm2022/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -50
  343. package/positioning/esm2022/utils/getOffsets.mjs +0 -11
  344. package/positioning/esm2022/utils/getOppositePlacement.mjs +0 -8
  345. package/positioning/esm2022/utils/getOppositeVariation.mjs +0 -13
  346. package/positioning/esm2022/utils/getOuterSizes.mjs +0 -12
  347. package/positioning/esm2022/utils/getParentNode.mjs +0 -12
  348. package/positioning/esm2022/utils/getReferenceOffsets.mjs +0 -13
  349. package/positioning/esm2022/utils/getRoot.mjs +0 -10
  350. package/positioning/esm2022/utils/getScroll.mjs +0 -14
  351. package/positioning/esm2022/utils/getScrollParent.mjs +0 -28
  352. package/positioning/esm2022/utils/getStyleComputedProperty.mjs +0 -12
  353. package/positioning/esm2022/utils/getTargetOffsets.mjs +0 -30
  354. package/positioning/esm2022/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -19
  355. package/positioning/esm2022/utils/getWindowSizes.mjs +0 -14
  356. package/positioning/esm2022/utils/index.mjs +0 -24
  357. package/positioning/esm2022/utils/isFixed.mjs +0 -16
  358. package/positioning/esm2022/utils/isModifierEnabled.mjs +0 -4
  359. package/positioning/esm2022/utils/isNumeric.mjs +0 -10
  360. package/positioning/esm2022/utils/isOffsetContainer.mjs +0 -11
  361. package/positioning/esm2022/utils/setStyles.mjs +0 -21
  362. package/positioning/esm2022/utils/updateContainerClass.mjs +0 -32
  363. package/progressbar/esm2022/bar.component.mjs +0 -72
  364. package/progressbar/esm2022/index.mjs +0 -2
  365. package/progressbar/esm2022/ngx-bootstrap-progressbar.mjs +0 -5
  366. package/progressbar/esm2022/progressbar-type.interface.mjs +0 -2
  367. package/progressbar/esm2022/progressbar.component.mjs +0 -53
  368. package/progressbar/esm2022/progressbar.config.mjs +0 -19
  369. package/progressbar/esm2022/progressbar.module.mjs +0 -24
  370. package/progressbar/esm2022/public_api.mjs +0 -5
  371. package/rating/esm2022/index.mjs +0 -2
  372. package/rating/esm2022/models/index.mjs +0 -2
  373. package/rating/esm2022/ngx-bootstrap-rating.mjs +0 -5
  374. package/rating/esm2022/public_api.mjs +0 -4
  375. package/rating/esm2022/rating.component.mjs +0 -121
  376. package/rating/esm2022/rating.config.mjs +0 -18
  377. package/rating/esm2022/rating.module.mjs +0 -23
  378. package/sortable/esm2022/draggable-item.mjs +0 -2
  379. package/sortable/esm2022/draggable-item.service.mjs +0 -36
  380. package/sortable/esm2022/index.mjs +0 -2
  381. package/sortable/esm2022/ngx-bootstrap-sortable.mjs +0 -5
  382. package/sortable/esm2022/public_api.mjs +0 -4
  383. package/sortable/esm2022/sortable.component.mjs +0 -270
  384. package/sortable/esm2022/sortable.module.mjs +0 -23
  385. package/tabs/esm2022/index.mjs +0 -2
  386. package/tabs/esm2022/ng-transclude.directive.mjs +0 -29
  387. package/tabs/esm2022/ngx-bootstrap-tabs.mjs +0 -5
  388. package/tabs/esm2022/public_api.mjs +0 -7
  389. package/tabs/esm2022/tab-heading.directive.mjs +0 -21
  390. package/tabs/esm2022/tab.directive.mjs +0 -118
  391. package/tabs/esm2022/tabs.module.mjs +0 -41
  392. package/tabs/esm2022/tabset.component.mjs +0 -216
  393. package/tabs/esm2022/tabset.config.mjs +0 -21
  394. package/timepicker/esm2022/index.mjs +0 -2
  395. package/timepicker/esm2022/models/index.mjs +0 -2
  396. package/timepicker/esm2022/ngx-bootstrap-timepicker.mjs +0 -5
  397. package/timepicker/esm2022/public_api.mjs +0 -6
  398. package/timepicker/esm2022/reducer/timepicker.actions.mjs +0 -53
  399. package/timepicker/esm2022/reducer/timepicker.reducer.mjs +0 -83
  400. package/timepicker/esm2022/reducer/timepicker.store.mjs +0 -21
  401. package/timepicker/esm2022/timepicker-controls.util.mjs +0 -123
  402. package/timepicker/esm2022/timepicker.component.mjs +0 -334
  403. package/timepicker/esm2022/timepicker.config.mjs +0 -54
  404. package/timepicker/esm2022/timepicker.models.mjs +0 -2
  405. package/timepicker/esm2022/timepicker.module.mjs +0 -23
  406. package/timepicker/esm2022/timepicker.utils.mjs +0 -152
  407. package/tooltip/esm2022/index.mjs +0 -2
  408. package/tooltip/esm2022/ngx-bootstrap-tooltip.mjs +0 -5
  409. package/tooltip/esm2022/public_api.mjs +0 -5
  410. package/tooltip/esm2022/tooltip-container.component.mjs +0 -48
  411. package/tooltip/esm2022/tooltip.config.mjs +0 -22
  412. package/tooltip/esm2022/tooltip.directive.mjs +0 -344
  413. package/tooltip/esm2022/tooltip.module.mjs +0 -25
  414. package/typeahead/esm2022/index.mjs +0 -2
  415. package/typeahead/esm2022/latin-map.mjs +0 -827
  416. package/typeahead/esm2022/models/index.mjs +0 -2
  417. package/typeahead/esm2022/ngx-bootstrap-typeahead.mjs +0 -5
  418. package/typeahead/esm2022/public_api.mjs +0 -9
  419. package/typeahead/esm2022/typeahead-animations.mjs +0 -16
  420. package/typeahead/esm2022/typeahead-container.component.mjs +0 -310
  421. package/typeahead/esm2022/typeahead-match.class.mjs +0 -15
  422. package/typeahead/esm2022/typeahead-options.class.mjs +0 -8
  423. package/typeahead/esm2022/typeahead-order.class.mjs +0 -2
  424. package/typeahead/esm2022/typeahead-utils.mjs +0 -77
  425. package/typeahead/esm2022/typeahead.config.mjs +0 -34
  426. package/typeahead/esm2022/typeahead.directive.mjs +0 -573
  427. package/typeahead/esm2022/typeahead.module.mjs +0 -25
  428. package/utils/esm2022/decorators.mjs +0 -23
  429. package/utils/esm2022/facade/browser.mjs +0 -26
  430. package/utils/esm2022/index.mjs +0 -2
  431. package/utils/esm2022/linked-list.class.mjs +0 -247
  432. package/utils/esm2022/ngx-bootstrap-utils.mjs +0 -5
  433. package/utils/esm2022/public_api.mjs +0 -10
  434. package/utils/esm2022/theme-provider.mjs +0 -48
  435. package/utils/esm2022/trigger.class.mjs +0 -14
  436. package/utils/esm2022/triggers.mjs +0 -120
  437. package/utils/esm2022/utils.class.mjs +0 -30
  438. package/utils/esm2022/warn-once.mjs +0 -11
@@ -1,125 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { BsNavigationDirection } from '../../models';
3
- import { NgIf } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- export class BsDatepickerNavigationViewComponent {
6
- constructor() {
7
- this.isDisabled = false;
8
- this.onNavigate = new EventEmitter();
9
- this.onViewMode = new EventEmitter();
10
- }
11
- navTo(down) {
12
- this.onNavigate.emit(down ? BsNavigationDirection.DOWN : BsNavigationDirection.UP);
13
- }
14
- view(viewMode) {
15
- if (this.isDisabled) {
16
- return;
17
- }
18
- this.onViewMode.emit(viewMode);
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDatepickerNavigationViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BsDatepickerNavigationViewComponent, isStandalone: true, selector: "bs-datepicker-navigation-view", inputs: { calendar: "calendar", isDisabled: "isDisabled" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode" }, ngImport: i0, template: `
22
- <button class="previous"
23
- [disabled]="calendar.disableLeftArrow"
24
- [style.visibility]="calendar.hideLeftArrow ? 'hidden' : 'visible'"
25
- type="button"
26
- (click)="navTo(true)">
27
- <span>&lsaquo;</span>
28
- </button>
29
-
30
- <ng-container *ngIf="calendar && calendar.monthTitle">
31
- &#8203; <!-- zero-width space needed for correct alignment
32
- with preserveWhitespaces: false in Angular -->
33
-
34
- <button class="current"
35
- type="button"
36
- (click)="view('month')"
37
- [disabled]="isDisabled"
38
- ><span>{{ calendar.monthTitle }}</span>
39
- </button>
40
- </ng-container>
41
-
42
- &#8203; <!-- zero-width space needed for correct alignment
43
- with preserveWhitespaces: false in Angular -->
44
-
45
- <button
46
- class="current"
47
- (click)="view('year')"
48
- type="button"
49
- [disabled]="isDisabled"
50
- >
51
- <span>{{ calendar.yearTitle }}</span>
52
- </button>
53
-
54
- &#8203; <!-- zero-width space needed for correct alignment
55
- with preserveWhitespaces: false in Angular -->
56
-
57
- <button class="next"
58
- [disabled]="calendar.disableRightArrow"
59
- [style.visibility]="calendar.hideRightArrow ? 'hidden' : 'visible'"
60
- type="button"
61
- (click)="navTo(false)"><span>&rsaquo;</span>
62
- </button>
63
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDatepickerNavigationViewComponent, decorators: [{
66
- type: Component,
67
- args: [{
68
- selector: 'bs-datepicker-navigation-view',
69
- changeDetection: ChangeDetectionStrategy.OnPush,
70
- template: `
71
- <button class="previous"
72
- [disabled]="calendar.disableLeftArrow"
73
- [style.visibility]="calendar.hideLeftArrow ? 'hidden' : 'visible'"
74
- type="button"
75
- (click)="navTo(true)">
76
- <span>&lsaquo;</span>
77
- </button>
78
-
79
- <ng-container *ngIf="calendar && calendar.monthTitle">
80
- &#8203; <!-- zero-width space needed for correct alignment
81
- with preserveWhitespaces: false in Angular -->
82
-
83
- <button class="current"
84
- type="button"
85
- (click)="view('month')"
86
- [disabled]="isDisabled"
87
- ><span>{{ calendar.monthTitle }}</span>
88
- </button>
89
- </ng-container>
90
-
91
- &#8203; <!-- zero-width space needed for correct alignment
92
- with preserveWhitespaces: false in Angular -->
93
-
94
- <button
95
- class="current"
96
- (click)="view('year')"
97
- type="button"
98
- [disabled]="isDisabled"
99
- >
100
- <span>{{ calendar.yearTitle }}</span>
101
- </button>
102
-
103
- &#8203; <!-- zero-width space needed for correct alignment
104
- with preserveWhitespaces: false in Angular -->
105
-
106
- <button class="next"
107
- [disabled]="calendar.disableRightArrow"
108
- [style.visibility]="calendar.hideRightArrow ? 'hidden' : 'visible'"
109
- type="button"
110
- (click)="navTo(false)"><span>&rsaquo;</span>
111
- </button>
112
- `,
113
- standalone: true,
114
- imports: [NgIf]
115
- }]
116
- }], propDecorators: { calendar: [{
117
- type: Input
118
- }], isDisabled: [{
119
- type: Input
120
- }], onNavigate: [{
121
- type: Output
122
- }], onViewMode: [{
123
- type: Output
124
- }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvdGhlbWVzL2JzL2JzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBd0IscUJBQXFCLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFtRHZDLE1BQU0sT0FBTyxtQ0FBbUM7SUFqRGhEO1FBbURXLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQ3ZELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztLQWVqRTtJQWJDLEtBQUssQ0FBQyxJQUFhO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxRQUE4QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBbkJVLG1DQUFtQztrR0FBbkMsbUNBQW1DLHNOQTlDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDWCw0REFFVyxJQUFJOzsyRkFFTCxtQ0FBbUM7a0JBakQvQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDWDtvQkFDQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO2lCQUNsQjs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJWaWV3TW9kZSwgQnNOYXZpZ2F0aW9uRGlyZWN0aW9uLCBOYXZpZ2F0aW9uVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3JyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gY2xhc3M9XCJwcmV2aW91c1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY2FsZW5kYXIuZGlzYWJsZUxlZnRBcnJvd1wiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJjYWxlbmRhci5oaWRlTGVmdEFycm93ID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwibmF2VG8odHJ1ZSlcIj5cbiAgICAgIDxzcGFuPiZsc2FxdW87PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbGVuZGFyICYmIGNhbGVuZGFyLm1vbnRoVGl0bGVcIj5cbiAgICAgICYjODIwMzsgIDwhLS0gemVyby13aWR0aCBzcGFjZSBuZWVkZWQgZm9yIGNvcnJlY3QgYWxpZ25tZW50XG4gICAgICAgICAgICAgICAgICB3aXRoIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlIGluIEFuZ3VsYXIgLS0+XG5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJjdXJyZW50XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidmlldygnbW9udGgnKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgID48c3Bhbj57eyBjYWxlbmRhci5tb250aFRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAmIzgyMDM7ICA8IS0tIHplcm8td2lkdGggc3BhY2UgbmVlZGVkIGZvciBjb3JyZWN0IGFsaWdubWVudFxuICAgICAgICAgICAgICAgICAgd2l0aCBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSBpbiBBbmd1bGFyIC0tPlxuXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJjdXJyZW50XCJcbiAgICAgIChjbGljayk9XCJ2aWV3KCd5ZWFyJylcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgY2FsZW5kYXIueWVhclRpdGxlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgJiM4MjAzOyAgPCEtLSB6ZXJvLXdpZHRoIHNwYWNlIG5lZWRlZCBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgICAgICAgICAgICAgICAgIHdpdGggcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UgaW4gQW5ndWxhciAtLT5cblxuICAgIDxidXR0b24gY2xhc3M9XCJuZXh0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjYWxlbmRhci5kaXNhYmxlUmlnaHRBcnJvd1wiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJjYWxlbmRhci5oaWRlUmlnaHRBcnJvdyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdlRvKGZhbHNlKVwiPjxzcGFuPiZyc2FxdW87PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWZdXG59KVxuZXhwb3J0IGNsYXNzIEJzRGF0ZXBpY2tlck5hdmlnYXRpb25WaWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgY2FsZW5kYXIhOiBOYXZpZ2F0aW9uVmlld01vZGVsO1xuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uTmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEJzTmF2aWdhdGlvbkRpcmVjdGlvbj4oKTtcbiAgQE91dHB1dCgpIG9uVmlld01vZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEJzRGF0ZXBpY2tlclZpZXdNb2RlPigpO1xuXG4gIG5hdlRvKGRvd246IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChcbiAgICAgIGRvd24gPyBCc05hdmlnYXRpb25EaXJlY3Rpb24uRE9XTiA6IEJzTmF2aWdhdGlvbkRpcmVjdGlvbi5VUFxuICAgICk7XG4gIH1cblxuICB2aWV3KHZpZXdNb2RlOiBCc0RhdGVwaWNrZXJWaWV3TW9kZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uVmlld01vZGUuZW1pdCh2aWV3TW9kZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,275 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, HostBinding, Renderer2, ViewChild } from '@angular/core';
2
- import { take } from 'rxjs/operators';
3
- import { getFullYear, getMonth } from 'ngx-bootstrap/chronos';
4
- import { PositioningService } from 'ngx-bootstrap/positioning';
5
- import { TimepickerComponent } from 'ngx-bootstrap/timepicker';
6
- import { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';
7
- import { BsDatepickerConfig } from '../../bs-datepicker.config';
8
- import { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';
9
- import { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';
10
- import { BsDatepickerStore } from '../../reducer/bs-datepicker.store';
11
- import { datepickerAnimation } from '../../datepicker-animations';
12
- import { BsCustomDatesViewComponent } from './bs-custom-dates-view.component';
13
- import { dayInMilliseconds } from '../../reducer/_defaults';
14
- import { BsYearsCalendarViewComponent } from './bs-years-calendar-view.component';
15
- import { BsMonthCalendarViewComponent } from './bs-months-calendar-view.component';
16
- import { TimepickerModule } from 'ngx-bootstrap/timepicker';
17
- import { BsDaysCalendarViewComponent } from './bs-days-calendar-view.component';
18
- import { NgIf, NgClass, NgSwitch, NgSwitchCase, NgFor, AsyncPipe } from '@angular/common';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "../../bs-datepicker.config";
21
- import * as i2 from "../../reducer/bs-datepicker.store";
22
- import * as i3 from "../../reducer/bs-datepicker.actions";
23
- import * as i4 from "../../reducer/bs-datepicker.effects";
24
- import * as i5 from "ngx-bootstrap/positioning";
25
- import * as i6 from "ngx-bootstrap/timepicker";
26
- export class BsDaterangepickerContainerComponent extends BsDatepickerAbstractComponent {
27
- set value(value) {
28
- this._effects?.setRangeValue(value);
29
- }
30
- get isDatePickerDisabled() {
31
- return !!this._config.isDisabled;
32
- }
33
- get isDatepickerDisabled() {
34
- return this.isDatePickerDisabled ? '' : null;
35
- }
36
- get isDatepickerReadonly() {
37
- return this.isDatePickerDisabled ? '' : null;
38
- }
39
- constructor(_renderer, _config, _store, _element, _actions, _effects, _positionService) {
40
- super();
41
- this._config = _config;
42
- this._store = _store;
43
- this._element = _element;
44
- this._actions = _actions;
45
- this._positionService = _positionService;
46
- this.valueChange = new EventEmitter();
47
- this.animationState = 'void';
48
- this._rangeStack = [];
49
- this.chosenRange = [];
50
- this._subs = [];
51
- this.isRangePicker = true;
52
- this._effects = _effects;
53
- this.customRanges = this._config.ranges || [];
54
- this.customRangeBtnLbl = this._config.customRangeButtonLabel;
55
- _renderer.setStyle(_element.nativeElement, 'display', 'block');
56
- _renderer.setStyle(_element.nativeElement, 'position', 'absolute');
57
- }
58
- ngOnInit() {
59
- this._positionService.setOptions({
60
- modifiers: {
61
- flip: {
62
- enabled: this._config.adaptivePosition
63
- },
64
- preventOverflow: {
65
- enabled: this._config.adaptivePosition
66
- }
67
- },
68
- allowedPositions: this._config.allowedPositions
69
- });
70
- this._positionService.event$?.pipe(take(1)).subscribe(() => {
71
- this._positionService.disable();
72
- if (this._config.isAnimated) {
73
- this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';
74
- return;
75
- }
76
- this.animationState = 'unanimated';
77
- });
78
- this.containerClass = this._config.containerClass;
79
- this.isOtherMonthsActive = this._config.selectFromOtherMonth;
80
- this.withTimepicker = this._config.withTimepicker;
81
- this._effects
82
- ?.init(this._store)
83
- // intial state options
84
- // todo: fix this, split configs
85
- .setOptions(this._config)
86
- // data binding view --> model
87
- .setBindings(this)
88
- // set event handlers
89
- .setEventHandlers(this)
90
- .registerDatepickerSideEffects();
91
- let currentDate;
92
- // todo: move it somewhere else
93
- // on selected date change
94
- this._subs.push(this._store
95
- .select((state) => state.selectedRange)
96
- .subscribe((dateRange) => {
97
- currentDate = dateRange;
98
- this.valueChange.emit(dateRange);
99
- this.chosenRange = dateRange || [];
100
- }));
101
- this._subs.push(this._store
102
- .select((state) => state.selectedTime)
103
- .subscribe((time) => {
104
- if (!time ||
105
- !time[0] ||
106
- !time[1] ||
107
- !(time[0] instanceof Date) ||
108
- !(time[1] instanceof Date) ||
109
- (currentDate && time[0] === currentDate[0] && time[1] === currentDate[1])) {
110
- return;
111
- }
112
- this.valueChange.emit(time);
113
- this.chosenRange = time || [];
114
- }));
115
- }
116
- ngAfterViewInit() {
117
- this.selectedTimeSub.add(this.selectedTime?.subscribe((val) => {
118
- if (Array.isArray(val) && val.length >= 2) {
119
- this.startTimepicker?.writeValue(val[0]);
120
- this.endTimepicker?.writeValue(val[1]);
121
- }
122
- }));
123
- this.startTimepicker?.registerOnChange((val) => {
124
- this.timeSelectHandler(val, 0);
125
- });
126
- this.endTimepicker?.registerOnChange((val) => {
127
- this.timeSelectHandler(val, 1);
128
- });
129
- }
130
- get isTopPosition() {
131
- return this._element.nativeElement.classList.contains('top');
132
- }
133
- positionServiceEnable() {
134
- this._positionService.enable();
135
- }
136
- timeSelectHandler(date, index) {
137
- this._store.dispatch(this._actions.selectTime(date, index));
138
- }
139
- daySelectHandler(day) {
140
- if (!day) {
141
- return;
142
- }
143
- const isDisabled = this.isOtherMonthsActive ? day.isDisabled : day.isOtherMonth || day.isDisabled;
144
- if (isDisabled) {
145
- return;
146
- }
147
- this.rangesProcessing(day);
148
- }
149
- monthSelectHandler(day) {
150
- if (!day || day.isDisabled) {
151
- return;
152
- }
153
- day.isSelected = true;
154
- if (this._config.minMode !== 'month') {
155
- if (day.isDisabled) {
156
- return;
157
- }
158
- this._store.dispatch(this._actions.navigateTo({
159
- unit: {
160
- month: getMonth(day.date),
161
- year: getFullYear(day.date)
162
- },
163
- viewMode: 'day'
164
- }));
165
- return;
166
- }
167
- this.rangesProcessing(day);
168
- }
169
- yearSelectHandler(day) {
170
- if (!day || day.isDisabled) {
171
- return;
172
- }
173
- day.isSelected = true;
174
- if (this._config.minMode !== 'year') {
175
- if (day.isDisabled) {
176
- return;
177
- }
178
- this._store.dispatch(this._actions.navigateTo({
179
- unit: {
180
- year: getFullYear(day.date)
181
- },
182
- viewMode: 'month'
183
- }));
184
- return;
185
- }
186
- this.rangesProcessing(day);
187
- }
188
- rangesProcessing(day) {
189
- // if only one date is already selected
190
- // and user clicks on previous date
191
- // start selection from new date
192
- // but if new date is after initial one
193
- // than finish selection
194
- if (this._rangeStack.length === 1) {
195
- this._rangeStack = day.date >= this._rangeStack[0] ? [this._rangeStack[0], day.date] : [day.date];
196
- }
197
- if (this._config.maxDateRange) {
198
- this.setMaxDateRangeOnCalendar(day.date);
199
- }
200
- if (this._rangeStack.length === 0) {
201
- this._rangeStack = [day.date];
202
- if (this._config.maxDateRange) {
203
- this.setMaxDateRangeOnCalendar(day.date);
204
- }
205
- }
206
- this._store.dispatch(this._actions.selectRange(this._rangeStack));
207
- if (this._rangeStack.length === 2) {
208
- this._rangeStack = [];
209
- }
210
- }
211
- ngOnDestroy() {
212
- for (const sub of this._subs) {
213
- sub.unsubscribe();
214
- }
215
- this.selectedTimeSub.unsubscribe();
216
- this._effects?.destroy();
217
- }
218
- setRangeOnCalendar(dates) {
219
- if (dates) {
220
- this._rangeStack = dates.value instanceof Date ? [dates.value] : dates.value;
221
- }
222
- this._store.dispatch(this._actions.selectRange(this._rangeStack));
223
- }
224
- setMaxDateRangeOnCalendar(currentSelection) {
225
- let maxDateRange = new Date(currentSelection);
226
- if (this._config.maxDate) {
227
- const maxDateValueInMilliseconds = this._config.maxDate.getTime();
228
- const maxDateRangeInMilliseconds = currentSelection.getTime() + (this._config.maxDateRange || 0) * dayInMilliseconds;
229
- maxDateRange =
230
- maxDateRangeInMilliseconds > maxDateValueInMilliseconds
231
- ? new Date(this._config.maxDate)
232
- : new Date(maxDateRangeInMilliseconds);
233
- }
234
- else {
235
- maxDateRange.setDate(currentSelection.getDate() + (this._config.maxDateRange || 0));
236
- }
237
- this._effects?.setMaxDate(maxDateRange);
238
- }
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDaterangepickerContainerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BsDatepickerConfig }, { token: i2.BsDatepickerStore }, { token: i0.ElementRef }, { token: i3.BsDatepickerActions }, { token: i4.BsDatepickerEffects }, { token: i5.PositioningService }], target: i0.ɵɵFactoryTarget.Component }); }
240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BsDaterangepickerContainerComponent, isStandalone: true, selector: "bs-daterangepicker-container", host: { attributes: { "role": "dialog", "aria-label": "calendar" }, listeners: { "click": "_stopPropagation($event)" }, properties: { "attr.disabled": "this.isDatepickerDisabled", "attr.readonly": "this.isDatepickerReadonly" }, classAttribute: "bottom" }, providers: [BsDatepickerStore, BsDatepickerEffects, BsDatepickerActions, PositioningService], viewQueries: [{ propertyName: "startTimepicker", first: true, predicate: ["startTP"], descendants: true }, { propertyName: "endTimepicker", first: true, predicate: ["endTP"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\n [options]=\"options$ | async\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"dayHoverHandler($event)\"\n (onHoverWeek)=\"weekHoverHandler($event)\"\n (onSelect)=\"daySelectHandler($event)\">\n </bs-days-calendar-view>\n </div>\n <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\n <div *ngSwitchCase=\"'month'\" class=\"bs-media-container\">\n <bs-month-calendar-view\n *ngFor=\"let calendar of monthsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"monthHoverHandler($event)\"\n (onSelect)=\"monthSelectHandler($event)\">\n </bs-month-calendar-view>\n </div>\n\n <!--years calendar-->\n <div *ngSwitchCase=\"'year'\" class=\"bs-media-container\">\n <bs-years-calendar-view\n *ngFor=\"let calendar of yearsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"yearHoverHandler($event)\"\n (onSelect)=\"yearSelectHandler($event)\">\n </bs-years-calendar-view>\n </div>\n </div>\n\n <!--applycancel buttons-->\n <div class=\"bs-datepicker-buttons\" *ngIf=\"false\">\n <button class=\"btn btn-success\" type=\"button\">Apply</button>\n <button class=\"btn btn-default\" type=\"button\">Cancel</button>\n </div>\n\n <div class=\"bs-datepicker-buttons\" *ngIf=\"showTodayBtn || showClearBtn\">\n <div class=\"btn-today-wrapper\"\n [class.today-left]=\"todayPos === 'left'\"\n [class.today-right]=\"todayPos === 'right'\"\n [class.today-center]=\"todayPos === 'center'\"\n *ngIf=\"showTodayBtn\">\n <button class=\"btn btn-success\" (click)=\"setToday()\">{{todayBtnLbl}}</button>\n </div>\n\n <div class=\"btn-clear-wrapper\"\n [class.clear-left]=\"clearPos === 'left'\"\n [class.clear-right]=\"clearPos === 'right'\"\n [class.clear-center]=\"clearPos === 'center'\"\n *ngIf=\"showClearBtn\">\n <button class=\"btn btn-success\" (click)=\"clearDate()\">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && customRanges.length > 0\">\n <bs-custom-date-view\n [selectedRange]=\"chosenRange\"\n [ranges]=\"customRanges\"\n [customRangeLabel]=\"customRangeBtnLbl\"\n (onSelect)=\"setRangeOnCalendar($event)\">\n </bs-custom-date-view>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "options", "isDisabled"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover", "onHoverWeek"] }, { kind: "ngmodule", type: TimepickerModule }, { kind: "component", type: i6.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: BsCustomDatesViewComponent, selector: "bs-custom-date-view", inputs: ["ranges", "selectedRange", "customRangeLabel"], outputs: ["onSelect"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [datepickerAnimation] }); }
241
- }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDaterangepickerContainerComponent, decorators: [{
243
- type: Component,
244
- args: [{ selector: 'bs-daterangepicker-container', providers: [BsDatepickerStore, BsDatepickerEffects, BsDatepickerActions, PositioningService], host: {
245
- class: 'bottom',
246
- '(click)': '_stopPropagation($event)',
247
- role: 'dialog',
248
- 'aria-label': 'calendar'
249
- }, animations: [datepickerAnimation], standalone: true, imports: [
250
- NgIf,
251
- NgClass,
252
- NgSwitch,
253
- NgSwitchCase,
254
- NgFor,
255
- BsDaysCalendarViewComponent,
256
- TimepickerModule,
257
- BsMonthCalendarViewComponent,
258
- BsYearsCalendarViewComponent,
259
- BsCustomDatesViewComponent,
260
- AsyncPipe
261
- ], template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\n [options]=\"options$ | async\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"dayHoverHandler($event)\"\n (onHoverWeek)=\"weekHoverHandler($event)\"\n (onSelect)=\"daySelectHandler($event)\">\n </bs-days-calendar-view>\n </div>\n <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\n <div *ngSwitchCase=\"'month'\" class=\"bs-media-container\">\n <bs-month-calendar-view\n *ngFor=\"let calendar of monthsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"monthHoverHandler($event)\"\n (onSelect)=\"monthSelectHandler($event)\">\n </bs-month-calendar-view>\n </div>\n\n <!--years calendar-->\n <div *ngSwitchCase=\"'year'\" class=\"bs-media-container\">\n <bs-years-calendar-view\n *ngFor=\"let calendar of yearsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"yearHoverHandler($event)\"\n (onSelect)=\"yearSelectHandler($event)\">\n </bs-years-calendar-view>\n </div>\n </div>\n\n <!--applycancel buttons-->\n <div class=\"bs-datepicker-buttons\" *ngIf=\"false\">\n <button class=\"btn btn-success\" type=\"button\">Apply</button>\n <button class=\"btn btn-default\" type=\"button\">Cancel</button>\n </div>\n\n <div class=\"bs-datepicker-buttons\" *ngIf=\"showTodayBtn || showClearBtn\">\n <div class=\"btn-today-wrapper\"\n [class.today-left]=\"todayPos === 'left'\"\n [class.today-right]=\"todayPos === 'right'\"\n [class.today-center]=\"todayPos === 'center'\"\n *ngIf=\"showTodayBtn\">\n <button class=\"btn btn-success\" (click)=\"setToday()\">{{todayBtnLbl}}</button>\n </div>\n\n <div class=\"btn-clear-wrapper\"\n [class.clear-left]=\"clearPos === 'left'\"\n [class.clear-right]=\"clearPos === 'right'\"\n [class.clear-center]=\"clearPos === 'center'\"\n *ngIf=\"showClearBtn\">\n <button class=\"btn btn-success\" (click)=\"clearDate()\">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && customRanges.length > 0\">\n <bs-custom-date-view\n [selectedRange]=\"chosenRange\"\n [ranges]=\"customRanges\"\n [customRangeLabel]=\"customRangeBtnLbl\"\n (onSelect)=\"setRangeOnCalendar($event)\">\n </bs-custom-date-view>\n </div>\n</div>\n" }]
262
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.BsDatepickerConfig }, { type: i2.BsDatepickerStore }, { type: i0.ElementRef }, { type: i3.BsDatepickerActions }, { type: i4.BsDatepickerEffects }, { type: i5.PositioningService }], propDecorators: { startTimepicker: [{
263
- type: ViewChild,
264
- args: ['startTP']
265
- }], endTimepicker: [{
266
- type: ViewChild,
267
- args: ['endTP']
268
- }], isDatepickerDisabled: [{
269
- type: HostBinding,
270
- args: ['attr.disabled']
271
- }], isDatepickerReadonly: [{
272
- type: HostBinding,
273
- args: ['attr.readonly']
274
- }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZXBpY2tlci90aGVtZXMvYnMvYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZXBpY2tlci90aGVtZXMvYnMvYnMtZGF0ZXBpY2tlci12aWV3Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFHWCxTQUFTLEVBQ1QsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBaUIsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUE0QjFGLE1BQU0sT0FBTyxtQ0FDWCxTQUFRLDZCQUE2QjtJQUdyQyxJQUFJLEtBQUssQ0FBQyxLQUF1QztRQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBYUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQWtDLG9CQUFvQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQWtDLG9CQUFvQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQ0UsU0FBb0IsRUFDWixPQUEyQixFQUMzQixNQUF5QixFQUN6QixRQUFvQixFQUNwQixRQUE2QixFQUNyQyxRQUE2QixFQUNyQixnQkFBb0M7UUFFNUMsS0FBSyxFQUFFLENBQUM7UUFQQSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBRTdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUE5QjlDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQztRQUV4QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUNoQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUNsQyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUNsQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQTJCNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFFN0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUMvQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtpQkFDdkM7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtpQkFDdkM7YUFDRjtZQUNELGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO1NBQ2hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRWhDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztnQkFFM0UsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUTtZQUNYLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDbkIsdUJBQXVCO1lBQ3ZCLGdDQUFnQzthQUMvQixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN6Qiw4QkFBOEI7YUFDN0IsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNsQixxQkFBcUI7YUFDcEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2FBQ3RCLDZCQUE2QixFQUFFLENBQUM7UUFDbkMsSUFBSSxXQUErQixDQUFDO1FBQ3BDLCtCQUErQjtRQUMvQiwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLE1BQU07YUFDUixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7YUFDdEMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkIsV0FBVyxHQUFHLFNBQVMsQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxNQUFNO2FBQ1IsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLElBQ0UsQ0FBQyxJQUFJO2dCQUNMLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDUixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDO2dCQUMxQixDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDekUsQ0FBQztnQkFDRCxPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVRLGlCQUFpQixDQUFDLElBQVUsRUFBRSxLQUFhO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxHQUFpQjtRQUN6QyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDO1FBRWxHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVEsa0JBQWtCLENBQUMsR0FBMEI7UUFDcEQsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNuQixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDdkIsSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDekIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2lCQUM1QjtnQkFDRCxRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFDLENBQ0gsQ0FBQztZQUVGLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFUSxpQkFBaUIsQ0FBQyxHQUEwQjtRQUNuRCxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1QsQ0FBQztRQUVELEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEMsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25CLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2dCQUN2QixJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2lCQUM1QjtnQkFDRCxRQUFRLEVBQUUsT0FBTzthQUNsQixDQUFDLENBQ0gsQ0FBQztZQUVGLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUEwQjtRQUN6Qyx1Q0FBdUM7UUFDdkMsbUNBQW1DO1FBQ25DLGdDQUFnQztRQUNoQyx1Q0FBdUM7UUFDdkMsd0JBQXdCO1FBRXhCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRWxFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVRLGtCQUFrQixDQUFDLEtBQW9CO1FBQzlDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMvRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELHlCQUF5QixDQUFDLGdCQUFzQjtRQUM5QyxJQUFJLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xFLE1BQU0sMEJBQTBCLEdBQzlCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7WUFDcEYsWUFBWTtnQkFDViwwQkFBMEIsR0FBRywwQkFBMEI7b0JBQ3JELENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztvQkFDaEMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDTixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FsUlUsbUNBQW1DO2tHQUFuQyxtQ0FBbUMsMlVBeEJqQyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLHNQQ3BDaEcsNDNIQTRGQSw0Q0Q3Q00sSUFBSSw2RkFDSixPQUFPLG9GQUNQLFFBQVEsNkVBQ1IsWUFBWSxxRkFDWixLQUFLLG1IQUNMLDJCQUEyQiw2TEFDM0IsZ0JBQWdCLHdaQUNoQiw0QkFBNEIsdUpBQzVCLDRCQUE0Qix1SkFDNUIsMEJBQTBCLDJJQUMxQixTQUFTLGdDQWJDLENBQUMsbUJBQW1CLENBQUM7OzJGQWdCeEIsbUNBQW1DO2tCQTFCL0MsU0FBUzsrQkFDSSw4QkFBOEIsYUFDN0IsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxRQUV0Rjt3QkFDRixLQUFLLEVBQUUsUUFBUTt3QkFDZixTQUFTLEVBQUUsMEJBQTBCO3dCQUNyQyxJQUFJLEVBQUUsUUFBUTt3QkFDZCxZQUFZLEVBQUUsVUFBVTtxQkFDM0IsY0FDVyxDQUFDLG1CQUFtQixDQUFDLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsMkJBQTJCO3dCQUMzQixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QiwwQkFBMEI7d0JBQzFCLFNBQVM7cUJBQ1Y7NlFBa0JtQixlQUFlO3NCQUFwQyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ0EsYUFBYTtzQkFBaEMsU0FBUzt1QkFBQyxPQUFPO2dCQU1nQixvQkFBb0I7c0JBQXJELFdBQVc7dUJBQUMsZUFBZTtnQkFJTSxvQkFBb0I7c0JBQXJELFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGdldEZ1bGxZZWFyLCBnZXRNb250aCB9IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5pbXBvcnQgeyBQb3NpdGlvbmluZ1NlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IFRpbWVwaWNrZXJDb21wb25lbnQgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3RpbWVwaWNrZXInO1xuXG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYnMtZGF0ZXBpY2tlci1jb250YWluZXInO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vLi4vYnMtZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDZWxsVmlld01vZGVsLCBEYXlWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyQWN0aW9ucyB9IGZyb20gJy4uLy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5hY3Rpb25zJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckVmZmVjdHMgfSBmcm9tICcuLi8uLi9yZWR1Y2VyL2JzLWRhdGVwaWNrZXIuZWZmZWN0cyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJTdG9yZSB9IGZyb20gJy4uLy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5zdG9yZSc7XG5pbXBvcnQgeyBkYXRlcGlja2VyQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci1hbmltYXRpb25zJztcbmltcG9ydCB7IEJzQ3VzdG9tRGF0ZXMsIEJzQ3VzdG9tRGF0ZXNWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9icy1jdXN0b20tZGF0ZXMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGF5SW5NaWxsaXNlY29uZHMgfSBmcm9tICcuLi8uLi9yZWR1Y2VyL19kZWZhdWx0cyc7XG5pbXBvcnQgeyBCc1llYXJzQ2FsZW5kYXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9icy15ZWFycy1jYWxlbmRhci12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc01vbnRoQ2FsZW5kYXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9icy1tb250aHMtY2FsZW5kYXItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdGltZXBpY2tlcic7XG5pbXBvcnQgeyBCc0RheXNDYWxlbmRhclZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JzLWRheXMtY2FsZW5kYXItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcywgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdGb3IsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lcicsXG4gICAgcHJvdmlkZXJzOiBbQnNEYXRlcGlja2VyU3RvcmUsIEJzRGF0ZXBpY2tlckVmZmVjdHMsIEJzRGF0ZXBpY2tlckFjdGlvbnMsIFBvc2l0aW9uaW5nU2VydmljZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JzLWRhdGVwaWNrZXItdmlldy5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnYm90dG9tJyxcbiAgICAgICAgJyhjbGljayknOiAnX3N0b3BQcm9wYWdhdGlvbigkZXZlbnQpJyxcbiAgICAgICAgcm9sZTogJ2RpYWxvZycsXG4gICAgICAgICdhcmlhLWxhYmVsJzogJ2NhbGVuZGFyJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW2RhdGVwaWNrZXJBbmltYXRpb25dLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgTmdJZixcbiAgICAgIE5nQ2xhc3MsXG4gICAgICBOZ1N3aXRjaCxcbiAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgIE5nRm9yLFxuICAgICAgQnNEYXlzQ2FsZW5kYXJWaWV3Q29tcG9uZW50LFxuICAgICAgVGltZXBpY2tlck1vZHVsZSxcbiAgICAgIEJzTW9udGhDYWxlbmRhclZpZXdDb21wb25lbnQsXG4gICAgICBCc1llYXJzQ2FsZW5kYXJWaWV3Q29tcG9uZW50LFxuICAgICAgQnNDdXN0b21EYXRlc1ZpZXdDb21wb25lbnQsXG4gICAgICBBc3luY1BpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzRGF0ZXJhbmdlcGlja2VyQ29udGFpbmVyQ29tcG9uZW50XG4gIGV4dGVuZHMgQnNEYXRlcGlja2VyQWJzdHJhY3RDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxue1xuICBzZXQgdmFsdWUodmFsdWU6IChEYXRlIHwgdW5kZWZpbmVkKVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZWZmZWN0cz8uc2V0UmFuZ2VWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuICBhbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcblxuICBfcmFuZ2VTdGFjazogRGF0ZVtdID0gW107XG4gIG92ZXJyaWRlIGNob3NlblJhbmdlOiBEYXRlW10gPSBbXTtcbiAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIG92ZXJyaWRlIGlzUmFuZ2VQaWNrZXIgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0VFAnKSBzdGFydFRpbWVwaWNrZXI/OiBUaW1lcGlja2VyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdlbmRUUCcpIGVuZFRpbWVwaWNrZXI/OiBUaW1lcGlja2VyQ29tcG9uZW50O1xuXG4gIGdldCBpc0RhdGVQaWNrZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb25maWcuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kaXNhYmxlZCcpIGdldCBpc0RhdGVwaWNrZXJEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVQaWNrZXJEaXNhYmxlZCA/ICcnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yZWFkb25seScpIGdldCBpc0RhdGVwaWNrZXJSZWFkb25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVQaWNrZXJEaXNhYmxlZCA/ICcnIDogbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgX2NvbmZpZzogQnNEYXRlcGlja2VyQ29uZmlnLFxuICAgIHByaXZhdGUgX3N0b3JlOiBCc0RhdGVwaWNrZXJTdG9yZSxcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2FjdGlvbnM6IEJzRGF0ZXBpY2tlckFjdGlvbnMsXG4gICAgX2VmZmVjdHM6IEJzRGF0ZXBpY2tlckVmZmVjdHMsXG4gICAgcHJpdmF0ZSBfcG9zaXRpb25TZXJ2aWNlOiBQb3NpdGlvbmluZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9lZmZlY3RzID0gX2VmZmVjdHM7XG5cbiAgICB0aGlzLmN1c3RvbVJhbmdlcyA9IHRoaXMuX2NvbmZpZy5yYW5nZXMgfHwgW107XG4gICAgdGhpcy5jdXN0b21SYW5nZUJ0bkxibCA9IHRoaXMuX2NvbmZpZy5jdXN0b21SYW5nZUJ1dHRvbkxhYmVsO1xuXG4gICAgX3JlbmRlcmVyLnNldFN0eWxlKF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgX3JlbmRlcmVyLnNldFN0eWxlKF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLnNldE9wdGlvbnMoe1xuICAgICAgbW9kaWZpZXJzOiB7XG4gICAgICAgIGZsaXA6IHtcbiAgICAgICAgICBlbmFibGVkOiB0aGlzLl9jb25maWcuYWRhcHRpdmVQb3NpdGlvblxuICAgICAgICB9LFxuICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHtcbiAgICAgICAgICBlbmFibGVkOiB0aGlzLl9jb25maWcuYWRhcHRpdmVQb3NpdGlvblxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYWxsb3dlZFBvc2l0aW9uczogdGhpcy5fY29uZmlnLmFsbG93ZWRQb3NpdGlvbnNcbiAgICB9KTtcblxuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5ldmVudCQ/LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5kaXNhYmxlKCk7XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcuaXNBbmltYXRlZCkge1xuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gdGhpcy5pc1RvcFBvc2l0aW9uID8gJ2FuaW1hdGVkLXVwJyA6ICdhbmltYXRlZC1kb3duJztcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAndW5hbmltYXRlZCc7XG4gICAgfSk7XG4gICAgdGhpcy5jb250YWluZXJDbGFzcyA9IHRoaXMuX2NvbmZpZy5jb250YWluZXJDbGFzcztcbiAgICB0aGlzLmlzT3RoZXJNb250aHNBY3RpdmUgPSB0aGlzLl9jb25maWcuc2VsZWN0RnJvbU90aGVyTW9udGg7XG4gICAgdGhpcy53aXRoVGltZXBpY2tlciA9IHRoaXMuX2NvbmZpZy53aXRoVGltZXBpY2tlcjtcbiAgICB0aGlzLl9lZmZlY3RzXG4gICAgICA/LmluaXQodGhpcy5fc3RvcmUpXG4gICAgICAvLyBpbnRpYWwgc3RhdGUgb3B0aW9uc1xuICAgICAgLy8gdG9kbzogZml4IHRoaXMsIHNwbGl0IGNvbmZpZ3NcbiAgICAgIC5zZXRPcHRpb25zKHRoaXMuX2NvbmZpZylcbiAgICAgIC8vIGRhdGEgYmluZGluZyB2aWV3IC0tPiBtb2RlbFxuICAgICAgLnNldEJpbmRpbmdzKHRoaXMpXG4gICAgICAvLyBzZXQgZXZlbnQgaGFuZGxlcnNcbiAgICAgIC5zZXRFdmVudEhhbmRsZXJzKHRoaXMpXG4gICAgICAucmVnaXN0ZXJEYXRlcGlja2VyU2lkZUVmZmVjdHMoKTtcbiAgICBsZXQgY3VycmVudERhdGU6IERhdGVbXSB8IHVuZGVmaW5lZDtcbiAgICAvLyB0b2RvOiBtb3ZlIGl0IHNvbWV3aGVyZSBlbHNlXG4gICAgLy8gb24gc2VsZWN0ZWQgZGF0ZSBjaGFuZ2VcbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLl9zdG9yZVxuICAgICAgICAuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRSYW5nZSlcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0ZVJhbmdlKSA9PiB7XG4gICAgICAgICAgY3VycmVudERhdGUgPSBkYXRlUmFuZ2U7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVSYW5nZSk7XG4gICAgICAgICAgdGhpcy5jaG9zZW5SYW5nZSA9IGRhdGVSYW5nZSB8fCBbXTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkVGltZSlcbiAgICAgICAgLnN1YnNjcmliZSgodGltZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aW1lIHx8XG4gICAgICAgICAgICAhdGltZVswXSB8fFxuICAgICAgICAgICAgIXRpbWVbMV0gfHxcbiAgICAgICAgICAgICEodGltZVswXSBpbnN0YW5jZW9mIERhdGUpIHx8XG4gICAgICAgICAgICAhKHRpbWVbMV0gaW5zdGFuY2VvZiBEYXRlKSB8fFxuICAgICAgICAgICAgKGN1cnJlbnREYXRlICYmIHRpbWVbMF0gPT09IGN1cnJlbnREYXRlWzBdICYmIHRpbWVbMV0gPT09IGN1cnJlbnREYXRlWzFdKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aW1lKTtcbiAgICAgICAgICB0aGlzLmNob3NlblJhbmdlID0gdGltZSB8fCBbXTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRUaW1lU3ViLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lPy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpICYmIHZhbC5sZW5ndGggPj0gMikge1xuICAgICAgICAgIHRoaXMuc3RhcnRUaW1lcGlja2VyPy53cml0ZVZhbHVlKHZhbFswXSk7XG4gICAgICAgICAgdGhpcy5lbmRUaW1lcGlja2VyPy53cml0ZVZhbHVlKHZhbFsxXSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN0YXJ0VGltZXBpY2tlcj8ucmVnaXN0ZXJPbkNoYW5nZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLnRpbWVTZWxlY3RIYW5kbGVyKHZhbCwgMCk7XG4gICAgfSk7XG4gICAgdGhpcy5lbmRUaW1lcGlja2VyPy5yZWdpc3Rlck9uQ2hhbmdlKCh2YWwpID0+IHtcbiAgICAgIHRoaXMudGltZVNlbGVjdEhhbmRsZXIodmFsLCAxKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc1RvcFBvc2l0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3AnKTtcbiAgfVxuXG4gIHBvc2l0aW9uU2VydmljZUVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvblNlcnZpY2UuZW5hYmxlKCk7XG4gIH1cblxuICBvdmVycmlkZSB0aW1lU2VsZWN0SGFuZGxlcihkYXRlOiBEYXRlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5zZWxlY3RUaW1lKGRhdGUsIGluZGV4KSk7XG4gIH1cblxuICBvdmVycmlkZSBkYXlTZWxlY3RIYW5kbGVyKGRheTogRGF5Vmlld01vZGVsKTogdm9pZCB7XG4gICAgaWYgKCFkYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMuaXNPdGhlck1vbnRoc0FjdGl2ZSA/IGRheS5pc0Rpc2FibGVkIDogZGF5LmlzT3RoZXJNb250aCB8fCBkYXkuaXNEaXNhYmxlZDtcblxuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmFuZ2VzUHJvY2Vzc2luZyhkYXkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbW9udGhTZWxlY3RIYW5kbGVyKGRheTogQ2FsZW5kYXJDZWxsVmlld01vZGVsKTogdm9pZCB7XG4gICAgaWYgKCFkYXkgfHwgZGF5LmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkYXkuaXNTZWxlY3RlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLm1pbk1vZGUgIT09ICdtb250aCcpIHtcbiAgICAgIGlmIChkYXkuaXNEaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5uYXZpZ2F0ZVRvKHtcbiAgICAgICAgICB1bml0OiB7XG4gICAgICAgICAgICBtb250aDogZ2V0TW9udGgoZGF5LmRhdGUpLFxuICAgICAgICAgICAgeWVhcjogZ2V0RnVsbFllYXIoZGF5LmRhdGUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB2aWV3TW9kZTogJ2RheSdcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yYW5nZXNQcm9jZXNzaW5nKGRheSk7XG4gIH1cblxuICBvdmVycmlkZSB5ZWFyU2VsZWN0SGFuZGxlcihkYXk6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCk6IHZvaWQge1xuICAgIGlmICghZGF5IHx8IGRheS5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5taW5Nb2RlICE9PSAneWVhcicpIHtcbiAgICAgIGlmIChkYXkuaXNEaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5uYXZpZ2F0ZVRvKHtcbiAgICAgICAgICB1bml0OiB7XG4gICAgICAgICAgICB5ZWFyOiBnZXRGdWxsWWVhcihkYXkuZGF0ZSlcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZpZXdNb2RlOiAnbW9udGgnXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmFuZ2VzUHJvY2Vzc2luZyhkYXkpO1xuICB9XG5cbiAgcmFuZ2VzUHJvY2Vzc2luZyhkYXk6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCk6IHZvaWQge1xuICAgIC8vIGlmIG9ubHkgb25lIGRhdGUgaXMgYWxyZWFkeSBzZWxlY3RlZFxuICAgIC8vIGFuZCB1c2VyIGNsaWNrcyBvbiBwcmV2aW91cyBkYXRlXG4gICAgLy8gc3RhcnQgc2VsZWN0aW9uIGZyb20gbmV3IGRhdGVcbiAgICAvLyBidXQgaWYgbmV3IGRhdGUgaXMgYWZ0ZXIgaW5pdGlhbCBvbmVcbiAgICAvLyB0aGFuIGZpbmlzaCBzZWxlY3Rpb25cblxuICAgIGlmICh0aGlzLl9yYW5nZVN0YWNrLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5fcmFuZ2VTdGFjayA9IGRheS5kYXRlID49IHRoaXMuX3JhbmdlU3RhY2tbMF0gPyBbdGhpcy5fcmFuZ2VTdGFja1swXSwgZGF5LmRhdGVdIDogW2RheS5kYXRlXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLm1heERhdGVSYW5nZSkge1xuICAgICAgdGhpcy5zZXRNYXhEYXRlUmFuZ2VPbkNhbGVuZGFyKGRheS5kYXRlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPSBbZGF5LmRhdGVdO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLm1heERhdGVSYW5nZSkge1xuICAgICAgICB0aGlzLnNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoZGF5LmRhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuc2VsZWN0UmFuZ2UodGhpcy5fcmFuZ2VTdGFjaykpO1xuXG4gICAgaWYgKHRoaXMuX3JhbmdlU3RhY2subGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gW107XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWIgb2YgdGhpcy5fc3Vicykge1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRUaW1lU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZWZmZWN0cz8uZGVzdHJveSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0UmFuZ2VPbkNhbGVuZGFyKGRhdGVzOiBCc0N1c3RvbURhdGVzKTogdm9pZCB7XG4gICAgaWYgKGRhdGVzKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gZGF0ZXMudmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gW2RhdGVzLnZhbHVlXSA6IGRhdGVzLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcbiAgfVxuXG4gIHNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoY3VycmVudFNlbGVjdGlvbjogRGF0ZSk6IHZvaWQge1xuICAgIGxldCBtYXhEYXRlUmFuZ2UgPSBuZXcgRGF0ZShjdXJyZW50U2VsZWN0aW9uKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgPSB0aGlzLl9jb25maWcubWF4RGF0ZS5nZXRUaW1lKCk7XG4gICAgICBjb25zdCBtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyA9XG4gICAgICAgIGN1cnJlbnRTZWxlY3Rpb24uZ2V0VGltZSgpICsgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UgfHwgMCkgKiBkYXlJbk1pbGxpc2Vjb25kcztcbiAgICAgIG1heERhdGVSYW5nZSA9XG4gICAgICAgIG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzID4gbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHNcbiAgICAgICAgICA/IG5ldyBEYXRlKHRoaXMuX2NvbmZpZy5tYXhEYXRlKVxuICAgICAgICAgIDogbmV3IERhdGUobWF4RGF0ZVJhbmdlSW5NaWxsaXNlY29uZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXhEYXRlUmFuZ2Uuc2V0RGF0ZShjdXJyZW50U2VsZWN0aW9uLmdldERhdGUoKSArICh0aGlzLl9jb25maWcubWF4RGF0ZVJhbmdlIHx8IDApKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lZmZlY3RzPy5zZXRNYXhEYXRlKG1heERhdGVSYW5nZSk7XG4gIH1cbn1cbiIsIjwhLS0gZGF5cyBjYWxlbmRhciB2aWV3IG1vZGUgLS0+XG48ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgKm5nSWY9XCJ2aWV3TW9kZSB8IGFzeW5jXCI+XG4gIDxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyLWNvbnRhaW5lclwiXG4gICAgW0BkYXRlcGlja2VyQW5pbWF0aW9uXT1cImFuaW1hdGlvblN0YXRlXCJcbiAgICAoQGRhdGVwaWNrZXJBbmltYXRpb24uZG9uZSk9XCJwb3NpdGlvblNlcnZpY2VFbmFibGUoKVwiPlxuICAgIDwhLS1jYWxlbmRhcnMtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYnMtY2FsZW5kYXItY29udGFpbmVyXCIgW25nU3dpdGNoXT1cInZpZXdNb2RlIHwgYXN5bmNcIiByb2xlPVwiYXBwbGljYXRpb25cIj5cbiAgICAgIDwhLS1kYXlzIGNhbGVuZGFyLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF5J1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnMtbWVkaWEtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGJzLWRheXMtY2FsZW5kYXItdmlld1xuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhbGVuZGFyIG9mIGRheXNDYWxlbmRhciQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNEYXRlUGlja2VyRGlzYWJsZWRcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Ib3Zlcik9XCJkYXlIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Ib3ZlcldlZWspPVwid2Vla0hvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblNlbGVjdCk9XCJkYXlTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgICA8L2JzLWRheXMtY2FsZW5kYXItdmlldz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ3aXRoVGltZXBpY2tlclwiIGNsYXNzPVwiYnMtdGltZXBpY2tlci1pbi1kYXRlcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDx0aW1lcGlja2VyICNzdGFydFRQIFtkaXNhYmxlZF09XCJpc0RhdGVQaWNrZXJEaXNhYmxlZFwiPjwvdGltZXBpY2tlcj5cbiAgICAgICAgICA8dGltZXBpY2tlciAjZW5kVFAgKm5nSWY9XCJpc1JhbmdlUGlja2VyXCIgW2Rpc2FibGVkXT1cImlzRGF0ZVBpY2tlckRpc2FibGVkXCI+PC90aW1lcGlja2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tbW9udGhzIGNhbGVuZGFyLS0+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInbW9udGgnXCIgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgPGJzLW1vbnRoLWNhbGVuZGFyLXZpZXdcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgbW9udGhzQ2FsZW5kYXIgfCBhc3luY1wiXG4gICAgICAgICAgW2NsYXNzLmJzLWRhdGVwaWNrZXItbXVsdGlwbGVdPVwibXVsdGlwbGVDYWxlbmRhcnNcIlxuICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCJcbiAgICAgICAgICAob25Ib3Zlcik9XCJtb250aEhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAob25TZWxlY3QpPVwibW9udGhTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgPC9icy1tb250aC1jYWxlbmRhci12aWV3PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS15ZWFycyBjYWxlbmRhci0tPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3llYXInXCIgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgPGJzLXllYXJzLWNhbGVuZGFyLXZpZXdcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgeWVhcnNDYWxlbmRhciB8IGFzeW5jXCJcbiAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIlxuICAgICAgICAgIChvbkhvdmVyKT1cInllYXJIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cInllYXJTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgPC9icy15ZWFycy1jYWxlbmRhci12aWV3PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tYXBwbHljYW5jZWwgYnV0dG9ucy0tPlxuICAgIDxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyLWJ1dHRvbnNcIiAqbmdJZj1cImZhbHNlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgdHlwZT1cImJ1dHRvblwiPkFwcGx5PC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCIgdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItYnV0dG9uc1wiICpuZ0lmPVwic2hvd1RvZGF5QnRuIHx8IHNob3dDbGVhckJ0blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ0bi10b2RheS13cmFwcGVyXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LWxlZnRdPVwidG9kYXlQb3MgPT09ICdsZWZ0J1wiXG4gICAgICAgICAgIFtjbGFzcy50b2RheS1yaWdodF09XCJ0b2RheVBvcyA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgIFtjbGFzcy50b2RheS1jZW50ZXJdPVwidG9kYXlQb3MgPT09ICdjZW50ZXInXCJcbiAgICAgICAgICAgKm5nSWY9XCJzaG93VG9kYXlCdG5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIChjbGljayk9XCJzZXRUb2RheSgpXCI+e3t0b2RheUJ0bkxibH19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWNsZWFyLXdyYXBwZXJcIlxuICAgICAgICBbY2xhc3MuY2xlYXItbGVmdF09XCJjbGVhclBvcyA9PT0gJ2xlZnQnXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyLXJpZ2h0XT1cImNsZWFyUG9zID09PSAncmlnaHQnXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyLWNlbnRlcl09XCJjbGVhclBvcyA9PT0gJ2NlbnRlcidcIlxuICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ0blwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiAoY2xpY2spPVwiY2xlYXJEYXRlKClcIj57e2NsZWFyQnRuTGJsfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPCEtLWN1c3RvbSBkYXRlcyBvciBkYXRlIHJhbmdlcyBwaWNrZXItLT5cbiAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItY3VzdG9tLXJhbmdlXCIgKm5nSWY9XCJjdXN0b21SYW5nZXMgJiYgY3VzdG9tUmFuZ2VzLmxlbmd0aCA+IDBcIj5cbiAgICA8YnMtY3VzdG9tLWRhdGUtdmlld1xuICAgICAgW3NlbGVjdGVkUmFuZ2VdPVwiY2hvc2VuUmFuZ2VcIlxuICAgICAgW3Jhbmdlc109XCJjdXN0b21SYW5nZXNcIlxuICAgICAgW2N1c3RvbVJhbmdlTGFiZWxdPVwiY3VzdG9tUmFuZ2VCdG5MYmxcIlxuICAgICAgKG9uU2VsZWN0KT1cInNldFJhbmdlT25DYWxlbmRhcigkZXZlbnQpXCI+XG4gICAgPC9icy1jdXN0b20tZGF0ZS12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,49 +0,0 @@
1
- import { ElementRef, Component, Renderer2, HostBinding } from '@angular/core';
2
- import { BsDaterangepickerContainerComponent } from './bs-daterangepicker-container.component';
3
- import { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';
4
- import { BsDatepickerConfig } from '../../bs-datepicker.config';
5
- import { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';
6
- import { BsDatepickerStore } from '../../reducer/bs-datepicker.store';
7
- import { PositioningService } from 'ngx-bootstrap/positioning';
8
- import { datepickerAnimation } from '../../datepicker-animations';
9
- import { BsCustomDatesViewComponent } from './bs-custom-dates-view.component';
10
- import { BsYearsCalendarViewComponent } from './bs-years-calendar-view.component';
11
- import { BsMonthCalendarViewComponent } from './bs-months-calendar-view.component';
12
- import { TimepickerModule } from 'ngx-bootstrap/timepicker';
13
- import { BsDaysCalendarViewComponent } from './bs-days-calendar-view.component';
14
- import { NgIf, NgClass, NgSwitch, NgSwitchCase, NgFor, AsyncPipe } from '@angular/common';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "../../bs-datepicker.config";
17
- import * as i2 from "../../reducer/bs-datepicker.store";
18
- import * as i3 from "../../reducer/bs-datepicker.actions";
19
- import * as i4 from "../../reducer/bs-datepicker.effects";
20
- import * as i5 from "ngx-bootstrap/positioning";
21
- import * as i6 from "ngx-bootstrap/timepicker";
22
- export class BsDaterangepickerInlineContainerComponent extends BsDaterangepickerContainerComponent {
23
- get disabledValue() {
24
- return this.isDatePickerDisabled ? '' : null;
25
- }
26
- get readonlyValue() {
27
- return this.isDatePickerDisabled ? '' : null;
28
- }
29
- constructor(_renderer, _config, _store, _element, _actions, _effects, _positioningService) {
30
- super(_renderer, _config, _store, _element, _actions, _effects, _positioningService);
31
- _renderer.setStyle(_element.nativeElement, 'display', 'inline-block');
32
- _renderer.setStyle(_element.nativeElement, 'position', 'static');
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDaterangepickerInlineContainerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BsDatepickerConfig }, { token: i2.BsDatepickerStore }, { token: i0.ElementRef }, { token: i3.BsDatepickerActions }, { token: i4.BsDatepickerEffects }, { token: i5.PositioningService }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BsDaterangepickerInlineContainerComponent, isStandalone: true, selector: "bs-daterangepicker-inline-container", host: { listeners: { "click": "_stopPropagation($event)" }, properties: { "attr.disabled": "this.disabledValue", "attr.readonly": "this.readonlyValue" } }, providers: [BsDatepickerStore, BsDatepickerEffects, BsDatepickerActions, PositioningService], usesInheritance: true, ngImport: i0, template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\n [options]=\"options$ | async\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"dayHoverHandler($event)\"\n (onHoverWeek)=\"weekHoverHandler($event)\"\n (onSelect)=\"daySelectHandler($event)\">\n </bs-days-calendar-view>\n </div>\n <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\n <div *ngSwitchCase=\"'month'\" class=\"bs-media-container\">\n <bs-month-calendar-view\n *ngFor=\"let calendar of monthsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"monthHoverHandler($event)\"\n (onSelect)=\"monthSelectHandler($event)\">\n </bs-month-calendar-view>\n </div>\n\n <!--years calendar-->\n <div *ngSwitchCase=\"'year'\" class=\"bs-media-container\">\n <bs-years-calendar-view\n *ngFor=\"let calendar of yearsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"yearHoverHandler($event)\"\n (onSelect)=\"yearSelectHandler($event)\">\n </bs-years-calendar-view>\n </div>\n </div>\n\n <!--applycancel buttons-->\n <div class=\"bs-datepicker-buttons\" *ngIf=\"false\">\n <button class=\"btn btn-success\" type=\"button\">Apply</button>\n <button class=\"btn btn-default\" type=\"button\">Cancel</button>\n </div>\n\n <div class=\"bs-datepicker-buttons\" *ngIf=\"showTodayBtn || showClearBtn\">\n <div class=\"btn-today-wrapper\"\n [class.today-left]=\"todayPos === 'left'\"\n [class.today-right]=\"todayPos === 'right'\"\n [class.today-center]=\"todayPos === 'center'\"\n *ngIf=\"showTodayBtn\">\n <button class=\"btn btn-success\" (click)=\"setToday()\">{{todayBtnLbl}}</button>\n </div>\n\n <div class=\"btn-clear-wrapper\"\n [class.clear-left]=\"clearPos === 'left'\"\n [class.clear-right]=\"clearPos === 'right'\"\n [class.clear-center]=\"clearPos === 'center'\"\n *ngIf=\"showClearBtn\">\n <button class=\"btn btn-success\" (click)=\"clearDate()\">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && customRanges.length > 0\">\n <bs-custom-date-view\n [selectedRange]=\"chosenRange\"\n [ranges]=\"customRanges\"\n [customRangeLabel]=\"customRangeBtnLbl\"\n (onSelect)=\"setRangeOnCalendar($event)\">\n </bs-custom-date-view>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "options", "isDisabled"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover", "onHoverWeek"] }, { kind: "ngmodule", type: TimepickerModule }, { kind: "component", type: i6.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: BsCustomDatesViewComponent, selector: "bs-custom-date-view", inputs: ["ranges", "selectedRange", "customRangeLabel"], outputs: ["onSelect"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [datepickerAnimation] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDaterangepickerInlineContainerComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'bs-daterangepicker-inline-container', providers: [BsDatepickerStore, BsDatepickerEffects, BsDatepickerActions, PositioningService], host: {
40
- '(click)': '_stopPropagation($event)'
41
- }, animations: [datepickerAnimation], standalone: true, imports: [NgIf, NgClass, NgSwitch, NgSwitchCase, NgFor, BsDaysCalendarViewComponent, TimepickerModule, BsMonthCalendarViewComponent, BsYearsCalendarViewComponent, BsCustomDatesViewComponent, AsyncPipe], template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\n [options]=\"options$ | async\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"dayHoverHandler($event)\"\n (onHoverWeek)=\"weekHoverHandler($event)\"\n (onSelect)=\"daySelectHandler($event)\">\n </bs-days-calendar-view>\n </div>\n <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\n <div *ngSwitchCase=\"'month'\" class=\"bs-media-container\">\n <bs-month-calendar-view\n *ngFor=\"let calendar of monthsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"monthHoverHandler($event)\"\n (onSelect)=\"monthSelectHandler($event)\">\n </bs-month-calendar-view>\n </div>\n\n <!--years calendar-->\n <div *ngSwitchCase=\"'year'\" class=\"bs-media-container\">\n <bs-years-calendar-view\n *ngFor=\"let calendar of yearsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"yearHoverHandler($event)\"\n (onSelect)=\"yearSelectHandler($event)\">\n </bs-years-calendar-view>\n </div>\n </div>\n\n <!--applycancel buttons-->\n <div class=\"bs-datepicker-buttons\" *ngIf=\"false\">\n <button class=\"btn btn-success\" type=\"button\">Apply</button>\n <button class=\"btn btn-default\" type=\"button\">Cancel</button>\n </div>\n\n <div class=\"bs-datepicker-buttons\" *ngIf=\"showTodayBtn || showClearBtn\">\n <div class=\"btn-today-wrapper\"\n [class.today-left]=\"todayPos === 'left'\"\n [class.today-right]=\"todayPos === 'right'\"\n [class.today-center]=\"todayPos === 'center'\"\n *ngIf=\"showTodayBtn\">\n <button class=\"btn btn-success\" (click)=\"setToday()\">{{todayBtnLbl}}</button>\n </div>\n\n <div class=\"btn-clear-wrapper\"\n [class.clear-left]=\"clearPos === 'left'\"\n [class.clear-right]=\"clearPos === 'right'\"\n [class.clear-center]=\"clearPos === 'center'\"\n *ngIf=\"showClearBtn\">\n <button class=\"btn btn-success\" (click)=\"clearDate()\">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && customRanges.length > 0\">\n <bs-custom-date-view\n [selectedRange]=\"chosenRange\"\n [ranges]=\"customRanges\"\n [customRangeLabel]=\"customRangeBtnLbl\"\n (onSelect)=\"setRangeOnCalendar($event)\">\n </bs-custom-date-view>\n </div>\n</div>\n" }]
42
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.BsDatepickerConfig }, { type: i2.BsDatepickerStore }, { type: i0.ElementRef }, { type: i3.BsDatepickerActions }, { type: i4.BsDatepickerEffects }, { type: i5.PositioningService }], propDecorators: { disabledValue: [{
43
- type: HostBinding,
44
- args: ['attr.disabled']
45
- }], readonlyValue: [{
46
- type: HostBinding,
47
- args: ['attr.readonly']
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXJhbmdlcGlja2VyLWlubGluZS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvdGhlbWVzL2JzL2JzLWRhdGVyYW5nZXBpY2tlci1pbmxpbmUtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlcGlja2VyL3RoZW1lcy9icy9icy1kYXRlcGlja2VyLXZpZXcuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFhMUYsTUFBTSxPQUFPLHlDQUEwQyxTQUFRLG1DQUFtQztJQUVoRyxJQUFtQyxhQUFhO1FBQzlDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBbUMsYUFBYTtRQUM5QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQ0UsU0FBb0IsRUFDcEIsT0FBMkIsRUFDM0IsTUFBeUIsRUFDekIsUUFBb0IsRUFDcEIsUUFBNkIsRUFDN0IsUUFBNkIsRUFDN0IsbUJBQXVDO1FBRXZDLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRXJGLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQXZCVSx5Q0FBeUM7a0dBQXpDLHlDQUF5Qyw4T0FUdkMsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxpRENuQmhHLDQzSEE0RkEsNENEbEVjLElBQUksNkZBQUUsT0FBTyxvRkFBRSxRQUFRLDZFQUFFLFlBQVkscUZBQUUsS0FBSyxtSEFBRSwyQkFBMkIsNkxBQUUsZ0JBQWdCLHdaQUFFLDRCQUE0Qix1SkFBRSw0QkFBNEIsdUpBQUUsMEJBQTBCLDJJQUFFLFNBQVMsZ0NBRjVMLENBQUMsbUJBQW1CLENBQUM7OzJGQUl4Qix5Q0FBeUM7a0JBWHJELFNBQVM7K0JBQ0kscUNBQXFDLGFBQ3BDLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsUUFFdEY7d0JBQ0YsU0FBUyxFQUFFLDBCQUEwQjtxQkFDeEMsY0FDVyxDQUFDLG1CQUFtQixDQUFDLGNBQ3JCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsNEJBQTRCLEVBQUUsMEJBQTBCLEVBQUUsU0FBUyxDQUFDOzZRQUl4SyxhQUFhO3NCQUEvQyxXQUFXO3VCQUFFLGVBQWU7Z0JBSU0sYUFBYTtzQkFBL0MsV0FBVzt1QkFBRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPbkluaXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgQ29tcG9uZW50LCBSZW5kZXJlcjIsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzRGF0ZXJhbmdlcGlja2VyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9icy1kYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEJzRGF0ZXBpY2tlckFjdGlvbnMgfSBmcm9tICcuLi8uLi9yZWR1Y2VyL2JzLWRhdGVwaWNrZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJDb25maWcgfSBmcm9tICcuLi8uLi9icy1kYXRlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJFZmZlY3RzIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLmVmZmVjdHMnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyU3RvcmUgfSBmcm9tICcuLi8uLi9yZWR1Y2VyL2JzLWRhdGVwaWNrZXIuc3RvcmUnO1xuXG5pbXBvcnQgeyBQb3NpdGlvbmluZ1NlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IGRhdGVwaWNrZXJBbmltYXRpb24gfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnNDdXN0b21EYXRlc1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JzLWN1c3RvbS1kYXRlcy12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc1llYXJzQ2FsZW5kYXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9icy15ZWFycy1jYWxlbmRhci12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc01vbnRoQ2FsZW5kYXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9icy1tb250aHMtY2FsZW5kYXItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdGltZXBpY2tlcic7XG5pbXBvcnQgeyBCc0RheXNDYWxlbmRhclZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JzLWRheXMtY2FsZW5kYXItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcywgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdGb3IsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnMtZGF0ZXJhbmdlcGlja2VyLWlubGluZS1jb250YWluZXInLFxuICAgIHByb3ZpZGVyczogW0JzRGF0ZXBpY2tlclN0b3JlLCBCc0RhdGVwaWNrZXJFZmZlY3RzLCBCc0RhdGVwaWNrZXJBY3Rpb25zLCBQb3NpdGlvbmluZ1NlcnZpY2VdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icy1kYXRlcGlja2VyLXZpZXcuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdfc3RvcFByb3BhZ2F0aW9uKCRldmVudCknXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbZGF0ZXBpY2tlckFuaW1hdGlvbl0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzcywgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdGb3IsIEJzRGF5c0NhbGVuZGFyVmlld0NvbXBvbmVudCwgVGltZXBpY2tlck1vZHVsZSwgQnNNb250aENhbGVuZGFyVmlld0NvbXBvbmVudCwgQnNZZWFyc0NhbGVuZGFyVmlld0NvbXBvbmVudCwgQnNDdXN0b21EYXRlc1ZpZXdDb21wb25lbnQsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgQnNEYXRlcmFuZ2VwaWNrZXJJbmxpbmVDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBCc0RhdGVyYW5nZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nICgnYXR0ci5kaXNhYmxlZCcpIGdldCBkaXNhYmxlZFZhbHVlICgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVQaWNrZXJEaXNhYmxlZCA/ICcnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyAoJ2F0dHIucmVhZG9ubHknKSBnZXQgcmVhZG9ubHlWYWx1ZSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNEYXRlUGlja2VyRGlzYWJsZWQgPyAnJyA6IG51bGw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBfY29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWcsXG4gICAgX3N0b3JlOiBCc0RhdGVwaWNrZXJTdG9yZSxcbiAgICBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBfYWN0aW9uczogQnNEYXRlcGlja2VyQWN0aW9ucyxcbiAgICBfZWZmZWN0czogQnNEYXRlcGlja2VyRWZmZWN0cyxcbiAgICBfcG9zaXRpb25pbmdTZXJ2aWNlOiBQb3NpdGlvbmluZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoX3JlbmRlcmVyLCBfY29uZmlnLCBfc3RvcmUsIF9lbGVtZW50LCBfYWN0aW9ucywgX2VmZmVjdHMsIF9wb3NpdGlvbmluZ1NlcnZpY2UpO1xuXG4gICAgX3JlbmRlcmVyLnNldFN0eWxlKF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpO1xuICAgIF9yZW5kZXJlci5zZXRTdHlsZShfZWxlbWVudC5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCAnc3RhdGljJyk7XG4gIH1cbn1cbiIsIjwhLS0gZGF5cyBjYWxlbmRhciB2aWV3IG1vZGUgLS0+XG48ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgKm5nSWY9XCJ2aWV3TW9kZSB8IGFzeW5jXCI+XG4gIDxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyLWNvbnRhaW5lclwiXG4gICAgW0BkYXRlcGlja2VyQW5pbWF0aW9uXT1cImFuaW1hdGlvblN0YXRlXCJcbiAgICAoQGRhdGVwaWNrZXJBbmltYXRpb24uZG9uZSk9XCJwb3NpdGlvblNlcnZpY2VFbmFibGUoKVwiPlxuICAgIDwhLS1jYWxlbmRhcnMtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYnMtY2FsZW5kYXItY29udGFpbmVyXCIgW25nU3dpdGNoXT1cInZpZXdNb2RlIHwgYXN5bmNcIiByb2xlPVwiYXBwbGljYXRpb25cIj5cbiAgICAgIDwhLS1kYXlzIGNhbGVuZGFyLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF5J1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnMtbWVkaWEtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGJzLWRheXMtY2FsZW5kYXItdmlld1xuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhbGVuZGFyIG9mIGRheXNDYWxlbmRhciQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNEYXRlUGlja2VyRGlzYWJsZWRcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Ib3Zlcik9XCJkYXlIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Ib3ZlcldlZWspPVwid2Vla0hvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblNlbGVjdCk9XCJkYXlTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgICA8L2JzLWRheXMtY2FsZW5kYXItdmlldz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ3aXRoVGltZXBpY2tlclwiIGNsYXNzPVwiYnMtdGltZXBpY2tlci1pbi1kYXRlcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDx0aW1lcGlja2VyICNzdGFydFRQIFtkaXNhYmxlZF09XCJpc0RhdGVQaWNrZXJEaXNhYmxlZFwiPjwvdGltZXBpY2tlcj5cbiAgICAgICAgICA8dGltZXBpY2tlciAjZW5kVFAgKm5nSWY9XCJpc1JhbmdlUGlja2VyXCIgW2Rpc2FibGVkXT1cImlzRGF0ZVBpY2tlckRpc2FibGVkXCI+PC90aW1lcGlja2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tbW9udGhzIGNhbGVuZGFyLS0+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInbW9udGgnXCIgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgPGJzLW1vbnRoLWNhbGVuZGFyLXZpZXdcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgbW9udGhzQ2FsZW5kYXIgfCBhc3luY1wiXG4gICAgICAgICAgW2NsYXNzLmJzLWRhdGVwaWNrZXItbXVsdGlwbGVdPVwibXVsdGlwbGVDYWxlbmRhcnNcIlxuICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCJcbiAgICAgICAgICAob25Ib3Zlcik9XCJtb250aEhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAob25TZWxlY3QpPVwibW9udGhTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgPC9icy1tb250aC1jYWxlbmRhci12aWV3PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS15ZWFycyBjYWxlbmRhci0tPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3llYXInXCIgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgPGJzLXllYXJzLWNhbGVuZGFyLXZpZXdcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgeWVhcnNDYWxlbmRhciB8IGFzeW5jXCJcbiAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIlxuICAgICAgICAgIChvbkhvdmVyKT1cInllYXJIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cInllYXJTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgPC9icy15ZWFycy1jYWxlbmRhci12aWV3PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tYXBwbHljYW5jZWwgYnV0dG9ucy0tPlxuICAgIDxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyLWJ1dHRvbnNcIiAqbmdJZj1cImZhbHNlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgdHlwZT1cImJ1dHRvblwiPkFwcGx5PC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCIgdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItYnV0dG9uc1wiICpuZ0lmPVwic2hvd1RvZGF5QnRuIHx8IHNob3dDbGVhckJ0blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ0bi10b2RheS13cmFwcGVyXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LWxlZnRdPVwidG9kYXlQb3MgPT09ICdsZWZ0J1wiXG4gICAgICAgICAgIFtjbGFzcy50b2RheS1yaWdodF09XCJ0b2RheVBvcyA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgIFtjbGFzcy50b2RheS1jZW50ZXJdPVwidG9kYXlQb3MgPT09ICdjZW50ZXInXCJcbiAgICAgICAgICAgKm5nSWY9XCJzaG93VG9kYXlCdG5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIChjbGljayk9XCJzZXRUb2RheSgpXCI+e3t0b2RheUJ0bkxibH19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWNsZWFyLXdyYXBwZXJcIlxuICAgICAgICBbY2xhc3MuY2xlYXItbGVmdF09XCJjbGVhclBvcyA9PT0gJ2xlZnQnXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyLXJpZ2h0XT1cImNsZWFyUG9zID09PSAncmlnaHQnXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyLWNlbnRlcl09XCJjbGVhclBvcyA9PT0gJ2NlbnRlcidcIlxuICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ0blwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiAoY2xpY2spPVwiY2xlYXJEYXRlKClcIj57e2NsZWFyQnRuTGJsfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPCEtLWN1c3RvbSBkYXRlcyBvciBkYXRlIHJhbmdlcyBwaWNrZXItLT5cbiAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItY3VzdG9tLXJhbmdlXCIgKm5nSWY9XCJjdXN0b21SYW5nZXMgJiYgY3VzdG9tUmFuZ2VzLmxlbmd0aCA+IDBcIj5cbiAgICA8YnMtY3VzdG9tLWRhdGUtdmlld1xuICAgICAgW3NlbGVjdGVkUmFuZ2VdPVwiY2hvc2VuUmFuZ2VcIlxuICAgICAgW3Jhbmdlc109XCJjdXN0b21SYW5nZXNcIlxuICAgICAgW2N1c3RvbVJhbmdlTGFiZWxdPVwiY3VzdG9tUmFuZ2VCdG5MYmxcIlxuICAgICAgKG9uU2VsZWN0KT1cInNldFJhbmdlT25DYWxlbmRhcigkZXZlbnQpXCI+XG4gICAgPC9icy1jdXN0b20tZGF0ZS12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19