@datarailsshared/datarailsshared 1.4.569 → 1.5.1

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 (493) hide show
  1. package/assets/styles/_storybook-styles.scss +37 -0
  2. package/assets/styles/_styles.scss +9 -2
  3. package/assets/styles/colors.scss +88 -74
  4. package/assets/styles/dataRailsFont.scss +1 -1
  5. package/assets/styles/dialog.scss +22 -0
  6. package/assets/styles/icons.scss +1 -1
  7. package/assets/styles/mixins.scss +106 -6
  8. package/assets/styles/vars.scss +6 -4
  9. package/datarailsshared-datarailsshared-1.5.1.tgz +0 -0
  10. package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
  11. package/esm2022/lib/date-tags/any-tag.component.mjs +42 -0
  12. package/esm2022/lib/date-tags/date-tag.component.mjs +126 -0
  13. package/esm2022/lib/date-tags/date-tag.module.mjs +53 -0
  14. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +95 -0
  15. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +222 -0
  16. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +87 -0
  17. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +98 -0
  18. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +126 -0
  19. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +102 -0
  20. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +96 -0
  21. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +92 -0
  22. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +19 -0
  23. package/esm2022/lib/directives/dr-shine-animation/dr-shine-animation.directive.mjs +63 -0
  24. package/esm2022/lib/directives/let/let.directive.mjs +35 -0
  25. package/esm2022/lib/directives/ng-track-by-property/ng-track-by-property.directive.mjs +23 -0
  26. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +61 -0
  27. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +154 -0
  28. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +143 -0
  29. package/esm2022/lib/dr-accordion/accordion.component.mjs +55 -0
  30. package/esm2022/lib/dr-accordion/accordion.module.mjs +35 -0
  31. package/esm2022/lib/dr-alert/dr-alert.component.mjs +64 -0
  32. package/esm2022/lib/dr-alert/dr-alert.module.mjs +20 -0
  33. package/{esm2015/lib/dr-alert/enums/dr-alert-theme.enum.js → esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs} +1 -2
  34. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +142 -0
  35. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +21 -0
  36. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
  37. package/esm2022/lib/dr-avatar/services/dr-avatar.service.mjs +17 -0
  38. package/esm2022/lib/dr-avatar/types.mjs +2 -0
  39. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +53 -0
  40. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +21 -0
  41. package/esm2022/lib/dr-chat/chat.component.mjs +202 -0
  42. package/esm2022/lib/dr-chat/chat.module.mjs +81 -0
  43. package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +31 -0
  44. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +273 -0
  45. package/esm2022/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.mjs +380 -0
  46. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +185 -0
  47. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +47 -0
  48. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +26 -0
  49. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +78 -0
  50. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +30 -0
  51. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +187 -0
  52. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +14 -0
  53. package/esm2022/lib/dr-chip/dr-chip.component.mjs +58 -0
  54. package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +19 -0
  55. package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +204 -0
  56. package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +326 -0
  57. package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +29 -0
  58. package/esm2022/lib/dr-code-editor/models/code-editor-hint.mjs +6 -0
  59. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +106 -0
  60. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +20 -0
  61. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +339 -0
  62. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +238 -0
  63. package/esm2022/lib/dr-dialog/dialog.module.mjs +27 -0
  64. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +27 -0
  65. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +77 -0
  66. package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
  67. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
  68. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +248 -0
  69. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +142 -0
  70. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +41 -0
  71. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +62 -0
  72. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +203 -0
  73. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +21 -0
  74. package/esm2022/lib/dr-error/dr-error.component.mjs +90 -0
  75. package/esm2022/lib/dr-error/dr-error.module.mjs +22 -0
  76. package/esm2022/lib/dr-inputs/button/button.component.mjs +101 -0
  77. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +110 -0
  78. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +55 -0
  79. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +400 -0
  80. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +157 -0
  81. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +269 -0
  82. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +326 -0
  83. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
  84. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +224 -0
  85. package/esm2022/lib/dr-inputs/date-pickers/services/week-selection-strategy.mjs +34 -0
  86. package/esm2022/lib/dr-inputs/date-pickers/week-selector/week-selector.component.mjs +91 -0
  87. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +336 -0
  88. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +128 -0
  89. package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +43 -0
  90. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +37 -0
  91. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +391 -0
  92. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +138 -0
  93. package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +53 -0
  94. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +108 -0
  95. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +108 -0
  96. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +88 -0
  97. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +185 -0
  98. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +19 -0
  99. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +25 -0
  100. package/esm2022/lib/dr-layout/dr-layout.component.mjs +21 -0
  101. package/esm2022/lib/dr-layout/dr-layout.module.mjs +22 -0
  102. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
  103. package/esm2022/lib/dr-popover/dr-popover.component.mjs +155 -0
  104. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +137 -0
  105. package/esm2022/lib/dr-popover/dr-popover.module.mjs +20 -0
  106. package/esm2022/lib/dr-popover/dr-popover.service.mjs +117 -0
  107. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +104 -0
  108. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +100 -0
  109. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +87 -0
  110. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +27 -0
  111. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +195 -0
  112. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +27 -0
  113. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
  114. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +22 -0
  115. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +47 -0
  116. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +252 -0
  117. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +25 -0
  118. package/esm2022/lib/dr-tags/dr-tag.component.mjs +235 -0
  119. package/esm2022/lib/dr-tags/dr-tag.module.mjs +23 -0
  120. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +161 -0
  121. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +24 -0
  122. package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +71 -0
  123. package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +73 -0
  124. package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +31 -0
  125. package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +44 -0
  126. package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +31 -0
  127. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +82 -0
  128. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +86 -0
  129. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +194 -0
  130. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +24 -0
  131. package/esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs +14 -0
  132. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +407 -0
  133. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +97 -0
  134. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +31 -0
  135. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +108 -0
  136. package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +82 -0
  137. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +25 -0
  138. package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +1 -1
  139. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
  140. package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +1 -1
  141. package/esm2022/lib/dr-treeview/models/treeview-item.mjs +155 -0
  142. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
  143. package/esm2022/lib/drawer/drawer-animation.mjs +18 -0
  144. package/esm2022/lib/drawer/drawer-config.mjs +35 -0
  145. package/esm2022/lib/drawer/drawer-container.component.mjs +179 -0
  146. package/esm2022/lib/drawer/drawer-position-strategy.mjs +14 -0
  147. package/esm2022/lib/drawer/drawer-ref.mjs +106 -0
  148. package/esm2022/lib/drawer/drawer.module.mjs +19 -0
  149. package/esm2022/lib/drawer/drawer.service.mjs +140 -0
  150. package/esm2022/lib/drawer/public-api.mjs +6 -0
  151. package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +78 -0
  152. package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +133 -0
  153. package/esm2022/lib/image-cropper/dr-image-cropper.types.mjs +6 -0
  154. package/esm2022/lib/list-tags/list-tag.component.mjs +82 -0
  155. package/esm2022/lib/list-tags/list-tag.module.mjs +22 -0
  156. package/esm2022/lib/models/chat.mjs +36 -0
  157. package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +17 -22
  158. package/{esm2015/lib/models/datePicker.js → esm2022/lib/models/datePicker.mjs} +2 -2
  159. package/esm2022/lib/models/datePickerRange.mjs +2 -0
  160. package/esm2022/lib/models/dropdown.mjs +2 -0
  161. package/{esm2015/lib/models/feedback.js → esm2022/lib/models/feedback.mjs} +1 -2
  162. package/esm2022/lib/models/popover.mjs +27 -0
  163. package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +1 -1
  164. package/esm2022/lib/models/spinnerOptions.mjs +2 -0
  165. package/esm2022/lib/models/toastr.mjs +14 -0
  166. package/esm2022/lib/pipes/filter/filter.pipe.mjs +48 -0
  167. package/esm2022/lib/pipes/img/img.pipe.mjs +19 -0
  168. package/esm2022/lib/stepper/stepper.component.mjs +270 -0
  169. package/esm2022/lib/stepper/stepper.module.mjs +20 -0
  170. package/esm2022/lib/utils/data-analytics.service.mjs +21 -0
  171. package/esm2022/lib/utils/decorators.mjs +12 -0
  172. package/esm2022/lib/utils/dr-shared-utils.mjs +85 -0
  173. package/esm2022/public-api.mjs +156 -0
  174. package/esm2022/src/lib/drawer/drDrawer.mjs +5 -0
  175. package/esm2022/src/lib/drawer/drawer-animation.mjs +18 -0
  176. package/esm2022/src/lib/drawer/drawer-config.mjs +35 -0
  177. package/esm2022/src/lib/drawer/drawer-container.component.mjs +179 -0
  178. package/esm2022/src/lib/drawer/drawer-position-strategy.mjs +14 -0
  179. package/esm2022/src/lib/drawer/drawer-ref.mjs +106 -0
  180. package/esm2022/src/lib/drawer/drawer.module.mjs +19 -0
  181. package/esm2022/src/lib/drawer/drawer.service.mjs +140 -0
  182. package/esm2022/src/lib/drawer/public-api.mjs +6 -0
  183. package/fesm2022/datarailsshared-datarailsshared.mjs +13716 -0
  184. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
  185. package/fesm2022/drDrawer.mjs +496 -0
  186. package/fesm2022/drDrawer.mjs.map +1 -0
  187. package/index.d.ts +5 -0
  188. package/lib/date-tags/any-tag.component.d.ts +20 -0
  189. package/lib/date-tags/date-tag.component.d.ts +4 -16
  190. package/lib/date-tags/date-tag.module.d.ts +19 -2
  191. package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
  192. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +4 -1
  193. package/lib/date-tags/forecast-tag/forecast-tag.service.d.ts +11 -8
  194. package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
  195. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
  196. package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
  197. package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
  198. package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
  199. package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
  200. package/lib/directives/dr-shine-animation/dr-shine-animation.directive.d.ts +18 -0
  201. package/lib/directives/let/let.directive.d.ts +19 -0
  202. package/lib/directives/ng-track-by-property/ng-track-by-property.directive.d.ts +8 -0
  203. package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
  204. package/lib/dr-accordion/accordion-item-header.component.d.ts +14 -1
  205. package/lib/dr-accordion/accordion-item.component.d.ts +4 -1
  206. package/lib/dr-accordion/accordion.component.d.ts +5 -0
  207. package/lib/dr-accordion/accordion.module.d.ts +9 -0
  208. package/lib/dr-alert/dr-alert.component.d.ts +3 -0
  209. package/lib/dr-alert/dr-alert.module.d.ts +6 -0
  210. package/lib/dr-avatar/dr-avatar.component.d.ts +15 -13
  211. package/lib/dr-avatar/dr-avatar.module.d.ts +8 -0
  212. package/lib/dr-avatar/dr-avatar.pipe.d.ts +5 -1
  213. package/lib/dr-avatar/services/dr-avatar.service.d.ts +1 -1
  214. package/lib/dr-avatar/types.d.ts +8 -0
  215. package/lib/dr-badge-status/dr-badge-status.component.d.ts +5 -4
  216. package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
  217. package/lib/dr-chat/chat.component.d.ts +6 -7
  218. package/lib/dr-chat/chat.module.d.ts +20 -0
  219. package/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.d.ts +8 -0
  220. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +11 -1
  221. package/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.d.ts +81 -0
  222. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +4 -0
  223. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
  224. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
  225. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
  226. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
  227. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +15 -2
  228. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
  229. package/lib/dr-chip/dr-chip.component.d.ts +10 -0
  230. package/lib/dr-code-editor/components/code-editor-hint-wrapper.component.d.ts +7 -0
  231. package/lib/dr-code-editor/components/dr-codemirror.component.d.ts +47 -0
  232. package/lib/dr-code-editor/dr-code-editor.component.d.ts +45 -0
  233. package/lib/dr-code-editor/dr-code-editor.module.d.ts +17 -0
  234. package/lib/dr-code-editor/models/code-editor-hint.d.ts +14 -0
  235. package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
  236. package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
  237. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +6 -5
  238. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +6 -5
  239. package/lib/dr-dialog/dialog.module.d.ts +12 -0
  240. package/lib/dr-dialog/interfaces/dialog-data.d.ts +13 -9
  241. package/lib/dr-dialog/services/dialog.service.d.ts +10 -3
  242. package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
  243. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
  244. package/lib/dr-dropdown/dr-dropdown.component.d.ts +28 -21
  245. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +21 -14
  246. package/lib/dr-dropdown/dr-dropdown.module.d.ts +11 -0
  247. package/lib/dr-dropdown/dr-dropdown.service.d.ts +26 -8
  248. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
  249. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
  250. package/lib/dr-error/dr-error.component.d.ts +12 -8
  251. package/lib/dr-error/dr-error.module.d.ts +8 -0
  252. package/lib/dr-inputs/button/button.component.d.ts +6 -8
  253. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +10 -2
  254. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
  255. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +29 -9
  256. package/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.d.ts +40 -0
  257. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +18 -11
  258. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +11 -10
  259. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
  260. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +22 -5
  261. package/lib/dr-inputs/date-pickers/services/week-selection-strategy.d.ts +12 -0
  262. package/lib/dr-inputs/date-pickers/week-selector/week-selector.component.d.ts +23 -0
  263. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +35 -20
  264. package/lib/dr-inputs/dr-inputs.module.d.ts +30 -0
  265. package/lib/dr-inputs/dr-link/dr-link.component.d.ts +16 -0
  266. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +4 -0
  267. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +20 -3
  268. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +4 -0
  269. package/lib/dr-inputs/dr-slider/dr-slider.component.d.ts +18 -0
  270. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
  271. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +6 -1
  272. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
  273. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
  274. package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
  275. package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
  276. package/lib/dr-layout/dr-layout.component.d.ts +3 -0
  277. package/lib/dr-layout/dr-layout.module.d.ts +8 -0
  278. package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
  279. package/lib/dr-popover/dr-popover.component.d.ts +8 -4
  280. package/lib/dr-popover/dr-popover.directive.d.ts +9 -5
  281. package/lib/dr-popover/dr-popover.module.d.ts +7 -0
  282. package/lib/dr-popover/dr-popover.service.d.ts +5 -1
  283. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -4
  284. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
  285. package/lib/dr-scenario/dr-scenario.module.d.ts +11 -0
  286. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  287. package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
  288. package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
  289. package/lib/dr-spinner/dr-spinner.directive.d.ts +4 -2
  290. package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
  291. package/lib/dr-tabs/dr-tab.component.d.ts +5 -0
  292. package/lib/dr-tabs/dr-tabs.component.d.ts +21 -4
  293. package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
  294. package/lib/dr-tags/dr-tag.component.d.ts +3 -0
  295. package/lib/dr-tags/dr-tag.module.d.ts +9 -0
  296. package/lib/dr-tags-constructor/dr-tags-constructor.component.d.ts +33 -0
  297. package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +10 -0
  298. package/lib/dr-tags-constructor/tags-constructor.service.d.ts +12 -0
  299. package/lib/dr-toastr/default-toastr/default-toastr.component.d.ts +15 -0
  300. package/lib/dr-toastr/dr-toastr.module.d.ts +9 -0
  301. package/lib/dr-toastr/dr-toastr.service.d.ts +14 -0
  302. package/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.d.ts +9 -0
  303. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -1
  304. package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
  305. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +7 -0
  306. package/lib/dr-tooltip/dr-tooltip.module.d.ts +9 -0
  307. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +18 -2
  308. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
  309. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
  310. package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
  311. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
  312. package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
  313. package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
  314. package/lib/dr-treeview/models/treeview-item.d.ts +2 -1
  315. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
  316. package/lib/drawer/drawer-animation.d.ts +5 -0
  317. package/lib/drawer/drawer-config.d.ts +68 -0
  318. package/lib/drawer/drawer-container.component.d.ts +45 -0
  319. package/lib/drawer/drawer-position-strategy.d.ts +10 -0
  320. package/lib/drawer/drawer-ref.d.ts +55 -0
  321. package/lib/drawer/drawer.module.d.ts +7 -0
  322. package/lib/drawer/drawer.service.d.ts +62 -0
  323. package/lib/drawer/public-api.d.ts +5 -0
  324. package/lib/image-cropper/dr-image-cropper-canvas.service.d.ts +20 -0
  325. package/lib/image-cropper/dr-image-cropper.component.d.ts +28 -0
  326. package/lib/image-cropper/dr-image-cropper.types.d.ts +9 -0
  327. package/lib/list-tags/list-tag.component.d.ts +3 -0
  328. package/lib/list-tags/list-tag.module.d.ts +8 -0
  329. package/lib/models/chat.d.ts +3 -3
  330. package/lib/models/datePicker.d.ts +10 -3
  331. package/lib/models/datePickerRange.d.ts +4 -0
  332. package/lib/models/dropdown.d.ts +15 -21
  333. package/lib/models/popover.d.ts +7 -4
  334. package/lib/models/serverTags.d.ts +4 -4
  335. package/lib/models/spinnerOptions.d.ts +2 -10
  336. package/lib/models/toastr.d.ts +18 -0
  337. package/lib/pipes/filter/filter.pipe.d.ts +7 -0
  338. package/lib/pipes/img/img.pipe.d.ts +7 -0
  339. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  340. package/lib/stepper/stepper.component.d.ts +13 -8
  341. package/lib/stepper/stepper.module.d.ts +7 -0
  342. package/lib/utils/data-analytics.service.d.ts +8 -0
  343. package/lib/utils/decorators.d.ts +1 -0
  344. package/lib/utils/dr-shared-utils.d.ts +9 -0
  345. package/package.json +41 -15
  346. package/public-api.d.ts +59 -6
  347. package/src/lib/drawer/drawer-animation.d.ts +5 -0
  348. package/src/lib/drawer/drawer-config.d.ts +68 -0
  349. package/src/lib/drawer/drawer-container.component.d.ts +45 -0
  350. package/src/lib/drawer/drawer-position-strategy.d.ts +10 -0
  351. package/src/lib/drawer/drawer-ref.d.ts +55 -0
  352. package/src/lib/drawer/drawer.module.d.ts +7 -0
  353. package/src/lib/drawer/drawer.service.d.ts +62 -0
  354. package/src/lib/drawer/index.d.ts +5 -0
  355. package/src/lib/drawer/public-api.d.ts +5 -0
  356. package/styles.css +749 -0
  357. package/_datarailsshared.styles.css +0 -4
  358. package/assets/styles/img/dr-icon-info.svg +0 -4
  359. package/bundles/datarailsshared-datarailsshared.umd.js +0 -8372
  360. package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
  361. package/datarailsshared-datarailsshared-1.4.569.tgz +0 -0
  362. package/datarailsshared-datarailsshared.d.ts +0 -34
  363. package/datarailsshared-datarailsshared.metadata.json +0 -1
  364. package/esm2015/datarailsshared-datarailsshared.js +0 -35
  365. package/esm2015/lib/date-tags/date-tag.component.js +0 -74
  366. package/esm2015/lib/date-tags/date-tag.module.js +0 -36
  367. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
  368. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -164
  369. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.service.js +0 -83
  370. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
  371. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -114
  372. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
  373. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
  374. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
  375. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
  376. package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
  377. package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
  378. package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
  379. package/esm2015/lib/dr-alert/dr-alert.component.js +0 -35
  380. package/esm2015/lib/dr-alert/dr-alert.module.js +0 -18
  381. package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -54
  382. package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
  383. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
  384. package/esm2015/lib/dr-avatar/services/dr-avatar.service.js +0 -17
  385. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
  386. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
  387. package/esm2015/lib/dr-chat/chat.component.js +0 -119
  388. package/esm2015/lib/dr-chat/chat.module.js +0 -41
  389. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
  390. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
  391. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
  392. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
  393. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
  394. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
  395. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
  396. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
  397. package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
  398. package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
  399. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -84
  400. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
  401. package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
  402. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
  403. package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
  404. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
  405. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
  406. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
  407. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
  408. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
  409. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
  410. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -120
  411. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
  412. package/esm2015/lib/dr-error/dr-error.component.js +0 -56
  413. package/esm2015/lib/dr-error/dr-error.module.js +0 -22
  414. package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
  415. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -66
  416. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
  417. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -234
  418. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -182
  419. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
  420. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
  421. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
  422. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
  423. package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -68
  424. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
  425. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -123
  426. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
  427. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
  428. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -67
  429. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
  430. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
  431. package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
  432. package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
  433. package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
  434. package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
  435. package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
  436. package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
  437. package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
  438. package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
  439. package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
  440. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -104
  441. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -75
  442. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -79
  443. package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
  444. package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -196
  445. package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
  446. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -58
  447. package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
  448. package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
  449. package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
  450. package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
  451. package/esm2015/lib/dr-tags/dr-tag.component.js +0 -183
  452. package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
  453. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
  454. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
  455. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
  456. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
  457. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -41
  458. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -151
  459. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -38
  460. package/esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js +0 -2
  461. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
  462. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
  463. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
  464. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
  465. package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +0 -82
  466. package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
  467. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
  468. package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
  469. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
  470. package/esm2015/lib/list-tags/list-tag.component.js +0 -37
  471. package/esm2015/lib/list-tags/list-tag.module.js +0 -23
  472. package/esm2015/lib/models/chat.js +0 -38
  473. package/esm2015/lib/models/dropdown.js +0 -2
  474. package/esm2015/lib/models/popover.js +0 -27
  475. package/esm2015/lib/models/spinnerOptions.js +0 -13
  476. package/esm2015/lib/stepper/stepper.component.js +0 -55
  477. package/esm2015/lib/stepper/stepper.module.js +0 -17
  478. package/esm2015/lib/utils/dr-shared-utils.js +0 -47
  479. package/esm2015/public-api.js +0 -101
  480. package/fesm2015/datarailsshared-datarailsshared.js +0 -7194
  481. package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
  482. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -12
  483. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -5
  484. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -6
  485. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -4
  486. /package/{esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js → esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs} +0 -0
  487. /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
  488. /package/{esm2015/lib/dr-tags/dr-tag.types.js → esm2022/lib/dr-tags/dr-tag.types.mjs} +0 -0
  489. /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
  490. /package/{esm2015/lib/dr-tooltip/enums/tooltip-theme.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-theme.enum.mjs} +0 -0
  491. /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
  492. /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
  493. /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
