mis-crystal-design-system 18.0.3 → 18.0.5

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 (526) hide show
  1. package/action-list/action-list.component.d.ts +1 -1
  2. package/analytics/analytics.service.d.ts +1 -1
  3. package/async-search-dropdown/async-dropdown.component.d.ts +2 -2
  4. package/button/button.component.d.ts +1 -1
  5. package/button/button.directive.d.ts +1 -1
  6. package/checkbox/checkbox.component.d.ts +1 -1
  7. package/chip/chip.component.d.ts +1 -1
  8. package/datepicker_v2/models/dp-config.model.d.ts +1 -1
  9. package/datepicker_v2/tz-datepicker.directive.d.ts +1 -1
  10. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +1 -1
  11. package/daterangepicker_v2/models/drp-config.model.d.ts +3 -1
  12. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +2 -1
  13. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +3 -1
  14. package/drawer/drawer-body/drawer-body.component.d.ts +1 -1
  15. package/dropdown/calculate-container-height.directive.d.ts +1 -1
  16. package/dropdown/dropdown.component.d.ts +1 -1
  17. package/dynamic-form/dynamic-form.component.d.ts +1 -1
  18. package/esm2020/action-list/action-list.component.mjs +370 -0
  19. package/{esm2022 → esm2020}/action-list/action-list.module.mjs +5 -5
  20. package/{esm2022 → esm2020}/analytics/analytics.module.mjs +5 -5
  21. package/esm2020/analytics/analytics.service.mjs +64 -0
  22. package/esm2020/async-search-dropdown/async-dropdown.component.mjs +525 -0
  23. package/{esm2022 → esm2020}/async-search-dropdown/async-dropdown.module.mjs +5 -5
  24. package/esm2020/button/button.component.mjs +87 -0
  25. package/esm2020/button/button.directive.mjs +61 -0
  26. package/{esm2022 → esm2020}/button/button.module.mjs +5 -5
  27. package/esm2020/checkbox/checkbox.component.mjs +124 -0
  28. package/{esm2022 → esm2020}/checkbox/checkbox.module.mjs +5 -5
  29. package/esm2020/chip/chip.component.mjs +82 -0
  30. package/{esm2022 → esm2020}/chip/chip.module.mjs +5 -5
  31. package/{esm2022 → esm2020}/datepicker_v2/datepicker.module.mjs +5 -5
  32. package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +183 -0
  33. package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +449 -0
  34. package/esm2020/datepicker_v2/utils/index.mjs +45 -0
  35. package/{esm2022 → esm2020}/daterangepicker_v2/daterangepicker.module.mjs +5 -5
  36. package/esm2020/daterangepicker_v2/models/drp-config.model.mjs +2 -0
  37. package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +165 -0
  38. package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +502 -0
  39. package/{esm2022/datepicker_v2 → esm2020/daterangepicker_v2}/utils/index.mjs +1 -1
  40. package/esm2020/drawer/drawer-body/drawer-body.component.mjs +58 -0
  41. package/{esm2022 → esm2020}/drawer/drawer-ref.mjs +4 -4
  42. package/{esm2022 → esm2020}/drawer/drawer.module.mjs +5 -5
  43. package/{esm2022 → esm2020}/drawer/drawer.service.mjs +5 -5
  44. package/esm2020/dropdown/calculate-container-height.directive.mjs +41 -0
  45. package/esm2020/dropdown/dropdown.component.mjs +472 -0
  46. package/{esm2022 → esm2020}/dropdown/dropdown.module.mjs +5 -5
  47. package/esm2020/dynamic-form/dynamic-form.component.mjs +1108 -0
  48. package/{esm2022 → esm2020}/dynamic-form/dynamic-form.module.mjs +13 -13
  49. package/esm2020/fab/fab.component.mjs +144 -0
  50. package/{esm2022 → esm2020}/fab/fab.module.mjs +5 -5
  51. package/esm2020/filter/filter-panel/filter-panel.component.mjs +403 -0
  52. package/{esm2022 → esm2020}/filter/filters.module.mjs +17 -17
  53. package/esm2020/filter/has-value.pipe.mjs +31 -0
  54. package/{esm2022 → esm2020}/input/directives/input/input.directive.mjs +6 -6
  55. package/esm2020/input/mis-input.component.mjs +84 -0
  56. package/{esm2022 → esm2020}/input/mis-input.module.mjs +5 -5
  57. package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +88 -0
  58. package/{esm2022 → esm2020}/input-stepper/input-stepper.module.mjs +5 -5
  59. package/esm2020/loader/loader.component.mjs +24 -0
  60. package/{esm2022 → esm2020}/loader/loader.module.mjs +5 -5
  61. package/esm2020/menu/menu-close.directive.mjs +25 -0
  62. package/{esm2022 → esm2020}/menu/menu.directive.mjs +7 -7
  63. package/{esm2022 → esm2020}/menu/menu.module.mjs +5 -5
  64. package/esm2020/mobile-filter/mobile-filter.component.mjs +181 -0
  65. package/{esm2022 → esm2020}/mobile-filter/mobile-filter.module.mjs +5 -5
  66. package/{esm2022 → esm2020}/modal/modal.module.mjs +5 -5
  67. package/esm2020/modal/modal.service.mjs +70 -0
  68. package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +55 -0
  69. package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +491 -0
  70. package/{esm2022 → esm2020}/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
  71. package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +517 -0
  72. package/{esm2022 → esm2020}/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +5 -5
  73. package/esm2020/phone-input/phone-input.component.mjs +71 -0
  74. package/{esm2022 → esm2020}/phone-input/phone-input.module.mjs +5 -5
  75. package/esm2020/radio-button/radio-button.component.mjs +56 -0
  76. package/{esm2022 → esm2020}/radio-button/radio-button.module.mjs +5 -5
  77. package/esm2020/ske-loader/ske-loader.component.mjs +53 -0
  78. package/{esm2022 → esm2020}/ske-loader/ske-loader.module.mjs +5 -5
  79. package/esm2020/slider/slider.component.mjs +45 -0
  80. package/{esm2022 → esm2020}/slider/slider.module.mjs +7 -7
  81. package/esm2020/snackbar/snackbar/snackbar.component.mjs +72 -0
  82. package/{esm2022 → esm2020}/snackbar/snackbar.module.mjs +5 -5
  83. package/esm2020/snackbar/snackbar.service.mjs +47 -0
  84. package/{esm2022 → esm2020}/specificdatepicker/specificdatepicker.module.mjs +5 -5
  85. package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +646 -0
  86. package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
  87. package/esm2020/specificdatepicker/utils/index.mjs +45 -0
  88. package/esm2020/star-rating/star-rating.component.mjs +112 -0
  89. package/{esm2022 → esm2020}/star-rating/star-rating.module.mjs +5 -5
  90. package/esm2020/switch/switch.component.mjs +55 -0
  91. package/{esm2022 → esm2020}/switch/switch.module.mjs +5 -5
  92. package/esm2020/table/custom-table-cell.directive.mjs +42 -0
  93. package/esm2020/table/filter/filter.component.mjs +176 -0
  94. package/esm2020/table/sub-table/sub-table.component.mjs +193 -0
  95. package/esm2020/table/table.component.mjs +492 -0
  96. package/{esm2022 → esm2020}/table/table.module.mjs +5 -5
  97. package/esm2020/timepicker/timepicker.component.mjs +370 -0
  98. package/esm2020/timepicker/timepicker.directive.mjs +69 -0
  99. package/{esm2022 → esm2020}/timepicker/timepicker.module.mjs +5 -5
  100. package/esm2020/timerangepicker/timerangepicker.component.mjs +236 -0
  101. package/{esm2022 → esm2020}/timerangepicker/timerangepicker.module.mjs +5 -5
  102. package/esm2020/toast/toast.component.mjs +50 -0
  103. package/{esm2022 → esm2020}/toast/toast.data.service.mjs +8 -8
  104. package/{esm2022 → esm2020}/toast/toast.module.mjs +5 -5
  105. package/esm2020/toast/toast.service.mjs +91 -0
  106. package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +79 -0
  107. package/esm2020/tooltip/tooltip.directive.mjs +143 -0
  108. package/{esm2022 → esm2020}/tooltip/tooltip.module.mjs +5 -5
  109. package/esm2020/virtual-scroll/virtual-scroll.component.mjs +190 -0
  110. package/{esm2022 → esm2020}/virtual-scroll/virtual-scroll.module.mjs +7 -7
  111. package/esm2020/widgets/classes/async-widget.mjs +23 -0
  112. package/{esm2022 → esm2020}/widgets/classes/base-widget.mjs +1 -1
  113. package/esm2020/widgets/classes/sync-widget.mjs +20 -0
  114. package/{esm2022 → esm2020}/widgets/services/widget.service.mjs +5 -5
  115. package/{esm2022 → esm2020}/widgets/widgets.module.mjs +5 -5
  116. package/fab/fab.component.d.ts +4 -4
  117. package/fesm2015/mis-crystal-design-system-action-list.mjs +446 -0
  118. package/fesm2015/mis-crystal-design-system-action-list.mjs.map +1 -0
  119. package/fesm2015/mis-crystal-design-system-analytics.mjs +87 -0
  120. package/fesm2015/mis-crystal-design-system-analytics.mjs.map +1 -0
  121. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +618 -0
  122. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  123. package/fesm2015/mis-crystal-design-system-button.mjs +189 -0
  124. package/fesm2015/mis-crystal-design-system-button.mjs.map +1 -0
  125. package/fesm2015/mis-crystal-design-system-checkbox.mjs +166 -0
  126. package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -0
  127. package/fesm2015/mis-crystal-design-system-chip.mjs +123 -0
  128. package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -0
  129. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +751 -0
  130. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  131. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +769 -0
  132. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  133. package/fesm2015/mis-crystal-design-system-drawer.mjs +185 -0
  134. package/fesm2015/mis-crystal-design-system-drawer.mjs.map +1 -0
  135. package/fesm2015/mis-crystal-design-system-dropdown.mjs +616 -0
  136. package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -0
  137. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +1337 -0
  138. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  139. package/fesm2015/mis-crystal-design-system-fab.mjs +186 -0
  140. package/fesm2015/mis-crystal-design-system-fab.mjs.map +1 -0
  141. package/fesm2015/mis-crystal-design-system-filter.mjs +559 -0
  142. package/fesm2015/mis-crystal-design-system-filter.mjs.map +1 -0
  143. package/fesm2015/mis-crystal-design-system-input-stepper.mjs +124 -0
  144. package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +1 -0
  145. package/fesm2015/mis-crystal-design-system-input.mjs +165 -0
  146. package/fesm2015/mis-crystal-design-system-input.mjs.map +1 -0
  147. package/fesm2015/mis-crystal-design-system-loader.mjs +57 -0
  148. package/fesm2015/mis-crystal-design-system-loader.mjs.map +1 -0
  149. package/fesm2015/mis-crystal-design-system-menu.mjs +135 -0
  150. package/fesm2015/mis-crystal-design-system-menu.mjs.map +1 -0
  151. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +227 -0
  152. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  153. package/fesm2015/mis-crystal-design-system-modal.mjs +184 -0
  154. package/fesm2015/mis-crystal-design-system-modal.mjs.map +1 -0
  155. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +550 -0
  156. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  157. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +559 -0
  158. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  159. package/fesm2015/mis-crystal-design-system-phone-input.mjs +107 -0
  160. package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +1 -0
  161. package/fesm2015/mis-crystal-design-system-radio-button.mjs +89 -0
  162. package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -0
  163. package/fesm2015/mis-crystal-design-system-ske-loader.mjs +86 -0
  164. package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  165. package/fesm2015/mis-crystal-design-system-slider.mjs +88 -0
  166. package/fesm2015/mis-crystal-design-system-slider.mjs.map +1 -0
  167. package/fesm2015/mis-crystal-design-system-snackbar.mjs +175 -0
  168. package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +1 -0
  169. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +970 -0
  170. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  171. package/fesm2015/mis-crystal-design-system-star-rating.mjs +145 -0
  172. package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +1 -0
  173. package/fesm2015/mis-crystal-design-system-switch.mjs +88 -0
  174. package/fesm2015/mis-crystal-design-system-switch.mjs.map +1 -0
  175. package/fesm2015/mis-crystal-design-system-table.mjs +1045 -0
  176. package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -0
  177. package/fesm2015/mis-crystal-design-system-timepicker.mjs +484 -0
  178. package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +1 -0
  179. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +273 -0
  180. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
  181. package/fesm2015/mis-crystal-design-system-toast.mjs +214 -0
  182. package/fesm2015/mis-crystal-design-system-toast.mjs.map +1 -0
  183. package/fesm2015/mis-crystal-design-system-tooltip.mjs +272 -0
  184. package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +1 -0
  185. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +259 -0
  186. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  187. package/fesm2015/mis-crystal-design-system-widgets.mjs +131 -0
  188. package/fesm2015/mis-crystal-design-system-widgets.mjs.map +1 -0
  189. package/{fesm2022 → fesm2020}/mis-crystal-design-system-action-list.mjs +113 -106
  190. package/fesm2020/mis-crystal-design-system-action-list.mjs.map +1 -0
  191. package/{fesm2022 → fesm2020}/mis-crystal-design-system-analytics.mjs +9 -9
  192. package/{fesm2022 → fesm2020}/mis-crystal-design-system-analytics.mjs.map +1 -1
  193. package/{fesm2022 → fesm2020}/mis-crystal-design-system-async-search-dropdown.mjs +144 -138
  194. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  195. package/fesm2020/mis-crystal-design-system-button.mjs +172 -0
  196. package/fesm2020/mis-crystal-design-system-button.mjs.map +1 -0
  197. package/fesm2020/mis-crystal-design-system-checkbox.mjs +150 -0
  198. package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -0
  199. package/fesm2020/mis-crystal-design-system-chip.mjs +108 -0
  200. package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -0
  201. package/{fesm2022 → fesm2020}/mis-crystal-design-system-datepicker_v2.mjs +140 -133
  202. package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  203. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +736 -0
  204. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  205. package/{fesm2022 → fesm2020}/mis-crystal-design-system-drawer.mjs +33 -34
  206. package/{fesm2022 → fesm2020}/mis-crystal-design-system-drawer.mjs.map +1 -1
  207. package/{fesm2022 → fesm2020}/mis-crystal-design-system-dropdown.mjs +184 -176
  208. package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -0
  209. package/{fesm2022 → fesm2020}/mis-crystal-design-system-dynamic-form.mjs +456 -441
  210. package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  211. package/{fesm2022 → fesm2020}/mis-crystal-design-system-fab.mjs +47 -48
  212. package/fesm2020/mis-crystal-design-system-fab.mjs.map +1 -0
  213. package/{fesm2022 → fesm2020}/mis-crystal-design-system-filter.mjs +140 -133
  214. package/fesm2020/mis-crystal-design-system-filter.mjs.map +1 -0
  215. package/{fesm2022 → fesm2020}/mis-crystal-design-system-input-stepper.mjs +34 -35
  216. package/{fesm2022 → fesm2020}/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  217. package/{esm2022/input/mis-input.component.mjs → fesm2020/mis-crystal-design-system-input.mjs} +109 -49
  218. package/{fesm2022 → fesm2020}/mis-crystal-design-system-input.mjs.map +1 -1
  219. package/fesm2020/mis-crystal-design-system-loader.mjs +50 -0
  220. package/{fesm2022 → fesm2020}/mis-crystal-design-system-loader.mjs.map +1 -1
  221. package/{fesm2022 → fesm2020}/mis-crystal-design-system-menu.mjs +16 -16
  222. package/{fesm2022 → fesm2020}/mis-crystal-design-system-menu.mjs.map +1 -1
  223. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +206 -0
  224. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  225. package/{fesm2022 → fesm2020}/mis-crystal-design-system-modal.mjs +33 -34
  226. package/{fesm2022 → fesm2020}/mis-crystal-design-system-modal.mjs.map +1 -1
  227. package/{fesm2022 → fesm2020}/mis-crystal-design-system-multi-select-dropdown.mjs +109 -107
  228. package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  229. package/{fesm2022 → fesm2020}/mis-crystal-design-system-nested-multi-select-dropdown.mjs +129 -128
  230. package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  231. package/{fesm2022 → fesm2020}/mis-crystal-design-system-phone-input.mjs +21 -22
  232. package/{fesm2022 → fesm2020}/mis-crystal-design-system-phone-input.mjs.map +1 -1
  233. package/fesm2020/mis-crystal-design-system-radio-button.mjs +82 -0
  234. package/{fesm2022 → fesm2020}/mis-crystal-design-system-radio-button.mjs.map +1 -1
  235. package/fesm2020/mis-crystal-design-system-ske-loader.mjs +76 -0
  236. package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  237. package/fesm2020/mis-crystal-design-system-slider.mjs +79 -0
  238. package/{fesm2022 → fesm2020}/mis-crystal-design-system-slider.mjs.map +1 -1
  239. package/{fesm2022 → fesm2020}/mis-crystal-design-system-snackbar.mjs +32 -32
  240. package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +1 -0
  241. package/{fesm2022 → fesm2020}/mis-crystal-design-system-specificdatepicker.mjs +204 -204
  242. package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  243. package/{fesm2022 → fesm2020}/mis-crystal-design-system-star-rating.mjs +28 -29
  244. package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +1 -0
  245. package/fesm2020/mis-crystal-design-system-styles.mjs +4 -0
  246. package/fesm2020/mis-crystal-design-system-styles.mjs.map +1 -0
  247. package/fesm2020/mis-crystal-design-system-switch.mjs +81 -0
  248. package/fesm2020/mis-crystal-design-system-switch.mjs.map +1 -0
  249. package/{fesm2022 → fesm2020}/mis-crystal-design-system-table.mjs +321 -314
  250. package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -0
  251. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timepicker.mjs +74 -78
  252. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timepicker.mjs.map +1 -1
  253. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timerangepicker.mjs +25 -26
  254. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  255. package/{fesm2022 → fesm2020}/mis-crystal-design-system-toast.mjs +34 -35
  256. package/{fesm2022 → fesm2020}/mis-crystal-design-system-toast.mjs.map +1 -1
  257. package/{fesm2022 → fesm2020}/mis-crystal-design-system-tooltip.mjs +47 -47
  258. package/{fesm2022 → fesm2020}/mis-crystal-design-system-tooltip.mjs.map +1 -1
  259. package/fesm2020/mis-crystal-design-system-utils.mjs +24 -0
  260. package/fesm2020/mis-crystal-design-system-utils.mjs.map +1 -0
  261. package/{fesm2022 → fesm2020}/mis-crystal-design-system-virtual-scroll.mjs +52 -50
  262. package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  263. package/{fesm2022 → fesm2020}/mis-crystal-design-system-widgets.mjs +4 -4
  264. package/{fesm2022 → fesm2020}/mis-crystal-design-system-widgets.mjs.map +1 -1
  265. package/fesm2020/mis-crystal-design-system.mjs +24 -0
  266. package/fesm2020/mis-crystal-design-system.mjs.map +1 -0
  267. package/filter/filter-panel/filter-panel.component.d.ts +4 -3
  268. package/input/directives/input/input.directive.d.ts +1 -1
  269. package/input/mis-input.component.d.ts +1 -1
  270. package/input-stepper/input-stepper/input-stepper.component.d.ts +1 -1
  271. package/loader/loader.component.d.ts +1 -1
  272. package/menu/menu-close.directive.d.ts +1 -1
  273. package/menu/menu.directive.d.ts +1 -1
  274. package/mobile-filter/mobile-filter.component.d.ts +1 -1
  275. package/modal/module-wrapper/module-wrapper.component.d.ts +1 -1
  276. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +1 -1
  277. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +1 -1
  278. package/package.json +230 -148
  279. package/phone-input/phone-input.component.d.ts +1 -1
  280. package/radio-button/radio-button.component.d.ts +1 -1
  281. package/ske-loader/ske-loader.component.d.ts +1 -1
  282. package/slider/slider.component.d.ts +1 -1
  283. package/snackbar/snackbar/snackbar.component.d.ts +1 -1
  284. package/specificdatepicker/models/sdp-config.model.d.ts +1 -1
  285. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +1 -1
  286. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +1 -1
  287. package/star-rating/star-rating.component.d.ts +1 -1
  288. package/switch/switch.component.d.ts +1 -1
  289. package/table/custom-table-cell.directive.d.ts +1 -1
  290. package/table/filter/filter.component.d.ts +1 -1
  291. package/table/sub-table/sub-table.component.d.ts +1 -1
  292. package/table/table.component.d.ts +1 -1
  293. package/timepicker/timepicker.component.d.ts +1 -1
  294. package/timepicker/timepicker.directive.d.ts +1 -1
  295. package/timerangepicker/timerange.namespace.d.ts +1 -1
  296. package/timerangepicker/timerangepicker.component.d.ts +1 -1
  297. package/toast/toast.component.d.ts +1 -1
  298. package/toast/toast.service.d.ts +1 -1
  299. package/tooltip/models/tooltip.model.d.ts +1 -1
  300. package/tooltip/tooltip-container/tooltip.component.d.ts +1 -1
  301. package/tooltip/tooltip.directive.d.ts +1 -1
  302. package/virtual-scroll/virtual-scroll.component.d.ts +1 -1
  303. package/widgets/interfaces/widgets.model.d.ts +1 -1
  304. package/esm2022/action-list/action-list.component.mjs +0 -363
  305. package/esm2022/analytics/analytics.service.mjs +0 -64
  306. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +0 -519
  307. package/esm2022/button/button.component.mjs +0 -88
  308. package/esm2022/button/button.directive.mjs +0 -61
  309. package/esm2022/checkbox/checkbox.component.mjs +0 -124
  310. package/esm2022/chip/chip.component.mjs +0 -82
  311. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +0 -183
  312. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +0 -442
  313. package/esm2022/daterangepicker_v2/models/drp-config.model.mjs +0 -2
  314. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +0 -156
  315. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +0 -473
  316. package/esm2022/daterangepicker_v2/utils/index.mjs +0 -45
  317. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +0 -59
  318. package/esm2022/dropdown/calculate-container-height.directive.mjs +0 -41
  319. package/esm2022/dropdown/dropdown.component.mjs +0 -464
  320. package/esm2022/dynamic-form/dynamic-form.component.mjs +0 -1093
  321. package/esm2022/fab/fab.component.mjs +0 -145
  322. package/esm2022/filter/filter-panel/filter-panel.component.mjs +0 -396
  323. package/esm2022/filter/has-value.pipe.mjs +0 -31
  324. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +0 -89
  325. package/esm2022/loader/loader.component.mjs +0 -25
  326. package/esm2022/menu/menu-close.directive.mjs +0 -25
  327. package/esm2022/mobile-filter/mobile-filter.component.mjs +0 -180
  328. package/esm2022/modal/modal.service.mjs +0 -70
  329. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +0 -56
  330. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +0 -489
  331. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +0 -516
  332. package/esm2022/phone-input/phone-input.component.mjs +0 -72
  333. package/esm2022/radio-button/radio-button.component.mjs +0 -57
  334. package/esm2022/ske-loader/ske-loader.component.mjs +0 -54
  335. package/esm2022/slider/slider.component.mjs +0 -46
  336. package/esm2022/snackbar/snackbar/snackbar.component.mjs +0 -72
  337. package/esm2022/snackbar/snackbar.service.mjs +0 -47
  338. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +0 -646
  339. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +0 -196
  340. package/esm2022/specificdatepicker/utils/index.mjs +0 -45
  341. package/esm2022/star-rating/star-rating.component.mjs +0 -113
  342. package/esm2022/switch/switch.component.mjs +0 -56
  343. package/esm2022/table/custom-table-cell.directive.mjs +0 -42
  344. package/esm2022/table/filter/filter.component.mjs +0 -177
  345. package/esm2022/table/sub-table/sub-table.component.mjs +0 -192
  346. package/esm2022/table/table.component.mjs +0 -485
  347. package/esm2022/timepicker/timepicker.component.mjs +0 -374
  348. package/esm2022/timepicker/timepicker.directive.mjs +0 -69
  349. package/esm2022/timerangepicker/timerangepicker.component.mjs +0 -237
  350. package/esm2022/toast/toast.component.mjs +0 -51
  351. package/esm2022/toast/toast.service.mjs +0 -91
  352. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +0 -79
  353. package/esm2022/tooltip/tooltip.directive.mjs +0 -143
  354. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +0 -188
  355. package/esm2022/widgets/classes/async-widget.mjs +0 -23
  356. package/esm2022/widgets/classes/sync-widget.mjs +0 -20
  357. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +0 -1
  358. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
  359. package/fesm2022/mis-crystal-design-system-button.mjs +0 -173
  360. package/fesm2022/mis-crystal-design-system-button.mjs.map +0 -1
  361. package/fesm2022/mis-crystal-design-system-checkbox.mjs +0 -150
  362. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +0 -1
  363. package/fesm2022/mis-crystal-design-system-chip.mjs +0 -108
  364. package/fesm2022/mis-crystal-design-system-chip.mjs.map +0 -1
  365. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
  366. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +0 -698
  367. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
  368. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +0 -1
  369. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
  370. package/fesm2022/mis-crystal-design-system-fab.mjs.map +0 -1
  371. package/fesm2022/mis-crystal-design-system-filter.mjs.map +0 -1
  372. package/fesm2022/mis-crystal-design-system-input.mjs +0 -146
  373. package/fesm2022/mis-crystal-design-system-loader.mjs +0 -51
  374. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +0 -205
  375. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
  376. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
  377. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
  378. package/fesm2022/mis-crystal-design-system-radio-button.mjs +0 -83
  379. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +0 -77
  380. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +0 -1
  381. package/fesm2022/mis-crystal-design-system-slider.mjs +0 -80
  382. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +0 -1
  383. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
  384. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +0 -1
  385. package/fesm2022/mis-crystal-design-system-switch.mjs +0 -82
  386. package/fesm2022/mis-crystal-design-system-switch.mjs.map +0 -1
  387. package/fesm2022/mis-crystal-design-system-table.mjs.map +0 -1
  388. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
  389. /package/{esm2022 → esm2020}/action-list/index.mjs +0 -0
  390. /package/{esm2022 → esm2020}/action-list/mis-crystal-design-system-action-list.mjs +0 -0
  391. /package/{esm2022 → esm2020}/action-list/public_api.mjs +0 -0
  392. /package/{esm2022 → esm2020}/analytics/index.mjs +0 -0
  393. /package/{esm2022 → esm2020}/analytics/mis-crystal-design-system-analytics.mjs +0 -0
  394. /package/{esm2022 → esm2020}/analytics/public_api.mjs +0 -0
  395. /package/{esm2022 → esm2020}/async-search-dropdown/index.mjs +0 -0
  396. /package/{esm2022 → esm2020}/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs +0 -0
  397. /package/{esm2022 → esm2020}/async-search-dropdown/public_api.mjs +0 -0
  398. /package/{esm2022 → esm2020}/button/index.mjs +0 -0
  399. /package/{esm2022 → esm2020}/button/mis-crystal-design-system-button.mjs +0 -0
  400. /package/{esm2022 → esm2020}/button/public_api.mjs +0 -0
  401. /package/{esm2022 → esm2020}/checkbox/index.mjs +0 -0
  402. /package/{esm2022 → esm2020}/checkbox/mis-crystal-design-system-checkbox.mjs +0 -0
  403. /package/{esm2022 → esm2020}/checkbox/public_api.mjs +0 -0
  404. /package/{esm2022 → esm2020}/chip/index.mjs +0 -0
  405. /package/{esm2022 → esm2020}/chip/mis-crystal-design-system-chip.mjs +0 -0
  406. /package/{esm2022 → esm2020}/chip/public_api.mjs +0 -0
  407. /package/{esm2022 → esm2020}/datepicker_v2/datepicker-constants.mjs +0 -0
  408. /package/{esm2022 → esm2020}/datepicker_v2/index.mjs +0 -0
  409. /package/{esm2022 → esm2020}/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +0 -0
  410. /package/{esm2022 → esm2020}/datepicker_v2/models/dp-config.model.mjs +0 -0
  411. /package/{esm2022 → esm2020}/datepicker_v2/public_api.mjs +0 -0
  412. /package/{esm2022 → esm2020}/daterangepicker_v2/daterangepicker-constants.mjs +0 -0
  413. /package/{esm2022 → esm2020}/daterangepicker_v2/index.mjs +0 -0
  414. /package/{esm2022 → esm2020}/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +0 -0
  415. /package/{esm2022 → esm2020}/daterangepicker_v2/public_api.mjs +0 -0
  416. /package/{esm2022 → esm2020}/drawer/drawer-constants.mjs +0 -0
  417. /package/{esm2022 → esm2020}/drawer/index.mjs +0 -0
  418. /package/{esm2022 → esm2020}/drawer/mis-crystal-design-system-drawer.mjs +0 -0
  419. /package/{esm2022 → esm2020}/drawer/public_api.mjs +0 -0
  420. /package/{esm2022 → esm2020}/dropdown/index.mjs +0 -0
  421. /package/{esm2022 → esm2020}/dropdown/mis-crystal-design-system-dropdown.mjs +0 -0
  422. /package/{esm2022 → esm2020}/dropdown/public_api.mjs +0 -0
  423. /package/{esm2022 → esm2020}/dynamic-form/dynamic-form.namespace.mjs +0 -0
  424. /package/{esm2022 → esm2020}/dynamic-form/index.mjs +0 -0
  425. /package/{esm2022 → esm2020}/dynamic-form/mis-crystal-design-system-dynamic-form.mjs +0 -0
  426. /package/{esm2022 → esm2020}/dynamic-form/public_api.mjs +0 -0
  427. /package/{esm2022 → esm2020}/fab/index.mjs +0 -0
  428. /package/{esm2022 → esm2020}/fab/mis-crystal-design-system-fab.mjs +0 -0
  429. /package/{esm2022 → esm2020}/fab/public_api.mjs +0 -0
  430. /package/{esm2022 → esm2020}/filter/animations/slideFromRight.mjs +0 -0
  431. /package/{esm2022 → esm2020}/filter/index.mjs +0 -0
  432. /package/{esm2022 → esm2020}/filter/mis-crystal-design-system-filter.mjs +0 -0
  433. /package/{esm2022 → esm2020}/filter/public_api.mjs +0 -0
  434. /package/{esm2022 → esm2020}/index.mjs +0 -0
  435. /package/{esm2022 → esm2020}/input/index.mjs +0 -0
  436. /package/{esm2022 → esm2020}/input/mis-crystal-design-system-input.mjs +0 -0
  437. /package/{esm2022 → esm2020}/input/public_api.mjs +0 -0
  438. /package/{esm2022 → esm2020}/input-stepper/index.mjs +0 -0
  439. /package/{esm2022 → esm2020}/input-stepper/mis-crystal-design-system-input-stepper.mjs +0 -0
  440. /package/{esm2022 → esm2020}/input-stepper/public_api.mjs +0 -0
  441. /package/{esm2022 → esm2020}/loader/index.mjs +0 -0
  442. /package/{esm2022 → esm2020}/loader/mis-crystal-design-system-loader.mjs +0 -0
  443. /package/{esm2022 → esm2020}/loader/public_api.mjs +0 -0
  444. /package/{esm2022 → esm2020}/menu/index.mjs +0 -0
  445. /package/{esm2022 → esm2020}/menu/mis-crystal-design-system-menu.mjs +0 -0
  446. /package/{esm2022 → esm2020}/menu/public_api.mjs +0 -0
  447. /package/{esm2022 → esm2020}/mis-crystal-design-system.mjs +0 -0
  448. /package/{esm2022 → esm2020}/mobile-filter/index.mjs +0 -0
  449. /package/{esm2022 → esm2020}/mobile-filter/mis-crystal-design-system-mobile-filter.mjs +0 -0
  450. /package/{esm2022 → esm2020}/mobile-filter/public_api.mjs +0 -0
  451. /package/{esm2022 → esm2020}/modal/index.mjs +0 -0
  452. /package/{esm2022 → esm2020}/modal/mis-crystal-design-system-modal.mjs +0 -0
  453. /package/{esm2022 → esm2020}/modal/modal-constants.mjs +0 -0
  454. /package/{esm2022 → esm2020}/modal/modal-ref.mjs +0 -0
  455. /package/{esm2022 → esm2020}/modal/public_api.mjs +0 -0
  456. /package/{esm2022 → esm2020}/multi-select-dropdown/index.mjs +0 -0
  457. /package/{esm2022 → esm2020}/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs +0 -0
  458. /package/{esm2022 → esm2020}/multi-select-dropdown/public_api.mjs +0 -0
  459. /package/{esm2022 → esm2020}/nested-multi-select-dropdown/index.mjs +0 -0
  460. /package/{esm2022 → esm2020}/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -0
  461. /package/{esm2022 → esm2020}/nested-multi-select-dropdown/public_api.mjs +0 -0
  462. /package/{esm2022 → esm2020}/phone-input/index.mjs +0 -0
  463. /package/{esm2022 → esm2020}/phone-input/mis-crystal-design-system-phone-input.mjs +0 -0
  464. /package/{esm2022 → esm2020}/phone-input/public_api.mjs +0 -0
  465. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
  466. /package/{esm2022 → esm2020}/radio-button/index.mjs +0 -0
  467. /package/{esm2022 → esm2020}/radio-button/mis-crystal-design-system-radio-button.mjs +0 -0
  468. /package/{esm2022 → esm2020}/radio-button/public_api.mjs +0 -0
  469. /package/{esm2022 → esm2020}/ske-loader/index.mjs +0 -0
  470. /package/{esm2022 → esm2020}/ske-loader/mis-crystal-design-system-ske-loader.mjs +0 -0
  471. /package/{esm2022 → esm2020}/ske-loader/public_api.mjs +0 -0
  472. /package/{esm2022 → esm2020}/slider/index.mjs +0 -0
  473. /package/{esm2022 → esm2020}/slider/mis-crystal-design-system-slider.mjs +0 -0
  474. /package/{esm2022 → esm2020}/slider/public_api.mjs +0 -0
  475. /package/{esm2022 → esm2020}/snackbar/index.mjs +0 -0
  476. /package/{esm2022 → esm2020}/snackbar/mis-crystal-design-system-snackbar.mjs +0 -0
  477. /package/{esm2022 → esm2020}/snackbar/public_api.mjs +0 -0
  478. /package/{esm2022 → esm2020}/specificdatepicker/daterangepicker-constants.mjs +0 -0
  479. /package/{esm2022 → esm2020}/specificdatepicker/index.mjs +0 -0
  480. /package/{esm2022 → esm2020}/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +0 -0
  481. /package/{esm2022 → esm2020}/specificdatepicker/models/sdp-config.model.mjs +0 -0
  482. /package/{esm2022 → esm2020}/specificdatepicker/public_api.mjs +0 -0
  483. /package/{esm2022 → esm2020}/star-rating/index.mjs +0 -0
  484. /package/{esm2022 → esm2020}/star-rating/mis-crystal-design-system-star-rating.mjs +0 -0
  485. /package/{esm2022 → esm2020}/star-rating/public_api.mjs +0 -0
  486. /package/{esm2022 → esm2020}/styles/index.mjs +0 -0
  487. /package/{esm2022 → esm2020}/styles/mis-crystal-design-system-styles.mjs +0 -0
  488. /package/{esm2022 → esm2020}/styles/public_api.mjs +0 -0
  489. /package/{esm2022 → esm2020}/switch/index.mjs +0 -0
  490. /package/{esm2022 → esm2020}/switch/mis-crystal-design-system-switch.mjs +0 -0
  491. /package/{esm2022 → esm2020}/switch/public_api.mjs +0 -0
  492. /package/{esm2022 → esm2020}/table/index.mjs +0 -0
  493. /package/{esm2022 → esm2020}/table/mis-crystal-design-system-table.mjs +0 -0
  494. /package/{esm2022 → esm2020}/table/public_api.mjs +0 -0
  495. /package/{esm2022 → esm2020}/timepicker/index.mjs +0 -0
  496. /package/{esm2022 → esm2020}/timepicker/mis-crystal-design-system-timepicker.mjs +0 -0
  497. /package/{esm2022 → esm2020}/timepicker/public_api.mjs +0 -0
  498. /package/{esm2022 → esm2020}/timepicker/time.namespace.mjs +0 -0
  499. /package/{esm2022 → esm2020}/timerangepicker/index.mjs +0 -0
  500. /package/{esm2022 → esm2020}/timerangepicker/mis-crystal-design-system-timerangepicker.mjs +0 -0
  501. /package/{esm2022 → esm2020}/timerangepicker/public_api.mjs +0 -0
  502. /package/{esm2022 → esm2020}/timerangepicker/timerange.namespace.mjs +0 -0
  503. /package/{esm2022 → esm2020}/toast/index.mjs +0 -0
  504. /package/{esm2022 → esm2020}/toast/mis-crystal-design-system-toast.mjs +0 -0
  505. /package/{esm2022 → esm2020}/toast/public_api.mjs +0 -0
  506. /package/{esm2022 → esm2020}/tooltip/index.mjs +0 -0
  507. /package/{esm2022 → esm2020}/tooltip/mis-crystal-design-system-tooltip.mjs +0 -0
  508. /package/{esm2022 → esm2020}/tooltip/models/tooltip.model.mjs +0 -0
  509. /package/{esm2022 → esm2020}/tooltip/public_api.mjs +0 -0
  510. /package/{esm2022 → esm2020}/utils/index.mjs +0 -0
  511. /package/{esm2022 → esm2020}/utils/mis-crystal-design-system-utils.mjs +0 -0
  512. /package/{esm2022 → esm2020}/virtual-scroll/index.mjs +0 -0
  513. /package/{esm2022 → esm2020}/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs +0 -0
  514. /package/{esm2022 → esm2020}/virtual-scroll/public_api.mjs +0 -0
  515. /package/{esm2022 → esm2020}/virtual-scroll/virtual-scroll.constants.mjs +0 -0
  516. /package/{esm2022 → esm2020}/widgets/classes/widget-group.mjs +0 -0
  517. /package/{esm2022 → esm2020}/widgets/index.mjs +0 -0
  518. /package/{esm2022 → esm2020}/widgets/interfaces/widgets.model.mjs +0 -0
  519. /package/{esm2022 → esm2020}/widgets/mis-crystal-design-system-widgets.mjs +0 -0
  520. /package/{esm2022 → esm2020}/widgets/public_api.mjs +0 -0
  521. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-styles.mjs +0 -0
  522. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-styles.mjs.map +0 -0
  523. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-utils.mjs +0 -0
  524. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-utils.mjs.map +0 -0
  525. /package/{fesm2022 → fesm2015}/mis-crystal-design-system.mjs +0 -0
  526. /package/{fesm2022 → fesm2015}/mis-crystal-design-system.mjs.map +0 -0
