@zeedhi/common 3.0.6 → 3.0.7

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 (525) hide show
  1. package/coverage/clover.xml +5676 -0
  2. package/coverage/coverage-final.json +147 -0
  3. package/coverage/lcov-report/base.css +224 -0
  4. package/coverage/lcov-report/block-navigation.js +87 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +1331 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +210 -0
  11. package/coverage/lcov-report/src/components/index.html +116 -0
  12. package/coverage/lcov-report/src/components/index.ts.html +730 -0
  13. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +151 -0
  14. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +145 -0
  15. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +145 -0
  16. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +1351 -0
  17. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +1429 -0
  18. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +205 -0
  19. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +340 -0
  20. package/coverage/lcov-report/src/components/tek-grid/index.html +326 -0
  21. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +139 -0
  22. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +1072 -0
  23. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +148 -0
  24. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +829 -0
  25. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +161 -0
  26. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +94 -0
  27. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +193 -0
  28. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +1027 -0
  29. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +757 -0
  30. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +664 -0
  31. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +131 -0
  32. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +169 -0
  33. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +196 -0
  34. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +505 -0
  35. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +400 -0
  36. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +163 -0
  37. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +146 -0
  38. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +94 -0
  39. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +340 -0
  40. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +131 -0
  41. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +91 -0
  42. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +1186 -0
  43. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +3451 -0
  44. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +502 -0
  45. package/coverage/lcov-report/src/components/zd-alert/index.html +116 -0
  46. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +226 -0
  47. package/coverage/lcov-report/src/components/zd-badge/index.html +116 -0
  48. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +226 -0
  49. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +116 -0
  50. package/coverage/lcov-report/src/components/zd-button/button.ts.html +706 -0
  51. package/coverage/lcov-report/src/components/zd-button/index.html +116 -0
  52. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +412 -0
  53. package/coverage/lcov-report/src/components/zd-button-group/index.html +116 -0
  54. package/coverage/lcov-report/src/components/zd-card/card.ts.html +748 -0
  55. package/coverage/lcov-report/src/components/zd-card/index.html +116 -0
  56. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +949 -0
  57. package/coverage/lcov-report/src/components/zd-carousel/index.html +116 -0
  58. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +148 -0
  59. package/coverage/lcov-report/src/components/zd-checkbox/index.html +116 -0
  60. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +313 -0
  61. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +116 -0
  62. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +352 -0
  63. package/coverage/lcov-report/src/components/zd-chip/index.html +116 -0
  64. package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +1045 -0
  65. package/coverage/lcov-report/src/components/zd-code-editor/index.html +116 -0
  66. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +682 -0
  67. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +116 -0
  68. package/coverage/lcov-report/src/components/zd-col/col.ts.html +250 -0
  69. package/coverage/lcov-report/src/components/zd-col/index.html +116 -0
  70. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +343 -0
  71. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +116 -0
  72. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +109 -0
  73. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +160 -0
  74. package/coverage/lcov-report/src/components/zd-component/component.ts.html +1084 -0
  75. package/coverage/lcov-report/src/components/zd-component/index.html +146 -0
  76. package/coverage/lcov-report/src/components/zd-container/container.ts.html +289 -0
  77. package/coverage/lcov-report/src/components/zd-container/index.html +116 -0
  78. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +259 -0
  79. package/coverage/lcov-report/src/components/zd-currency/index.html +116 -0
  80. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +1441 -0
  81. package/coverage/lcov-report/src/components/zd-date-input/index.html +131 -0
  82. package/coverage/lcov-report/src/components/zd-date-input/utils.ts.html +136 -0
  83. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +1873 -0
  84. package/coverage/lcov-report/src/components/zd-date-range/index.html +131 -0
  85. package/coverage/lcov-report/src/components/zd-date-range/utils.ts.html +178 -0
  86. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +541 -0
  87. package/coverage/lcov-report/src/components/zd-dialog/index.html +116 -0
  88. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +178 -0
  89. package/coverage/lcov-report/src/components/zd-divider/index.html +116 -0
  90. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +460 -0
  91. package/coverage/lcov-report/src/components/zd-dropdown/index.html +116 -0
  92. package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +325 -0
  93. package/coverage/lcov-report/src/components/zd-field-group/index.html +116 -0
  94. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +451 -0
  95. package/coverage/lcov-report/src/components/zd-footer/index.html +116 -0
  96. package/coverage/lcov-report/src/components/zd-form/form.ts.html +1075 -0
  97. package/coverage/lcov-report/src/components/zd-form/index.html +116 -0
  98. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +763 -0
  99. package/coverage/lcov-report/src/components/zd-frame/index.html +116 -0
  100. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +169 -0
  101. package/coverage/lcov-report/src/components/zd-frame-page/index.html +116 -0
  102. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +304 -0
  103. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +532 -0
  104. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +709 -0
  105. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +244 -0
  106. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +1042 -0
  107. package/coverage/lcov-report/src/components/zd-grid/index.html +266 -0
  108. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +118 -0
  109. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +274 -0
  110. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +241 -0
  111. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +313 -0
  112. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +427 -0
  113. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +175 -0
  114. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +826 -0
  115. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +1570 -0
  116. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +146 -0
  117. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +91 -0
  118. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +109 -0
  119. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +109 -0
  120. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +130 -0
  121. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +139 -0
  122. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +430 -0
  123. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +1477 -0
  124. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +221 -0
  125. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +109 -0
  126. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +139 -0
  127. package/coverage/lcov-report/src/components/zd-header/header.ts.html +502 -0
  128. package/coverage/lcov-report/src/components/zd-header/index.html +116 -0
  129. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +325 -0
  130. package/coverage/lcov-report/src/components/zd-icon/index.html +116 -0
  131. package/coverage/lcov-report/src/components/zd-image/image.ts.html +424 -0
  132. package/coverage/lcov-report/src/components/zd-image/index.html +116 -0
  133. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +436 -0
  134. package/coverage/lcov-report/src/components/zd-increment/index.html +116 -0
  135. package/coverage/lcov-report/src/components/zd-input/index.html +131 -0
  136. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +130 -0
  137. package/coverage/lcov-report/src/components/zd-input/input.ts.html +1345 -0
  138. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +109 -0
  139. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +823 -0
  140. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +523 -0
  141. package/coverage/lcov-report/src/components/zd-iterable/index.html +281 -0
  142. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +136 -0
  143. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +313 -0
  144. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +166 -0
  145. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +244 -0
  146. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +106 -0
  147. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +421 -0
  148. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +208 -0
  149. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +934 -0
  150. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +343 -0
  151. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +116 -0
  152. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +592 -0
  153. package/coverage/lcov-report/src/components/zd-layout/index.html +116 -0
  154. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +145 -0
  155. package/coverage/lcov-report/src/components/zd-list/index.html +161 -0
  156. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +109 -0
  157. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +241 -0
  158. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +298 -0
  159. package/coverage/lcov-report/src/components/zd-list/list.ts.html +460 -0
  160. package/coverage/lcov-report/src/components/zd-loading/index.html +116 -0
  161. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +217 -0
  162. package/coverage/lcov-report/src/components/zd-login/index.html +131 -0
  163. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +421 -0
  164. package/coverage/lcov-report/src/components/zd-login/login.ts.html +340 -0
  165. package/coverage/lcov-report/src/components/zd-main/index.html +116 -0
  166. package/coverage/lcov-report/src/components/zd-main/main.ts.html +133 -0
  167. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +118 -0
  168. package/coverage/lcov-report/src/components/zd-master-detail/index.html +146 -0
  169. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +331 -0
  170. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +118 -0
  171. package/coverage/lcov-report/src/components/zd-menu/index.html +176 -0
  172. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +241 -0
  173. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +400 -0
  174. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +337 -0
  175. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +106 -0
  176. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +1384 -0
  177. package/coverage/lcov-report/src/components/zd-modal/index.html +131 -0
  178. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +220 -0
  179. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +355 -0
  180. package/coverage/lcov-report/src/components/zd-month/index.html +116 -0
  181. package/coverage/lcov-report/src/components/zd-month/month.ts.html +352 -0
  182. package/coverage/lcov-report/src/components/zd-number-input/index.html +116 -0
  183. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +532 -0
  184. package/coverage/lcov-report/src/components/zd-password/index.html +116 -0
  185. package/coverage/lcov-report/src/components/zd-password/password.ts.html +220 -0
  186. package/coverage/lcov-report/src/components/zd-progress/index.html +116 -0
  187. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +262 -0
  188. package/coverage/lcov-report/src/components/zd-radio/index.html +116 -0
  189. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +289 -0
  190. package/coverage/lcov-report/src/components/zd-row/index.html +116 -0
  191. package/coverage/lcov-report/src/components/zd-row/row.ts.html +256 -0
  192. package/coverage/lcov-report/src/components/zd-select/index.html +116 -0
  193. package/coverage/lcov-report/src/components/zd-select/select.ts.html +2089 -0
  194. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +116 -0
  195. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +1549 -0
  196. package/coverage/lcov-report/src/components/zd-svg-map/index.html +116 -0
  197. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +475 -0
  198. package/coverage/lcov-report/src/components/zd-switch/index.html +116 -0
  199. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +163 -0
  200. package/coverage/lcov-report/src/components/zd-table/index.html +116 -0
  201. package/coverage/lcov-report/src/components/zd-table/table.ts.html +280 -0
  202. package/coverage/lcov-report/src/components/zd-tabs/index.html +146 -0
  203. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +127 -0
  204. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +370 -0
  205. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +586 -0
  206. package/coverage/lcov-report/src/components/zd-tag/index.html +116 -0
  207. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +142 -0
  208. package/coverage/lcov-report/src/components/zd-text/index.html +116 -0
  209. package/coverage/lcov-report/src/components/zd-text/text.ts.html +136 -0
  210. package/coverage/lcov-report/src/components/zd-text-input/index.html +116 -0
  211. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +778 -0
  212. package/coverage/lcov-report/src/components/zd-textarea/index.html +116 -0
  213. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +418 -0
  214. package/coverage/lcov-report/src/components/zd-time/index.html +131 -0
  215. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +157 -0
  216. package/coverage/lcov-report/src/components/zd-time/time.ts.html +1687 -0
  217. package/coverage/lcov-report/src/components/zd-toggleable/index.html +116 -0
  218. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +196 -0
  219. package/coverage/lcov-report/src/components/zd-tooltip/index.html +116 -0
  220. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +340 -0
  221. package/coverage/lcov-report/src/components/zd-tree/index.html +116 -0
  222. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +1849 -0
  223. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +191 -0
  224. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +103 -0
  225. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +202 -0
  226. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +154 -0
  227. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +235 -0
  228. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +448 -0
  229. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +1390 -0
  230. package/coverage/lcov-report/src/error/delete-rows.ts.html +124 -0
  231. package/coverage/lcov-report/src/error/index.html +161 -0
  232. package/coverage/lcov-report/src/error/index.ts.html +94 -0
  233. package/coverage/lcov-report/src/error/non-initialized.ts.html +118 -0
  234. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +130 -0
  235. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +109 -0
  236. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +109 -0
  237. package/coverage/lcov-report/src/index.html +116 -0
  238. package/coverage/lcov-report/src/index.ts.html +145 -0
  239. package/coverage/lcov-report/src/services/index.html +116 -0
  240. package/coverage/lcov-report/src/services/index.ts.html +97 -0
  241. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +205 -0
  242. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +220 -0
  243. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +316 -0
  244. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +172 -0
  245. package/coverage/lcov-report/src/services/zd-alert/index.html +176 -0
  246. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +100 -0
  247. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +205 -0
  248. package/coverage/lcov-report/src/services/zd-dialog/index.html +116 -0
  249. package/coverage/lcov-report/src/services/zd-loading/index.html +116 -0
  250. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +157 -0
  251. package/coverage/lcov-report/src/services/zd-modal/index.html +116 -0
  252. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +298 -0
  253. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +202 -0
  254. package/coverage/lcov-report/src/utils/data-value-out/index.html +131 -0
  255. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +91 -0
  256. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +241 -0
  257. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +131 -0
  258. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +91 -0
  259. package/coverage/lcov-report/src/utils/date-utils/date-utils.ts.html +166 -0
  260. package/coverage/lcov-report/src/utils/date-utils/index.html +116 -0
  261. package/coverage/lcov-report/src/utils/icons/icons.ts.html +547 -0
  262. package/coverage/lcov-report/src/utils/icons/index.html +116 -0
  263. package/coverage/lcov-report/src/utils/index.html +116 -0
  264. package/coverage/lcov-report/src/utils/index.ts.html +106 -0
  265. package/coverage/lcov-report/src/utils/is-filled-object/index.html +116 -0
  266. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +100 -0
  267. package/coverage/lcov-report/src/utils/is-nil.ts.html +94 -0
  268. package/coverage/lcov-report/src/utils/omit/index.html +116 -0
  269. package/coverage/lcov-report/src/utils/omit/omit.ts.html +124 -0
  270. package/coverage/lcov-report/src/utils/theme/index.html +116 -0
  271. package/coverage/lcov-report/src/utils/theme/theme.ts.html +679 -0
  272. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +131 -0
  273. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +91 -0
  274. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +1645 -0
  275. package/coverage/lcov-report/src/utils/unique-by/index.html +116 -0
  276. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +130 -0
  277. package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +106 -0
  278. package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +94 -0
  279. package/coverage/lcov-report/tests/unit/__helpers__/index.html +146 -0
  280. package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +172 -0
  281. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +166 -0
  282. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +116 -0
  283. package/coverage/lcov.info +10070 -0
  284. package/dist/style.css +1 -1
  285. package/dist/zd-common.d.mts +7826 -0
  286. package/dist/zd-common.iife.min.js +11 -0
  287. package/dist/zd-common.mjs +12318 -0
  288. package/package.json +16 -12
  289. package/src/components/zd-date-input/date-input.ts +40 -147
  290. package/src/components/zd-date-input/utils.ts +17 -0
  291. package/src/components/zd-date-range/date-range.ts +86 -210
  292. package/src/components/zd-date-range/utils.ts +31 -0
  293. package/src/components/zd-frame/frame.ts +2 -2
  294. package/src/components/zd-grid-editable/data-editor-with-add.ts +1 -1
  295. package/src/components/zd-grid-editable/data-editor.ts +2 -2
  296. package/src/components/zd-month/month.ts +19 -91
  297. package/src/styles/_display.scss +3 -1
  298. package/src/styles/_elevation.scss +2 -1
  299. package/src/styles/_functions.scss +14 -11
  300. package/src/styles/_utilities.scss +67 -62
  301. package/src/styles/_variables.scss +17 -16
  302. package/src/styles/index.scss +5 -5
  303. package/src/utils/date-utils/date-utils.ts +9 -0
  304. package/src/utils/tree-data-structure/tree-data-structure.ts +1 -1
  305. package/tests/unit/components/zd-date-input/date-input.spec.ts +36 -281
  306. package/tests/unit/components/zd-date-range/date-range.spec.ts +372 -475
  307. package/tests/unit/components/zd-grid/grid-column.spec.ts +1 -1
  308. package/tests/unit/components/zd-month/month.spec.ts +7 -334
  309. package/tests/unit/components/zd-select/select.spec.ts +1 -2
  310. package/tsdown.config.ts +74 -0
  311. package/dist/types/components/index.d.ts +0 -151
  312. package/dist/types/components/zd-alert/alert.d.ts +0 -94
  313. package/dist/types/components/zd-alert/interfaces.d.ts +0 -18
  314. package/dist/types/components/zd-badge/badge.d.ts +0 -28
  315. package/dist/types/components/zd-badge/interfaces.d.ts +0 -10
  316. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +0 -32
  317. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +0 -24
  318. package/dist/types/components/zd-button/button.d.ts +0 -89
  319. package/dist/types/components/zd-button/interfaces.d.ts +0 -48
  320. package/dist/types/components/zd-button-group/button-group.d.ts +0 -67
  321. package/dist/types/components/zd-button-group/interfaces.d.ts +0 -25
  322. package/dist/types/components/zd-card/card.d.ts +0 -152
  323. package/dist/types/components/zd-card/interfaces.d.ts +0 -40
  324. package/dist/types/components/zd-carousel/carousel.d.ts +0 -163
  325. package/dist/types/components/zd-carousel/interfaces.d.ts +0 -49
  326. package/dist/types/components/zd-checkbox/checkbox.d.ts +0 -12
  327. package/dist/types/components/zd-checkbox/interfaces.d.ts +0 -5
  328. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +0 -39
  329. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +0 -13
  330. package/dist/types/components/zd-chip/chip.d.ts +0 -60
  331. package/dist/types/components/zd-chip/interfaces.d.ts +0 -18
  332. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +0 -86
  333. package/dist/types/components/zd-code-viewer/interfaces.d.ts +0 -13
  334. package/dist/types/components/zd-col/col.d.ts +0 -33
  335. package/dist/types/components/zd-col/interfaces.d.ts +0 -15
  336. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +0 -56
  337. package/dist/types/components/zd-collapse-card/interfaces.d.ts +0 -14
  338. package/dist/types/components/zd-component/child-not-found.d.ts +0 -6
  339. package/dist/types/components/zd-component/component-render.d.ts +0 -16
  340. package/dist/types/components/zd-component/component.d.ts +0 -120
  341. package/dist/types/components/zd-component/interfaces.d.ts +0 -74
  342. package/dist/types/components/zd-container/container.d.ts +0 -45
  343. package/dist/types/components/zd-container/interfaces.d.ts +0 -12
  344. package/dist/types/components/zd-currency/currency.d.ts +0 -12
  345. package/dist/types/components/zd-currency/interfaces.d.ts +0 -6
  346. package/dist/types/components/zd-date-input/date-input.d.ts +0 -152
  347. package/dist/types/components/zd-date-input/interfaces.d.ts +0 -27
  348. package/dist/types/components/zd-date-range/date-range.d.ts +0 -160
  349. package/dist/types/components/zd-date-range/interfaces.d.ts +0 -18
  350. package/dist/types/components/zd-dialog/dialog.d.ts +0 -76
  351. package/dist/types/components/zd-dialog/interfaces.d.ts +0 -13
  352. package/dist/types/components/zd-divider/divider.d.ts +0 -20
  353. package/dist/types/components/zd-divider/interfaces.d.ts +0 -8
  354. package/dist/types/components/zd-dropdown/dropdown.d.ts +0 -81
  355. package/dist/types/components/zd-dropdown/interfaces.d.ts +0 -23
  356. package/dist/types/components/zd-footer/footer.d.ts +0 -80
  357. package/dist/types/components/zd-footer/interfaces.d.ts +0 -26
  358. package/dist/types/components/zd-form/form.d.ts +0 -174
  359. package/dist/types/components/zd-form/interfaces.d.ts +0 -36
  360. package/dist/types/components/zd-frame/frame.d.ts +0 -81
  361. package/dist/types/components/zd-frame/interfaces.d.ts +0 -23
  362. package/dist/types/components/zd-frame-page/frame-page.d.ts +0 -14
  363. package/dist/types/components/zd-frame-page/interfaces.d.ts +0 -4
  364. package/dist/types/components/zd-grid/data-navigator.d.ts +0 -12
  365. package/dist/types/components/zd-grid/data-selector.d.ts +0 -25
  366. package/dist/types/components/zd-grid/grid-column.d.ts +0 -47
  367. package/dist/types/components/zd-grid/grid-events.d.ts +0 -26
  368. package/dist/types/components/zd-grid/grid.d.ts +0 -85
  369. package/dist/types/components/zd-grid/index.d.ts +0 -11
  370. package/dist/types/components/zd-grid/interfaces.d.ts +0 -148
  371. package/dist/types/components/zd-grid/iterable-table.d.ts +0 -28
  372. package/dist/types/components/zd-grid/keymap-merger.d.ts +0 -26
  373. package/dist/types/components/zd-grid/keymap-navigation.d.ts +0 -6
  374. package/dist/types/components/zd-grid/table-action-builder.d.ts +0 -19
  375. package/dist/types/components/zd-grid/view-navigator.d.ts +0 -10
  376. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +0 -35
  377. package/dist/types/components/zd-grid-editable/data-editor.d.ts +0 -64
  378. package/dist/types/components/zd-grid-editable/errors/index.d.ts +0 -2
  379. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +0 -6
  380. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +0 -6
  381. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +0 -9
  382. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +0 -8
  383. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +0 -32
  384. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +0 -124
  385. package/dist/types/components/zd-grid-editable/index.d.ts +0 -8
  386. package/dist/types/components/zd-grid-editable/interfaces.d.ts +0 -66
  387. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +0 -7
  388. package/dist/types/components/zd-header/header.d.ts +0 -94
  389. package/dist/types/components/zd-header/interfaces.d.ts +0 -29
  390. package/dist/types/components/zd-icon/icon.d.ts +0 -55
  391. package/dist/types/components/zd-icon/interfaces.d.ts +0 -13
  392. package/dist/types/components/zd-image/image.d.ts +0 -73
  393. package/dist/types/components/zd-image/interfaces.d.ts +0 -17
  394. package/dist/types/components/zd-increment/increment.d.ts +0 -56
  395. package/dist/types/components/zd-increment/interfaces.d.ts +0 -9
  396. package/dist/types/components/zd-input/input-factory.d.ts +0 -6
  397. package/dist/types/components/zd-input/input.d.ts +0 -223
  398. package/dist/types/components/zd-input/interfaces.d.ts +0 -38
  399. package/dist/types/components/zd-iterable/column-not-found.d.ts +0 -6
  400. package/dist/types/components/zd-iterable/column.d.ts +0 -78
  401. package/dist/types/components/zd-iterable/conditions-manager.d.ts +0 -49
  402. package/dist/types/components/zd-iterable/interfaces.d.ts +0 -103
  403. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +0 -9
  404. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +0 -35
  405. package/dist/types/components/zd-iterable/iterable-controller.d.ts +0 -8
  406. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +0 -27
  407. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +0 -7
  408. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +0 -62
  409. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +0 -28
  410. package/dist/types/components/zd-iterable/iterable.d.ts +0 -86
  411. package/dist/types/components/zd-iterable/search.d.ts +0 -31
  412. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +0 -34
  413. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +0 -84
  414. package/dist/types/components/zd-layout/interfaces.d.ts +0 -7
  415. package/dist/types/components/zd-layout/layout.d.ts +0 -9
  416. package/dist/types/components/zd-list/interfaces.d.ts +0 -44
  417. package/dist/types/components/zd-list/item-not-found.d.ts +0 -6
  418. package/dist/types/components/zd-list/list-group.d.ts +0 -30
  419. package/dist/types/components/zd-list/list-item.d.ts +0 -46
  420. package/dist/types/components/zd-list/list.d.ts +0 -81
  421. package/dist/types/components/zd-loading/interfaces.d.ts +0 -7
  422. package/dist/types/components/zd-loading/loading.d.ts +0 -21
  423. package/dist/types/components/zd-login/interfaces.d.ts +0 -25
  424. package/dist/types/components/zd-login/login-button.d.ts +0 -50
  425. package/dist/types/components/zd-login/login.d.ts +0 -54
  426. package/dist/types/components/zd-main/interfaces.d.ts +0 -5
  427. package/dist/types/components/zd-main/main.d.ts +0 -7
  428. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +0 -7
  429. package/dist/types/components/zd-master-detail/interfaces.d.ts +0 -10
  430. package/dist/types/components/zd-master-detail/master-detail.d.ts +0 -18
  431. package/dist/types/components/zd-master-detail/master-not-found.d.ts +0 -7
  432. package/dist/types/components/zd-menu/interfaces.d.ts +0 -68
  433. package/dist/types/components/zd-menu/menu-button.d.ts +0 -29
  434. package/dist/types/components/zd-menu/menu-group.d.ts +0 -61
  435. package/dist/types/components/zd-menu/menu-link.d.ts +0 -50
  436. package/dist/types/components/zd-menu/menu-separator.d.ts +0 -7
  437. package/dist/types/components/zd-menu/menu.d.ts +0 -199
  438. package/dist/types/components/zd-modal/interfaces.d.ts +0 -35
  439. package/dist/types/components/zd-modal/modal-close-button.d.ts +0 -28
  440. package/dist/types/components/zd-modal/modal.d.ts +0 -53
  441. package/dist/types/components/zd-month/interfaces.d.ts +0 -6
  442. package/dist/types/components/zd-month/month.d.ts +0 -33
  443. package/dist/types/components/zd-number-input/interfaces.d.ts +0 -8
  444. package/dist/types/components/zd-number-input/number-input.d.ts +0 -43
  445. package/dist/types/components/zd-password/interfaces.d.ts +0 -6
  446. package/dist/types/components/zd-password/password.d.ts +0 -17
  447. package/dist/types/components/zd-progress/interfaces.d.ts +0 -10
  448. package/dist/types/components/zd-progress/progress.d.ts +0 -41
  449. package/dist/types/components/zd-radio/interfaces.d.ts +0 -11
  450. package/dist/types/components/zd-radio/radio.d.ts +0 -35
  451. package/dist/types/components/zd-row/interfaces.d.ts +0 -13
  452. package/dist/types/components/zd-row/row.d.ts +0 -39
  453. package/dist/types/components/zd-select/interfaces.d.ts +0 -24
  454. package/dist/types/components/zd-select/select.d.ts +0 -238
  455. package/dist/types/components/zd-select-multiple/interfaces.d.ts +0 -18
  456. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +0 -113
  457. package/dist/types/components/zd-svg-map/interfaces.d.ts +0 -26
  458. package/dist/types/components/zd-svg-map/svg-map.d.ts +0 -35
  459. package/dist/types/components/zd-switch/interfaces.d.ts +0 -7
  460. package/dist/types/components/zd-switch/switch.d.ts +0 -16
  461. package/dist/types/components/zd-table/interfaces.d.ts +0 -25
  462. package/dist/types/components/zd-table/table.d.ts +0 -42
  463. package/dist/types/components/zd-tabs/interfaces.d.ts +0 -40
  464. package/dist/types/components/zd-tabs/tab-not-found.d.ts +0 -11
  465. package/dist/types/components/zd-tabs/tab.d.ts +0 -57
  466. package/dist/types/components/zd-tabs/tabs.d.ts +0 -86
  467. package/dist/types/components/zd-tag/interfaces.d.ts +0 -7
  468. package/dist/types/components/zd-tag/tag.d.ts +0 -13
  469. package/dist/types/components/zd-text/interfaces.d.ts +0 -9
  470. package/dist/types/components/zd-text/text.d.ts +0 -8
  471. package/dist/types/components/zd-text-input/interfaces.d.ts +0 -23
  472. package/dist/types/components/zd-text-input/text-input.d.ts +0 -91
  473. package/dist/types/components/zd-textarea/interfaces.d.ts +0 -21
  474. package/dist/types/components/zd-textarea/textarea.d.ts +0 -71
  475. package/dist/types/components/zd-time/interfaces.d.ts +0 -22
  476. package/dist/types/components/zd-time/time-format-selector.d.ts +0 -8
  477. package/dist/types/components/zd-time/time.d.ts +0 -149
  478. package/dist/types/components/zd-toggleable/interfaces.d.ts +0 -6
  479. package/dist/types/components/zd-toggleable/toggleable.d.ts +0 -21
  480. package/dist/types/components/zd-tooltip/interfaces.d.ts +0 -18
  481. package/dist/types/components/zd-tooltip/tooltip.d.ts +0 -57
  482. package/dist/types/components/zd-tree/interfaces.d.ts +0 -107
  483. package/dist/types/components/zd-tree/tree.d.ts +0 -161
  484. package/dist/types/components/zd-tree-grid/index.d.ts +0 -6
  485. package/dist/types/components/zd-tree-grid/interfaces.d.ts +0 -35
  486. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +0 -10
  487. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +0 -7
  488. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +0 -10
  489. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +0 -18
  490. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +0 -119
  491. package/dist/types/error/delete-rows.d.ts +0 -7
  492. package/dist/types/error/index.d.ts +0 -3
  493. package/dist/types/error/non-initialized.d.ts +0 -7
  494. package/dist/types/error/zeedhi-error.d.ts +0 -6
  495. package/dist/types/index.d.ts +0 -6
  496. package/dist/types/services/index.d.ts +0 -4
  497. package/dist/types/services/zd-alert/alert-queue.d.ts +0 -13
  498. package/dist/types/services/zd-alert/alert-replace.d.ts +0 -18
  499. package/dist/types/services/zd-alert/alert-service.d.ts +0 -45
  500. package/dist/types/services/zd-alert/alert-stack.d.ts +0 -9
  501. package/dist/types/services/zd-alert/index.d.ts +0 -5
  502. package/dist/types/services/zd-alert/interfaces.d.ts +0 -6
  503. package/dist/types/services/zd-dialog/dialog-service.d.ts +0 -24
  504. package/dist/types/services/zd-loading/loading-service.d.ts +0 -17
  505. package/dist/types/services/zd-modal/modal-service.d.ts +0 -39
  506. package/dist/types/utils/data-value-out/data-value-out.d.ts +0 -5
  507. package/dist/types/utils/data-value-out/index.d.ts +0 -2
  508. package/dist/types/utils/data-value-out/interfaces.d.ts +0 -8
  509. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +0 -6
  510. package/dist/types/utils/datasource-searcher/index.d.ts +0 -2
  511. package/dist/types/utils/datasource-searcher/interfaces.d.ts +0 -5
  512. package/dist/types/utils/date-utils/date-utils.d.ts +0 -1
  513. package/dist/types/utils/icons/icons.d.ts +0 -24
  514. package/dist/types/utils/index.d.ts +0 -7
  515. package/dist/types/utils/omit/omit.d.ts +0 -11
  516. package/dist/types/utils/theme/theme.d.ts +0 -34
  517. package/dist/types/utils/tree-data-structure/index.d.ts +0 -2
  518. package/dist/types/utils/tree-data-structure/interfaces.d.ts +0 -30
  519. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +0 -155
  520. package/dist/types/utils/unique-by/unique-by.d.ts +0 -3
  521. package/dist/zd-common.js +0 -13184
  522. package/dist/zd-common.min.js +0 -13184
  523. package/rollup.config.js +0 -27
  524. package/rollup.scss.config.js +0 -14
  525. package/tsconfig.build.json +0 -7