@@ -0,0 +1,326 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, forwardRef, Injector, Input, ViewChild, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import * as CodeMirror from 'codemirror';
4
+ import { CodeEditorHintWrapperComponent } from './components/code-editor-hint-wrapper.component';
5
+ import { DrCodemirrorComponent } from './components/dr-codemirror.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "../dr-error/dr-error.component";
10
+ import * as i4 from "./components/dr-codemirror.component";
11
+ const _c0 = ["codeEditor"];
12
+ function DrCodeEditorComponent_span_2_Template(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵelementStart(0, "span", 4);
14
+ i0.ɵɵtext(1);
15
+ i0.ɵɵelementEnd();
16
+ } if (rf & 2) {
17
+ const ctx_r1 = i0.ɵɵnextContext();
18
+ i0.ɵɵadvance(1);
19
+ i0.ɵɵtextInterpolate(ctx_r1.placeholder);
20
+ } }
21
+ const noop = () => { };
22
+ export class DrCodeEditorComponent {
23
+ constructor(cdr, cfr, injector) {
24
+ this.cdr = cdr;
25
+ this.cfr = cfr;
26
+ this.injector = injector;
27
+ this.innerValue = '';
28
+ this.onTouchedCallback = noop;
29
+ this.onChangeCallback = noop;
30
+ this.parenthesesMarkers = [];
31
+ this.parenthesisColors = [
32
+ '#2F3E48',
33
+ '#1f68cc',
34
+ '#9480CD',
35
+ '#4D9944',
36
+ '#B03E84',
37
+ '#B64900',
38
+ '#267392',
39
+ '#326AC7',
40
+ ];
41
+ this.parenthesesMap = {
42
+ '}': '{',
43
+ ']': '[',
44
+ ')': '(',
45
+ '{': '}',
46
+ '[': ']',
47
+ '(': ')',
48
+ };
49
+ this._hints = [];
50
+ this.hintRefsStack = [];
51
+ this.codeMirrorOptions = {
52
+ lineWrapping: true,
53
+ matchBrackets: true,
54
+ autoRefresh: true,
55
+ lineNumbers: false,
56
+ mode: 'javascript',
57
+ extraKeys: { 'Ctrl-Space': 'autocomplete' },
58
+ autoCloseBrackets: true,
59
+ hintOptions: {
60
+ container: window.document.body,
61
+ completeSingle: false,
62
+ },
63
+ };
64
+ this.highlightHints = false;
65
+ this.placeholder = 'Start typing your formula here. We support (+,-,*,/).\nFor Example: [Feb-22] - [Jan-22]';
66
+ }
67
+ set hints(values) {
68
+ if (values?.length) {
69
+ this._hints = values;
70
+ this.registerHints(values);
71
+ }
72
+ }
73
+ get value() {
74
+ return this.innerValue;
75
+ }
76
+ set value(v) {
77
+ if (v !== this.innerValue) {
78
+ this.innerValue = v;
79
+ this.onChangeCallback(v);
80
+ this.highlightCustomFunctionsInEditor();
81
+ this.colorizeParentheses();
82
+ if (this.highlightHints) {
83
+ this.updateHighlightHints();
84
+ }
85
+ }
86
+ }
87
+ writeValue(value) {
88
+ if (value !== this.innerValue) {
89
+ this.innerValue = value;
90
+ this.cdr.markForCheck();
91
+ }
92
+ }
93
+ registerOnChange(fn) {
94
+ this.onChangeCallback = fn;
95
+ }
96
+ registerOnTouched(fn) {
97
+ this.onTouchedCallback = fn;
98
+ }
99
+ focusChanged(bool) {
100
+ this.isFocused = bool;
101
+ }
102
+ afterCodeMirrorLoaded() {
103
+ this.doc = this.codeEditor.codeMirror.getDoc();
104
+ this.codeEditor.codeMirror.on('keyup', (cm, event) => {
105
+ if (!this._hints.length)
106
+ return;
107
+ if ((!event.ctrlKey && event.keyCode >= 65 && event.keyCode <= 90) ||
108
+ (event.keyCode >= 97 && event.keyCode <= 122) ||
109
+ (event.keyCode >= 46 && event.keyCode <= 57) ||
110
+ event.keyCode === 32) {
111
+ // @ts-ignore
112
+ CodeMirror.commands.autocomplete(this.codeEditor.codeMirror);
113
+ }
114
+ });
115
+ this.codeEditor.codeMirror.on('focus', (cm, event) => {
116
+ if (!this._hints.length)
117
+ return;
118
+ setTimeout(() => {
119
+ if (this.isFocused) {
120
+ // @ts-ignore
121
+ CodeMirror.commands.autocomplete(this.codeEditor.codeMirror);
122
+ }
123
+ }, 200);
124
+ });
125
+ setTimeout(() => {
126
+ if (this.highlightHints) {
127
+ this.updateHighlightHints();
128
+ }
129
+ });
130
+ }
131
+ isClosedParenthesis(parenthesis) {
132
+ return ['}', ')', ']'].some((value) => value === parenthesis);
133
+ }
134
+ colorizeParentheses() {
135
+ const string = this.doc.getValue();
136
+ const stack = [];
137
+ const result = [];
138
+ let line = 0;
139
+ let ch = 0;
140
+ this.parenthesesMarkers.forEach((marker) => marker.clear());
141
+ this.parenthesesMarkers = [];
142
+ for (let index = 0; index < string.length; index++) {
143
+ const char = string.charAt(index);
144
+ if (char === '\n') {
145
+ line++;
146
+ ch = 0;
147
+ continue;
148
+ }
149
+ if (this.parenthesesMap[char]) {
150
+ const peek = stack ? stack[stack.length - 1] : null;
151
+ if (!this.isClosedParenthesis(char)) {
152
+ let colorIndex = peek?.colorIndex + 1 || 0;
153
+ colorIndex = colorIndex > this.parenthesisColors.length - 1 ? 0 : colorIndex;
154
+ stack.push({ value: char, color: this.parenthesisColors[colorIndex], colorIndex });
155
+ result[index] = { value: char, color: this.parenthesisColors[colorIndex], colorIndex };
156
+ }
157
+ if (stack?.length && peek?.value === this.parenthesesMap[char]) {
158
+ result[index] = { value: char, color: peek.color, colorIndex: peek.colorIndex };
159
+ stack.pop();
160
+ }
161
+ }
162
+ if (result[index]) {
163
+ this.parenthesesMarkers.push(this.doc.markText({
164
+ line,
165
+ ch,
166
+ }, {
167
+ line,
168
+ ch: ch + 1,
169
+ }, {
170
+ css: `color: ${result[index].color}`,
171
+ }));
172
+ }
173
+ ch++;
174
+ }
175
+ }
176
+ highlightCustomFunctionsInEditor() {
177
+ const markers = this.markers || [];
178
+ const existMarkers = this.existMarkers || [];
179
+ existMarkers.forEach((m) => m.clear());
180
+ this.doc.eachLine((line) => {
181
+ markers.forEach((marker) => {
182
+ const searchStr = marker.name + '\\(';
183
+ const matches = line.text.matchAll(new RegExp(searchStr, 'g'));
184
+ for (const match of matches) {
185
+ existMarkers.push(this.doc.markText({
186
+ line: line.lineNo(),
187
+ ch: match.index,
188
+ }, {
189
+ line: line.lineNo(),
190
+ ch: match.index + marker.name.length,
191
+ }, {
192
+ className: 'marker',
193
+ title: marker.title,
194
+ }));
195
+ }
196
+ });
197
+ });
198
+ }
199
+ pasteText(text, goCharLeft) {
200
+ this.doc.replaceSelection(text);
201
+ this.doc.cm.focus();
202
+ if (goCharLeft) {
203
+ this.doc.cm.execCommand('goCharLeft');
204
+ }
205
+ }
206
+ registerHints(dictionary = []) {
207
+ const hintRegexp = /[\w$]|[ &'"#%$@]/;
208
+ CodeMirror.registerHelper('hint', 'dictionaryHint', (editor) => {
209
+ const cursor = editor.getCursor();
210
+ const currentLine = editor.getLine(cursor.line);
211
+ let start = cursor.ch;
212
+ let end = cursor.ch;
213
+ while (end < currentLine.length && hintRegexp.test(currentLine.charAt(end)))
214
+ ++end;
215
+ while (start && hintRegexp.test(currentLine.charAt(start - 1)))
216
+ --start;
217
+ const currentWord = (start !== end && currentLine.slice(start, end)) || '';
218
+ const filteredDictionary = (!currentWord
219
+ ? dictionary
220
+ : dictionary.filter((item) => item.value.toLowerCase().includes(currentWord.toLowerCase()))).sort() || [];
221
+ const hintsList = filteredDictionary.map((item) => {
222
+ const displayText = item.value;
223
+ let text = item.value;
224
+ if (currentLine[start - 1] !== '[') {
225
+ text = '[' + text;
226
+ }
227
+ if (currentLine[end] !== ']') {
228
+ text += ']';
229
+ }
230
+ return {
231
+ text,
232
+ displayText,
233
+ render: (element, data, current) => {
234
+ const startIndex = current.displayText.toLowerCase().indexOf(currentWord.toLowerCase());
235
+ const stringToReplace = current.displayText.slice(startIndex, startIndex + currentWord.length);
236
+ const hintHTML = `${item.icon} ` + current.displayText.replace(stringToReplace, `<b>${stringToReplace}</b>`);
237
+ const componentFactory = this.cfr.resolveComponentFactory(CodeEditorHintWrapperComponent);
238
+ const componentRef = componentFactory.create(this.injector);
239
+ componentRef.instance.content = hintHTML;
240
+ componentRef.instance.tooltip = item.hint;
241
+ componentRef.changeDetectorRef.detectChanges();
242
+ element.appendChild(componentRef.location.nativeElement);
243
+ this.hintRefsStack.push(componentRef);
244
+ },
245
+ };
246
+ });
247
+ return {
248
+ list: hintsList,
249
+ from: CodeMirror.Pos(cursor.line, start),
250
+ to: CodeMirror.Pos(cursor.line, end),
251
+ };
252
+ });
253
+ // @ts-ignore
254
+ CodeMirror.commands.autocomplete = (cm) => {
255
+ this.destroyHints();
256
+ // @ts-ignore
257
+ CodeMirror.showHint(cm, CodeMirror.hint.dictionaryHint);
258
+ };
259
+ }
260
+ destroyHints() {
261
+ this.hintRefsStack.forEach((ref) => ref.destroy());
262
+ this.hintRefsStack = [];
263
+ }
264
+ updateHighlightHints() {
265
+ const hints = this._hints || [];
266
+ const highlightedHints = this.highlightedHints || [];
267
+ highlightedHints.forEach((m) => m.clear());
268
+ this.doc.eachLine((line) => {
269
+ const matches = line.text.matchAll(/(?:\[).+?(?=\])/gm);
270
+ for (const match of matches) {
271
+ const hint = hints.find((h) => h.value === match[0].replace('[', ''));
272
+ if (hint) {
273
+ highlightedHints.push(this.doc.markText({
274
+ line: line.lineNo(),
275
+ ch: match.index + 1,
276
+ }, {
277
+ line: line.lineNo(),
278
+ ch: match.index + 1 + hint.value.length,
279
+ }, {
280
+ className: 'hint-variable',
281
+ title: hint.value,
282
+ }));
283
+ }
284
+ }
285
+ });
286
+ this.cdr.markForCheck();
287
+ }
288
+ /** @nocollapse */ static { this.ɵfac = function DrCodeEditorComponent_Factory(t) { return new (t || DrCodeEditorComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.Injector)); }; }
289
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrCodeEditorComponent, selectors: [["dr-code-editor"]], viewQuery: function DrCodeEditorComponent_Query(rf, ctx) { if (rf & 1) {
290
+ i0.ɵɵviewQuery(_c0, 5);
291
+ } if (rf & 2) {
292
+ let _t;
293
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.codeEditor = _t.first);
294
+ } }, inputs: { markers: "markers", highlightHints: "highlightHints", hints: "hints", control: "control", placeholder: "placeholder" }, features: [i0.ɵɵProvidersFeature([{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }])], decls: 4, vars: 8, consts: [[3, "ngModel", "options", "ngModelChange", "focusChange", "codeMirrorLoaded"], ["codeEditor", ""], ["class", "codemirror-placeholder", 4, "ngIf"], ["label", "Formula error", 3, "control"], [1, "codemirror-placeholder"]], template: function DrCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {
295
+ i0.ɵɵelementStart(0, "dr-codemirror", 0, 1);
296
+ i0.ɵɵlistener("ngModelChange", function DrCodeEditorComponent_Template_dr_codemirror_ngModelChange_0_listener($event) { return ctx.value = $event; })("focusChange", function DrCodeEditorComponent_Template_dr_codemirror_focusChange_0_listener($event) { return ctx.focusChanged($event); })("codeMirrorLoaded", function DrCodeEditorComponent_Template_dr_codemirror_codeMirrorLoaded_0_listener() { return ctx.afterCodeMirrorLoaded(); });
297
+ i0.ɵɵelementEnd();
298
+ i0.ɵɵtemplate(2, DrCodeEditorComponent_span_2_Template, 2, 1, "span", 2);
299
+ i0.ɵɵelement(3, "dr-error", 3);
300
+ } if (rf & 2) {
301
+ i0.ɵɵclassProp("mark-hints", ctx.highlightHints)("mirror-error", ctx.control.status === "INVALID" && !ctx.control.pristine);
302
+ i0.ɵɵproperty("ngModel", ctx.value)("options", ctx.codeMirrorOptions);
303
+ i0.ɵɵadvance(2);
304
+ i0.ɵɵproperty("ngIf", !ctx.isFocused && !ctx.innerValue);
305
+ i0.ɵɵadvance(1);
306
+ i0.ɵɵproperty("control", ctx.control);
307
+ } }, dependencies: [i1.NgIf, i2.NgControlStatus, i2.NgModel, i3.DrErrorComponent, i4.DrCodemirrorComponent], styles: ["dr-codemirror[_ngcontent-%COMP%] .CodeMirror{height:10rem;border:1px solid #9ea1aa;border-radius:6px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-focused{border-color:#4646ce!important}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-line{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .CodeMirror-scroll{padding:0}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker{color:#fff;background:#20a452}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker:first-child, dr-codemirror[_ngcontent-%COMP%] .CodeMirror .cm-variable:not(.marker)+.marker{padding-left:2px;margin-left:2px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker+.cm-variable:not(.marker){margin-left:2px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-matchingbracket{color:#0f0!important}[_nghost-%COMP%] {position:relative}[_nghost-%COMP%] .mirror-error .CodeMirror{border:1px solid #bf1d30}[_nghost-%COMP%] .mark-hints .hint-variable{color:#4646ce}dr-error[_ngcontent-%COMP%]{position:absolute;bottom:5px;left:7px;background:#fff;margin:0}dr-error[_ngcontent-%COMP%]:not(:last-child){display:none}.codemirror-placeholder[_ngcontent-%COMP%]{color:#6d6e6f;position:absolute;top:10px;left:10px;font-size:12px;pointer-events:none;white-space:pre} .CodeMirror-hints{background:#fff;border:1px solid #e5e6ea;box-shadow:0 4px 8px 1px #00000040;border-radius:6px;z-index:100;padding:8px 0} .CodeMirror-hints .CodeMirror-hint{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;padding:0 12px;display:flex;align-items:center;height:32px;background:#fff;color:#333} .CodeMirror-hints .CodeMirror-hint, .CodeMirror-hints .CodeMirror-hint-active{background:#fff;color:#333} .CodeMirror-hints:not(:hover) .CodeMirror-hint-active, .CodeMirror-hints .CodeMirror-hint:hover{background:#eaeaff;cursor:pointer}"], changeDetection: 0 }); }
308
+ }
309
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodeEditorComponent, [{
310
+ type: Component,
311
+ args: [{ selector: 'dr-code-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }], template: "<dr-codemirror\n #codeEditor\n [(ngModel)]=\"value\"\n [options]=\"codeMirrorOptions\"\n [class.mark-hints]=\"highlightHints\"\n [class.mirror-error]=\"control.status === 'INVALID' && !control.pristine\"\n (focusChange)=\"focusChanged($event)\"\n (codeMirrorLoaded)=\"afterCodeMirrorLoaded()\"></dr-codemirror>\n<span *ngIf=\"!isFocused && !innerValue\" class=\"codemirror-placeholder\">{{ placeholder }}</span>\n<dr-error [control]=\"control\" label=\"Formula error\"></dr-error>\n", styles: ["dr-codemirror ::ng-deep .CodeMirror{height:10rem;border:1px solid #9ea1aa;border-radius:6px}dr-codemirror ::ng-deep .CodeMirror-focused{border-color:#4646ce!important}dr-codemirror ::ng-deep .CodeMirror-line{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}dr-codemirror ::ng-deep .CodeMirror .CodeMirror-scroll{padding:0}dr-codemirror ::ng-deep .CodeMirror .marker{color:#fff;background:#20a452}dr-codemirror ::ng-deep .CodeMirror .marker:first-child,dr-codemirror ::ng-deep .CodeMirror .cm-variable:not(.marker)+.marker{padding-left:2px;margin-left:2px}dr-codemirror ::ng-deep .CodeMirror .marker+.cm-variable:not(.marker){margin-left:2px}dr-codemirror ::ng-deep .CodeMirror-matchingbracket{color:#0f0!important}:host::ng-deep{position:relative}:host::ng-deep .mirror-error .CodeMirror{border:1px solid #bf1d30}:host::ng-deep .mark-hints .hint-variable{color:#4646ce}dr-error{position:absolute;bottom:5px;left:7px;background:#fff;margin:0}dr-error:not(:last-child){display:none}.codemirror-placeholder{color:#6d6e6f;position:absolute;top:10px;left:10px;font-size:12px;pointer-events:none;white-space:pre}::ng-deep .CodeMirror-hints{background:#fff;border:1px solid #e5e6ea;box-shadow:0 4px 8px 1px #00000040;border-radius:6px;z-index:100;padding:8px 0}::ng-deep .CodeMirror-hints .CodeMirror-hint{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;padding:0 12px;display:flex;align-items:center;height:32px;background:#fff;color:#333}::ng-deep .CodeMirror-hints .CodeMirror-hint,::ng-deep .CodeMirror-hints .CodeMirror-hint-active{background:#fff;color:#333}::ng-deep .CodeMirror-hints:not(:hover) .CodeMirror-hint-active,::ng-deep .CodeMirror-hints .CodeMirror-hint:hover{background:#eaeaff;cursor:pointer}\n"] }]
312
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, { markers: [{
313
+ type: Input
314
+ }], highlightHints: [{
315
+ type: Input
316
+ }], hints: [{
317
+ type: Input
318
+ }], control: [{
319
+ type: Input
320
+ }], placeholder: [{
321
+ type: Input
322
+ }], codeEditor: [{
323
+ type: ViewChild,
324
+ args: ['codeEditor']
325
+ }] }); })();
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWpHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztJQ1A3RSwrQkFBdUU7SUFBQSxZQUFpQjtJQUFBLGlCQUFPOzs7SUFBeEIsZUFBaUI7SUFBakIsd0NBQWlCOztBRFF4RixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFTdEIsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEdBQXNCLEVBQ3RCLEdBQTZCLEVBQzdCLFFBQWtCO1FBRmxCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHdkIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNwQixzQkFBaUIsR0FBZSxJQUFJLENBQUM7UUFDckMscUJBQWdCLEdBQXFCLElBQUksQ0FBQztRQUcxQyx1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIsc0JBQWlCLEdBQWE7WUFDbEMsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7U0FDWixDQUFDO1FBQ00sbUJBQWMsR0FBRztZQUNyQixHQUFHLEVBQUUsR0FBRztZQUNSLEdBQUcsRUFBRSxHQUFHO1lBQ1IsR0FBRyxFQUFFLEdBQUc7WUFDUixHQUFHLEVBQUUsR0FBRztZQUNSLEdBQUcsRUFBRSxHQUFHO1lBQ1IsR0FBRyxFQUFFLEdBQUc7U0FDWCxDQUFDO1FBRU0sV0FBTSxHQUFzQixFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFcEIsc0JBQWlCLEdBQVE7WUFDNUIsWUFBWSxFQUFFLElBQUk7WUFDbEIsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRTtZQUMzQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRTtnQkFDVCxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUMvQixjQUFjLEVBQUUsS0FBSzthQUN4QjtTQUNKLENBQUM7UUFHYyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQVU5QixnQkFBVyxHQUFXLHlGQUF5RixDQUFDO0lBeER0SCxDQUFDO0lBZ0RKLElBQWEsS0FBSyxDQUFDLE1BQXlCO1FBQ3hDLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQU1ELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsQ0FBUztRQUN0QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQy9CO1NBQ0o7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQU87UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBTztRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBSTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFDTSxxQkFBcUI7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Z0JBQUUsT0FBTztZQUVoQyxJQUNJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2dCQUM5RCxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDO2dCQUM3QyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2dCQUM1QyxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFDdEI7Z0JBQ0UsYUFBYTtnQkFDYixVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Z0JBQUUsT0FBTztZQUVoQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDaEIsYUFBYTtvQkFDYixVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNoRTtZQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDL0I7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxXQUFtQjtRQUMzQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRTdCLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ1AsU0FBUzthQUNaO1lBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBRXBELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2pDLElBQUksVUFBVSxHQUFHLElBQUksRUFBRSxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0MsVUFBVSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBRTdFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztvQkFDbkYsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO2lCQUMxRjtnQkFDRCxJQUFJLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM1RCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2hGLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDZjthQUNKO1lBRUQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQ2I7b0JBQ0ksSUFBSTtvQkFDSixFQUFFO2lCQUNMLEVBQ0Q7b0JBQ0ksSUFBSTtvQkFDSixFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7aUJBQ2IsRUFDRDtvQkFDSSxHQUFHLEVBQUUsVUFBVSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFO2lCQUN2QyxDQUNKLENBQ0osQ0FBQzthQUNMO1lBQ0QsRUFBRSxFQUFFLENBQUM7U0FDUjtJQUNMLENBQUM7SUFFTyxnQ0FBZ0M7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFFN0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2dCQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7b0JBQ3pCLFlBQVksQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQ2I7d0JBQ0ksSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ25CLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSztxQkFDbEIsRUFDRDt3QkFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTt3QkFDbkIsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNO3FCQUN2QyxFQUNEO3dCQUNJLFNBQVMsRUFBRSxRQUFRO3dCQUNuQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7cUJBQ3RCLENBQ0osQ0FDSixDQUFDO2lCQUNMO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLFVBQW9CO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLGFBQWdDLEVBQUU7UUFDcEQsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFDdEMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFaEQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFFLEVBQUUsR0FBRyxDQUFDO1lBQ25GLE9BQU8sS0FBSyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsRUFBRSxLQUFLLENBQUM7WUFFeEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTNFLE1BQU0sa0JBQWtCLEdBQ3BCLENBQUMsQ0FBQyxXQUFXO2dCQUNULENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUM5RixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUVuQixNQUFNLFNBQVMsR0FBVyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQ3ZFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQy9CLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBRXRCLElBQUksV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7b0JBQ2hDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO2lCQUNyQjtnQkFDRCxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUU7b0JBQzFCLElBQUksSUFBSSxHQUFHLENBQUM7aUJBQ2Y7Z0JBRUQsT0FBTztvQkFDSCxJQUFJO29CQUNKLFdBQVc7b0JBQ1gsTUFBTSxFQUFFLENBQUMsT0FBc0IsRUFBRSxJQUFXLEVBQUUsT0FBYSxFQUFFLEVBQUU7d0JBQzNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO3dCQUN4RixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDL0YsTUFBTSxRQUFRLEdBQ1YsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLE1BQU0sZUFBZSxNQUFNLENBQUMsQ0FBQzt3QkFFaEcsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLDhCQUE4QixDQUFDLENBQUM7d0JBQzFGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzVELFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQzt3QkFDekMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQzt3QkFDMUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUMvQyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBRXpELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMxQyxDQUFDO2lCQUNKLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0gsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0JBQ3hDLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2FBQ3ZDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGFBQWE7UUFDYixVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUVwQixhQUFhO1lBQ2IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNoQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7UUFFckQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDeEQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7Z0JBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxJQUFJLEVBQUU7b0JBQ04sZ0JBQWdCLENBQUMsSUFBSSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FDYjt3QkFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTt3QkFDbkIsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQztxQkFDdEIsRUFDRDt3QkFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTt3QkFDbkIsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtxQkFDMUMsRUFDRDt3QkFDSSxTQUFTLEVBQUUsZUFBZTt3QkFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO3FCQUNwQixDQUNKLENBQ0osQ0FBQztpQkFDTDthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7eUdBNVVRLHFCQUFxQjttR0FBckIscUJBQXFCOzs7OztnTEFGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lDdkJsSCwyQ0FPaUQ7WUFMN0MscUpBQW1CLDhHQUlKLHdCQUFvQixJQUpoQixrSEFLQywyQkFBdUIsSUFMeEI7WUFLMEIsaUJBQWdCO1lBQ2pFLHdFQUErRjtZQUMvRiw4QkFBK0Q7O1lBTDNELGdEQUFtQywyRUFBQTtZQUZuQyxtQ0FBbUIsa0NBQUE7WUFNaEIsZUFBK0I7WUFBL0Isd0RBQStCO1lBQzVCLGVBQW1CO1lBQW5CLHFDQUFtQjs7O3VGRGdCaEIscUJBQXFCO2NBUGpDLFNBQVM7MkJBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxzQkFBc0IsRUFBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztrSUFvRDlGLE9BQU87a0JBQXRCLEtBQUs7WUFDVSxjQUFjO2tCQUE3QixLQUFLO1lBRU8sS0FBSztrQkFBakIsS0FBSztZQU9HLE9BQU87a0JBQWYsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDMkIsVUFBVTtrQkFBMUMsU0FBUzttQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBDb2RlTWlycm9yIGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0IHsgSGludCwgSGludHMgfSBmcm9tICdjb2RlbWlycm9yJztcbmltcG9ydCB7IENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElDb2RlRWRpdG9ySGludCwgSUNvZGVFZGl0b3JNYXJrZXIgfSBmcm9tICcuL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcbmltcG9ydCB7IERyQ29kZW1pcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kci1jb2RlbWlycm9yLmNvbXBvbmVudCc7XG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY29kZS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEckNvZGVFZGl0b3JDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDb2RlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge31cblxuICAgIHB1YmxpYyBpbm5lclZhbHVlOiBhbnkgPSAnJztcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgZXhpc3RNYXJrZXJzOiBhbnlbXTtcbiAgICBwcml2YXRlIGhpZ2hsaWdodGVkSGludHM6IGFueVtdO1xuICAgIHByaXZhdGUgcGFyZW50aGVzZXNNYXJrZXJzID0gW107XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNpc0NvbG9yczogc3RyaW5nW10gPSBbXG4gICAgICAgICcjMkYzRTQ4JyxcbiAgICAgICAgJyMxZjY4Y2MnLFxuICAgICAgICAnIzk0ODBDRCcsXG4gICAgICAgICcjNEQ5OTQ0JyxcbiAgICAgICAgJyNCMDNFODQnLFxuICAgICAgICAnI0I2NDkwMCcsXG4gICAgICAgICcjMjY3MzkyJyxcbiAgICAgICAgJyMzMjZBQzcnLFxuICAgIF07XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNlc01hcCA9IHtcbiAgICAgICAgJ30nOiAneycsXG4gICAgICAgICddJzogJ1snLFxuICAgICAgICAnKSc6ICcoJyxcbiAgICAgICAgJ3snOiAnfScsXG4gICAgICAgICdbJzogJ10nLFxuICAgICAgICAnKCc6ICcpJyxcbiAgICB9O1xuICAgIHByaXZhdGUgZG9jOiBhbnk7XG4gICAgcHJpdmF0ZSBfaGludHM6IElDb2RlRWRpdG9ySGludFtdID0gW107XG5cbiAgICBwcml2YXRlIGhpbnRSZWZzU3RhY2sgPSBbXTtcblxuICAgIHB1YmxpYyBjb2RlTWlycm9yT3B0aW9uczogYW55ID0ge1xuICAgICAgICBsaW5lV3JhcHBpbmc6IHRydWUsXG4gICAgICAgIG1hdGNoQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGF1dG9SZWZyZXNoOiB0cnVlLFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIG1vZGU6ICdqYXZhc2NyaXB0JyxcbiAgICAgICAgZXh0cmFLZXlzOiB7ICdDdHJsLVNwYWNlJzogJ2F1dG9jb21wbGV0ZScgfSxcbiAgICAgICAgYXV0b0Nsb3NlQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGhpbnRPcHRpb25zOiB7XG4gICAgICAgICAgICBjb250YWluZXI6IHdpbmRvdy5kb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgY29tcGxldGVTaW5nbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgIH07XG4gICAgcHVibGljIGlzRm9jdXNlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWFya2VyczogSUNvZGVFZGl0b3JNYXJrZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlnaGxpZ2h0SGludHMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBoaW50cyh2YWx1ZXM6IElDb2RlRWRpdG9ySGludFtdKSB7XG4gICAgICAgIGlmICh2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5faGludHMgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVySGludHModmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgYW55O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU3RhcnQgdHlwaW5nIHlvdXIgZm9ybXVsYSBoZXJlLiBXZSBzdXBwb3J0ICgrLC0sKiwvKS5cXG5Gb3IgRXhhbXBsZTogW0ZlYi0yMl0gLSBbSmFuLTIyXSc7XG4gICAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIHByaXZhdGUgY29kZUVkaXRvcjogRHJDb2RlbWlycm9yQ29tcG9uZW50O1xuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodjogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk7XG4gICAgICAgICAgICB0aGlzLmNvbG9yaXplUGFyZW50aGVzZXMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEhpbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHRIaW50cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGZvY3VzQ2hhbmdlZChib29sKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gYm9vbDtcbiAgICB9XG4gICAgcHVibGljIGFmdGVyQ29kZU1pcnJvckxvYWRlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb2MgPSB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5nZXREb2MoKTtcblxuICAgICAgICB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5vbigna2V5dXAnLCAoY20sIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2hpbnRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPj0gNjUgJiYgZXZlbnQua2V5Q29kZSA8PSA5MCkgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA5NyAmJiBldmVudC5rZXlDb2RlIDw9IDEyMikgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA0NiAmJiBldmVudC5rZXlDb2RlIDw9IDU3KSB8fFxuICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDMyXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3Iub24oJ2ZvY3VzJywgKGNtLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oaW50cy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0SGludHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodEhpbnRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDbG9zZWRQYXJlbnRoZXNpcyhwYXJlbnRoZXNpczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbJ30nLCAnKScsICddJ10uc29tZSgodmFsdWU6IHN0cmluZykgPT4gdmFsdWUgPT09IHBhcmVudGhlc2lzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbG9yaXplUGFyZW50aGVzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZG9jLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gW107XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBsZXQgbGluZSA9IDA7XG4gICAgICAgIGxldCBjaCA9IDA7XG4gICAgICAgIHRoaXMucGFyZW50aGVzZXNNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4gbWFya2VyLmNsZWFyKCkpO1xuICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2VycyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzdHJpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFyID0gc3RyaW5nLmNoYXJBdChpbmRleCk7XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICBsaW5lKys7XG4gICAgICAgICAgICAgICAgY2ggPSAwO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50aGVzZXNNYXBbY2hhcl0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwZWVrID0gc3RhY2sgPyBzdGFja1tzdGFjay5sZW5ndGggLSAxXSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNDbG9zZWRQYXJlbnRoZXNpcyhjaGFyKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3JJbmRleCA9IHBlZWs/LmNvbG9ySW5kZXggKyAxIHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9ySW5kZXggPSBjb2xvckluZGV4ID4gdGhpcy5wYXJlbnRoZXNpc0NvbG9ycy5sZW5ndGggLSAxID8gMCA6IGNvbG9ySW5kZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3RhY2sucHVzaCh7IHZhbHVlOiBjaGFyLCBjb2xvcjogdGhpcy5wYXJlbnRoZXNpc0NvbG9yc1tjb2xvckluZGV4XSwgY29sb3JJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4XSA9IHsgdmFsdWU6IGNoYXIsIGNvbG9yOiB0aGlzLnBhcmVudGhlc2lzQ29sb3JzW2NvbG9ySW5kZXhdLCBjb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzdGFjaz8ubGVuZ3RoICYmIHBlZWs/LnZhbHVlID09PSB0aGlzLnBhcmVudGhlc2VzTWFwW2NoYXJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSB7IHZhbHVlOiBjaGFyLCBjb2xvcjogcGVlay5jb2xvciwgY29sb3JJbmRleDogcGVlay5jb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3VsdFtpbmRleF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2Vycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvYy5tYXJrVGV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoOiBjaCArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogYGNvbG9yOiAke3Jlc3VsdFtpbmRleF0uY29sb3J9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJzIHx8IFtdO1xuICAgICAgICBjb25zdCBleGlzdE1hcmtlcnMgPSB0aGlzLmV4aXN0TWFya2VycyB8fCBbXTtcblxuICAgICAgICBleGlzdE1hcmtlcnMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcbiAgICAgICAgdGhpcy5kb2MuZWFjaExpbmUoKGxpbmUpID0+IHtcbiAgICAgICAgICAgIG1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoU3RyID0gbWFya2VyLm5hbWUgKyAnXFxcXCgnO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBsaW5lLnRleHQubWF0Y2hBbGwobmV3IFJlZ0V4cChzZWFyY2hTdHIsICdnJykpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE1hcmtlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBsaW5lLmxpbmVObygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaDogbWF0Y2guaW5kZXggKyBtYXJrZXIubmFtZS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ21hcmtlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBtYXJrZXIudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXN0ZVRleHQodGV4dDogc3RyaW5nLCBnb0NoYXJMZWZ0PzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRvYy5yZXBsYWNlU2VsZWN0aW9uKHRleHQpO1xuICAgICAgICB0aGlzLmRvYy5jbS5mb2N1cygpO1xuICAgICAgICBpZiAoZ29DaGFyTGVmdCkge1xuICAgICAgICAgICAgdGhpcy5kb2MuY20uZXhlY0NvbW1hbmQoJ2dvQ2hhckxlZnQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJIaW50cyhkaWN0aW9uYXJ5OiBJQ29kZUVkaXRvckhpbnRbXSA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGhpbnRSZWdleHAgPSAvW1xcdyRdfFsgJidcIiMlJEBdLztcbiAgICAgICAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcignaGludCcsICdkaWN0aW9uYXJ5SGludCcsIChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gZWRpdG9yLmdldExpbmUoY3Vyc29yLmxpbmUpO1xuXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBjdXJzb3IuY2g7XG4gICAgICAgICAgICBsZXQgZW5kID0gY3Vyc29yLmNoO1xuICAgICAgICAgICAgd2hpbGUgKGVuZCA8IGN1cnJlbnRMaW5lLmxlbmd0aCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KGVuZCkpKSArK2VuZDtcbiAgICAgICAgICAgIHdoaWxlIChzdGFydCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KHN0YXJ0IC0gMSkpKSAtLXN0YXJ0O1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V29yZCA9IChzdGFydCAhPT0gZW5kICYmIGN1cnJlbnRMaW5lLnNsaWNlKHN0YXJ0LCBlbmQpKSB8fCAnJztcblxuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREaWN0aW9uYXJ5ID1cbiAgICAgICAgICAgICAgICAoIWN1cnJlbnRXb3JkXG4gICAgICAgICAgICAgICAgICAgID8gZGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IGRpY3Rpb25hcnkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAgICAgKS5zb3J0KCkgfHwgW107XG5cbiAgICAgICAgICAgIGNvbnN0IGhpbnRzTGlzdDogSGludFtdID0gZmlsdGVyZWREaWN0aW9uYXJ5Lm1hcCgoaXRlbTogSUNvZGVFZGl0b3JIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVRleHQgPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0gaXRlbS52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtzdGFydCAtIDFdICE9PSAnWycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9ICdbJyArIHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtlbmRdICE9PSAnXScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCArPSAnXSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQsXG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcjogKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQsIGRhdGE6IEhpbnRzLCBjdXJyZW50OiBIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gY3VycmVudC5kaXNwbGF5VGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpbmdUb1JlcGxhY2UgPSBjdXJyZW50LmRpc3BsYXlUZXh0LnNsaWNlKHN0YXJ0SW5kZXgsIHN0YXJ0SW5kZXggKyBjdXJyZW50V29yZC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGludEhUTUwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2l0ZW0uaWNvbn0gYCArIGN1cnJlbnQuZGlzcGxheVRleHQucmVwbGFjZShzdHJpbmdUb1JlcGxhY2UsIGA8Yj4ke3N0cmluZ1RvUmVwbGFjZX08L2I+YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb2RlRWRpdG9ySGludFdyYXBwZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGhpbnRIVE1MO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnRvb2x0aXAgPSBpdGVtLmhpbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5wdXNoKGNvbXBvbmVudFJlZik7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxpc3Q6IGhpbnRzTGlzdCxcbiAgICAgICAgICAgICAgICBmcm9tOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgc3RhcnQpLFxuICAgICAgICAgICAgICAgIHRvOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgZW5kKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUgPSAoY20pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveUhpbnRzKCk7XG5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIENvZGVNaXJyb3Iuc2hvd0hpbnQoY20sIENvZGVNaXJyb3IuaGludC5kaWN0aW9uYXJ5SGludCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95SGludHMoKSB7XG4gICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICAgICAgICB0aGlzLmhpbnRSZWZzU3RhY2sgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhpZ2hsaWdodEhpbnRzKCkge1xuICAgICAgICBjb25zdCBoaW50cyA9IHRoaXMuX2hpbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBoaWdobGlnaHRlZEhpbnRzID0gdGhpcy5oaWdobGlnaHRlZEhpbnRzIHx8IFtdO1xuXG4gICAgICAgIGhpZ2hsaWdodGVkSGludHMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcblxuICAgICAgICB0aGlzLmRvYy5lYWNoTGluZSgobGluZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUudGV4dC5tYXRjaEFsbCgvKD86XFxbKS4rPyg/PVxcXSkvZ20pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGludCA9IGhpbnRzLmZpbmQoKGgpID0+IGgudmFsdWUgPT09IG1hdGNoWzBdLnJlcGxhY2UoJ1snLCAnJykpO1xuICAgICAgICAgICAgICAgIGlmIChoaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkSGludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSArIGhpbnQudmFsdWUubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdoaW50LXZhcmlhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGhpbnQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZHItY29kZW1pcnJvclxuICAgICNjb2RlRWRpdG9yXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW29wdGlvbnNdPVwiY29kZU1pcnJvck9wdGlvbnNcIlxuICAgIFtjbGFzcy5tYXJrLWhpbnRzXT1cImhpZ2hsaWdodEhpbnRzXCJcbiAgICBbY2xhc3MubWlycm9yLWVycm9yXT1cImNvbnRyb2wuc3RhdHVzID09PSAnSU5WQUxJRCcgJiYgIWNvbnRyb2wucHJpc3RpbmVcIlxuICAgIChmb2N1c0NoYW5nZSk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgKGNvZGVNaXJyb3JMb2FkZWQpPVwiYWZ0ZXJDb2RlTWlycm9yTG9hZGVkKClcIj48L2RyLWNvZGVtaXJyb3I+XG48c3BhbiAqbmdJZj1cIiFpc0ZvY3VzZWQgJiYgIWlubmVyVmFsdWVcIiBjbGFzcz1cImNvZGVtaXJyb3ItcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbjxkci1lcnJvciBbY29udHJvbF09XCJjb250cm9sXCIgbGFiZWw9XCJGb3JtdWxhIGVycm9yXCI+PC9kci1lcnJvcj5cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import 'codemirror/mode/javascript/javascript';
2
+ import 'codemirror/addon/edit/matchbrackets';
3
+ import 'codemirror/addon/hint/show-hint';
4
+ import '@codemirror/autocomplete';
5
+ import { NgModule } from '@angular/core';
6
+ import { CommonModule } from '@angular/common';
7
+ import { DrCodeEditorComponent } from './dr-code-editor.component';
8
+ import { CodeEditorHintWrapperComponent } from './components/code-editor-hint-wrapper.component';
9
+ import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
10
+ import { DrErrorModule } from '../dr-error/dr-error.module';
11
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
12
+ import { DrCodemirrorComponent } from './components/dr-codemirror.component';
13
+ import * as i0 from "@angular/core";
14
+ export class DrCodeEditorModule {
15
+ /** @nocollapse */ static { this.ɵfac = function DrCodeEditorModule_Factory(t) { return new (t || DrCodeEditorModule)(); }; }
16
+ /** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrCodeEditorModule }); }
17
+ /** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, ReactiveFormsModule, DrTooltipModule, DrErrorModule] }); }
18
+ }
19
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodeEditorModule, [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, DrTooltipModule, DrErrorModule],
23
+ exports: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent],
24
+ providers: [],
25
+ declarations: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent],
26
+ }]
27
+ }], null, null); })();
28
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrCodeEditorModule, { declarations: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, DrTooltipModule, DrErrorModule], exports: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent] }); })();
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBUTdFLE1BQU0sT0FBTyxrQkFBa0I7c0dBQWxCLGtCQUFrQjtrR0FBbEIsa0JBQWtCO3NHQUxqQixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhOzt1RkFLL0Usa0JBQWtCO2NBTjlCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7Z0JBQ3pGLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixDQUFDO2dCQUN2RixTQUFTLEVBQUUsRUFBRTtnQkFDYixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSw4QkFBOEIsQ0FBQzthQUMvRjs7d0ZBQ1ksa0JBQWtCLG1CQUZaLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixhQUhqRixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLGFBQzlFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnY29kZW1pcnJvci9tb2RlL2phdmFzY3JpcHQvamF2YXNjcmlwdCc7XG5pbXBvcnQgJ2NvZGVtaXJyb3IvYWRkb24vZWRpdC9tYXRjaGJyYWNrZXRzJztcbmltcG9ydCAnY29kZW1pcnJvci9hZGRvbi9oaW50L3Nob3ctaGludCc7XG5pbXBvcnQgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZSc7XG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJDb2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kZUVkaXRvckhpbnRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvZGUtZWRpdG9yLWhpbnQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBEckVycm9yTW9kdWxlIH0gZnJvbSAnLi4vZHItZXJyb3IvZHItZXJyb3IubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJDb2RlbWlycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyLWNvZGVtaXJyb3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRHJUb29sdGlwTW9kdWxlLCBEckVycm9yTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHJDb2RlbWlycm9yQ29tcG9uZW50LCBEckNvZGVFZGl0b3JDb21wb25lbnQsIENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtEckNvZGVtaXJyb3JDb21wb25lbnQsIERyQ29kZUVkaXRvckNvbXBvbmVudCwgQ29kZUVkaXRvckhpbnRXcmFwcGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDb2RlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var ICodeEditorHintIcon;
2
+ (function (ICodeEditorHintIcon) {
3
+ ICodeEditorHintIcon["VALUE"] = "#";
4
+ ICodeEditorHintIcon["CALCULATED_VALUE"] = "=";
5
+ })(ICodeEditorHintIcon || (ICodeEditorHintIcon = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3ItaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNvZGUtZWRpdG9yL21vZGVscy9jb2RlLWVkaXRvci1oaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0Isa0NBQVcsQ0FBQTtJQUNYLDZDQUFzQixDQUFBO0FBQzFCLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ29kZUVkaXRvckhpbnQge1xuICAgIGljb246IElDb2RlRWRpdG9ySGludEljb247XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGhpbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIElDb2RlRWRpdG9ySGludEljb24ge1xuICAgIFZBTFVFID0gJyMnLFxuICAgIENBTENVTEFURURfVkFMVUUgPSAnPScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZGVFZGl0b3JNYXJrZXIge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,106 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { animate, state, style, transition, trigger } from '@angular/animations';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ function DrDetailsListComponent_li_5_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "li");
9
+ i0.ɵɵtext(1);
10
+ i0.ɵɵelementEnd();
11
+ } if (rf & 2) {
12
+ const item_r1 = ctx.$implicit;
13
+ i0.ɵɵadvance(1);
14
+ i0.ɵɵtextInterpolate(item_r1);
15
+ } }
16
+ const _c0 = function (a0) { return { value: a0 }; };
17
+ export class DrDetailsListComponent {
18
+ set items(val) {
19
+ if (!val) {
20
+ return;
21
+ }
22
+ if (Array.isArray(val)) {
23
+ this.list = val;
24
+ }
25
+ else {
26
+ val.pipe(takeUntil(this.destroy$)).subscribe((res) => {
27
+ this.list = res;
28
+ });
29
+ }
30
+ }
31
+ get state() {
32
+ if (this.collapse) {
33
+ return 'collapsed';
34
+ }
35
+ return 'expanded';
36
+ }
37
+ constructor() {
38
+ this.destroy$ = new Subject();
39
+ this.list = [];
40
+ this.title = 'Show details';
41
+ this.collapse = true;
42
+ }
43
+ ngOnDestroy() {
44
+ this.destroy$.next();
45
+ this.destroy$.complete();
46
+ }
47
+ /** @nocollapse */ static { this.ɵfac = function DrDetailsListComponent_Factory(t) { return new (t || DrDetailsListComponent)(); }; }
48
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDetailsListComponent, selectors: [["dr-details-list"]], inputs: { title: "title", items: "items", collapse: "collapse" }, decls: 6, vars: 9, consts: [[1, "details"], [1, "details__header", 3, "click"], [1, "details__list"], [4, "ngFor", "ngForOf"]], template: function DrDetailsListComponent_Template(rf, ctx) { if (rf & 1) {
49
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
50
+ i0.ɵɵlistener("click", function DrDetailsListComponent_Template_div_click_1_listener() { return ctx.collapse = !ctx.collapse; });
51
+ i0.ɵɵelement(2, "i");
52
+ i0.ɵɵtext(3);
53
+ i0.ɵɵelementEnd();
54
+ i0.ɵɵelementStart(4, "ul", 2);
55
+ i0.ɵɵtemplate(5, DrDetailsListComponent_li_5_Template, 2, 1, "li", 3);
56
+ i0.ɵɵelementEnd()();
57
+ } if (rf & 2) {
58
+ i0.ɵɵadvance(2);
59
+ i0.ɵɵclassProp("dr-icon-arrow-right", ctx.collapse)("dr-icon-arrow-down", !ctx.collapse);
60
+ i0.ɵɵadvance(1);
61
+ i0.ɵɵtextInterpolate1(" ", ctx.title, " ");
62
+ i0.ɵɵadvance(1);
63
+ i0.ɵɵproperty("@expansionIndicatorList", i0.ɵɵpureFunction1(7, _c0, ctx.state));
64
+ i0.ɵɵadvance(1);
65
+ i0.ɵɵproperty("ngForOf", ctx.list);
66
+ } }, dependencies: [i1.NgForOf], styles: ["[_nghost-%COMP%]{font-family:Poppins,sans-serif;font-size:14px;line-height:22px;color:#6d6e6f;font-weight:400}[_nghost-%COMP%] .details[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .details__header[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer}[_nghost-%COMP%] .details__header[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:4px}[_nghost-%COMP%] .details__list[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:28px;margin:8px 0}[_nghost-%COMP%] .details__list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style-type:disc}"], data: { animation: [
67
+ trigger('expansionIndicatorList', [
68
+ state('collapsed', style({
69
+ overflow: 'hidden',
70
+ visibility: 'hidden',
71
+ height: 0,
72
+ })),
73
+ state('expanded', style({
74
+ overflow: 'hidden',
75
+ visibility: 'visible',
76
+ })),
77
+ transition('collapsed => expanded', animate('100ms ease-in')),
78
+ transition('expanded => collapsed', animate('100ms ease-out')),
79
+ ]),
80
+ ] } }); }
81
+ }
82
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDetailsListComponent, [{
83
+ type: Component,
84
+ args: [{ selector: 'dr-details-list', animations: [
85
+ trigger('expansionIndicatorList', [
86
+ state('collapsed', style({
87
+ overflow: 'hidden',
88
+ visibility: 'hidden',
89
+ height: 0,
90
+ })),
91
+ state('expanded', style({
92
+ overflow: 'hidden',
93
+ visibility: 'visible',
94
+ })),
95
+ transition('collapsed => expanded', animate('100ms ease-in')),
96
+ transition('expanded => collapsed', animate('100ms ease-out')),
97
+ ]),
98
+ ], template: "<div class=\"details\">\n <div class=\"details__header\" (click)=\"collapse = !collapse\">\n <i [class.dr-icon-arrow-right]=\"collapse\" [class.dr-icon-arrow-down]=\"!collapse\"> </i>\n {{ title }}\n </div>\n <ul class=\"details__list\" [@expansionIndicatorList]=\"{ value: state }\">\n <li *ngFor=\"let item of list\">{{ item }}</li>\n </ul>\n</div>\n", styles: [":host{font-family:Poppins,sans-serif;font-size:14px;line-height:22px;color:#6d6e6f;font-weight:400}:host .details{display:flex;flex-direction:column}:host .details__header{display:flex;align-items:center;cursor:pointer}:host .details__header i{margin-right:4px}:host .details__list{display:flex;flex-direction:column;padding-left:28px;margin:8px 0}:host .details__list li{list-style-type:disc}\n"] }]
99
+ }], function () { return []; }, { title: [{
100
+ type: Input
101
+ }], items: [{
102
+ type: Input
103
+ }], collapse: [{
104
+ type: Input
105
+ }] }); })();
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGV0YWlscy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0lDR25DLDBCQUE4QjtJQUFBLFlBQVU7SUFBQSxpQkFBSzs7O0lBQWYsZUFBVTtJQUFWLDZCQUFVOzs7QUR5QmhELE1BQU0sT0FBTyxzQkFBc0I7SUFLL0IsSUFBYSxLQUFLLENBQUMsR0FBb0M7UUFDbkQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE9BQU87U0FDVjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUNuQjthQUFNO1lBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBYSxFQUFFLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBR0QsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTyxXQUFXLENBQUM7U0FDdEI7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7UUExQlEsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUVsQixVQUFLLEdBQUcsY0FBYyxDQUFDO1FBY3ZCLGFBQVEsR0FBRyxJQUFJLENBQUM7SUFTVixDQUFDO0lBRWhCLFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzswR0FoQ1Esc0JBQXNCO21HQUF0QixzQkFBc0I7WUMvQm5DLDhCQUFxQixhQUFBO1lBQ1ksZ0lBQThCO1lBQ3ZELG9CQUFzRjtZQUN0RixZQUNKO1lBQUEsaUJBQU07WUFDTiw2QkFBdUU7WUFDbkUscUVBQTZDO1lBQ2pELGlCQUFLLEVBQUE7O1lBTEUsZUFBc0M7WUFBdEMsbURBQXNDLHFDQUFBO1lBQ3pDLGVBQ0o7WUFESSwwQ0FDSjtZQUMwQixlQUE0QztZQUE1QywrRUFBNEM7WUFDN0MsZUFBTztZQUFQLGtDQUFPO3dxQkRHcEI7Z0JBQ1IsT0FBTyxDQUFDLHdCQUF3QixFQUFFO29CQUM5QixLQUFLLENBQ0QsV0FBVyxFQUNYLEtBQUssQ0FBQzt3QkFDRixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsVUFBVSxFQUFFLFFBQVE7d0JBQ3BCLE1BQU0sRUFBRSxDQUFDO3FCQUNaLENBQUMsQ0FDTDtvQkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQzt3QkFDRixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsVUFBVSxFQUFFLFNBQVM7cUJBQ3hCLENBQUMsQ0FDTDtvQkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUM3RCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ2pFLENBQUM7YUFDTDs7dUZBRVEsc0JBQXNCO2NBMUJsQyxTQUFTOzJCQUNJLGlCQUFpQixjQUdmO29CQUNSLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRTt3QkFDOUIsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7NEJBQ0YsUUFBUSxFQUFFLFFBQVE7NEJBQ2xCLFVBQVUsRUFBRSxRQUFROzRCQUNwQixNQUFNLEVBQUUsQ0FBQzt5QkFDWixDQUFDLENBQ0w7d0JBQ0QsS0FBSyxDQUNELFVBQVUsRUFDVixLQUFLLENBQUM7NEJBQ0YsUUFBUSxFQUFFLFFBQVE7NEJBQ2xCLFVBQVUsRUFBRSxTQUFTO3lCQUN4QixDQUFDLENBQ0w7d0JBQ0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDN0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUNqRSxDQUFDO2lCQUNMO3NDQU1RLEtBQUs7a0JBQWIsS0FBSztZQUNPLEtBQUs7a0JBQWpCLEtBQUs7WUFhRyxRQUFRO2tCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kZXRhaWxzLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZXhwYW5zaW9uSW5kaWNhdG9yTGlzdCcsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdjb2xsYXBzZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdleHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCBhbmltYXRlKCcxMDBtcyBlYXNlLWluJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyRGV0YWlsc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBsaXN0OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQElucHV0KCkgdGl0bGUgPSAnU2hvdyBkZXRhaWxzJztcbiAgICBASW5wdXQoKSBzZXQgaXRlbXModmFsOiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+KSB7XG4gICAgICAgIGlmICghdmFsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QgPSB2YWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWwucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdCA9IHJlcztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIGNvbGxhcHNlID0gdHJ1ZTtcblxuICAgIGdldCBzdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZSkge1xuICAgICAgICAgICAgcmV0dXJuICdjb2xsYXBzZWQnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnZXhwYW5kZWQnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbHNfX2hlYWRlclwiIChjbGljayk9XCJjb2xsYXBzZSA9ICFjb2xsYXBzZVwiPlxuICAgICAgICA8aSBbY2xhc3MuZHItaWNvbi1hcnJvdy1yaWdodF09XCJjb2xsYXBzZVwiIFtjbGFzcy5kci1pY29uLWFycm93LWRvd25dPVwiIWNvbGxhcHNlXCI+IDwvaT5cbiAgICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJkZXRhaWxzX19saXN0XCIgW0BleHBhbnNpb25JbmRpY2F0b3JMaXN0XT1cInsgdmFsdWU6IHN0YXRlIH1cIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RcIj57eyBpdGVtIH19PC9saT5cbiAgICA8L3VsPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DrDetailsListComponent } from './dr-details-list.component';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i0 from "@angular/core";
5
+ export class DrDetailsListModule {
6
+ /** @nocollapse */ static { this.ɵfac = function DrDetailsListModule_Factory(t) { return new (t || DrDetailsListModule)(); }; }
7
+ /** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrDetailsListModule }); }
8
+ /** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
9
+ }
10
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDetailsListModule, [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ exports: [DrDetailsListComponent],
15
+ providers: [],
16
+ declarations: [DrDetailsListComponent],
17
+ }]
18
+ }], null, null); })();
19
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrDetailsListModule, { declarations: [DrDetailsListComponent], imports: [CommonModule], exports: [DrDetailsListComponent] }); })();
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGV0YWlscy1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQjtzR0FMbEIsWUFBWTs7dUZBS2IsbUJBQW1CO2NBTi9CLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxTQUFTLEVBQUUsRUFBRTtnQkFDYixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUN6Qzs7d0ZBQ1ksbUJBQW1CLG1CQUZiLHNCQUFzQixhQUgzQixZQUFZLGFBQ1osc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyRGV0YWlsc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHJEZXRhaWxzTGlzdENvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtEckRldGFpbHNMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEZXRhaWxzTGlzdE1vZHVsZSB7fVxuIl19