@@ -1,473 +0,0 @@
1
- import { Component, HostListener, Inject } from "@angular/core";
2
- import { CONTAINER_DATA, DATE_FORMAT } from "../daterangepicker-constants";
3
- import { getMonth } from "../utils";
4
- import dayjs, { tz } from 'dayjs';
5
- import timezone from 'dayjs/plugin/timezone';
6
- import utc from 'dayjs/plugin/utc';
7
- import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
8
- import isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
9
- import customParseFormat from 'dayjs/plugin/customParseFormat';
10
- import isBetween from 'dayjs/plugin/isBetween';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "mis-crystal-design-system/toast";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "mis-crystal-design-system/button";
15
- import * as i4 from "@angular/cdk/a11y";
16
- const _c0 = a0 => ({ "disabled-month": a0 });
17
- const _c1 = () => [];
18
- const _c2 = a0 => ({ "active-range": a0 });
19
- const _c3 = (a0, a1, a2, a3, a4, a5) => ({ "selected-same-day": a0, "selected-start-day": a1, "selected-end-day": a2, "disabled-day": a3, "in-range-day": a4, "is-valid-date": a5 });
20
- function TzDrpContainerComponent_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
21
- const _r1 = i0.ɵɵgetCurrentView();
22
- i0.ɵɵelementStart(0, "div")(1, "button", 23);
23
- i0.ɵɵlistener("click", function TzDrpContainerComponent_div_3_div_1_Template_button_click_1_listener() { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectRange(item_r2)); });
24
- i0.ɵɵtext(2);
25
- i0.ɵɵelementEnd()();
26
- } if (rf & 2) {
27
- const item_r2 = ctx.$implicit;
28
- const ctx_r2 = i0.ɵɵnextContext(2);
29
- i0.ɵɵadvance();
30
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c2, ctx_r2.selectedItemLabel === item_r2.label));
31
- i0.ɵɵadvance();
32
- i0.ɵɵtextInterpolate1(" ", item_r2.label, " ");
33
- } }
34
- function TzDrpContainerComponent_div_3_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelementStart(0, "div", 20);
36
- i0.ɵɵtemplate(1, TzDrpContainerComponent_div_3_div_1_Template, 3, 4, "div", 21);
37
- i0.ɵɵelementStart(2, "div")(3, "button", 22);
38
- i0.ɵɵtext(4, "Custom Range");
39
- i0.ɵɵelementEnd()()();
40
- } if (rf & 2) {
41
- let tmp_1_0;
42
- const ctx_r2 = i0.ɵɵnextContext();
43
- i0.ɵɵadvance();
44
- i0.ɵɵproperty("ngForOf", (tmp_1_0 = ctx_r2.data == null ? null : ctx_r2.data.dpConfig == null ? null : ctx_r2.data.dpConfig.ranges) !== null && tmp_1_0 !== undefined ? tmp_1_0 : i0.ɵɵpureFunction0(2, _c1));
45
- i0.ɵɵadvance(2);
46
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx_r2.selectedItemLabel === "Custom Range"));
47
- } }
48
- function TzDrpContainerComponent_div_17_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelementStart(0, "div", 24)(1, "span");
50
- i0.ɵɵtext(2);
51
- i0.ɵɵelementEnd()();
52
- } if (rf & 2) {
53
- const weekDay_r4 = ctx.$implicit;
54
- i0.ɵɵadvance(2);
55
- i0.ɵɵtextInterpolate(weekDay_r4.label);
56
- } }
57
- function TzDrpContainerComponent_div_19_span_1_Template(rf, ctx) { if (rf & 1) {
58
- i0.ɵɵelementStart(0, "span", 27);
59
- i0.ɵɵtext(1);
60
- i0.ɵɵelementEnd();
61
- } if (rf & 2) {
62
- const day_r6 = i0.ɵɵnextContext().$implicit;
63
- const ctx_r2 = i0.ɵɵnextContext();
64
- i0.ɵɵproperty("tabindex", day_r6.isDisabledDay ? -1 : 0);
65
- i0.ɵɵattribute("aria-label", ctx_r2.retractDayMonth(day_r6.date, ctx_r2.currentMonth, ctx_r2.currentYearNumber));
66
- i0.ɵɵadvance();
67
- i0.ɵɵtextInterpolate1(" ", day_r6.date, " ");
68
- } }
69
- function TzDrpContainerComponent_div_19_Template(rf, ctx) { if (rf & 1) {
70
- const _r5 = i0.ɵɵgetCurrentView();
71
- i0.ɵɵelementStart(0, "div", 25);
72
- i0.ɵɵlistener("click", function TzDrpContainerComponent_div_19_Template_div_click_0_listener() { const day_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectDay("LEFT", day_r6)); })("keyup.enter", function TzDrpContainerComponent_div_19_Template_div_keyup_enter_0_listener() { const day_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectDay("LEFT", day_r6)); });
73
- i0.ɵɵtemplate(1, TzDrpContainerComponent_div_19_span_1_Template, 2, 3, "span", 26);
74
- i0.ɵɵelementEnd();
75
- } if (rf & 2) {
76
- const day_r6 = ctx.$implicit;
77
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction6(2, _c3, day_r6.isSelectedStartDay && day_r6.isSelectedEndDay, day_r6.isSelectedStartDay, day_r6.isSelectedEndDay, day_r6.isDisabledDay, day_r6.inRangeDay, day_r6.date > 0 && !(day_r6.isSelectedStartDay && day_r6.isSelectedEndDay)));
78
- i0.ɵɵadvance();
79
- i0.ɵɵproperty("ngIf", day_r6.date > 0);
80
- } }
81
- function TzDrpContainerComponent_div_30_Template(rf, ctx) { if (rf & 1) {
82
- i0.ɵɵelementStart(0, "div", 24)(1, "span");
83
- i0.ɵɵtext(2);
84
- i0.ɵɵelementEnd()();
85
- } if (rf & 2) {
86
- const weekDay_r7 = ctx.$implicit;
87
- i0.ɵɵadvance(2);
88
- i0.ɵɵtextInterpolate(weekDay_r7.label);
89
- } }
90
- function TzDrpContainerComponent_div_32_span_1_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "span", 27);
92
- i0.ɵɵtext(1);
93
- i0.ɵɵelementEnd();
94
- } if (rf & 2) {
95
- const day_r9 = i0.ɵɵnextContext().$implicit;
96
- const ctx_r2 = i0.ɵɵnextContext();
97
- i0.ɵɵproperty("tabindex", day_r9.isDisabledDay ? -1 : 0);
98
- i0.ɵɵattribute("aria-label", ctx_r2.retractDayMonth(day_r9.date, ctx_r2.nextMonth, ctx_r2.nextYearNumber));
99
- i0.ɵɵadvance();
100
- i0.ɵɵtextInterpolate1(" ", day_r9.date, " ");
101
- } }
102
- function TzDrpContainerComponent_div_32_Template(rf, ctx) { if (rf & 1) {
103
- const _r8 = i0.ɵɵgetCurrentView();
104
- i0.ɵɵelementStart(0, "div", 25);
105
- i0.ɵɵlistener("click", function TzDrpContainerComponent_div_32_Template_div_click_0_listener() { const day_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectDay("RIGHT", day_r9)); })("keyup.enter", function TzDrpContainerComponent_div_32_Template_div_keyup_enter_0_listener() { const day_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectDay("RIGHT", day_r9)); });
106
- i0.ɵɵtemplate(1, TzDrpContainerComponent_div_32_span_1_Template, 2, 3, "span", 26);
107
- i0.ɵɵelementEnd();
108
- } if (rf & 2) {
109
- const day_r9 = ctx.$implicit;
110
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction6(2, _c3, day_r9.isSelectedStartDay && day_r9.isSelectedEndDay, day_r9.isSelectedStartDay, day_r9.isSelectedEndDay, day_r9.isDisabledDay, day_r9.inRangeDay, day_r9.date > 0 && !(day_r9.isSelectedStartDay && day_r9.isSelectedEndDay)));
111
- i0.ɵɵadvance();
112
- i0.ɵɵproperty("ngIf", day_r9.date > 0);
113
- } }
114
- dayjs.extend(isBetween);
115
- dayjs.extend(utc);
116
- dayjs.extend(timezone);
117
- dayjs.extend(customParseFormat);
118
- dayjs.extend(isSameOrAfter);
119
- dayjs.extend(isSameOrBefore);
120
- export class TzDrpContainerComponent {
121
- constructor(data, toast) {
122
- this.toast = toast;
123
- this.dayjsInstance = (...args) => {
124
- return tz(args[0], args[1] || 'DD/MM/YYYY', this.data.dpConfig.timezone || 'Asia/Kolkata');
125
- };
126
- this.rawWeekDays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
127
- this.weekDays = [];
128
- this.currentMonthDates = [];
129
- this.nextMonthDates = [];
130
- this.isPreviousMonthDisabled = false;
131
- this.isNextMonthDisabled = false;
132
- this.selectionStarted = false;
133
- this.isDatesValid = false;
134
- this.selectedItemLabel = "Custom Range";
135
- this.data = data;
136
- this.localSelectedDates = this.data.dates;
137
- this.isDatesValid = false;
138
- if (this.localSelectedDates.startDate && this.localSelectedDates.endDate) {
139
- this.isDatesValid = true;
140
- }
141
- if (this.data?.dpConfig?.timezone) {
142
- this.dayjsInstance = (...args) => {
143
- return tz(args[0], args[1], this.data.dpConfig.timezone);
144
- };
145
- }
146
- this.currentMonthNumber = this.dayjsInstance().month();
147
- this.nextMonthNumber = this.dayjsInstance().add(1, "month").month();
148
- this.currentMonth = getMonth(this.currentMonthNumber);
149
- this.nextMonth = getMonth(this.nextMonthNumber);
150
- this.currentYearNumber = this.dayjsInstance().year();
151
- this.nextYearNumber = this.dayjsInstance().add(1, "month").year();
152
- this.weekDays = this.rawWeekDays.map((day, index) => ({
153
- label: `${day[0]}${day.slice(1).toLowerCase()}`,
154
- isCurrentDay: this.dayjsInstance().day() === index
155
- }));
156
- if (!this.data?.dpConfig?.format) {
157
- this.data.dpConfig = {
158
- ...this.data.dpConfig,
159
- format: DATE_FORMAT
160
- };
161
- }
162
- }
163
- ngOnInit() {
164
- this.currentDateInstance();
165
- this.calculateMinMaxDays();
166
- }
167
- retractDayMonth(day, month, year) {
168
- return `${day} ${month} ${year}`;
169
- }
170
- closeOnEsc() {
171
- this.cancelDatePicker();
172
- }
173
- currentDateInstance() {
174
- if (!this.localSelectedDates?.startDate) {
175
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
176
- this.nextMonthDates = this.generateDates(this.nextMonthNumber, this.nextYearNumber);
177
- return;
178
- }
179
- const selectedStartDate = !!this.localSelectedDates?.startDate ? this.dayjsInstance(this.localSelectedDates?.startDate, this.data.dpConfig.format) : dayjs('invalid');
180
- if (selectedStartDate.isValid()) {
181
- this.currentYearNumber = selectedStartDate.year();
182
- this.nextYearNumber = selectedStartDate.add(1, "month").year();
183
- this.currentMonthNumber = selectedStartDate.get("month");
184
- this.nextMonthNumber = selectedStartDate.add(1, "month").month();
185
- if (this.currentMonthNumber === -1) {
186
- this.currentMonthNumber = 11;
187
- }
188
- if (this.nextMonthNumber === -1) {
189
- this.nextMonthNumber = 11;
190
- }
191
- this.currentMonth = getMonth(this.currentMonthNumber);
192
- this.nextMonth = getMonth(this.nextMonthNumber);
193
- }
194
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
195
- this.nextMonthDates = this.generateDates(this.nextMonthNumber, this.nextYearNumber);
196
- }
197
- calculateMinMaxDays() {
198
- const currentInstance = this.dayjsInstance().year(this.currentYearNumber).month(this.currentMonthNumber);
199
- const minDate = !!this.data.dpConfig.minDate ? this.dayjsInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
200
- if (minDate.isValid()) {
201
- this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, "month");
202
- }
203
- const maxDate = !!this.data.dpConfig.maxDate ? this.dayjsInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
204
- if (maxDate.isValid()) {
205
- this.isNextMonthDisabled = maxDate.isSameOrBefore(currentInstance, "month");
206
- }
207
- }
208
- navigateMonth(direction) {
209
- let thisMonth = dayjs().year(this.currentYearNumber).month(this.currentMonthNumber);
210
- if (direction === "NEXT") {
211
- thisMonth = thisMonth.add(1, "month");
212
- }
213
- else if (direction === "PREVIOUS") {
214
- thisMonth = thisMonth.subtract(1, "month");
215
- }
216
- this.currentMonthNumber = thisMonth.month();
217
- this.nextMonthNumber = thisMonth.clone().add(1, "month").month();
218
- this.currentMonth = getMonth(this.currentMonthNumber);
219
- this.nextMonth = getMonth(this.nextMonthNumber);
220
- if (this.nextMonthNumber === 0 && direction === "PREVIOUS") {
221
- this.currentYearNumber--;
222
- }
223
- else if (this.currentMonthNumber === 11 && direction === "NEXT") {
224
- this.nextYearNumber++;
225
- }
226
- else if (this.currentMonthNumber === 0 && direction === "NEXT") {
227
- this.currentYearNumber++;
228
- }
229
- else if (this.nextMonthNumber === 11 && direction === "PREVIOUS") {
230
- this.nextYearNumber--;
231
- }
232
- else {
233
- this.nextYearNumber = this.currentYearNumber;
234
- }
235
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
236
- this.nextMonthDates = this.generateDates(this.nextMonthNumber, this.nextYearNumber);
237
- this.calculateMinMaxDays();
238
- }
239
- generateDates(month, currentYearNumber) {
240
- let dates = [];
241
- const daysInMonth = dayjs().year(currentYearNumber).month(month).daysInMonth();
242
- for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {
243
- const date = dayjs().year(currentYearNumber).month(month).date(currentDate);
244
- const dateString = date.format(this.data.dpConfig.format);
245
- let isDisabledDay = this.data.datesDisabled.some(d => d === dateString);
246
- const minDate = !!this.data.dpConfig.minDate ? this.dayjsInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
247
- if (!isDisabledDay && minDate.isValid()) {
248
- let Date = this.dayjsInstance().year(currentYearNumber).month(month).date(currentDate);
249
- isDisabledDay = minDate.isAfter(dayjs(Date, this.data.dpConfig.format), "day");
250
- }
251
- const maxDate = !!this.data.dpConfig.maxDate ? this.dayjsInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
252
- if (!isDisabledDay && maxDate.isValid()) {
253
- isDisabledDay = maxDate.isBefore(dayjs(date, this.data.dpConfig.format), "day");
254
- }
255
- if (this.data?.dpConfig?.maxAllowedRange > 0 &&
256
- !isDisabledDay &&
257
- (this.localSelectedDates?.startDate ?? false) && (!(this.localSelectedDates.endDate ?? false))) {
258
- const startDate = dayjs(this.localSelectedDates.startDate, this.data.dpConfig.format).startOf('day');
259
- const maxEndDate = startDate.clone().add(this.data.dpConfig.maxAllowedRange - 1, 'days');
260
- isDisabledDay = date.isAfter(maxEndDate, 'day');
261
- }
262
- const isCurrentDay = this.dayjsInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===
263
- this.dayjsInstance().format(this.data.dpConfig.format);
264
- const isSelectedStartDay = !isDisabledDay &&
265
- (this.localSelectedDates?.startDate ?? false) &&
266
- date.format(this.data.dpConfig.format) === this.localSelectedDates?.startDate;
267
- const isAfterSelectedStartDate = dayjs(date, this.data?.dpConfig?.format).startOf('day').isAfter(dayjs(this.localSelectedDates.startDate, this.data?.dpConfig?.format).startOf('day'), 'day');
268
- const isBeforeSelectedEndDate = dayjs(date, this.data?.dpConfig?.format).startOf('day').isBefore(dayjs(this.localSelectedDates.endDate, this.data?.dpConfig?.format).startOf('day'), 'day');
269
- const inRangeDay = (this.localSelectedDates.startDate ?? false) &&
270
- (this.localSelectedDates.endDate ?? false) &&
271
- isAfterSelectedStartDate &&
272
- isBeforeSelectedEndDate;
273
- const isSelectedEndDay = !isDisabledDay &&
274
- ((this.localSelectedDates?.startDate && this.localSelectedDates?.endDate) ?? false) &&
275
- date.format(this.data.dpConfig.format) === this.localSelectedDates?.endDate;
276
- dates.push({
277
- date: currentDate,
278
- weekDay: date.day(),
279
- isCurrentDay,
280
- isSelectedStartDay,
281
- isSelectedEndDay,
282
- inRangeDay,
283
- toastMessage: this.data.messages.find(q => date.format(this.data.dpConfig.format) === q.date)?.message || "",
284
- isDisabledDay
285
- });
286
- }
287
- for (let i = dates[0].weekDay; i > 0; i--) {
288
- dates.unshift({ date: 0, weekDay: i - 1 });
289
- }
290
- return dates;
291
- }
292
- selectDay(from, day) {
293
- if (day.date <= 0)
294
- return;
295
- if (!day.isDisabledDay) {
296
- this.selectedItemLabel = "Custom Range";
297
- if (this.selectionStarted) {
298
- const dayjsDay = dayjs()
299
- .year(from === "LEFT" ? this.currentYearNumber : this.nextYearNumber)
300
- .month(from === "LEFT" ? this.currentMonthNumber : this.nextMonthNumber)
301
- .date(day.date);
302
- if (dayjsDay.isBefore(dayjs(this.localSelectedDates.startDate, this.data.dpConfig.format), 'day')) {
303
- this.localSelectedDates = {
304
- startDate: dayjsDay.format(this.data.dpConfig.format),
305
- endDate: null
306
- };
307
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
308
- this.nextMonthDates = this.generateDates(this.nextMonthNumber, this.nextYearNumber);
309
- return;
310
- }
311
- this.selectionStarted = false;
312
- this.localSelectedDates = {
313
- ...this.localSelectedDates,
314
- endDate: dayjsDay.format(this.data.dpConfig.format)
315
- };
316
- }
317
- else {
318
- this.selectionStarted = true;
319
- this.localSelectedDates = {
320
- startDate: dayjs()
321
- .year(from === "LEFT" ? this.currentYearNumber : this.nextYearNumber)
322
- .month(from === "LEFT" ? this.currentMonthNumber : this.nextMonthNumber)
323
- .date(day.date)
324
- .format(this.data.dpConfig.format),
325
- endDate: null
326
- };
327
- }
328
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
329
- this.nextMonthDates = this.generateDates(this.nextMonthNumber, this.nextYearNumber);
330
- this.isDatesValid = false;
331
- if (this.localSelectedDates.startDate && this.localSelectedDates.endDate) {
332
- this.isDatesValid = true;
333
- }
334
- }
335
- if (day.toastMessage) {
336
- this.toast.displayMsg(day.toastMessage, 4000);
337
- }
338
- }
339
- selectRange(item) {
340
- if (!item)
341
- return;
342
- let startDate = this.dayjsInstance(item.value[0]);
343
- let endDate = this.dayjsInstance(item.value[1]);
344
- const startDateStr = startDate.format(this.data.dpConfig.format);
345
- const endDateStr = endDate.format(this.data.dpConfig.format);
346
- const isAnyDateDisabled = this.data.datesDisabled.some((date) => this.dayjsInstance(date, this.data.dpConfig.format).isBetween(startDateStr, endDateStr, null, '[]'));
347
- const minDate = !!this.data.dpConfig.minDate ? this.dayjsInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
348
- const maxDate = !!this.data.dpConfig.maxDate ? this.dayjsInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
349
- const isWithinLimits = (!minDate.isValid() || !startDate.isBefore(minDate, "day")) &&
350
- (!maxDate.isValid() || !endDate.isAfter(maxDate, "day"));
351
- if (!isWithinLimits || isAnyDateDisabled) {
352
- this.toast.displayMsg("Selected range contains disabled dates or is out of bounds.", 4000);
353
- return;
354
- }
355
- this.selectedItemLabel = item.label;
356
- this.currentMonthNumber = startDate.month();
357
- this.currentYearNumber = startDate.year();
358
- if (this.currentMonthNumber === 11) {
359
- this.nextMonthNumber = 0;
360
- this.nextYearNumber = this.currentYearNumber + 1;
361
- }
362
- else {
363
- this.nextMonthNumber = this.currentMonthNumber + 1;
364
- this.nextYearNumber = this.currentYearNumber;
365
- }
366
- this.localSelectedDates = { startDate: startDateStr, endDate: endDateStr };
367
- this.currentMonth = getMonth(this.currentMonthNumber);
368
- this.nextMonth = getMonth(this.nextMonthNumber);
369
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
370
- this.nextMonthDates = this.generateDates(this.nextMonthNumber, this.nextYearNumber);
371
- this.isDatesValid = !!(this.localSelectedDates.startDate && this.localSelectedDates.endDate);
372
- }
373
- applyDates() {
374
- this.data.dateChange(this.localSelectedDates);
375
- }
376
- cancelDatePicker() {
377
- this.data.close();
378
- }
379
- static { this.ɵfac = function TzDrpContainerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TzDrpContainerComponent)(i0.ɵɵdirectiveInject(CONTAINER_DATA), i0.ɵɵdirectiveInject(i1.ToastService)); }; }
380
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TzDrpContainerComponent, selectors: [["mis-tz-drp"]], hostBindings: function TzDrpContainerComponent_HostBindings(rf, ctx) { if (rf & 1) {
381
- i0.ɵɵlistener("keydown.esc", function TzDrpContainerComponent_keydown_esc_HostBindingHandler() { return ctx.closeOnEsc(); });
382
- } }, decls: 38, vars: 20, consts: [["aria-label", "date range picker", "cdkTrapFocus", "", 1, "daterangepicker-container", 3, "cdkTrapFocusAutoCapture"], [1, "daterangepicker-container__view"], ["tabindex", "-1", "cdkFocusInitial", ""], ["class", "daterangepicker-container__ranges", 4, "ngIf"], [1, "datepicker__left"], [1, "daterangepicker-container__header__prabu"], ["tabindex", "0", "aria-label", "Previous Month", 1, "daterangepicker-container__arrow__icon", 3, "click", "keyup.enter", "ngClass"], ["width", "20", "height", "16", "viewBox", "0 0 20 16", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z", "fill", "#181F33"], ["tabindex", "0", "aria-label", "Next Month", 1, "daterangepicker-container__arrow__icon", "mobile_view", 3, "click", "keyup.enter", "ngClass"], [1, "daterangepicker-container__body"], [1, "daterangepicker-container__weekdays"], ["class", "daterangepicker-container__weekday", 4, "ngFor", "ngForOf"], [1, "daterangepicker-container__days"], ["class", "daterangepicker-container__day", 3, "ngClass", "click", "keyup.enter", 4, "ngFor", "ngForOf"], [1, "datepicker__right"], ["tabindex", "0", 1, "daterangepicker-container__arrow__icon", "pc_view", 3, "click", "keyup.enter", "ngClass"], [1, "daterangepicker__footer"], ["mis-button", "", "type", "none", "id", "mobile-footer-btn", 3, "click"], ["mis-button", "", "type", "primary", "id", "mobile-footer-btn", 3, "click", "disabled"], [1, "daterangepicker-container__ranges"], [4, "ngFor", "ngForOf"], [1, "mis-btn", 3, "ngClass"], [1, "mis-btn", 3, "click", "ngClass"], [1, "daterangepicker-container__weekday"], [1, "daterangepicker-container__day", 3, "click", "keyup.enter", "ngClass"], [3, "tabindex", 4, "ngIf"], [3, "tabindex"]], template: function TzDrpContainerComponent_Template(rf, ctx) { if (rf & 1) {
383
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
384
- i0.ɵɵelement(2, "div", 2);
385
- i0.ɵɵtemplate(3, TzDrpContainerComponent_div_3_Template, 5, 5, "div", 3);
386
- i0.ɵɵelementStart(4, "div", 4)(5, "div", 5)(6, "div", 6);
387
- i0.ɵɵlistener("click", function TzDrpContainerComponent_Template_div_click_6_listener() { return !ctx.isPreviousMonthDisabled && ctx.navigateMonth("PREVIOUS"); })("keyup.enter", function TzDrpContainerComponent_Template_div_keyup_enter_6_listener() { return !ctx.isPreviousMonthDisabled && ctx.navigateMonth("PREVIOUS"); });
388
- i0.ɵɵnamespaceSVG();
389
- i0.ɵɵelementStart(7, "svg", 7);
390
- i0.ɵɵelement(8, "path", 8);
391
- i0.ɵɵelementEnd()();
392
- i0.ɵɵnamespaceHTML();
393
- i0.ɵɵelementStart(9, "span");
394
- i0.ɵɵtext(10);
395
- i0.ɵɵelementEnd();
396
- i0.ɵɵelement(11, "div");
397
- i0.ɵɵelementStart(12, "div", 9);
398
- i0.ɵɵlistener("click", function TzDrpContainerComponent_Template_div_click_12_listener() { return !ctx.isNextMonthDisabled && ctx.navigateMonth("NEXT"); })("keyup.enter", function TzDrpContainerComponent_Template_div_keyup_enter_12_listener() { return !ctx.isNextMonthDisabled && ctx.navigateMonth("NEXT"); });
399
- i0.ɵɵnamespaceSVG();
400
- i0.ɵɵelementStart(13, "svg", 7);
401
- i0.ɵɵelement(14, "path", 8);
402
- i0.ɵɵelementEnd()()();
403
- i0.ɵɵnamespaceHTML();
404
- i0.ɵɵelementStart(15, "div", 10)(16, "div", 11);
405
- i0.ɵɵtemplate(17, TzDrpContainerComponent_div_17_Template, 3, 1, "div", 12);
406
- i0.ɵɵelementEnd();
407
- i0.ɵɵelementStart(18, "div", 13);
408
- i0.ɵɵtemplate(19, TzDrpContainerComponent_div_19_Template, 2, 9, "div", 14);
409
- i0.ɵɵelementEnd()()();
410
- i0.ɵɵelementStart(20, "div", 15)(21, "div", 5);
411
- i0.ɵɵelement(22, "div");
412
- i0.ɵɵelementStart(23, "span");
413
- i0.ɵɵtext(24);
414
- i0.ɵɵelementEnd();
415
- i0.ɵɵelementStart(25, "div", 16);
416
- i0.ɵɵlistener("click", function TzDrpContainerComponent_Template_div_click_25_listener() { return !ctx.isNextMonthDisabled && ctx.navigateMonth("NEXT"); })("keyup.enter", function TzDrpContainerComponent_Template_div_keyup_enter_25_listener() { return !ctx.isNextMonthDisabled && ctx.navigateMonth("NEXT"); });
417
- i0.ɵɵnamespaceSVG();
418
- i0.ɵɵelementStart(26, "svg", 7);
419
- i0.ɵɵelement(27, "path", 8);
420
- i0.ɵɵelementEnd()()();
421
- i0.ɵɵnamespaceHTML();
422
- i0.ɵɵelementStart(28, "div", 10)(29, "div", 11);
423
- i0.ɵɵtemplate(30, TzDrpContainerComponent_div_30_Template, 3, 1, "div", 12);
424
- i0.ɵɵelementEnd();
425
- i0.ɵɵelementStart(31, "div", 13);
426
- i0.ɵɵtemplate(32, TzDrpContainerComponent_div_32_Template, 2, 9, "div", 14);
427
- i0.ɵɵelementEnd()()()();
428
- i0.ɵɵelementStart(33, "div", 17)(34, "button", 18);
429
- i0.ɵɵlistener("click", function TzDrpContainerComponent_Template_button_click_34_listener() { return ctx.cancelDatePicker(); });
430
- i0.ɵɵtext(35, "Cancel");
431
- i0.ɵɵelementEnd();
432
- i0.ɵɵelementStart(36, "button", 19);
433
- i0.ɵɵlistener("click", function TzDrpContainerComponent_Template_button_click_36_listener() { return ctx.applyDates(); });
434
- i0.ɵɵtext(37, "Apply");
435
- i0.ɵɵelementEnd()()();
436
- } if (rf & 2) {
437
- i0.ɵɵproperty("cdkTrapFocusAutoCapture", true);
438
- i0.ɵɵadvance(3);
439
- i0.ɵɵproperty("ngIf", (ctx.data == null ? null : ctx.data.dpConfig == null ? null : ctx.data.dpConfig.ranges == null ? null : ctx.data.dpConfig.ranges.length) > 0);
440
- i0.ɵɵadvance(3);
441
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c0, ctx.isPreviousMonthDisabled));
442
- i0.ɵɵadvance(4);
443
- i0.ɵɵtextInterpolate2(" ", ctx.currentMonth, " ", ctx.currentYearNumber, " ");
444
- i0.ɵɵadvance(2);
445
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c0, ctx.isNextMonthDisabled));
446
- i0.ɵɵadvance(5);
447
- i0.ɵɵproperty("ngForOf", ctx.weekDays);
448
- i0.ɵɵadvance(2);
449
- i0.ɵɵproperty("ngForOf", ctx.currentMonthDates);
450
- i0.ɵɵadvance(5);
451
- i0.ɵɵtextInterpolate2(" ", ctx.nextMonth, " ", ctx.nextYearNumber, " ");
452
- i0.ɵɵadvance();
453
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c0, ctx.isNextMonthDisabled));
454
- i0.ɵɵadvance(5);
455
- i0.ɵɵproperty("ngForOf", ctx.weekDays);
456
- i0.ɵɵadvance(2);
457
- i0.ɵɵproperty("ngForOf", ctx.nextMonthDates);
458
- i0.ɵɵadvance(4);
459
- i0.ɵɵproperty("disabled", !ctx.isDatesValid);
460
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.ButtonDirective, i4.CdkTrapFocus], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-disabled: #929DAB;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3}.daterangepicker-container[_ngcontent-%COMP%]{background:#fff;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%]{max-width:100vw;border:none}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%]{display:flex;gap:24px;padding:16px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__ranges[_ngcontent-%COMP%]{display:flex;flex-direction:column}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .mis-btn[_ngcontent-%COMP%]{background:none;outline:none;border:none;cursor:pointer;border-radius:4px;vertical-align:middle;text-align:center;box-sizing:border-box;display:flex;align-items:center;text-decoration:none;justify-content:center;padding:10px 16px;font-size:16px;line-height:24px;background-color:transparent;color:#0937b2}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .active-range[_ngcontent-%COMP%]{background-color:#cadcfb}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%]{flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;background-color:#fff;width:100%;max-height:68vh;overflow-y:auto;border-radius:30px;gap:24px;padding:10% 0 30%;box-shadow:0 -4px 8px 10000px #0000001f;scrollbar-width:none;-ms-overflow-style:none}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__left[_ngcontent-%COMP%], .daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__right[_ngcontent-%COMP%]{display:flex;flex-direction:column}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__left[_ngcontent-%COMP%], .daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .datepicker__right[_ngcontent-%COMP%]{width:90%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%]{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:10%}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 auto;font-size:4vw}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon.disabled-month[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]:not(.disabled-month):hover{cursor:pointer;background-color:#cbddfb}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]:nth-child(1){transform:rotate(180deg)}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .daterangepicker-container__arrow__icon[_ngcontent-%COMP%]{width:7%}}@media only screen and (min-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .mobile_view[_ngcontent-%COMP%]{display:none}}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__header__prabu[_ngcontent-%COMP%] .pc_view[_ngcontent-%COMP%]{display:none}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%]{height:100%;width:252px}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%]{width:100%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%]{width:100%;display:flex;padding-bottom:10px}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%]{width:36px;height:18px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%]{margin:0 auto}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:#6a737d}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:3vw}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__weekdays[_ngcontent-%COMP%] .daterangepicker-container__weekday[_ngcontent-%COMP%] span.current-day[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px;color:#181f33}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%]{width:36px;height:36px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%]{flex:0 0 14.2857142857%;width:14.2857142857%;height:14.2857142857%;aspect-ratio:1}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%]:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.disabled-day[_ngcontent-%COMP%]{cursor:default}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.disabled-day[_ngcontent-%COMP%]:hover{background-color:transparent}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.disabled-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#6a737d}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.is-valid-date[_ngcontent-%COMP%]:not(.disabled-day):not(.selected-start-day):not(.selected-end-day) > span[_ngcontent-%COMP%]{color:#181f33}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day.is-valid-date[_ngcontent-%COMP%]:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:#cbddfb;cursor:pointer}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:#181f33}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:3.4vw}}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span.current-day[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span.selected-day[_ngcontent-%COMP%]{color:#fff}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .daterangepicker-container__day[_ngcontent-%COMP%] span.disabled-day[_ngcontent-%COMP%]{color:#6a737d}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-same-day[_ngcontent-%COMP%]{background-color:#0937b2;border-radius:50%!important}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-same-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#fff}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-start-day[_ngcontent-%COMP%]{background-color:#0937b2;border-radius:20px 4px 4px 20px}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-start-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#fff}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-end-day[_ngcontent-%COMP%]{background-color:#0937b2;border-radius:0 20px 20px 0}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .selected-end-day[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#fff}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker-container__view[_ngcontent-%COMP%] .daterangepicker-container__body[_ngcontent-%COMP%] .daterangepicker-container__days[_ngcontent-%COMP%] .in-range-day[_ngcontent-%COMP%]:not(.disabled-day){background-color:#cbddfb}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker__footer[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;border-top:1px solid #e0e0e0;padding:16px 24px;gap:24px}@media only screen and (max-width: 900px){.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker__footer[_ngcontent-%COMP%]{justify-content:space-evenly;padding:2% 0;background-color:#fff;position:fixed;bottom:0;left:0;width:100%;height:8vh;border-top:2px solid #C8CDD3}.daterangepicker-container[_ngcontent-%COMP%] .daterangepicker__footer[_ngcontent-%COMP%] #mobile-footer-btn[_ngcontent-%COMP%]{width:36%;font-size:3.8vw}}"] }); }
461
- }
462
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TzDrpContainerComponent, [{
463
- type: Component,
464
- args: [{ selector: "mis-tz-drp", template: "<div class=\"daterangepicker-container\" aria-label=\"date range picker\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <div class=\"daterangepicker-container__view\">\n <div tabindex=\"-1\" cdkFocusInitial></div>\n <div *ngIf=\"data?.dpConfig?.ranges?.length > 0\" class=\"daterangepicker-container__ranges\">\n <div *ngFor=\"let item of data?.dpConfig?.ranges ?? []\" >\n <button\n [ngClass]=\"{'active-range' : selectedItemLabel === item.label}\"\n (click)=\"selectRange(item)\"\n class=\"mis-btn\"\n >\n {{ item.label }}\n </button>\n </div>\n <div> <button class=\"mis-btn\" [ngClass]=\"{'active-range' : selectedItemLabel === 'Custom Range'}\">Custom Range</button> </div>\n </div>\n <div class=\"datepicker__left\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div\n class=\"daterangepicker-container__arrow__icon\"\n tabindex=\"0\"\n (click)=\"!isPreviousMonthDisabled && navigateMonth('PREVIOUS')\"\n (keyup.enter)=\"!isPreviousMonthDisabled && navigateMonth('PREVIOUS')\"\n aria-label=\"Previous Month\"\n [ngClass]=\"{\n 'disabled-month': isPreviousMonthDisabled\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n <span> {{ currentMonth }} {{ currentYearNumber }} </span>\n <div></div>\n <!-- Button visible in mobile view -->\n <div\n class=\"daterangepicker-container__arrow__icon mobile_view\"\n tabindex=\"0\"\n (click)=\"!isNextMonthDisabled && navigateMonth('NEXT')\"\n (keyup.enter)=\"!isNextMonthDisabled && navigateMonth('NEXT')\"\n aria-label=\"Next Month\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays\">\n <span>{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\" \n [ngClass]=\"{\n 'selected-same-day': day.isSelectedStartDay && day.isSelectedEndDay,\n 'selected-start-day': day.isSelectedStartDay,\n 'selected-end-day': day.isSelectedEndDay,\n 'disabled-day': day.isDisabledDay,\n 'in-range-day': day.inRangeDay,\n 'is-valid-date': day.date > 0 && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of currentMonthDates\"\n (click)=\"selectDay('LEFT', day)\"\n (keyup.enter)=\"selectDay('LEFT', day)\"\n >\n <span *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [attr.aria-label]=\"retractDayMonth(day.date, currentMonth, currentYearNumber)\">\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"datepicker__right\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div></div>\n <span> {{ nextMonth }} {{ nextYearNumber }} </span>\n <div\n class=\"daterangepicker-container__arrow__icon pc_view\"\n tabindex=\"0\"\n (click)=\"!isNextMonthDisabled && navigateMonth('NEXT')\"\n (keyup.enter)=\"!isNextMonthDisabled && navigateMonth('NEXT')\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays\">\n <span>{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-same-day': day.isSelectedStartDay && day.isSelectedEndDay,\n 'selected-start-day': day.isSelectedStartDay,\n 'selected-end-day': day.isSelectedEndDay,\n 'disabled-day': day.isDisabledDay,\n 'in-range-day': day.inRangeDay,\n 'is-valid-date': day.date > 0 && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of nextMonthDates\"\n (click)=\"selectDay('RIGHT', day)\"\n (keyup.enter)=\"selectDay('RIGHT', day)\"\n >\n <span *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [attr.aria-label]=\"retractDayMonth(day.date, nextMonth, nextYearNumber)\">\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"daterangepicker__footer\">\n <button mis-button type=\"none\" id='mobile-footer-btn' (click)=\"cancelDatePicker()\">Cancel</button>\n <button mis-button type=\"primary\" id=\"mobile-footer-btn\" (click)=\"applyDates()\" [disabled]=\"!isDatesValid\">Apply</button>\n </div>\n</div>", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-disabled: #929DAB;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3}.daterangepicker-container{background:#fff;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}@media only screen and (max-width: 900px){.daterangepicker-container{max-width:100vw;border:none}}.daterangepicker-container .daterangepicker-container__view{display:flex;gap:24px;padding:16px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__ranges{display:flex;flex-direction:column}.daterangepicker-container .daterangepicker-container__view .mis-btn{background:none;outline:none;border:none;cursor:pointer;border-radius:4px;vertical-align:middle;text-align:center;box-sizing:border-box;display:flex;align-items:center;text-decoration:none;justify-content:center;padding:10px 16px;font-size:16px;line-height:24px;background-color:transparent;color:#0937b2}.daterangepicker-container .daterangepicker-container__view .active-range{background-color:#cadcfb}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view{flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;background-color:#fff;width:100%;max-height:68vh;overflow-y:auto;border-radius:30px;gap:24px;padding:10% 0 30%;box-shadow:0 -4px 8px 10000px #0000001f;scrollbar-width:none;-ms-overflow-style:none}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__view::-webkit-scrollbar{display:none}}.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{display:flex;flex-direction:column}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{width:90%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:10%}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{margin:0 auto;font-size:4vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon.disabled-month{opacity:.5;cursor:not-allowed}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:not(.disabled-month):hover{cursor:pointer;background-color:#cbddfb}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:nth-child(1){transform:rotate(180deg)}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{width:7%}}@media only screen and (min-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .mobile_view{display:none}}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .pc_view{display:none}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{height:100%;width:252px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{width:100%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{width:100%;display:flex;padding-bottom:10px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{width:36px;height:18px;text-align:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{margin:0 auto}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:#6a737d}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:3vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span.current-day{font-weight:700;letter-spacing:.25px;color:#181f33}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-wrap:wrap}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 0 14.2857142857%}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{width:36px;height:36px;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{flex:0 0 14.2857142857%;width:14.2857142857%;height:14.2857142857%;aspect-ratio:1}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day{cursor:default}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day:hover{background-color:transparent}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day>span{color:#6a737d}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day)>span{color:#181f33}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:#cbddfb;cursor:pointer}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:#181f33}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:3.4vw}}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.current-day{font-weight:700;letter-spacing:.25px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.selected-day{color:#fff}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.disabled-day{color:#6a737d}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-same-day{background-color:#0937b2;border-radius:50%!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-same-day>span{color:#fff}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day{background-color:#0937b2;border-radius:20px 4px 4px 20px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day>span{color:#fff}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day{background-color:#0937b2;border-radius:0 20px 20px 0}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day>span{color:#fff}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .in-range-day:not(.disabled-day){background-color:#cbddfb}.daterangepicker-container .daterangepicker__footer{display:flex;justify-content:flex-end;border-top:1px solid #e0e0e0;padding:16px 24px;gap:24px}@media only screen and (max-width: 900px){.daterangepicker-container .daterangepicker__footer{justify-content:space-evenly;padding:2% 0;background-color:#fff;position:fixed;bottom:0;left:0;width:100%;height:8vh;border-top:2px solid #C8CDD3}.daterangepicker-container .daterangepicker__footer #mobile-footer-btn{width:36%;font-size:3.8vw}}\n"] }]
465
- }], () => [{ type: undefined, decorators: [{
466
- type: Inject,
467
- args: [CONTAINER_DATA]
468
- }] }, { type: i1.ToastService }], { closeOnEsc: [{
469
- type: HostListener,
470
- args: ["keydown.esc"]
471
- }] }); })();
472
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TzDrpContainerComponent, { className: "TzDrpContainerComponent" }); })();
473
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHJwLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcmFuZ2VwaWNrZXJfdjIvdHotZHJwLWNvbnRhaW5lci90ei1kcnAtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlcl92Mi90ei1kcnAtY29udGFpbmVyL3R6LWRycC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdwQyxPQUFPLEtBQUssRUFBRSxFQUFTLEVBQUUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6QyxPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLGNBQWMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFBO0FBQzlELE9BQU8sU0FBUyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7SUNQdkMsQUFERiwyQkFBd0QsaUJBS3JEO0lBRkMsb05BQVMsMkJBQWlCLEtBQUM7SUFHM0IsWUFDRjtJQUNGLEFBREUsaUJBQVMsRUFDTDs7OztJQU5KLGNBQStEO0lBQS9ELGdHQUErRDtJQUk3RCxjQUNGO0lBREUsOENBQ0Y7OztJQVJKLCtCQUEwRjtJQUN4RiwrRUFBd0Q7SUFTbEQsQUFBTiwyQkFBSyxpQkFBNkY7SUFBQSw0QkFBWTtJQUNsSCxBQUQ0SCxBQUFWLGlCQUFTLEVBQU8sRUFDNUg7Ozs7SUFWb0IsY0FBK0I7SUFBL0IsNk1BQStCO0lBU3ZCLGVBQW1FO0lBQW5FLGlHQUFtRTs7O0lBNkMzRixBQURGLCtCQUFpRixXQUN6RTtJQUFBLFlBQW1CO0lBQzNCLEFBRDJCLGlCQUFPLEVBQzVCOzs7SUFERSxlQUFtQjtJQUFuQixzQ0FBbUI7OztJQWtCekIsZ0NBRWlGO0lBQy9FLFlBQ0Y7SUFBQSxpQkFBTzs7OztJQUhMLHdEQUF1Qzs7SUFFdkMsY0FDRjtJQURFLDRDQUNGOzs7O0lBbEJGLCtCQWFDO0lBREMsQUFEQSwwTUFBUyxpQkFBVSxNQUFNLFNBQU0sS0FBQyx5TUFDakIsaUJBQVUsTUFBTSxTQUFNLEtBQUM7SUFFdEMsa0ZBRWlGO0lBR25GLGlCQUFNOzs7SUFqQkosbVJBT0U7SUFLSyxjQUFrQjtJQUFsQixzQ0FBa0I7OztJQWlDekIsQUFERiwrQkFBaUYsV0FDekU7SUFBQSxZQUFtQjtJQUMzQixBQUQyQixpQkFBTyxFQUM1Qjs7O0lBREUsZUFBbUI7SUFBbkIsc0NBQW1COzs7SUFrQnpCLGdDQUUyRTtJQUN6RSxZQUNGO0lBQUEsaUJBQU87Ozs7SUFITCx3REFBdUM7O0lBRXZDLGNBQ0Y7SUFERSw0Q0FDRjs7OztJQWxCRiwrQkFhQztJQURDLEFBREEsME1BQVMsaUJBQVUsT0FBTyxTQUFNLEtBQUMseU1BQ2xCLGlCQUFVLE9BQU8sU0FBTSxLQUFDO0lBRXZDLGtGQUUyRTtJQUc3RSxpQkFBTTs7O0lBakJKLG1SQU9FO0lBS0ssY0FBa0I7SUFBbEIsc0NBQWtCOztBRGxIckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN4QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ2hDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDNUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQU83QixNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFvQyxJQUFxQixFQUFVLEtBQW1CO1FBQW5CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFuQjlFLGtCQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxjQUFjLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUM7UUFDTSxnQkFBVyxHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUkxQixzQkFBaUIsR0FBeUIsRUFBRSxDQUFDO1FBSTdDLG1CQUFjLEdBQXlCLEVBQUUsQ0FBQztRQUMxQyw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFDekMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxjQUFjLENBQUM7UUFFakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQy9DLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssS0FBSztTQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3JCLE1BQU0sRUFBRSxXQUFXO2FBQ3BCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVEsRUFBRSxLQUFVLEVBQUUsSUFBUztRQUM3QyxPQUFPLEdBQUcsR0FBRyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBR0QsVUFBVTtRQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BGLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEssSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakUsSUFBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtZQUM5QixDQUFDO1lBQ0QsSUFBRyxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFBO1lBQzNCLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN6RyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVJLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVJLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQThCO1FBQzFDLElBQUksU0FBUyxHQUFVLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0YsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxJQUFJLFNBQVMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLEVBQUUsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBSyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssRUFBRSxJQUFJLFNBQVMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsQ0FBQzthQUFJLENBQUM7WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWEsRUFBRSxpQkFBeUI7UUFDNUQsSUFBSSxLQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0UsS0FBSyxJQUFJLFdBQVcsR0FBRyxDQUFDLEVBQUUsV0FBVyxJQUFJLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxRCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDeEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1SSxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdkYsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRixDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1SSxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxhQUFhLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xGLENBQUM7WUFDRCxJQUNFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLGVBQWUsR0FBRyxDQUFDO2dCQUN4QyxDQUFDLGFBQWE7Z0JBQ2QsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsRUFDOUYsQ0FBQztnQkFDRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JHLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDekYsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ2pELENBQUM7WUFDRCxNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDN0csSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6RCxNQUFNLGtCQUFrQixHQUN0QixDQUFDLGFBQWE7Z0JBQ2QsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDO1lBQ2hGLE1BQU0sd0JBQXdCLEdBQUksS0FBSyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU3TCxNQUFNLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUwsTUFBTSxVQUFVLEdBQ2QsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztnQkFDNUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztnQkFDMUMsd0JBQXdCO2dCQUN4Qix1QkFBdUIsQ0FBQztZQUMxQixNQUFNLGdCQUFnQixHQUNwQixDQUFDLGFBQWE7Z0JBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQztnQkFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDO1lBQzlFLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNuQixZQUFZO2dCQUNaLGtCQUFrQjtnQkFDbEIsZ0JBQWdCO2dCQUNoQixVQUFVO2dCQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLElBQUksRUFBRTtnQkFDNUcsYUFBYTthQUNkLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQXNCLEVBQUUsR0FBdUI7UUFDdkQsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUU7cUJBQ3JCLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7cUJBQ3BFLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7cUJBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNsRyxJQUFJLENBQUMsa0JBQWtCLEdBQUc7d0JBQ3hCLFNBQVMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzt3QkFDckQsT0FBTyxFQUFFLElBQUk7cUJBQ2QsQ0FBQztvQkFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQzdGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDcEYsT0FBTztnQkFDVCxDQUFDO2dCQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRztvQkFDeEIsR0FBRyxJQUFJLENBQUMsa0JBQWtCO29CQUMxQixPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7aUJBQ3BELENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHO29CQUN4QixTQUFTLEVBQUUsS0FBSyxFQUFFO3lCQUNmLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7eUJBQ3BFLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7eUJBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO3lCQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFDRCxXQUFXLENBQUMsSUFBZTtRQUN6QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUNyRyxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1SSxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVJLE1BQU0sY0FBYyxHQUNsQixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLGNBQWMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLDZEQUE2RCxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNGLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFcEYsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7d0hBOVJVLHVCQUF1Qix1QkFxQmQsY0FBYztvRUFyQnZCLHVCQUF1QjtZQUF2Qix3R0FBQSxnQkFBWSxJQUFXOztZQ3hCbEMsQUFERiw4QkFBb0gsYUFDckU7WUFDM0MseUJBQXlDO1lBQ3pDLHdFQUEwRjtZQWN0RixBQURGLEFBREYsOEJBQThCLGFBQzBCLGFBVW5EO1lBTEMsQUFEQSxpSUFBcUMsa0JBQWMsVUFBVSxDQUFDLElBQUMsZ0lBQ3BCLGtCQUFjLFVBQVUsQ0FBQyxJQUFDOztZQU1yRSw4QkFBK0Y7WUFDN0YsMEJBR1E7WUFFWixBQURFLGlCQUFNLEVBQ0Y7O1lBQ04sNEJBQU07WUFBQyxhQUEyQztZQUFBLGlCQUFPO1lBQ3pELHVCQUFXO1lBRVgsK0JBU0M7WUFMQyxBQURBLDhIQUFpQyxrQkFBYyxNQUFNLENBQUMsSUFBQyw2SEFDaEIsa0JBQWMsTUFBTSxDQUFDLElBQUM7O1lBTTdELCtCQUErRjtZQUM3RiwyQkFHUTtZQUdkLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7O1lBRUosQUFERixnQ0FBNkMsZUFDTTtZQUMvQywyRUFBaUY7WUFHbkYsaUJBQU07WUFDTixnQ0FBNkM7WUFDM0MsMkVBYUM7WUFTUCxBQURFLEFBREUsaUJBQU0sRUFDRixFQUNGO1lBRUosQUFERixnQ0FBK0IsY0FDeUI7WUFDcEQsdUJBQVc7WUFDWCw2QkFBTTtZQUFDLGFBQXFDO1lBQUEsaUJBQU87WUFDbkQsZ0NBUUM7WUFKQyxBQURBLDhIQUFpQyxrQkFBYyxNQUFNLENBQUMsSUFBQyw2SEFDaEIsa0JBQWMsTUFBTSxDQUFDLElBQUM7O1lBSzdELCtCQUErRjtZQUM3RiwyQkFHUTtZQUdkLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7O1lBRUosQUFERixnQ0FBNkMsZUFDTTtZQUMvQywyRUFBaUY7WUFHbkYsaUJBQU07WUFDTixnQ0FBNkM7WUFDM0MsMkVBYUM7WUFVVCxBQURFLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0YsRUFDRjtZQUVKLEFBREYsZ0NBQXFDLGtCQUNnRDtZQUE3QixxR0FBUyxzQkFBa0IsSUFBQztZQUFDLHVCQUFNO1lBQUEsaUJBQVM7WUFDbEcsbUNBQTJHO1lBQWxELHFHQUFTLGdCQUFZLElBQUM7WUFBNEIsc0JBQUs7WUFFcEgsQUFERSxBQURrSCxpQkFBUyxFQUNySCxFQUNGOztZQTdJNkUsOENBQWdDO1lBR3pHLGVBQXdDO1lBQXhDLG1LQUF3QztZQW9CeEMsZUFFRTtZQUZGLGtGQUVFO1lBU0csZUFBMkM7WUFBM0MsNkVBQTJDO1lBU2hELGVBRUU7WUFGRiw4RUFFRTtZQVlrRSxlQUFXO1lBQVgsc0NBQVc7WUFlN0QsZUFBb0I7WUFBcEIsK0NBQW9CO1lBZ0JqQyxlQUFxQztZQUFyQyx1RUFBcUM7WUFNMUMsY0FFRTtZQUZGLDhFQUVFO1lBWWtFLGVBQVc7WUFBWCxzQ0FBVztZQWU3RCxlQUFpQjtZQUFqQiw0Q0FBaUI7WUFnQnVDLGVBQTBCO1lBQTFCLDRDQUEwQjs7O2lGRGxIakcsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0UsWUFBWTs7c0JBeUJULE1BQU07dUJBQUMsY0FBYztnREF3Q2xDLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxhQUFhOztrRkE1RGhCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDT05UQUlORVJfREFUQSwgREFURV9GT1JNQVQgfSBmcm9tIFwiLi4vZGF0ZXJhbmdlcGlja2VyLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgSUN1cnJlbnRNb250aCwgSUN1cnJlbnRNb250aERhdGVzLCBJRGF0ZVBpY2tlckRhdGEsIElXZWVrRGF5LCBJU2VsZWN0ZWREYXRlc0NvbmZpZywgUmFuZ2VJdGVtIH0gZnJvbSBcIi4uL21vZGVscy9kcnAtY29uZmlnLm1vZGVsXCI7XG5pbXBvcnQgeyBnZXRNb250aCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdG9hc3RcIjtcblxuaW1wb3J0IGRheWpzLCB7IERheWpzLCB0eiB9IGZyb20gJ2RheWpzJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCBpc1NhbWVPckFmdGVyIGZyb20gJ2RheWpzL3BsdWdpbi9pc1NhbWVPckFmdGVyJztcbmltcG9ydCBpc1NhbWVPckJlZm9yZSBmcm9tICdkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmUnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCdcbmltcG9ydCBpc0JldHdlZW4gZnJvbSAnZGF5anMvcGx1Z2luL2lzQmV0d2Vlbic7XG5kYXlqcy5leHRlbmQoaXNCZXR3ZWVuKTtcbmRheWpzLmV4dGVuZCh1dGMpO1xuZGF5anMuZXh0ZW5kKHRpbWV6b25lKTtcbmRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XG5kYXlqcy5leHRlbmQoaXNTYW1lT3JBZnRlcik7XG5kYXlqcy5leHRlbmQoaXNTYW1lT3JCZWZvcmUpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXR6LWRycFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3R6LWRycC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3R6LWRycC1jb250YWluZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVHpEcnBDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkYXRhOiBJRGF0ZVBpY2tlckRhdGE7XG4gIHByaXZhdGUgZGF5anNJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgcmV0dXJuIHR6KGFyZ3NbMF0sIGFyZ3NbMV0gfHwgJ0REL01NL1lZWVknLCB0aGlzLmRhdGEuZHBDb25maWcudGltZXpvbmUgfHwgJ0FzaWEvS29sa2F0YScpO1xuICB9O1xuICBwcml2YXRlIHJhd1dlZWtEYXlzOiBzdHJpbmdbXSA9IFtcIlNVTlwiLCBcIk1PTlwiLCBcIlRVRVwiLCBcIldFRFwiLCBcIlRIVVwiLCBcIkZSSVwiLCBcIlNBVFwiXTtcbiAgd2Vla0RheXM6IElXZWVrRGF5W10gPSBbXTtcbiAgY3VycmVudE1vbnRoTnVtYmVyOiBudW1iZXI7XG4gIGN1cnJlbnRNb250aDogSUN1cnJlbnRNb250aDtcbiAgY3VycmVudFllYXJOdW1iZXI6IG51bWJlcjtcbiAgY3VycmVudE1vbnRoRGF0ZXM6IElDdXJyZW50TW9udGhEYXRlc1tdID0gW107XG4gIG5leHRNb250aE51bWJlcjogbnVtYmVyO1xuICBuZXh0TW9udGg6IElDdXJyZW50TW9udGg7XG4gIG5leHRZZWFyTnVtYmVyOiBudW1iZXI7XG4gIG5leHRNb250aERhdGVzOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSA9IFtdO1xuICBpc1ByZXZpb3VzTW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05leHRNb250aERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGlvblN0YXJ0ZWQgPSBmYWxzZTtcbiAgbG9jYWxTZWxlY3RlZERhdGVzOiBJU2VsZWN0ZWREYXRlc0NvbmZpZztcbiAgaXNEYXRlc1ZhbGlkID0gZmFsc2U7XG4gIHNlbGVjdGVkSXRlbUxhYmVsID0gXCJDdXN0b20gUmFuZ2VcIjtcbiAgY29uc3RydWN0b3IoQEluamVjdChDT05UQUlORVJfREFUQSkgZGF0YTogSURhdGVQaWNrZXJEYXRhLCBwcml2YXRlIHRvYXN0OiBUb2FzdFNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIHRoaXMubG9jYWxTZWxlY3RlZERhdGVzID0gdGhpcy5kYXRhLmRhdGVzO1xuICAgIHRoaXMuaXNEYXRlc1ZhbGlkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubG9jYWxTZWxlY3RlZERhdGVzLnN0YXJ0RGF0ZSAmJiB0aGlzLmxvY2FsU2VsZWN0ZWREYXRlcy5lbmREYXRlKSB7XG4gICAgICB0aGlzLmlzRGF0ZXNWYWxpZCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLmRhdGE/LmRwQ29uZmlnPy50aW1lem9uZSkge1xuICAgICAgdGhpcy5kYXlqc0luc3RhbmNlID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHR6KGFyZ3NbMF0sIGFyZ3NbMV0sIHRoaXMuZGF0YS5kcENvbmZpZy50aW1lem9uZSk7XG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHRoaXMuZGF5anNJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5uZXh0TW9udGhOdW1iZXIgPSB0aGlzLmRheWpzSW5zdGFuY2UoKS5hZGQoMSwgXCJtb250aFwiKS5tb250aCgpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIHRoaXMubmV4dE1vbnRoID0gZ2V0TW9udGgodGhpcy5uZXh0TW9udGhOdW1iZXIpO1xuICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSB0aGlzLmRheWpzSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy5uZXh0WWVhck51bWJlciA9IHRoaXMuZGF5anNJbnN0YW5jZSgpLmFkZCgxLCBcIm1vbnRoXCIpLnllYXIoKTtcbiAgICB0aGlzLndlZWtEYXlzID0gdGhpcy5yYXdXZWVrRGF5cy5tYXAoKGRheSwgaW5kZXgpID0+ICh7XG4gICAgICBsYWJlbDogYCR7ZGF5WzBdfSR7ZGF5LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCl9YCxcbiAgICAgIGlzQ3VycmVudERheTogdGhpcy5kYXlqc0luc3RhbmNlKCkuZGF5KCkgPT09IGluZGV4XG4gICAgfSkpO1xuICAgIGlmICghdGhpcy5kYXRhPy5kcENvbmZpZz8uZm9ybWF0KSB7XG4gICAgICB0aGlzLmRhdGEuZHBDb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuZGF0YS5kcENvbmZpZyxcbiAgICAgICAgZm9ybWF0OiBEQVRFX0ZPUk1BVFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnREYXRlSW5zdGFuY2UoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgfVxuXG4gIHJldHJhY3REYXlNb250aChkYXk6IGFueSwgbW9udGg6IGFueSwgeWVhcjogYW55KTogYW55IHtcbiAgICByZXR1cm4gYCR7ZGF5fSAke21vbnRofSAke3llYXJ9YDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duLmVzY1wiKVxuICBjbG9zZU9uRXNjKCkge1xuICAgIHRoaXMuY2FuY2VsRGF0ZVBpY2tlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50RGF0ZUluc3RhbmNlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXM/LnN0YXJ0RGF0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50TW9udGhEYXRlcyA9IHRoaXMuZ2VuZXJhdGVEYXRlcyh0aGlzLmN1cnJlbnRNb250aE51bWJlciwgdGhpcy5jdXJyZW50WWVhck51bWJlcik7XG4gICAgICB0aGlzLm5leHRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMubmV4dE1vbnRoTnVtYmVyLCB0aGlzLm5leHRZZWFyTnVtYmVyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc2VsZWN0ZWRTdGFydERhdGUgPSAhIXRoaXMubG9jYWxTZWxlY3RlZERhdGVzPy5zdGFydERhdGUgPyB0aGlzLmRheWpzSW5zdGFuY2UodGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXM/LnN0YXJ0RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgOiBkYXlqcygnaW52YWxpZCcpO1xuICAgIGlmIChzZWxlY3RlZFN0YXJ0RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSBzZWxlY3RlZFN0YXJ0RGF0ZS55ZWFyKCk7XG4gICAgICB0aGlzLm5leHRZZWFyTnVtYmVyID0gc2VsZWN0ZWRTdGFydERhdGUuYWRkKDEsIFwibW9udGhcIikueWVhcigpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSBzZWxlY3RlZFN0YXJ0RGF0ZS5nZXQoXCJtb250aFwiKTtcbiAgICAgIHRoaXMubmV4dE1vbnRoTnVtYmVyID0gc2VsZWN0ZWRTdGFydERhdGUuYWRkKDEsIFwibW9udGhcIikubW9udGgoKTtcbiAgICAgIGlmKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID09PSAtMSl7XG4gICAgICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gMTFcbiAgICAgIH1cbiAgICAgIGlmKHRoaXMubmV4dE1vbnRoTnVtYmVyID09PSAtMSl7XG4gICAgICAgIHRoaXMubmV4dE1vbnRoTnVtYmVyID0gMTFcbiAgICAgIH1cbiAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgICAgdGhpcy5uZXh0TW9udGggPSBnZXRNb250aCh0aGlzLm5leHRNb250aE51bWJlcik7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgIHRoaXMubmV4dE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5uZXh0TW9udGhOdW1iZXIsIHRoaXMubmV4dFllYXJOdW1iZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5NYXhEYXlzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuZGF5anNJbnN0YW5jZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIGNvbnN0IG1pbkRhdGUgPSAhIXRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlID8gdGhpcy5kYXlqc0luc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA6IGRheWpzKCdpbnZhbGlkJyk7XG4gICAgaWYgKG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkID0gbWluRGF0ZS5pc1NhbWVPckFmdGVyKGN1cnJlbnRJbnN0YW5jZSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUgPyB0aGlzLmRheWpzSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgICBpZiAobWF4RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuaXNOZXh0TW9udGhEaXNhYmxlZCA9IG1heERhdGUuaXNTYW1lT3JCZWZvcmUoY3VycmVudEluc3RhbmNlLCBcIm1vbnRoXCIpO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlTW9udGgoZGlyZWN0aW9uOiBcIk5FWFRcIiB8IFwiUFJFVklPVVNcIik6IHZvaWQge1xuICAgIGxldCB0aGlzTW9udGg6IERheWpzID0gZGF5anMoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICBpZiAoZGlyZWN0aW9uID09PSBcIk5FWFRcIikge1xuICAgICB0aGlzTW9udGggPSB0aGlzTW9udGguYWRkKDEsIFwibW9udGhcIik7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09IFwiUFJFVklPVVNcIikge1xuICAgICB0aGlzTW9udGggPSB0aGlzTW9udGguc3VidHJhY3QoMSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzTW9udGgubW9udGgoKTtcbiAgICB0aGlzLm5leHRNb250aE51bWJlciA9IHRoaXNNb250aC5jbG9uZSgpLmFkZCgxLCBcIm1vbnRoXCIpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5uZXh0TW9udGggPSBnZXRNb250aCh0aGlzLm5leHRNb250aE51bWJlcik7XG4gICAgaWYgKHRoaXMubmV4dE1vbnRoTnVtYmVyID09PSAwICYmIGRpcmVjdGlvbiA9PT0gXCJQUkVWSU9VU1wiKSB7XG4gICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXItLTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID09PSAxMSAmJiBkaXJlY3Rpb24gPT09IFwiTkVYVFwiKSB7XG4gICAgIHRoaXMubmV4dFllYXJOdW1iZXIrKztcbiAgICB9ZWxzZSBpZiAodGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPT09IDAgJiYgZGlyZWN0aW9uID09PSBcIk5FWFRcIikge1xuICAgICB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKys7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5leHRNb250aE51bWJlciA9PT0gMTEgJiYgZGlyZWN0aW9uID09PSBcIlBSRVZJT1VTXCIpIHtcbiAgICAgdGhpcy5uZXh0WWVhck51bWJlci0tO1xuICAgIH1lbHNle1xuICAgICB0aGlzLm5leHRZZWFyTnVtYmVyID0gdGhpcy5jdXJyZW50WWVhck51bWJlcjtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TW9udGhEYXRlcyA9IHRoaXMuZ2VuZXJhdGVEYXRlcyh0aGlzLmN1cnJlbnRNb250aE51bWJlciwgdGhpcy5jdXJyZW50WWVhck51bWJlcik7XG4gICAgdGhpcy5uZXh0TW9udGhEYXRlcyA9IHRoaXMuZ2VuZXJhdGVEYXRlcyh0aGlzLm5leHRNb250aE51bWJlciwgdGhpcy5uZXh0WWVhck51bWJlcik7XG4gICAgdGhpcy5jYWxjdWxhdGVNaW5NYXhEYXlzKCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRGF0ZXMobW9udGg6IG51bWJlciwgY3VycmVudFllYXJOdW1iZXI6IG51bWJlcik6IElDdXJyZW50TW9udGhEYXRlc1tdIHtcbiAgICBsZXQgZGF0ZXM6IElDdXJyZW50TW9udGhEYXRlc1tdID0gW107XG4gICAgY29uc3QgZGF5c0luTW9udGggPSBkYXlqcygpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IGN1cnJlbnREYXRlID0gMTsgY3VycmVudERhdGUgPD0gZGF5c0luTW9udGg7IGN1cnJlbnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBkYXlqcygpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXRlKGN1cnJlbnREYXRlKTtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICAgIGxldCBpc0Rpc2FibGVkRGF5ID0gdGhpcy5kYXRhLmRhdGVzRGlzYWJsZWQuc29tZShkID0+IGQgPT09IGRhdGVTdHJpbmcpO1xuICAgICAgY29uc3QgbWluRGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUgPyB0aGlzLmRheWpzSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtaW5EYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBsZXQgRGF0ZSA9IHRoaXMuZGF5anNJbnN0YW5jZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXRlKGN1cnJlbnREYXRlKTtcbiAgICAgICAgaXNEaXNhYmxlZERheSA9IG1pbkRhdGUuaXNBZnRlcihkYXlqcyhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSwgXCJkYXlcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhEYXRlID0gISF0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSA/IHRoaXMuZGF5anNJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgOiBkYXlqcygnaW52YWxpZCcpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1heERhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtYXhEYXRlLmlzQmVmb3JlKGRheWpzKGRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5kYXRhPy5kcENvbmZpZz8ubWF4QWxsb3dlZFJhbmdlID4gMCAmJlxuICAgICAgICAhaXNEaXNhYmxlZERheSAmJlxuICAgICAgICAodGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXM/LnN0YXJ0RGF0ZSA/PyBmYWxzZSkgJiYgKCEodGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMuZW5kRGF0ZSA/PyBmYWxzZSkpXG4gICAgICApIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gZGF5anModGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMuc3RhcnREYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KS5zdGFydE9mKCdkYXknKTtcbiAgICAgICAgY29uc3QgbWF4RW5kRGF0ZSA9IHN0YXJ0RGF0ZS5jbG9uZSgpLmFkZCh0aGlzLmRhdGEuZHBDb25maWcubWF4QWxsb3dlZFJhbmdlIC0gMSwgJ2RheXMnKTtcbiAgICAgICAgaXNEaXNhYmxlZERheSA9IGRhdGUuaXNBZnRlcihtYXhFbmREYXRlLCAnZGF5JykgXG4gICAgICB9XG4gICAgICBjb25zdCBpc0N1cnJlbnREYXkgPVxuICAgICAgICB0aGlzLmRheWpzSW5zdGFuY2UoKS55ZWFyKGN1cnJlbnRZZWFyTnVtYmVyKS5tb250aChtb250aCkuZGF0ZShjdXJyZW50RGF0ZSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PVxuICAgICAgICB0aGlzLmRheWpzSW5zdGFuY2UoKS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgICBjb25zdCBpc1NlbGVjdGVkU3RhcnREYXkgPVxuICAgICAgICAhaXNEaXNhYmxlZERheSAmJlxuICAgICAgICAodGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXM/LnN0YXJ0RGF0ZSA/PyBmYWxzZSkgJiZcbiAgICAgICAgZGF0ZS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09IHRoaXMubG9jYWxTZWxlY3RlZERhdGVzPy5zdGFydERhdGU7XG4gICAgICBjb25zdCBpc0FmdGVyU2VsZWN0ZWRTdGFydERhdGUgPSAgZGF5anMoZGF0ZSx0aGlzLmRhdGE/LmRwQ29uZmlnPy5mb3JtYXQpLnN0YXJ0T2YoJ2RheScpLmlzQWZ0ZXIoZGF5anModGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMuc3RhcnREYXRlLHRoaXMuZGF0YT8uZHBDb25maWc/LmZvcm1hdCkuc3RhcnRPZignZGF5JyksICdkYXknKTtcblxuICAgICAgY29uc3QgaXNCZWZvcmVTZWxlY3RlZEVuZERhdGUgPSBkYXlqcyhkYXRlLHRoaXMuZGF0YT8uZHBDb25maWc/LmZvcm1hdCkuc3RhcnRPZignZGF5JykuaXNCZWZvcmUoZGF5anModGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMuZW5kRGF0ZSx0aGlzLmRhdGE/LmRwQ29uZmlnPy5mb3JtYXQpLnN0YXJ0T2YoJ2RheScpLCAnZGF5Jyk7XG4gICAgICBjb25zdCBpblJhbmdlRGF5ID1cbiAgICAgICAgKHRoaXMubG9jYWxTZWxlY3RlZERhdGVzLnN0YXJ0RGF0ZSA/PyBmYWxzZSkgJiZcbiAgICAgICAgKHRoaXMubG9jYWxTZWxlY3RlZERhdGVzLmVuZERhdGUgPz8gZmFsc2UpICYmXG4gICAgICAgIGlzQWZ0ZXJTZWxlY3RlZFN0YXJ0RGF0ZSAmJlxuICAgICAgICBpc0JlZm9yZVNlbGVjdGVkRW5kRGF0ZTtcbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWRFbmREYXkgPVxuICAgICAgICAhaXNEaXNhYmxlZERheSAmJlxuICAgICAgICAoKHRoaXMubG9jYWxTZWxlY3RlZERhdGVzPy5zdGFydERhdGUgJiYgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXM/LmVuZERhdGUpID8/IGZhbHNlKSAmJlxuICAgICAgICBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXM/LmVuZERhdGU7XG4gICAgICBkYXRlcy5wdXNoKHtcbiAgICAgICAgZGF0ZTogY3VycmVudERhdGUsXG4gICAgICAgIHdlZWtEYXk6IGRhdGUuZGF5KCksXG4gICAgICAgIGlzQ3VycmVudERheSxcbiAgICAgICAgaXNTZWxlY3RlZFN0YXJ0RGF5LFxuICAgICAgICBpc1NlbGVjdGVkRW5kRGF5LFxuICAgICAgICBpblJhbmdlRGF5LFxuICAgICAgICB0b2FzdE1lc3NhZ2U6IHRoaXMuZGF0YS5tZXNzYWdlcy5maW5kKHEgPT4gZGF0ZS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09IHEuZGF0ZSk/Lm1lc3NhZ2UgfHwgXCJcIixcbiAgICAgICAgaXNEaXNhYmxlZERheVxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShmcm9tOiBcIkxFRlRcIiB8IFwiUklHSFRcIiwgZGF5OiBJQ3VycmVudE1vbnRoRGF0ZXMpIHtcbiAgICBpZiAoZGF5LmRhdGUgPD0gMCkgcmV0dXJuO1xuICAgIGlmICghZGF5LmlzRGlzYWJsZWREYXkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWwgPSBcIkN1c3RvbSBSYW5nZVwiO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uU3RhcnRlZCkge1xuICAgICAgICBjb25zdCBkYXlqc0RheSA9IGRheWpzKClcbiAgICAgICAgICAueWVhcihmcm9tID09PSBcIkxFRlRcIiA/IHRoaXMuY3VycmVudFllYXJOdW1iZXIgOiB0aGlzLm5leHRZZWFyTnVtYmVyKVxuICAgICAgICAgIC5tb250aChmcm9tID09PSBcIkxFRlRcIiA/IHRoaXMuY3VycmVudE1vbnRoTnVtYmVyIDogdGhpcy5uZXh0TW9udGhOdW1iZXIpXG4gICAgICAgICAgLmRhdGUoZGF5LmRhdGUpO1xuICAgICAgICBpZiAoZGF5anNEYXkuaXNCZWZvcmUoZGF5anModGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMuc3RhcnREYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSwgJ2RheScpKSB7XG4gICAgICAgICAgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMgPSB7XG4gICAgICAgICAgICBzdGFydERhdGU6IGRheWpzRGF5LmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSxcbiAgICAgICAgICAgIGVuZERhdGU6IG51bGxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgICAgICAgIHRoaXMubmV4dE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5uZXh0TW9udGhOdW1iZXIsIHRoaXMubmV4dFllYXJOdW1iZXIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGlvblN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMgPSB7XG4gICAgICAgICAgLi4udGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMsXG4gICAgICAgICAgZW5kRGF0ZTogZGF5anNEYXkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGlvblN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvY2FsU2VsZWN0ZWREYXRlcyA9IHtcbiAgICAgICAgICBzdGFydERhdGU6IGRheWpzKClcbiAgICAgICAgICAgIC55ZWFyKGZyb20gPT09IFwiTEVGVFwiID8gdGhpcy5jdXJyZW50WWVhck51bWJlciA6IHRoaXMubmV4dFllYXJOdW1iZXIpXG4gICAgICAgICAgICAubW9udGgoZnJvbSA9PT0gXCJMRUZUXCIgPyB0aGlzLmN1cnJlbnRNb250aE51bWJlciA6IHRoaXMubmV4dE1vbnRoTnVtYmVyKVxuICAgICAgICAgICAgLmRhdGUoZGF5LmRhdGUpXG4gICAgICAgICAgICAuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpLFxuICAgICAgICAgIGVuZERhdGU6IG51bGxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgICAgdGhpcy5uZXh0TW9udGhEYXRlcyA9IHRoaXMuZ2VuZXJhdGVEYXRlcyh0aGlzLm5leHRNb250aE51bWJlciwgdGhpcy5uZXh0WWVhck51bWJlcik7XG4gICAgICB0aGlzLmlzRGF0ZXNWYWxpZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMubG9jYWxTZWxlY3RlZERhdGVzLnN0YXJ0RGF0ZSAmJiB0aGlzLmxvY2FsU2VsZWN0ZWREYXRlcy5lbmREYXRlKSB7XG4gICAgICAgIHRoaXMuaXNEYXRlc1ZhbGlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cbiAgc2VsZWN0UmFuZ2UoaXRlbTogUmFuZ2VJdGVtKSB7XG4gICAgaWYgKCFpdGVtKSByZXR1cm47XG4gIFxuICAgIGxldCBzdGFydERhdGUgPSB0aGlzLmRheWpzSW5zdGFuY2UoaXRlbS52YWx1ZVswXSk7ICBcbiAgICBsZXQgZW5kRGF0ZSA9IHRoaXMuZGF5anNJbnN0YW5jZShpdGVtLnZhbHVlWzFdKTsgIFxuICBcbiAgICBjb25zdCBzdGFydERhdGVTdHIgPSBzdGFydERhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGNvbnN0IGVuZERhdGVTdHIgPSBlbmREYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgXG4gICAgY29uc3QgaXNBbnlEYXRlRGlzYWJsZWQgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKChkYXRlKSA9PlxuICAgICAgdGhpcy5kYXlqc0luc3RhbmNlKGRhdGUgLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KS5pc0JldHdlZW4oc3RhcnREYXRlU3RyLCBlbmREYXRlU3RyLCBudWxsLCAnW10nKVxuICAgICk7XG4gIFxuICAgIGNvbnN0IG1pbkRhdGUgPSAhIXRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlID8gdGhpcy5kYXlqc0luc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA6IGRheWpzKCdpbnZhbGlkJyk7XG4gICAgY29uc3QgbWF4RGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUgPyB0aGlzLmRheWpzSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgXG4gICAgY29uc3QgaXNXaXRoaW5MaW1pdHMgPVxuICAgICAgKCFtaW5EYXRlLmlzVmFsaWQoKSB8fCAhc3RhcnREYXRlLmlzQmVmb3JlKG1pbkRhdGUsIFwiZGF5XCIpKSAmJlxuICAgICAgKCFtYXhEYXRlLmlzVmFsaWQoKSB8fCAhZW5kRGF0ZS5pc0FmdGVyKG1heERhdGUsIFwiZGF5XCIpKTtcbiAgXG4gICAgaWYgKCFpc1dpdGhpbkxpbWl0cyB8fCBpc0FueURhdGVEaXNhYmxlZCkge1xuICAgICAgdGhpcy50b2FzdC5kaXNwbGF5TXNnKFwiU2VsZWN0ZWQgcmFuZ2UgY29udGFpbnMgZGlzYWJsZWQgZGF0ZXMgb3IgaXMgb3V0IG9mIGJvdW5kcy5cIiwgNDAwMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICBcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUxhYmVsID0gaXRlbS5sYWJlbDtcbiAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHN0YXJ0RGF0ZS5tb250aCgpO1xuICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSBzdGFydERhdGUueWVhcigpO1xuICBcbiAgICBpZiAodGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPT09IDExKSB7XG4gICAgICB0aGlzLm5leHRNb250aE51bWJlciA9IDA7XG4gICAgICB0aGlzLm5leHRZZWFyTnVtYmVyID0gdGhpcy5jdXJyZW50WWVhck51bWJlciArIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dE1vbnRoTnVtYmVyID0gdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgKyAxO1xuICAgICAgdGhpcy5uZXh0WWVhck51bWJlciA9IHRoaXMuY3VycmVudFllYXJOdW1iZXI7XG4gICAgfVxuICBcbiAgICB0aGlzLmxvY2FsU2VsZWN0ZWREYXRlcyA9IHsgc3RhcnREYXRlOiBzdGFydERhdGVTdHIsIGVuZERhdGU6IGVuZERhdGVTdHIgfTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLm5leHRNb250aCA9IGdldE1vbnRoKHRoaXMubmV4dE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB0aGlzLm5leHRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMubmV4dE1vbnRoTnVtYmVyLCB0aGlzLm5leHRZZWFyTnVtYmVyKTtcbiAgXG4gICAgdGhpcy5pc0RhdGVzVmFsaWQgPSAhISh0aGlzLmxvY2FsU2VsZWN0ZWREYXRlcy5zdGFydERhdGUgJiYgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMuZW5kRGF0ZSk7XG4gIH1cbiAgXG4gIGFwcGx5RGF0ZXMoKSB7XG4gICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UodGhpcy5sb2NhbFNlbGVjdGVkRGF0ZXMpO1xuICB9XG4gIGNhbmNlbERhdGVQaWNrZXIoKSB7XG4gICAgdGhpcy5kYXRhLmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyXCIgYXJpYS1sYWJlbD1cImRhdGUgcmFuZ2UgcGlja2VyXCIgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCI+XG4gIDxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX192aWV3XCI+XG4gICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgY2RrRm9jdXNJbml0aWFsPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkYXRhPy5kcENvbmZpZz8ucmFuZ2VzPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX19yYW5nZXNcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YT8uZHBDb25maWc/LnJhbmdlcyA/PyBbXVwiID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZS1yYW5nZScgOiBzZWxlY3RlZEl0ZW1MYWJlbCA9PT0gaXRlbS5sYWJlbH1cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSYW5nZShpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaXMtYnRuXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+IDxidXR0b24gY2xhc3M9XCJtaXMtYnRuXCIgW25nQ2xhc3NdPVwieydhY3RpdmUtcmFuZ2UnIDogc2VsZWN0ZWRJdGVtTGFiZWwgPT09ICdDdXN0b20gUmFuZ2UnfVwiPkN1c3RvbSBSYW5nZTwvYnV0dG9uPiA8L2Rpdj5cbiAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXJfX2xlZnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX19oZWFkZXJfX3ByYWJ1XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImRhdGVyYW5nZXBpY2tlci1jb250YWluZXJfX2Fycm93X19pY29uXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIChjbGljayk9XCIhaXNQcmV2aW91c01vbnRoRGlzYWJsZWQgJiYgbmF2aWdhdGVNb250aCgnUFJFVklPVVMnKVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cIiFpc1ByZXZpb3VzTW9udGhEaXNhYmxlZCAmJiBuYXZpZ2F0ZU1vbnRoKCdQUkVWSU9VUycpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiUHJldmlvdXMgTW9udGhcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdkaXNhYmxlZC1tb250aCc6IGlzUHJldmlvdXNNb250aERpc2FibGVkXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNMTkuNzA3MSA4LjcwNzExQzIwLjA5NzYgOC4zMTY1OCAyMC4wOTc2IDcuNjgzNDIgMTkuNzA3MSA3LjI5Mjg5TDEzLjM0MzEgMC45Mjg5MzNDMTIuOTUyNiAwLjUzODQwOSAxMi4zMTk1IDAuNTM4NDA5IDExLjkyODkgMC45Mjg5MzNDMTEuNTM4NCAxLjMxOTQ2IDExLjUzODQgMS45NTI2MiAxMS45Mjg5IDIuMzQzMTVMMTcuNTg1OCA4TDExLjkyODkgMTMuNjU2OUMxMS41Mzg0IDE0LjA0NzQgMTEuNTM4NCAxNC42ODA1IDExLjkyODkgMTUuMDcxMUMxMi4zMTk1IDE1LjQ2MTYgMTIuOTUyNiAxNS40NjE2IDEzLjM0MzEgMTUuMDcxMUwxOS43MDcxIDguNzA3MTFaTS04Ljc0MjI4ZS0wOCA5TDE5IDlMMTkgN0w4Ljc0MjI4ZS0wOCA3TC04Ljc0MjI4ZS0wOCA5WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3Bhbj4ge3sgY3VycmVudE1vbnRoIH19IHt7IGN1cnJlbnRZZWFyTnVtYmVyIH19IDwvc3Bhbj5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgPCEtLSBCdXR0b24gdmlzaWJsZSBpbiBtb2JpbGUgdmlldyAtLT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lcl9fYXJyb3dfX2ljb24gbW9iaWxlX3ZpZXdcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiFpc05leHRNb250aERpc2FibGVkICYmIG5hdmlnYXRlTW9udGgoJ05FWFQnKVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cIiFpc05leHRNb250aERpc2FibGVkICYmIG5hdmlnYXRlTW9udGgoJ05FWFQnKVwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHQgTW9udGhcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdkaXNhYmxlZC1tb250aCc6IGlzTmV4dE1vbnRoRGlzYWJsZWRcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk0xOS43MDcxIDguNzA3MTFDMjAuMDk3NiA4LjMxNjU4IDIwLjA5NzYgNy42ODM0MiAxOS43MDcxIDcuMjkyODlMMTMuMzQzMSAwLjkyODkzM0MxMi45NTI2IDAuNTM4NDA5IDEyLjMxOTUgMC41Mzg0MDkgMTEuOTI4OSAwLjkyODkzM0MxMS41Mzg0IDEuMzE5NDYgMTEuNTM4NCAxLjk1MjYyIDExLjkyODkgMi4zNDMxNUwxNy41ODU4IDhMMTEuOTI4OSAxMy42NTY5QzExLjUzODQgMTQuMDQ3NCAxMS41Mzg0IDE0LjY4MDUgMTEuOTI4OSAxNS4wNzExQzEyLjMxOTUgMTUuNDYxNiAxMi45NTI2IDE1LjQ2MTYgMTMuMzQzMSAxNS4wNzExTDE5LjcwNzEgOC43MDcxMVpNLTguNzQyMjhlLTA4IDlMMTkgOUwxOSA3TDguNzQyMjhlLTA4IDdMLTguNzQyMjhlLTA4IDlaXCJcbiAgICAgICAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX19ib2R5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX193ZWVrZGF5c1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX193ZWVrZGF5XCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXNcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHdlZWtEYXkubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lcl9fZGF5c1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lcl9fZGF5XCIgXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdzZWxlY3RlZC1zYW1lLWRheSc6IGRheS5pc1NlbGVjdGVkU3RhcnREYXkgJiYgZGF5LmlzU2VsZWN0ZWRFbmREYXksXG4gICAgICAgICAgICAgICdzZWxlY3RlZC1zdGFydC1kYXknOiBkYXkuaXNTZWxlY3RlZFN0YXJ0RGF5LFxuICAgICAgICAgICAgICAnc2VsZWN0ZWQtZW5kLWRheSc6IGRheS5pc1NlbGVjdGVkRW5kRGF5LFxuICAgICAgICAgICAgICAnZGlzYWJsZWQtZGF5JzogZGF5LmlzRGlzYWJsZWREYXksXG4gICAgICAgICAgICAgICdpbi1yYW5nZS1kYXknOiBkYXkuaW5SYW5nZURheSxcbiAgICAgICAgICAgICAgJ2lzLXZhbGlkLWRhdGUnOiBkYXkuZGF0ZSA+IDAgJiYgIShkYXkuaXNTZWxlY3RlZFN0YXJ0RGF5ICYmIGRheS5pc1NlbGVjdGVkRW5kRGF5KVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIGN1cnJlbnRNb250aERhdGVzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXkoJ0xFRlQnLCBkYXkpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZWxlY3REYXkoJ0xFRlQnLCBkYXkpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRheS5kYXRlID4gMFwiXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCJkYXkuaXNEaXNhYmxlZERheSA/IC0xIDogMFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmV0cmFjdERheU1vbnRoKGRheS5kYXRlLCBjdXJyZW50TW9udGgsIGN1cnJlbnRZZWFyTnVtYmVyKVwiPlxuICAgICAgICAgICAgICB7eyBkYXkuZGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyX19yaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVyYW5nZXBpY2tlci1jb250YWluZXJfX2hlYWRlcl9fcHJhYnVcIj5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgPHNwYW4+IHt7IG5leHRNb250aCB9fSB7eyBuZXh0WWVhck51bWJlciB9fSA8L3NwYW4+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImRhdGVyYW5nZXBpY2tlci1jb250YWluZXJfX2Fycm93X19pY29uIHBjX3ZpZXdcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiFpc05leHRNb250aERpc2FibGVkICYmIG5hdmlnYXRlTW9udGgoJ05FWFQnKVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cIiFpc05leHRNb250aERpc2FibGVkICYmIG5hdmlnYXRlTW9udGgoJ05FWFQnKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2Rpc2FibGVkLW1vbnRoJzogaXNOZXh0TW9udGhEaXNhYmxlZFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDIwIDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE5LjcwNzEgOC43MDcxMUMyMC4wOTc2IDguMzE2NTggMjAuMDk3NiA3LjY4MzQyIDE5LjcwNzEgNy4yOTI4OUwxMy4zNDMxIDAuOTI4OTMzQzEyLjk1MjYgMC41Mzg0MDkgMTIuMzE5NSAwLjUzODQwOSAxMS45Mjg5IDAuOTI4OTMzQzExLjUzODQgMS4zMTk0NiAxMS41Mzg0IDEuOTUyNjIgMTEuOTI4OSAyLjM0MzE1TDE3LjU4NTggOEwxMS45Mjg5IDEzLjY1NjlDMTEuNTM4NCAxNC4wNDc0IDExLjUzODQgMTQuNjgwNSAxMS45Mjg5IDE1LjA3MTFDMTIuMzE5NSAxNS40NjE2IDEyLjk1MjYgMTUuNDYxNiAxMy4zNDMxIDE1LjA3MTFMMTkuNzA3MSA4LjcwNzExWk0tOC43NDIyOGUtMDggOUwxOSA5TDE5IDdMOC43NDIyOGUtMDggN0wtOC43NDIyOGUtMDggOVpcIlxuICAgICAgICAgICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVyYW5nZXBpY2tlci1jb250YWluZXJfX2JvZHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVyYW5nZXBpY2tlci1jb250YWluZXJfX3dlZWtkYXlzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVyYW5nZXBpY2tlci1jb250YWluZXJfX3dlZWtkYXlcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5c1wiPlxuICAgICAgICAgICAgPHNwYW4+e3sgd2Vla0RheS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX19kYXlzXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJkYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyX19kYXlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnc2VsZWN0ZWQtc2FtZS1kYXknOiBkYXkuaXNTZWxlY3RlZFN0YXJ0RGF5ICYmIGRheS5pc1NlbGVjdGVkRW5kRGF5LFxuICAgICAgICAgICAgICAnc2VsZWN0ZWQtc3RhcnQtZGF5JzogZGF5LmlzU2VsZWN0ZWRTdGFydERheSxcbiAgICAgICAgICAgICAgJ3NlbGVjdGVkLWVuZC1kYXknOiBkYXkuaXNTZWxlY3RlZEVuZERheSxcbiAgICAgICAgICAgICAgJ2Rpc2FibGVkLWRheSc6IGRheS5pc0Rpc2FibGVkRGF5LFxuICAgICAgICAgICAgICAnaW4tcmFuZ2UtZGF5JzogZGF5LmluUmFuZ2VEYXksXG4gICAgICAgICAgICAgICdpcy12YWxpZC1kYXRlJzogZGF5LmRhdGUgPiAwICYmICEoZGF5LmlzU2VsZWN0ZWRTdGFydERheSAmJiBkYXkuaXNTZWxlY3RlZEVuZERheSlcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiBuZXh0TW9udGhEYXRlc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF5KCdSSUdIVCcsIGRheSlcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlbGVjdERheSgnUklHSFQnLCBkYXkpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRheS5kYXRlID4gMFwiXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCJkYXkuaXNEaXNhYmxlZERheSA/IC0xIDogMFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmV0cmFjdERheU1vbnRoKGRheS5kYXRlLCBuZXh0TW9udGgsIG5leHRZZWFyTnVtYmVyKVwiPlxuICAgICAgICAgICAgICB7eyBkYXkuZGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRhdGVyYW5nZXBpY2tlcl9fZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBtaXMtYnV0dG9uIHR5cGU9XCJub25lXCIgaWQ9J21vYmlsZS1mb290ZXItYnRuJyAoY2xpY2spPVwiY2FuY2VsRGF0ZVBpY2tlcigpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtaXMtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgaWQ9XCJtb2JpbGUtZm9vdGVyLWJ0blwiIChjbGljayk9XCJhcHBseURhdGVzKClcIiBbZGlzYWJsZWRdPVwiIWlzRGF0ZXNWYWxpZFwiPkFwcGx5PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+Il19