@@ -0,0 +1,1687 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/components/zd-time/time.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/zd-time</a> time.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>200/200</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>103/103</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>44/44</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>189/189</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">92x</span>
601
+ <span class="cline-any cline-yes">92x</span>
602
+ <span class="cline-any cline-yes">92x</span>
603
+ <span class="cline-any cline-yes">92x</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-yes">92x</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-yes">92x</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-yes">64x</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-yes">64x</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-yes">64x</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-yes">64x</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-yes">64x</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-yes">64x</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-yes">64x</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-yes">64x</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-yes">64x</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-yes">64x</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-yes">64x</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-yes">64x</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-yes">64x</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-yes">64x</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-yes">64x</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-yes">64x</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-yes">64x</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-yes">64x</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-yes">64x</span>
705
+ <span class="cline-any cline-yes">64x</span>
706
+ <span class="cline-any cline-yes">64x</span>
707
+ <span class="cline-any cline-yes">64x</span>
708
+ <span class="cline-any cline-yes">64x</span>
709
+ <span class="cline-any cline-yes">64x</span>
710
+ <span class="cline-any cline-yes">64x</span>
711
+ <span class="cline-any cline-yes">64x</span>
712
+ <span class="cline-any cline-yes">64x</span>
713
+ <span class="cline-any cline-yes">64x</span>
714
+ <span class="cline-any cline-yes">64x</span>
715
+ <span class="cline-any cline-yes">64x</span>
716
+ <span class="cline-any cline-yes">64x</span>
717
+ <span class="cline-any cline-yes">64x</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-yes">64x</span>
720
+ <span class="cline-any cline-yes">64x</span>
721
+ <span class="cline-any cline-yes">64x</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-yes">64x</span>
724
+ <span class="cline-any cline-yes">64x</span>
725
+ <span class="cline-any cline-yes">64x</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-yes">64x</span>
728
+ <span class="cline-any cline-yes">64x</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-yes">312x</span>
733
+ <span class="cline-any cline-yes">312x</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-yes">312x</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-yes">186x</span>
740
+ <span class="cline-any cline-yes">186x</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-yes">69x</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-yes">126x</span>
749
+ <span class="cline-any cline-yes">126x</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-yes">65x</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-yes">7x</span>
758
+ <span class="cline-any cline-yes">7x</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-yes">64x</span>
763
+ <span class="cline-any cline-yes">55x</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-yes">64x</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-yes">33x</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-yes">24x</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-yes">2x</span>
784
+ <span class="cline-any cline-yes">1x</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-yes">100x</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-yes">10x</span>
799
+ <span class="cline-any cline-yes">10x</span>
800
+ <span class="cline-any cline-yes">10x</span>
801
+ <span class="cline-any cline-yes">10x</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-yes">9x</span>
809
+ <span class="cline-any cline-yes">9x</span>
810
+ <span class="cline-any cline-yes">9x</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-yes">9x</span>
818
+ <span class="cline-any cline-yes">3x</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-yes">6x</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-yes">7x</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-yes">31x</span>
830
+ <span class="cline-any cline-yes">31x</span>
831
+ <span class="cline-any cline-yes">12x</span>
832
+ <span class="cline-any cline-yes">12x</span>
833
+ <span class="cline-any cline-yes">12x</span>
834
+ <span class="cline-any cline-yes">12x</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-yes">19x</span>
837
+ <span class="cline-any cline-yes">6x</span>
838
+ <span class="cline-any cline-yes">6x</span>
839
+ <span class="cline-any cline-yes">6x</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-yes">19x</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-yes">31x</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-yes">67x</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-yes">1x</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-yes">3x</span>
856
+ <span class="cline-any cline-yes">3x</span>
857
+ <span class="cline-any cline-yes">3x</span>
858
+ <span class="cline-any cline-yes">3x</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-yes">4x</span>
863
+ <span class="cline-any cline-yes">2x</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-yes">2x</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-yes">9x</span>
870
+ <span class="cline-any cline-yes">5x</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-yes">4x</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-yes">73x</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-yes">584x</span>
885
+ <span class="cline-any cline-yes">73x</span>
886
+ <span class="cline-any cline-yes">133x</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-yes">12x</span>
891
+ <span class="cline-any cline-yes">11x</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-yes">1x</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-yes">3x</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-yes">6x</span>
906
+ <span class="cline-any cline-yes">6x</span>
907
+ <span class="cline-any cline-yes">6x</span>
908
+ <span class="cline-any cline-yes">5x</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-yes">11x</span>
914
+ <span class="cline-any cline-yes">11x</span>
915
+ <span class="cline-any cline-yes">11x</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-yes">11x</span>
918
+ <span class="cline-any cline-yes">11x</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-yes">6x</span>
924
+ <span class="cline-any cline-yes">6x</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-yes">6x</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-yes">5x</span>
934
+ <span class="cline-any cline-yes">5x</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-yes">11x</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-yes">3x</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-yes">8x</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-yes">2x</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-yes">2x</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-yes">6x</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-yes">5x</span>
980
+ <span class="cline-any cline-yes">5x</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-yes">5x</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-yes">3x</span>
987
+ <span class="cline-any cline-yes">3x</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-yes">5x</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-yes">3x</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-yes">3x</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-neutral">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-yes">5x</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-yes">3x</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-yes">3x</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-yes">7x</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-yes">4x</span>
1010
+ <span class="cline-any cline-neutral">&nbsp;</span>
1011
+ <span class="cline-any cline-yes">4x</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-yes">1x</span>
1016
+ <span class="cline-any cline-yes">1x</span>
1017
+ <span class="cline-any cline-yes">1x</span>
1018
+ <span class="cline-any cline-yes">1x</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-yes">5x</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-yes">6x</span>
1033
+ <span class="cline-any cline-yes">4x</span>
1034
+ <span class="cline-any cline-yes">3x</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-yes">3x</span>
1038
+ <span class="cline-any cline-neutral">&nbsp;</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-yes">92x</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-neutral">&nbsp;</span>
1056
+ <span class="cline-any cline-yes">42x</span>
1057
+ <span class="cline-any cline-yes">4x</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-yes">38x</span>
1060
+ <span class="cline-any cline-yes">38x</span>
1061
+ <span class="cline-any cline-yes">38x</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-yes">38x</span>
1064
+ <span class="cline-any cline-yes">38x</span>
1065
+ <span class="cline-any cline-yes">4x</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-yes">34x</span>
1069
+ <span class="cline-any cline-yes">9x</span>
1070
+ <span class="cline-any cline-yes">2x</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-yes">7x</span>
1074
+ <span class="cline-any cline-yes">7x</span>
1075
+ <span class="cline-any cline-yes">6x</span>
1076
+ <span class="cline-any cline-neutral">&nbsp;</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-yes">7x</span>
1079
+ <span class="cline-any cline-yes">7x</span>
1080
+ <span class="cline-any cline-yes">7x</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-yes">25x</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-neutral">&nbsp;</span>
1087
+ <span class="cline-any cline-yes">92x</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-neutral">&nbsp;</span>
1095
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-neutral">&nbsp;</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-yes">31x</span>
1101
+ <span class="cline-any cline-yes">3x</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-yes">28x</span>
1104
+ <span class="cline-any cline-yes">28x</span>
1105
+ <span class="cline-any cline-yes">28x</span>
1106
+ <span class="cline-any cline-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-yes">28x</span>
1108
+ <span class="cline-any cline-yes">19x</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-yes">9x</span>
1112
+ <span class="cline-any cline-yes">6x</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-yes">6x</span>
1116
+ <span class="cline-any cline-yes">3x</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-yes">3x</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-neutral">&nbsp;</span>
1121
+ <span class="cline-any cline-yes">6x</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-yes">6x</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-yes">6x</span>
1126
+ <span class="cline-any cline-yes">4x</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&nbsp;</span>
1129
+ <span class="cline-any cline-yes">5x</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-yes">92x</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Config, FormatterParserProvider, I18n, Mask, Utils, dayjs } from '@zeedhi/core';
1135
+ import isUndefined from 'lodash.isundefined';
1136
+ import { InputFactory } from '../zd-input/input-factory';
1137
+ import { TextInput } from '../zd-text-input/text-input';
1138
+ import { ITime } from './interfaces';
1139
+ import { TimeFormatSelector } from './time-format-selector';
1140
+ &nbsp;
1141
+ /**
1142
+ * Base class for Time Picker component.
1143
+ */
1144
+ export class Time extends TextInput implements ITime {
1145
+ /**
1146
+ * Restricts which hours can be selected.
1147
+ */
1148
+ public allowedHours?: any[];
1149
+ &nbsp;
1150
+ /**
1151
+ * Restricts which minutes can be selected.
1152
+ */
1153
+ public allowedMinutes?: any[];
1154
+ &nbsp;
1155
+ /**
1156
+ * Restricts which seconds can be selected.
1157
+ */
1158
+ public allowedSeconds?: any[];
1159
+ &nbsp;
1160
+ /**
1161
+ * Input auto complete.
1162
+ */
1163
+ public autofill = false;
1164
+ &nbsp;
1165
+ /**
1166
+ * Defines the format of a time displayed in picker. Available options are ampm and 24hr.
1167
+ */
1168
+ public timeFormat: string = Config.timeFormat || 'ampm'; // change props to pickerFormat
1169
+ &nbsp;
1170
+ /**
1171
+ * Forces 100% width.
1172
+ */
1173
+ public fullWidth = false;
1174
+ &nbsp;
1175
+ /**
1176
+ * Maximum allowed time.
1177
+ */
1178
+ public maxTime = '';
1179
+ &nbsp;
1180
+ /**
1181
+ * Minimum allowed time.
1182
+ */
1183
+ public minTime = '';
1184
+ &nbsp;
1185
+ /**
1186
+ * Allows changing hour/minute with mouse scroll.
1187
+ */
1188
+ public scrollable = false;
1189
+ &nbsp;
1190
+ /**
1191
+ * Shows the time picker.
1192
+ */
1193
+ public showTimePicker = false;
1194
+ &nbsp;
1195
+ /**
1196
+ * Toggles the use of seconds in picker.
1197
+ */
1198
+ public useSeconds = false;
1199
+ &nbsp;
1200
+ /**
1201
+ * Width of the picker.
1202
+ */
1203
+ public width: number | string = 290;
1204
+ &nbsp;
1205
+ protected formatterFn = FormatterParserProvider.getFormatter('ZdTime');
1206
+ &nbsp;
1207
+ protected parserFn = FormatterParserProvider.getParser('ZdTime');
1208
+ &nbsp;
1209
+ private isoFormatValue = 'HH:mm';
1210
+ &nbsp;
1211
+ private valueFormatInternal: string = Config.valueTimeFormat;
1212
+ &nbsp;
1213
+ private displayFormatInternal: string = Config.displayTimeFormat;
1214
+ &nbsp;
1215
+ /**
1216
+ * Defines the time input format.
1217
+ */
1218
+ public inputFormat?: string = Config.timeInputFormat;
1219
+ &nbsp;
1220
+ /**
1221
+ * True when displayValue is valid
1222
+ */
1223
+ protected isDisplayValid = true;
1224
+ &nbsp;
1225
+ protected initialMask?: string;
1226
+ &nbsp;
1227
+ protected isSimpleDisplay!: boolean;
1228
+ &nbsp;
1229
+ protected timeError = false;
1230
+ &nbsp;
1231
+ public inputMode?: string | undefined = 'none';
1232
+ &nbsp;
1233
+ /**
1234
+ * Create a new Time Picker.
1235
+ * @param props Time properties
1236
+ */
1237
+ constructor(props: ITime) {
1238
+ super(props);
1239
+ this.allowedHours = this.getInitValue('allowedHours', props.allowedHours, this.allowedHours);
1240
+ this.allowedMinutes = this.getInitValue('allowedMinutes', props.allowedMinutes, this.allowedMinutes);
1241
+ this.allowedSeconds = this.getInitValue('allowedSeconds', props.allowedSeconds, this.allowedSeconds);
1242
+ this.timeFormat = this.getInitValue('timeFormat', props.timeFormat, this.timeFormat);
1243
+ this.fullWidth = this.getInitValue('fullWidth', props.fullWidth, this.fullWidth);
1244
+ this.maxTime = this.getInitValue('maxTime', props.maxTime, this.maxTime);
1245
+ this.minTime = this.getInitValue('minTime', props.minTime, this.minTime);
1246
+ this.scrollable = this.getInitValue('scrollable', props.scrollable, this.scrollable);
1247
+ this.showTimePicker = this.getInitValue('showTimePicker', props.showTimePicker, this.showTimePicker);
1248
+ this.useSeconds = this.getInitValue('useSeconds', props.useSeconds, this.useSeconds);
1249
+ this.width = this.getInitValue('width', props.width, this.width);
1250
+ this.autofill = this.getInitValue('autofill', props.autofill, this.autofill);
1251
+ this.timeValidation = this.timeValidation.bind(this);
1252
+ &nbsp;
1253
+ this.valueFormat = this.getInitValue('valueFormat', props.valueFormat, this.valueFormatInternal);
1254
+ this.displayFormat = this.getInitValue('displayFormat', props.displayFormat, this.displayFormatInternal);
1255
+ this.inputFormat = this.getInitValue('inputFormat', props.inputFormat, this.inputFormat);
1256
+ &nbsp;
1257
+ this.timeAllowedValidation = this.timeAllowedValidation.bind(this);
1258
+ this.rules.push(this.timeValidation, this.timeAllowedValidation);
1259
+ this.mask = this.getInitValue('mask', props.mask, undefined);
1260
+ &nbsp;
1261
+ this.initialMask = this.getInitialMask();
1262
+ this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1263
+ }
1264
+ &nbsp;
1265
+ private getFormat(format: string, timeFormat: string) {
1266
+ const timeFormatSelector = new TimeFormatSelector();
1267
+ const selectedFormat = timeFormatSelector.getFormat(format, timeFormat, this.useSeconds);
1268
+ &nbsp;
1269
+ return selectedFormat;
1270
+ }
1271
+ &nbsp;
1272
+ public get displayFormat() {
1273
+ this.displayFormatInternal = this.getFormat(this.displayFormatInternal, this.timeFormat);
1274
+ return this.displayFormatInternal;
1275
+ }
1276
+ &nbsp;
1277
+ public set displayFormat(value: string) {
1278
+ this.displayFormatInternal = value;
1279
+ }
1280
+ &nbsp;
1281
+ public get valueFormat() {
1282
+ this.valueFormatInternal = this.getFormat(this.valueFormatInternal, '24hr');
1283
+ return this.valueFormatInternal;
1284
+ }
1285
+ &nbsp;
1286
+ public set valueFormat(value: string) {
1287
+ this.valueFormatInternal = value;
1288
+ }
1289
+ &nbsp;
1290
+ private get isoFormat() {
1291
+ this.isoFormatValue = this.useSeconds ? 'HH:mm:ss' : 'HH:mm';
1292
+ return this.isoFormatValue;
1293
+ }
1294
+ &nbsp;
1295
+ private getInitialMask() {
1296
+ if (isUndefined(this.mask)) {
1297
+ this.mask = this.inputFormat &amp;&amp; this.maskFormat(this.inputFormat);
1298
+ }
1299
+ &nbsp;
1300
+ return this.mask;
1301
+ }
1302
+ &nbsp;
1303
+ public formatter(value: string): string {
1304
+ return this.formatterFn(value, this);
1305
+ }
1306
+ &nbsp;
1307
+ public parser(value: string): any {
1308
+ return this.parserFn(value, this);
1309
+ }
1310
+ &nbsp;
1311
+ /**
1312
+ * Triggered when date is clicked.
1313
+ * @param event
1314
+ * @param element
1315
+ */
1316
+ public selectTime(time: string, event?: Event, element?: any) {
1317
+ if (this.events.onSelectTime &amp;&amp; typeof this.events.onSelectTime === 'function') {
1318
+ this.events.onSelectTime({
1319
+ time,
1320
+ event,
1321
+ element,
1322
+ component: this,
1323
+ });
1324
+ }
1325
+ }
1326
+ &nbsp;
1327
+ get displayValue() {
1328
+ return this.internalDisplayValue;
1329
+ }
1330
+ &nbsp;
1331
+ set displayValue(newValue: string) {
1332
+ this.timeError = false;
1333
+ this.internalDisplayValue = newValue;
1334
+ this.internalValue = this.parser(newValue);
1335
+ this.value = this.internalValue; // forces value accessor to be called if necessary
1336
+ }
1337
+ &nbsp;
1338
+ /**
1339
+ * Assign the updated mask to mask property
1340
+ */
1341
+ public updateMask() {
1342
+ this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1343
+ this.mask = this.getUpdatedMask();
1344
+ return this.mask;
1345
+ }
1346
+ &nbsp;
1347
+ /**
1348
+ * Gets the updated masked, based on displayFormat if the initial mask is undefined
1349
+ */
1350
+ protected getUpdatedMask(): string {
1351
+ if (isUndefined(this.initialMask)) {
1352
+ return this.maskFormat(this.displayFormat);
1353
+ }
1354
+ &nbsp;
1355
+ return this.mask;
1356
+ }
1357
+ &nbsp;
1358
+ protected maskFormat(format: string) {
1359
+ return format.replace(/[A-Za-z]/gi, '#');
1360
+ }
1361
+ &nbsp;
1362
+ public setTimeValue(displayValue: string) {
1363
+ const lastValue = this.displayValue;
1364
+ if (this.isValidTime(displayValue, this.displayFormat)) {
1365
+ this.internalDisplayValue = displayValue;
1366
+ this.internalValue = this.parser(displayValue);
1367
+ this.timeError = false;
1368
+ if (lastValue !== this.displayValue) this.change(this.value);
1369
+ } else {
1370
+ if (!displayValue) {
1371
+ this.internalDisplayValue = displayValue;
1372
+ this.internalValue = null;
1373
+ if (lastValue !== this.displayValue) this.change(this.value);
1374
+ }
1375
+ this.timeError = !!displayValue;
1376
+ }
1377
+ this.value = this.internalValue; // forces value accessor to be called if necessary
1378
+ }
1379
+ &nbsp;
1380
+ public isValidTime(value: string, format: string | undefined, strict = true): boolean {
1381
+ return dayjs(value, format, strict).isValid();
1382
+ }
1383
+ &nbsp;
1384
+ get isoValue() {
1385
+ return this.formatISOTimeValue(this.value);
1386
+ }
1387
+ &nbsp;
1388
+ set isoValue(newValue: string) {
1389
+ const lastValue = this.value;
1390
+ this.timeError = false;
1391
+ this.value = this.parseISOTimeValue(newValue);
1392
+ if (lastValue !== this.value) this.change(this.value);
1393
+ }
1394
+ &nbsp;
1395
+ public formatISOTimeValue(value: string): string {
1396
+ if (value &amp;&amp; this.isValidTime(value, this.valueFormat)) {
1397
+ return dayjs(value, this.valueFormat).format(this.isoFormat);
1398
+ }
1399
+ return '';
1400
+ }
1401
+ &nbsp;
1402
+ public parseISOTimeValue(value: string): any {
1403
+ if (value &amp;&amp; this.isValidTime(value, this.valueFormat)) {
1404
+ return dayjs(value, this.isoFormat).format(this.valueFormat);
1405
+ }
1406
+ return null;
1407
+ }
1408
+ &nbsp;
1409
+ /**
1410
+ * Checks if a time format is simple.
1411
+ * Simple time formats are the ones that consists only of 'HH', 'mm', 'mm' or 'YYYY', and mask delimiters
1412
+ * @param format The format to be checked
1413
+ * @returns true if it is simple, false otherwise
1414
+ */
1415
+ protected isSimpleFormat(format: string): boolean {
1416
+ const simpleTokens = ['HH', 'mm', 'ss', 'hh', 'A', 'a', 'p', 'P'];
1417
+ // remove the simple tokens from the string
1418
+ const replaced = simpleTokens.reduce((result, token) =&gt; result.replace(token, ''), format);
1419
+ const chars = replaced.split('');
1420
+ return chars.length ? chars.every((char) =&gt; Mask.isMaskDelimiter(char)) : true;
1421
+ }
1422
+ &nbsp;
1423
+ public timeValidation(): boolean | string {
1424
+ if (this.isValidTime(this.displayValue, this.displayFormat) || !this.displayValue) {
1425
+ return true;
1426
+ }
1427
+ return I18n.translate('VALIDATION_INVALID_TIME');
1428
+ }
1429
+ &nbsp;
1430
+ public timeAllowedValidation(): boolean | string {
1431
+ return (
1432
+ !this.displayValue ||
1433
+ (this.isValidTime(this.displayValue, this.displayFormat) &amp;&amp; this.isTimeAllowed()) ||
1434
+ I18n.translate('VALIDATION_TIME_NOT_ALLOWED')
1435
+ );
1436
+ }
1437
+ &nbsp;
1438
+ public click(event?: Event, element?: any) {
1439
+ const clickEvent = event || new MouseEvent('click');
1440
+ super.click(clickEvent, element);
1441
+ if (!clickEvent.defaultPrevented) {
1442
+ this.showTimePicker = !this.showTimePicker;
1443
+ }
1444
+ }
1445
+ &nbsp;
1446
+ public blur(event: Event, element: any) {
1447
+ this.removeTimeMask();
1448
+ this.setTimeValue(this.formatter(this.value));
1449
+ super.blur(event, element);
1450
+ &nbsp;
1451
+ if (!Utils.isMobile()) {
1452
+ this.showTimePicker = false;
1453
+ }
1454
+ }
1455
+ &nbsp;
1456
+ public focus(event: Event, element: any) {
1457
+ this.addTimeMask();
1458
+ super.focus(event, element);
1459
+ }
1460
+ &nbsp;
1461
+ /**
1462
+ * Add date mask
1463
+ */
1464
+ protected addTimeMask() {
1465
+ if (!this.value) return;
1466
+ &nbsp;
1467
+ this.mask = this.initialMask;
1468
+ this.internalDisplayValue = dayjs(this.value, this.valueFormat).format(this.inputFormat || this.displayFormat);
1469
+ }
1470
+ &nbsp;
1471
+ /**
1472
+ * Removes the component mask if value is valid
1473
+ */
1474
+ protected removeTimeMask() {
1475
+ if (
1476
+ isUndefined(this.initialMask) ||
1477
+ !this.value ||
1478
+ this.timeError ||
1479
+ !this.isValidTime(this.value, this.valueFormat)
1480
+ ) {
1481
+ return;
1482
+ }
1483
+ &nbsp;
1484
+ this.mask = '';
1485
+ }
1486
+ &nbsp;
1487
+ /**
1488
+ * Checks if value is valid according to valueFormat and if displayValue
1489
+ * is true
1490
+ */
1491
+ public isFullyValid(value: string = this.value) {
1492
+ return this.isValidTime(value, this.valueFormat, true) &amp;&amp; this.isDisplayValid;
1493
+ }
1494
+ &nbsp;
1495
+ /**
1496
+ * Last invalid value passed to formatter
1497
+ */
1498
+ // private lastInvalid: string = '';
1499
+ &nbsp;
1500
+ public isTimeAllowed(value: string = this.value) {
1501
+ return (
1502
+ this.isSameOrAfterMin(value) &amp;&amp;
1503
+ this.isSameOrBeforeMax(value) &amp;&amp;
1504
+ this.isHourAllowed(value) &amp;&amp;
1505
+ this.isMinuteAllowed(value) &amp;&amp;
1506
+ this.isSecondAllowed(value)
1507
+ );
1508
+ }
1509
+ &nbsp;
1510
+ public isSameOrAfterMin(value: string) {
1511
+ if (!this.minTime) return true;
1512
+ &nbsp;
1513
+ const min = dayjs(this.minTime, this.valueFormat);
1514
+ return dayjs(value, this.valueFormat).isSame(min) || dayjs(value, this.valueFormat).isAfter(min);
1515
+ }
1516
+ &nbsp;
1517
+ public isSameOrBeforeMax(value: string) {
1518
+ if (!this.maxTime) return true;
1519
+ &nbsp;
1520
+ const max = dayjs(this.maxTime, this.valueFormat);
1521
+ return dayjs(value, this.valueFormat).isSame(max) || dayjs(value, this.valueFormat).isBefore(max);
1522
+ }
1523
+ &nbsp;
1524
+ public isHourAllowed(value: string) {
1525
+ if (!this.allowedHours) return true;
1526
+ &nbsp;
1527
+ const hour = dayjs(value, this.valueFormat).hour();
1528
+ &nbsp;
1529
+ return this.allowedHours.includes(hour);
1530
+ }
1531
+ &nbsp;
1532
+ public isMinuteAllowed(value: string) {
1533
+ if (!this.allowedMinutes) return true;
1534
+ &nbsp;
1535
+ const minute = dayjs(value, this.valueFormat).minute();
1536
+ &nbsp;
1537
+ return this.allowedMinutes.includes(minute);
1538
+ }
1539
+ &nbsp;
1540
+ public isSecondAllowed(value: string) {
1541
+ if (!this.allowedSeconds) return true;
1542
+ &nbsp;
1543
+ const second = dayjs(value, this.valueFormat).second();
1544
+ &nbsp;
1545
+ return this.allowedSeconds.includes(second);
1546
+ }
1547
+ &nbsp;
1548
+ public clear() {
1549
+ this.value = null;
1550
+ this.change(this.value);
1551
+ if (typeof this.events?.onClear === 'function') {
1552
+ this.events.onClear({
1553
+ component: this,
1554
+ value: this.value,
1555
+ });
1556
+ }
1557
+ }
1558
+ /**
1559
+ * Converts a date format to a mask
1560
+ */
1561
+ private toMask(format: string) {
1562
+ return format.replace(/[A-Za-z]/gi, '#'); // .split('').map((char: string) =&gt; (char === '#' ? /\d/ : char));
1563
+ }
1564
+ &nbsp;
1565
+ public getMask() {
1566
+ if (this.mask &amp;&amp; !this.mask.includes('{{') &amp;&amp; !this.mask.includes('}}')) {
1567
+ if (this.isFocused) {
1568
+ return this.toMask(this.displayFormat || '');
1569
+ }
1570
+ }
1571
+ return '';
1572
+ }
1573
+ }
1574
+ &nbsp;
1575
+ FormatterParserProvider.registerFormatter(
1576
+ 'ZdTime',
1577
+ (
1578
+ value: string,
1579
+ {
1580
+ valueFormat = Config.valueTimeFormat,
1581
+ displayFormat = Config.displayTimeFormat,
1582
+ inputFormat = Config.timeInputFormat,
1583
+ timeFormat = Config.timeFormat || 'ampm',
1584
+ useSeconds = false,
1585
+ mask = '',
1586
+ initialMask,
1587
+ isSimpleDisplay = false,
1588
+ }: any = {},
1589
+ ) =&gt; {
1590
+ if (!value) {
1591
+ return '';
1592
+ }
1593
+ const timeFormatSelector = new TimeFormatSelector();
1594
+ const timeDisplayFormat = timeFormatSelector.getFormat(displayFormat, timeFormat, useSeconds);
1595
+ const timeValueFormat = timeFormatSelector.getFormat(valueFormat, '24hr', useSeconds);
1596
+ &nbsp;
1597
+ const isTimeValid = dayjs(value, timeValueFormat, true).isValid();
1598
+ if (!isTimeValid) {
1599
+ return value;
1600
+ }
1601
+ &nbsp;
1602
+ if (mask &amp;&amp; initialMask) {
1603
+ if (inputFormat) {
1604
+ return dayjs(value, timeValueFormat).format(inputFormat);
1605
+ }
1606
+ &nbsp;
1607
+ let valueToUnmask = value;
1608
+ if (isSimpleDisplay) {
1609
+ valueToUnmask = dayjs(value, timeValueFormat).format(timeDisplayFormat);
1610
+ }
1611
+ &nbsp;
1612
+ const unmasked = Mask.getValueWithoutMask(valueToUnmask);
1613
+ const masked = Mask.getValueWithMask(unmasked, mask);
1614
+ return masked;
1615
+ }
1616
+ &nbsp;
1617
+ return dayjs(value, timeValueFormat).format(timeDisplayFormat);
1618
+ },
1619
+ );
1620
+ &nbsp;
1621
+ FormatterParserProvider.registerParser(
1622
+ 'ZdTime',
1623
+ (
1624
+ value: string,
1625
+ {
1626
+ displayFormat = Config.displayTimeFormat,
1627
+ valueFormat = Config.valueTimeFormat,
1628
+ timeFormat = Config.timeFormat || 'ampm',
1629
+ useSeconds = false,
1630
+ mask = '',
1631
+ initialMask,
1632
+ }: any = {},
1633
+ ) =&gt; {
1634
+ if (!value) {
1635
+ return null;
1636
+ }
1637
+ const timeFormatSelector = new TimeFormatSelector();
1638
+ const timeDisplayFormat = timeFormatSelector.getFormat(displayFormat, timeFormat, useSeconds);
1639
+ const timeValueFormat = timeFormatSelector.getFormat(valueFormat, '24hr', useSeconds);
1640
+ &nbsp;
1641
+ if (dayjs(value, timeDisplayFormat, true).isValid()) {
1642
+ return dayjs(value, timeDisplayFormat).format(timeValueFormat);
1643
+ }
1644
+ &nbsp;
1645
+ if (mask &amp;&amp; Mask.checkMask(value, mask)) {
1646
+ const unmasked = Mask.getValueWithoutMask(value);
1647
+ let masked;
1648
+ &nbsp;
1649
+ if (!initialMask) {
1650
+ const displayFmtMask = timeDisplayFormat.replace(/[A-Za-z]/gi, '#');
1651
+ &nbsp;
1652
+ masked = Mask.getValueWithMask(unmasked, displayFmtMask);
1653
+ }
1654
+ &nbsp;
1655
+ const timeFmtMask = timeValueFormat.replace(/[A-Za-z]/gi, '#');
1656
+ &nbsp;
1657
+ masked = Mask.getValueWithMask(unmasked, timeFmtMask);
1658
+ &nbsp;
1659
+ if (dayjs(masked, timeValueFormat, true).format(timeValueFormat) === masked) {
1660
+ return masked;
1661
+ }
1662
+ }
1663
+ return value;
1664
+ },
1665
+ );
1666
+ &nbsp;
1667
+ InputFactory.register('ZdTime', Time);
1668
+ &nbsp;</pre></td></tr></table></pre>
1669
+
1670
+ <div class='push'></div><!-- for sticky footer -->
1671
+ </div><!-- /wrapper -->
1672
+ <div class='footer quiet pad2 space-top1 center small'>
1673
+ Code coverage generated by
1674
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1675
+ at 2025-12-29T16:02:58.168Z
1676
+ </div>
1677
+ <script src="../../../prettify.js"></script>
1678
+ <script>
1679
+ window.onload = function () {
1680
+ prettyPrint();
1681
+ };
1682
+ </script>
1683
+ <script src="../../../sorter.js"></script>
1684
+ <script src="../../../block-navigation.js"></script>
1685
+ </body>
1686
+ </html>
1687
+