barsa-sap-ui 2.2.2 → 2.2.4

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 (241) hide show
  1. package/esm2022/barsa-sap-ui.mjs +5 -0
  2. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +90 -0
  3. package/esm2022/lib/avatar-size.pipe.mjs +41 -0
  4. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
  5. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +145 -0
  6. package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +23 -0
  7. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
  8. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
  9. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +24 -0
  10. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
  11. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +31 -0
  12. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
  13. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
  14. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +242 -0
  15. package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
  16. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
  17. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
  18. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +66 -0
  19. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +78 -0
  20. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
  21. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
  22. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
  23. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
  24. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
  25. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +14 -0
  26. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
  27. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
  28. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  29. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +40 -0
  30. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
  31. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
  32. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +58 -0
  33. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
  34. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
  35. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
  36. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
  37. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
  38. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  39. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
  40. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +43 -0
  41. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
  42. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +57 -0
  43. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
  44. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
  45. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
  46. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
  47. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
  48. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
  49. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
  50. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
  51. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
  52. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -0
  53. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +102 -0
  54. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +26 -0
  55. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +18 -0
  56. package/esm2022/lib/barsa-sap-ui.module.mjs +377 -0
  57. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  58. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +170 -0
  59. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +18 -0
  60. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +29 -0
  61. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +222 -0
  62. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +87 -0
  63. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
  64. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
  65. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
  66. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
  67. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +418 -0
  68. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
  69. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +153 -0
  70. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +20 -0
  71. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +216 -0
  72. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +74 -0
  73. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +50 -0
  74. package/esm2022/lib/captcha-field/captcha-field.component.mjs +28 -0
  75. package/esm2022/lib/card-item/card-item.component.mjs +74 -0
  76. package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
  77. package/esm2022/lib/col-renderer.directive.mjs +47 -0
  78. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  79. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +61 -0
  80. package/esm2022/lib/column-renderer/column-renderer.component.mjs +97 -0
  81. package/esm2022/lib/constants.mjs +450 -0
  82. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  83. package/esm2022/lib/device-info-field-base.mjs +24 -0
  84. package/esm2022/lib/dialog-handler.directive.mjs +29 -0
  85. package/esm2022/lib/download-files.directive.mjs +34 -0
  86. package/esm2022/lib/dynamic-page-size.pipe.mjs +27 -0
  87. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
  88. package/esm2022/lib/file-viewer/file-viewer.component.mjs +47 -0
  89. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +71 -0
  90. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +37 -0
  91. package/esm2022/lib/form-dialog/form-dialog.component.mjs +171 -0
  92. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +50 -0
  93. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +62 -0
  94. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
  95. package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
  96. package/esm2022/lib/fullscreen-dialog.directive.mjs +60 -0
  97. package/esm2022/lib/fullscreen-files.directive.mjs +43 -0
  98. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +217 -0
  99. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +215 -0
  100. package/esm2022/lib/global-search/global-search.component.mjs +27 -0
  101. package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
  102. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
  103. package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
  104. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
  105. package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
  106. package/esm2022/lib/index.mjs +549 -0
  107. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
  108. package/esm2022/lib/layout-actions/layout-actions.component.mjs +70 -0
  109. package/esm2022/lib/layout-control/layout-control.component.mjs +302 -0
  110. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +180 -0
  111. package/esm2022/lib/list-item/list-item.component.mjs +34 -0
  112. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
  113. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +82 -0
  114. package/esm2022/lib/ly-label/ly-label.component.mjs +37 -0
  115. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  116. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  117. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
  118. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +83 -0
  119. package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
  120. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
  121. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +44 -0
  122. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
  123. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +51 -0
  124. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
  125. package/esm2022/lib/mask/mask.component.mjs +22 -0
  126. package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
  127. package/esm2022/lib/models/grid-data-provider.mjs +114 -0
  128. package/esm2022/lib/models/grid-view.mjs +2 -0
  129. package/esm2022/lib/models/index.mjs +2 -0
  130. package/esm2022/lib/no-data/no-data.component.mjs +31 -0
  131. package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
  132. package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +79 -0
  133. package/esm2022/lib/notification-popup.service.mjs +92 -0
  134. package/esm2022/lib/object-status-icon.pipe.mjs +27 -0
  135. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +18 -0
  136. package/esm2022/lib/report-navigator/report-navigator.component.mjs +68 -0
  137. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  138. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  139. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
  140. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
  141. package/esm2022/lib/report-tree-base.mjs +387 -0
  142. package/esm2022/lib/report-view-renderer.directive.mjs +392 -0
  143. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  144. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  145. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
  146. package/esm2022/lib/sap-font-class.pipe.mjs +30 -0
  147. package/esm2022/lib/sap-font.pipe.mjs +30 -0
  148. package/esm2022/lib/sap-size.pipe.mjs +28 -0
  149. package/esm2022/lib/sap-ui-report-base.component.mjs +809 -0
  150. package/esm2022/lib/search-panel/search-panel.component.mjs +63 -0
  151. package/esm2022/lib/static-text/static-text.component.mjs +15 -0
  152. package/esm2022/lib/table-th.directive.mjs +87 -0
  153. package/esm2022/lib/title/title.component.mjs +15 -0
  154. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +34 -0
  155. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +33 -0
  156. package/esm2022/lib/ui-button/ui-button.component.mjs +32 -0
  157. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
  158. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +58 -0
  159. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
  160. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +39 -0
  161. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  162. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +38 -0
  163. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
  164. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +150 -0
  165. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +108 -0
  166. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
  167. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +124 -0
  168. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +103 -0
  169. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
  170. package/esm2022/lib/ui-graph/ui-graph.component.mjs +17 -0
  171. package/esm2022/lib/ui-grid/ui-grid.component.mjs +25 -0
  172. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
  173. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
  174. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
  175. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
  176. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +123 -0
  177. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -0
  178. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
  179. package/esm2022/lib/ui-label/ui-label.component.mjs +12 -0
  180. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +379 -0
  181. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +84 -0
  182. package/esm2022/lib/ui-map/ui-map.component.mjs +68 -0
  183. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
  184. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  185. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -0
  186. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
  187. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +429 -0
  188. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
  189. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
  190. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
  191. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
  192. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
  193. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
  194. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
  195. package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +47 -0
  196. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +33 -0
  197. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
  198. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
  199. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +268 -0
  200. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +101 -0
  201. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +261 -0
  202. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
  203. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
  204. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  205. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
  206. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +55 -0
  207. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
  208. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  209. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +296 -0
  210. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
  211. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
  212. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +48 -0
  213. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +24 -0
  214. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  215. package/esm2022/lib/ui-tree/ui-tree.component.mjs +114 -0
  216. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +100 -0
  217. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
  218. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +310 -0
  219. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
  220. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
  221. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +119 -0
  222. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
  223. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
  224. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
  225. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +116 -0
  226. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  227. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +196 -0
  228. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  229. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
  230. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
  231. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
  232. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +54 -0
  233. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +177 -0
  234. package/esm2022/lib/upload-file-status.pipe.mjs +29 -0
  235. package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
  236. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
  237. package/esm2022/lib/wizard-layout.directive.mjs +104 -0
  238. package/esm2022/public-api.mjs +236 -0
  239. package/fesm2022/barsa-sap-ui.mjs +6 -6
  240. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  241. package/package.json +3 -1
@@ -0,0 +1,549 @@
1
+ import { ContentDensityMode } from '@fundamental-ngx/core';
2
+ import { BarsaApi, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet } from 'barsa-novin-ray-core';
3
+ import { UiTextFieldComponent } from './ui-text-field/ui-text-field.component';
4
+ import { LyLayoutFieldLabelComponent } from './ly-layout-field-label/ly-layout-field-label.component';
5
+ import { UiCheckBoxComponent } from './ui-check-box/ui-check-box.component';
6
+ import { UiSimpleComboComponent } from './ui-simple-combo/ui-simple-combo.component';
7
+ import { UiRadioGroupComponent } from './ui-radio-group/ui-radio-group.component';
8
+ import { UiGridComponent } from './ui-grid/ui-grid.component';
9
+ import { UiMapComponent } from './ui-map/ui-map.component';
10
+ import { LyLayoutContainerOfRootComponent } from './ly-layout-container-of-root/ly-layout-container-of-root.component';
11
+ import { LyLayoutPanelComponent } from './ly-layout-panel/ly-layout-panel.component';
12
+ import { UiReadOnlyFieldComponent } from './ui-read-only-field/ui-read-only-field.component';
13
+ import { UiContainerWithButtonComponent } from './ui-container-with-button/ui-container-with-button.component';
14
+ import { UiPictureFileComponent } from './ui-picture-file/ui-picture-file.component';
15
+ import { UiMoInfoUlvComboComponent } from './ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component';
16
+ import { UiMultiSelectComboComponent } from './ui-multi-select-combo/ui-multi-select-combo.component';
17
+ import { UiNumDecimalUiComponent } from './ui-num-decimal-ui/ui-num-decimal-ui.component';
18
+ import { UiNumIntUiComponent } from './ui-num-int-ui/ui-num-int-ui.component';
19
+ import { UiTimeSpanComponent } from './ui-time-span/ui-time-span.component';
20
+ import { UiFileLinearListBoxComponent } from './ui-file-linear-list-box/ui-file-linear-list-box.component';
21
+ import { LyEmptySpaceComponent } from './ly-empty-space/ly-empty-space.component';
22
+ import { UiSinglePictureComponent } from './ui-single-picture/ui-single-picture.component';
23
+ import { UlvSelectionComponent } from './ulv-selection/ulv-selection.component';
24
+ import { UlvToolbarComponent } from './ulv-toolbar/ulv-toolbar.component';
25
+ import { UlvPagingComponent } from './ulv-paging/ulv-paging.component';
26
+ import { UiGridSortSettingComponent } from './ui-grid-sort-setting/ui-grid-sort-setting.component';
27
+ import { UiGridSortItemComponent } from './ui-grid-sort-item/ui-grid-sort-item.component';
28
+ import { UiGridColumnsComponent } from './ui-grid-columns/ui-grid-columns.component';
29
+ import { MaskComponent } from './mask/mask.component';
30
+ import { UiInfoBarPanelComponent } from './ui-info-bar-panel/ui-info-bar-panel.component';
31
+ import { UiFormPanelComponent } from './ui-form-panel/ui-form-panel.component';
32
+ import { UiSearchCommandInfoUiComponent } from './ui-search-command-info-ui/ui-search-command-info-ui.component';
33
+ import { UlvSettingsComponent } from './ulv-settings/ulv-settings.component';
34
+ import { UiTinymceComponent } from './ui-tinymce/ui-tinymce.component';
35
+ import { UiButtonComponent } from './ui-button/ui-button.component';
36
+ import { UiDateTimeComponent } from './ui-date-time/ui-date-time.component';
37
+ import { FormDialogComponent } from './form-dialog/form-dialog.component';
38
+ import { UiMoInfoSubFormUiComponent } from './ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component';
39
+ import { ResponsiveToolbarComponent } from './responsive-toolbar/responsive-toolbar.component';
40
+ import { ResponsiveToolbarRendererComponent } from './responsive-toolbar-renderer/responsive-toolbar-renderer.component';
41
+ import { UiTextAreaComponent } from './ui-text-area/ui-text-area.component';
42
+ import { LayoutControlComponent } from './layout-control/layout-control.component';
43
+ import { LayoutWizardComponent } from './layout-wizard/layout-wizard.component';
44
+ import { FormWizardComponent } from './form-wizard/form-wizard.component';
45
+ import { WizardLayoutDirective } from './wizard-layout.directive';
46
+ import { FormDialogLessComponent } from './form-dialog-less/form-dialog-less.component';
47
+ import { RichTextStaticComponent } from './rich-text-static/rich-text-static.component';
48
+ import { UiPicturesInfoComponent } from './ui-pictures-info/ui-pictures-info.component';
49
+ import { LyHorizontalLayoutComponent } from './ly-horizontal-layout/ly-horizontal-layout.component';
50
+ import { LyVerticalLayoutComponent } from './ly-vertical-layout/ly-vertical-layout.component';
51
+ import { LyTabContainerComponent } from './ly-tab-container/ly-tab-container.component';
52
+ import { LyTabPageComponent } from './ly-tab-page/ly-tab-page.component';
53
+ import { LyLabelComponent } from './ly-label/ly-label.component';
54
+ import { ColRendererDirective } from './col-renderer.directive';
55
+ import { UiMoInfoComboViewerComponent } from './ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component';
56
+ import { UlMsgBoxAdapterComponent } from './ul-msg-box-adapter/ul-msg-box-adapter.component';
57
+ import { HeaderAvatarComponent } from './header-avatar/header-avatar.component';
58
+ import { ApplyConditionalFormatsDirective } from './apply-conditional-formmatings.directive';
59
+ import { UiWorkflowPanelUiComponent } from './ui-workflow-panel-ui/ui-workflow-panel-ui.component';
60
+ import { UlvContextMenuComponent } from './ulv-context-menu/ulv-context-menu.component';
61
+ import { UlLoadingMaskUiComponent } from './ul-loading-mask-ui/ul-loading-mask-ui.component';
62
+ import { UiTextFieldAutoCompleteComponent } from './ui-text-field-auto-complete/ui-text-field-auto-complete.component';
63
+ import { CaptchaFieldComponent } from './captcha-field/captcha-field.component';
64
+ import { LySimpleLabelComponent } from './ly-simple-label/ly-simple-label.component';
65
+ import { GlobalSearchPanelComponent } from './global-search-panel/global-search-panel.component';
66
+ import { GlobalSearchModuleComponent } from './global-search-module/global-search-module.component';
67
+ import { GlobalSearchComponent } from './global-search/global-search.component';
68
+ import { HyperlinkComponent } from './hyperlink/hyperlink.component';
69
+ import { StaticTextComponent } from './static-text/static-text.component';
70
+ import { UlToastAdapterComponent } from './ul-toast-adapter/ul-toast-adapter.component';
71
+ import { MessageStripComponent } from './message-strip/message-strip.component';
72
+ import { UiLinearListContainerWithButtonComponent } from './ui-linear-list-container-with-button/ui-linear-list-container-with-button.component';
73
+ import { FundamentalDynamicFormComponent } from './fundamental-dynamic-form/fundamental-dynamic-form.component';
74
+ import { LayoutActionsComponent } from './layout-actions/layout-actions.component';
75
+ import { LyLayoutContainerComponent } from './ly-layout-container/ly-layout-container.component';
76
+ import { UiUlvFormMultiSelectUiComponent } from './ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component';
77
+ import { UlvFormMultiSelectComponent } from './ulv-form-multi-select/ulv-form-multi-select.component';
78
+ import { UlvColumnSettingsComponent } from './ulv-column-settings/ulv-column-settings.component';
79
+ import { UlvFilterSettingsComponent } from './ulv-filter-settings/ulv-filter-settings.component';
80
+ import { UlvSortSettingsComponent } from './ulv-sort-settings/ulv-sort-settings.component';
81
+ import { UlvGroupbySettingsComponent } from './ulv-groupby-settings/ulv-groupby-settings.component';
82
+ import { BarsaListFileLinearComponent } from './barsa-list-file-linear/barsa-list-file-linear.component';
83
+ import { UiPdfViewerComponent } from './ui-pdf-viewer/ui-pdf-viewer.component';
84
+ import { BarsaTinyemceComponent } from './barsa-tinyemce/barsa-tinyemce.component';
85
+ import { UiMonacoEditorComponent } from './ui-monaco-editor/ui-monaco-editor.component';
86
+ import { BarsaMonacoEditorComponent } from './barsa-monaco-editor/barsa-monaco-editor.component';
87
+ import { BarsaDateTimePickerComponent } from './barsa-date-time-picker/barsa-date-time-picker.component';
88
+ import { BarsaTreeItemComponent } from './barsa-tree-item/barsa-tree-item.component';
89
+ import { UploadFileStatusPipe } from './upload-file-status.pipe';
90
+ import { UiSwitchButtonComponent } from './ui-switch-button/ui-switch-button.component';
91
+ import { UiColorUiComponent } from './ui-color-ui/ui-color-ui.component';
92
+ import { LyLineComponent } from './ly-line/ly-line.component';
93
+ import { UiUlvMainUiComponent } from './ui-ulv-main-ui/ui-ulv-main-ui.component';
94
+ import { ReportNavigatorComponent } from './report-navigator/report-navigator.component';
95
+ import { ManageFiltersReportComponent } from './manage-filters-report/manage-filters-report.component';
96
+ import { ReportSearchFieldsManageComponent } from './report-search-fields-manage/report-search-fields-manage.component';
97
+ import { ReportSearchFieldsHiddenSettingsComponent } from './report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';
98
+ import { SearchPanelComponent } from './search-panel/search-panel.component';
99
+ import { ReportSearchPanelSaveComponent } from './report-search-panel-save/report-search-panel-save.component';
100
+ import { UiGridFilterSettingsComponent } from './ui-grid-filter-settings/ui-grid-filter-settings.component';
101
+ import { UiGridFilterItemComponent } from './ui-grid-filter-item/ui-grid-filter-item.component';
102
+ import { SapFontPipe } from './sap-font.pipe';
103
+ import { SapFontClassPipe } from './sap-font-class.pipe';
104
+ import { UiDateRangeExComponent } from './ui-date-range-ex/ui-date-range-ex.component';
105
+ import { UlNotifyPopupComponent } from './ul-notify-popup/ul-notify-popup.component';
106
+ import { UiTableViewComponent } from './ui-table-view/ui-table-view.component';
107
+ import { UiListViewComponent } from './ui-list-view/ui-list-view.component';
108
+ import { StringToArrayPipe, UiCardViewComponent } from './ui-card-view/ui-card-view.component';
109
+ import { UiReportContainerComponent } from './ui-report-container/ui-report-container.component';
110
+ import { NoDataComponent } from './no-data/no-data.component';
111
+ import { ColumnRendererComponent } from './column-renderer/column-renderer.component';
112
+ import { InlineSaveAndCancelComponent } from './inline-save-and-cancel/inline-save-and-cancel.component';
113
+ import { UiTreeViewComponent } from './ui-tree-view/ui-tree-view.component';
114
+ import { UiTreeComponent } from './ui-tree/ui-tree.component';
115
+ import { UiCalendarComponent } from './ui-calendar/ui-calendar.component';
116
+ import { NodeHasOneDepthLevelPipe } from './barsa-tree-item/node-has-one-depth-level.pipe';
117
+ import { UiAspReportViewerComponent } from './ui-asp-report-viewer/ui-asp-report-viewer.component';
118
+ import { UiGraphComponent } from './ui-graph/ui-graph.component';
119
+ import { UiExceptionFormComponent } from './ui-exception-form/ui-exception-form.component';
120
+ import { UiEditableGridComponent } from './ui-editable-grid/ui-editable-grid.component';
121
+ import { ColumnMatrixRendererComponent } from './column-matrix-renderer/column-matrix-renderer.component';
122
+ import { UiMatrixViewComponent } from './ui-matrix-view/ui-matrix-view.component';
123
+ import { CustomDateTimeComponent } from './custom-date-time/custom-date-time.component';
124
+ import { MatrixValuePipe } from './column-matrix-renderer/matrix-value.pipe';
125
+ import { BarsaAspViewerComponent } from './barsa-asp-viewer/barsa-asp-viewer.component';
126
+ import { FileInDialogComponent } from './file-in-dialog/file-in-dialog.component';
127
+ import { DynamicPageSizePipe } from './dynamic-page-size.pipe';
128
+ import { ReportViewRendererDirective } from './report-view-renderer.directive';
129
+ import { UiMoInfoGeneralObjectUiComponent } from './ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component';
130
+ import { UiGanttChartComponent } from './ui-gantt-chart/ui-gantt-chart.component';
131
+ import { GanttDhtmlChartViewComponent } from './gantt-dhtml-chart-view/gantt-dhtml-chart-view.component';
132
+ import { FullscreenDialogDirective } from './fullscreen-dialog.directive';
133
+ import { ProgressIndicatorComponent } from './progress-indicator/progress-indicator.component';
134
+ import { CardViewContentComponent } from './card-view-content/card-view-content.component';
135
+ import { CardItemComponent } from './card-item/card-item.component';
136
+ import { UiCardViewHorizontalGroupComponent } from './ui-card-view-horizontal-group/ui-card-view-horizontal-group.component';
137
+ import { TitleComponent } from './title/title.component';
138
+ import { BarsaUlvMainComponent } from './barsa-ulv-main/barsa-ulv-main.component';
139
+ import { ListItemComponent } from './list-item/list-item.component';
140
+ import { HtreeCreateNewComponent } from './htree-create-new/htree-create-new.component';
141
+ import { BarsaTableRowComponent } from './barsa-table-row/barsa-table-row.component';
142
+ import { BarsaTableColumnComponent } from './barsa-table-column/barsa-table-column.component';
143
+ import { BarsaTableHeaderComponent } from './barsa-table-header/barsa-table-header.component';
144
+ import { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';
145
+ import { UiLabelComponent } from './ui-label/ui-label.component';
146
+ import { FormToolbarButtonComponent } from './form-toolbar-button/form-toolbar-button.component';
147
+ import { BarsaSearchFormComponent } from './barsa-search-form/barsa-search-form.component';
148
+ import { ReportNewTopFormComponent } from './report-new-top-form/report-new-top-form.component';
149
+ import { BarsaNetworkOfflineComponent } from './barsa-network-offline/barsa-network-offline.component';
150
+ import { BlobViewerComponent } from './blob-viewer/blob-viewer.component';
151
+ import { FileViewerComponent } from './file-viewer/file-viewer.component';
152
+ import { FileViewerContentComponent } from './file-viewer-content/file-viewer-content.component';
153
+ import { FileViewerPopoverComponent } from './file-viewer-popover/file-viewer-popover.component';
154
+ import { DownloadFilesDirective } from './download-files.directive';
155
+ import { FullscreenFilesDirective } from './fullscreen-files.directive';
156
+ import { NotificationItemComponent } from './notification-item/notification-item.component';
157
+ import { BarsaCartableTemplateComponent } from './barsa-cartable-template/barsa-cartable-template.component';
158
+ import { BarsaCartableGroupComponent } from './barsa-group-cartable/barsa-cartable-group.component';
159
+ import { BarsaCartableFormComponent } from './barsa-cartable-form/barsa-cartable-form.component';
160
+ import { BarsaColumnIndicatorComponent } from './barsa-column-indicator/barsa-column-indicator.component';
161
+ import { BarsaFieldKeyValueComponent } from './barsa-field-key-value/barsa-field-key-value.component';
162
+ import { BarsaToolbaritemSearchComponent } from './barsa-toolbaritem-search/barsa-toolbaritem-search.component';
163
+ import { UiHtmlViewerComponent } from './ui-html-viewer/ui-html-viewer.component';
164
+ import { BarsaPishnamayeshPayamComponent } from './barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component';
165
+ import { BarsaTextEllipsisComponent } from './barsa-text-ellipsis/barsa-text-ellipsis.component';
166
+ import { BarsaListFileLinearGmailComponent } from './barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component';
167
+ import { BarsaLinkableItemsPanelComponent } from './barsa-linkable-items-panel/barsa-linkable-items-panel.component';
168
+ import { BarsaEnumMenuButtonComponent } from './barsa-enum-menu-button/barsa-enum-menu-button.component';
169
+ import { BarsaCardLayoutPanelComponent } from './barsa-card-layout-panel/barsa-card-layout-panel.component';
170
+ import { BarsaHorizontalFlexPanelComponent } from './barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component';
171
+ import { BarsaBaseLayoutPanelComponent } from './barsa-base-panel/barsa-base-layout-panel.component';
172
+ import { BarsaBarPanelComponent } from './barsa-bar-panel/barsa-bar-panel.component';
173
+ import { BarsaFormSideContentComponent } from './barsa-form-side-content/barsa-form-side-content.component';
174
+ import { DialogHandlerDirective } from './dialog-handler.directive';
175
+ import { BarsaSimpleFormComponent } from './barsa-simple-form/barsa-simple-form.component';
176
+ import { FormToolbarComponent } from './form-toolbar/form-toolbar.component';
177
+ import { BarsaListLayoutPanelComponent } from './barsa-list-layout-panel/barsa-list-layout-panel.component';
178
+ import { BarsaGridLayoutPanelComponent } from './barsa-grid-layout-panel/barsa-grid-layout-panel.component';
179
+ import { BarsaDynamicFieldComponent } from './barsa-dynamic-field/barsa-dynamic-field.component';
180
+ import { SapSizePipe } from './sap-size.pipe';
181
+ import { UiMultiSelectRadioComponent } from './ui-multi-select-radio/ui-multi-select-radio.component';
182
+ import { UiMultiSelectCheckboxComponent } from './ui-multi-select-checkbox/ui-multi-select-checkbox.component';
183
+ import { UiMultiSelectSliderComponent } from './ui-multi-select-slider/ui-multi-select-slider.component';
184
+ import { UiMultiSelectCardComponent } from './ui-multi-select-card/ui-multi-select-card.component';
185
+ import { UiMultiSelectSmileComponent } from './ui-multi-select-smile/ui-multi-select-smile.component';
186
+ import { UiNumIntSliderComponent } from './ui-num-int-slider/ui-num-int-slider.component';
187
+ import { BarsaReportCheckboxSwitchButtonComponent } from './barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component';
188
+ import { BarsaColumnRowNumberComponent } from './barsa-column-rownumber/barsa-column-rownumber.component';
189
+ import { BarsaReportOneOfListComponent } from './barsa-report-one-of-list/barsa-report-one-of-list.component';
190
+ import { BarsaCardRowPayamComponent } from './barsa-card-row-payam/barsa-card-row-payam.component';
191
+ import { BarsaQuestionPostComponent } from './barsa-question-post/barsa-question-post.component';
192
+ import { BarsaQuestionAnswerFormComponent } from './barsa-question-answer-form/barsa-question-answer-form.component';
193
+ import { BarsaQuestionAnswerFormAddCommentComponent } from './barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component';
194
+ import { BarsaAnswerCardComponent } from './barsa-answer-card/barsa-answer-card.component';
195
+ import { BarsaQuestionAnswerCreatorTimeSectionComponent } from './barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component';
196
+ import { BarsaQuestionAnswerCommentsSectionComponent } from './barsa-question-answer-comments-section/barsa-question-answer-comments-section.component';
197
+ import { BarsaQuestionAnswerVoteSectionComponent } from './barsa-question-answer-vote-section/barsa-question-answer-vote-section.component';
198
+ import { BarsaQuestionAnswerContentActionsSectionComponent } from './barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component';
199
+ import { BarsaChipComponent } from './barsa-chip/barsa-chip.component';
200
+ import { BarsaReportCardFlexViewComponent } from './barsa-report-card-flex-view/barsa-report-card-flex-view.component';
201
+ import { BarsaTagsCategoryRowComponent } from './barsa-tags-category-row/barsa-tags-category-row.component';
202
+ import { BarsaTagChipComponent } from './barsa-tag-chip/barsa-tag-chip.component';
203
+ import { BarsaTagCategoriesComponent } from './barsa-tag-categories/barsa-tag-categories.component';
204
+ import { BarsaCustomInlineEditComponent } from './barsa-custom-inline-edit/barsa-custom-inline-edit.component';
205
+ import { BarsaCustomInlineEditRowComponent } from './barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component';
206
+ import { BarsaChatComponent } from './barsa-chat/barsa-chat.component';
207
+ import { BarsaChatContentComponent } from './barsa-chat-content/barsa-chat-content.component';
208
+ import { BarsaChatMessageComponent } from './barsa-chat-message/barsa-chat-message.component';
209
+ import { BarsaChatThreadComponent } from './barsa-chat-thread/barsa-chat-thread.component';
210
+ import { BarsaChatThreadsListComponent } from './barsa-chat-threads-list/barsa-chat-threads-list.component';
211
+ import { BarsaChatThreadsListToolbarComponent } from './barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component';
212
+ import { BarsaChatContentToolbarComponent } from './barsa-chat-content-toolbar/barsa-chat-content-toolbar.component';
213
+ import { BarsaChatListComponent } from './barsa-chat-list/barsa-chat-list.component';
214
+ import { AvatarGridColPipe } from './avatar-size.pipe';
215
+ import { BarsaModalComponent } from './barsa-modal/barsa-modal.component';
216
+ import { BarsaTabRouteManagerComponent } from './barsa-tab-route-manager/barsa-tab-route-manager.component';
217
+ import { BarsaBreadcrumbsComponent } from './barsa-breadcrumbs/barsa-breadcrumbs.component';
218
+ import { TableThDirective } from './table-th.directive';
219
+ import { BarsaRowInlineActionlistComponent } from './barsa-row-inline-actionlist/barsa-row-inline-actionlist.component';
220
+ import { ObjectStatusIconPipe } from './object-status-icon.pipe';
221
+ import { UiBpmnViewerComponent } from './ui-bpmn-viewer/ui-bpmn-viewer.component';
222
+ import { BarsaBarDownloadFileComponent } from './barsa-bar-download-file/barsa-bar-download-file.component';
223
+ import { UiNotificationViewComponent } from './ui-notification-view/ui-notification-view.component';
224
+ import { NotificationItemActionsComponent } from './notification-item-actions/notification-item-actions.component';
225
+ export const components = [
226
+ BarsaBarDownloadFileComponent,
227
+ UiTextFieldComponent,
228
+ LyLayoutFieldLabelComponent,
229
+ UiCheckBoxComponent,
230
+ UiSimpleComboComponent,
231
+ UiRadioGroupComponent,
232
+ UiGridComponent,
233
+ UiMapComponent,
234
+ LyLayoutContainerOfRootComponent,
235
+ LyLayoutPanelComponent,
236
+ UiReadOnlyFieldComponent,
237
+ UiContainerWithButtonComponent,
238
+ UiPictureFileComponent,
239
+ UiMoInfoUlvComboComponent,
240
+ UiMultiSelectComboComponent,
241
+ UiNumDecimalUiComponent,
242
+ UiNumIntUiComponent,
243
+ UiTimeSpanComponent,
244
+ UiFileLinearListBoxComponent,
245
+ LyEmptySpaceComponent,
246
+ UiSinglePictureComponent,
247
+ UlvSelectionComponent,
248
+ UlvToolbarComponent,
249
+ UlvPagingComponent,
250
+ UiGridSortSettingComponent,
251
+ UiGridSortItemComponent,
252
+ UiGridColumnsComponent,
253
+ MaskComponent,
254
+ UiInfoBarPanelComponent,
255
+ UiFormPanelComponent,
256
+ UiSearchCommandInfoUiComponent,
257
+ UlvSettingsComponent,
258
+ UiTinymceComponent,
259
+ UiButtonComponent,
260
+ UiDateTimeComponent,
261
+ FormDialogComponent,
262
+ UiMoInfoSubFormUiComponent,
263
+ ResponsiveToolbarComponent,
264
+ ResponsiveToolbarRendererComponent,
265
+ UiTextAreaComponent,
266
+ LayoutControlComponent,
267
+ LayoutWizardComponent,
268
+ FormWizardComponent,
269
+ FormDialogLessComponent,
270
+ RichTextStaticComponent,
271
+ UiPicturesInfoComponent,
272
+ LyHorizontalLayoutComponent,
273
+ LyVerticalLayoutComponent,
274
+ LyTabContainerComponent,
275
+ LyTabPageComponent,
276
+ LyLabelComponent,
277
+ UiMoInfoComboViewerComponent,
278
+ UlMsgBoxAdapterComponent,
279
+ UiTreeComponent,
280
+ HeaderAvatarComponent,
281
+ UiWorkflowPanelUiComponent,
282
+ UlvContextMenuComponent,
283
+ UlLoadingMaskUiComponent,
284
+ UiTextFieldAutoCompleteComponent,
285
+ CaptchaFieldComponent,
286
+ LySimpleLabelComponent,
287
+ GlobalSearchPanelComponent,
288
+ GlobalSearchModuleComponent,
289
+ GlobalSearchComponent,
290
+ HyperlinkComponent,
291
+ StaticTextComponent,
292
+ UlToastAdapterComponent,
293
+ MessageStripComponent,
294
+ UiLinearListContainerWithButtonComponent,
295
+ FundamentalDynamicFormComponent,
296
+ LayoutActionsComponent,
297
+ LyLayoutContainerComponent,
298
+ UiUlvFormMultiSelectUiComponent,
299
+ UlvFormMultiSelectComponent,
300
+ UlvColumnSettingsComponent,
301
+ UlvFilterSettingsComponent,
302
+ UlvSortSettingsComponent,
303
+ UlvGroupbySettingsComponent,
304
+ BarsaListFileLinearComponent,
305
+ UiPdfViewerComponent,
306
+ BarsaTinyemceComponent,
307
+ UiMonacoEditorComponent,
308
+ BarsaMonacoEditorComponent,
309
+ BarsaDateTimePickerComponent,
310
+ BarsaTreeItemComponent,
311
+ UiSwitchButtonComponent,
312
+ UiColorUiComponent,
313
+ LyLineComponent,
314
+ UiUlvMainUiComponent,
315
+ ReportNavigatorComponent,
316
+ ManageFiltersReportComponent,
317
+ ReportSearchFieldsManageComponent,
318
+ ReportSearchFieldsHiddenSettingsComponent,
319
+ SearchPanelComponent,
320
+ ReportSearchPanelSaveComponent,
321
+ UiGridFilterSettingsComponent,
322
+ UiGridFilterItemComponent,
323
+ UiDateRangeExComponent,
324
+ UlNotifyPopupComponent,
325
+ UiTableViewComponent,
326
+ UiListViewComponent,
327
+ UiCardViewComponent,
328
+ UiReportContainerComponent,
329
+ NoDataComponent,
330
+ ColumnRendererComponent,
331
+ InlineSaveAndCancelComponent,
332
+ UiTreeViewComponent,
333
+ InlineSaveAndCancelComponent,
334
+ UiCalendarComponent,
335
+ UiAspReportViewerComponent,
336
+ UiGraphComponent,
337
+ UiExceptionFormComponent,
338
+ UiEditableGridComponent,
339
+ ColumnMatrixRendererComponent,
340
+ UiMatrixViewComponent,
341
+ CustomDateTimeComponent,
342
+ BarsaAspViewerComponent,
343
+ FileInDialogComponent,
344
+ UiMoInfoGeneralObjectUiComponent,
345
+ UiGanttChartComponent,
346
+ GanttDhtmlChartViewComponent,
347
+ ProgressIndicatorComponent,
348
+ CardViewContentComponent,
349
+ CardItemComponent,
350
+ UiCardViewHorizontalGroupComponent,
351
+ TitleComponent,
352
+ BarsaUlvMainComponent,
353
+ ListItemComponent,
354
+ HtreeCreateNewComponent,
355
+ BarsaTableHeaderComponent,
356
+ BarsaTableRowComponent,
357
+ BarsaTableColumnComponent,
358
+ BreadcrumbComponent,
359
+ UiLabelComponent,
360
+ FormToolbarButtonComponent,
361
+ BarsaSearchFormComponent,
362
+ ReportNewTopFormComponent,
363
+ BarsaNetworkOfflineComponent,
364
+ FileViewerContentComponent,
365
+ FileViewerPopoverComponent,
366
+ FileViewerComponent,
367
+ BlobViewerComponent,
368
+ NotificationItemComponent,
369
+ BarsaCartableTemplateComponent,
370
+ BarsaCartableGroupComponent,
371
+ BarsaCartableFormComponent,
372
+ BarsaColumnIndicatorComponent,
373
+ BarsaFieldKeyValueComponent,
374
+ BarsaToolbaritemSearchComponent,
375
+ UiHtmlViewerComponent,
376
+ BarsaPishnamayeshPayamComponent,
377
+ BarsaTextEllipsisComponent,
378
+ BarsaListFileLinearGmailComponent,
379
+ BarsaLinkableItemsPanelComponent,
380
+ BarsaEnumMenuButtonComponent,
381
+ BarsaCardLayoutPanelComponent,
382
+ BarsaHorizontalFlexPanelComponent,
383
+ BarsaBaseLayoutPanelComponent,
384
+ BarsaBarPanelComponent,
385
+ BarsaFormSideContentComponent,
386
+ BarsaSimpleFormComponent,
387
+ FormToolbarComponent,
388
+ BarsaListLayoutPanelComponent,
389
+ BarsaGridLayoutPanelComponent,
390
+ BarsaDynamicFieldComponent,
391
+ UiMultiSelectRadioComponent,
392
+ UiMultiSelectCheckboxComponent,
393
+ UiNumIntSliderComponent,
394
+ UiMultiSelectSliderComponent,
395
+ UiMultiSelectCardComponent,
396
+ UiMultiSelectSmileComponent,
397
+ BarsaReportCheckboxSwitchButtonComponent,
398
+ BarsaColumnRowNumberComponent,
399
+ BarsaCardRowPayamComponent,
400
+ BarsaColumnRowNumberComponent,
401
+ BarsaQuestionPostComponent,
402
+ BarsaQuestionAnswerFormComponent,
403
+ BarsaQuestionAnswerFormAddCommentComponent,
404
+ BarsaAnswerCardComponent,
405
+ BarsaQuestionAnswerContentActionsSectionComponent,
406
+ BarsaQuestionAnswerVoteSectionComponent,
407
+ BarsaQuestionAnswerCreatorTimeSectionComponent,
408
+ BarsaQuestionAnswerCommentsSectionComponent,
409
+ BarsaChipComponent,
410
+ BarsaTagChipComponent,
411
+ BarsaReportCardFlexViewComponent,
412
+ BarsaTagsCategoryRowComponent,
413
+ BarsaTagCategoriesComponent,
414
+ BarsaReportOneOfListComponent,
415
+ BarsaCardRowPayamComponent,
416
+ BarsaCustomInlineEditComponent,
417
+ BarsaCustomInlineEditRowComponent,
418
+ BarsaChatComponent,
419
+ BarsaChatContentComponent,
420
+ BarsaChatMessageComponent,
421
+ BarsaChatThreadComponent,
422
+ BarsaChatThreadsListComponent,
423
+ BarsaChatThreadsListToolbarComponent,
424
+ BarsaChatContentToolbarComponent,
425
+ BarsaChatListComponent,
426
+ BarsaModalComponent,
427
+ BarsaTabRouteManagerComponent,
428
+ BarsaBreadcrumbsComponent,
429
+ BarsaRowInlineActionlistComponent,
430
+ UiBpmnViewerComponent,
431
+ UiNotificationViewComponent,
432
+ NotificationItemActionsComponent
433
+ ];
434
+ export const pipes = [
435
+ UploadFileStatusPipe,
436
+ SapFontPipe,
437
+ SapFontClassPipe,
438
+ StringToArrayPipe,
439
+ NodeHasOneDepthLevelPipe,
440
+ MatrixValuePipe,
441
+ DynamicPageSizePipe,
442
+ SapSizePipe,
443
+ AvatarGridColPipe,
444
+ ObjectStatusIconPipe
445
+ ];
446
+ export const directives = [
447
+ WizardLayoutDirective,
448
+ ColRendererDirective,
449
+ ApplyConditionalFormatsDirective,
450
+ ReportViewRendererDirective,
451
+ FullscreenDialogDirective,
452
+ FullscreenFilesDirective,
453
+ DownloadFilesDirective,
454
+ DialogHandlerDirective,
455
+ TableThDirective
456
+ ];
457
+ export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, portalService, domSanitizer, localStorageService) => () => {
458
+ // rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
459
+ const setTheme = (theme) => {
460
+ if (theme) {
461
+ themeService.setTheme(theme);
462
+ }
463
+ // themeService.setTheme(themeCaption);
464
+ themeService.currentTheme.subscribe((theme) => {
465
+ if (theme) {
466
+ portalService.setCssUrlTheme(domSanitizer.bypassSecurityTrustResourceUrl(theme.theming.themePath), domSanitizer.bypassSecurityTrustResourceUrl(theme.theming.themingBasePath));
467
+ }
468
+ });
469
+ };
470
+ portalService.userPortalSettings$.pipe().subscribe((userPortalSettings) => {
471
+ rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
472
+ const userSettings = userPortalSettings['UserPortalSettings'];
473
+ let contentDensity;
474
+ if (!userSettings) {
475
+ const defaultTheme = localStorageService.getItem('default_theme') || 'sap_fiori_3';
476
+ setTheme(defaultTheme);
477
+ if (getDeviceIsMobile() || getDeviceIsPhone() || getDeviceIsTablet()) {
478
+ contentDensity = ContentDensityMode.COZY;
479
+ }
480
+ else {
481
+ contentDensity = ContentDensityMode.COMPACT;
482
+ }
483
+ contentDensityService.updateContentDensity(contentDensity);
484
+ return;
485
+ }
486
+ let theme;
487
+ if (userSettings) {
488
+ const { ContentDensity$Caption, Theme$Caption } = userSettings;
489
+ contentDensity = ContentDensity$Caption;
490
+ theme = Theme$Caption;
491
+ if (!contentDensity) {
492
+ contentDensity = ContentDensityMode.COMPACT;
493
+ }
494
+ }
495
+ if (getDeviceIsMobile() || getDeviceIsPhone()) {
496
+ contentDensity = ContentDensityMode.COZY;
497
+ }
498
+ if (contentDensity) {
499
+ {
500
+ contentDensityService.updateContentDensity(contentDensity);
501
+ }
502
+ const bodyClassCompact = 'ui5-content-density-compact';
503
+ const bodyClassCondensed = 'ui5-content-density-condensed';
504
+ const bodyClassCozy = 'ui5-content-density-cozy';
505
+ const body = document?.body;
506
+ switch (contentDensity) {
507
+ case 'condensed':
508
+ {
509
+ if (!body.classList.contains(bodyClassCondensed)) {
510
+ body.classList.add(bodyClassCondensed);
511
+ }
512
+ body.classList.remove(bodyClassCompact);
513
+ body.classList.remove(bodyClassCozy);
514
+ }
515
+ break;
516
+ case 'cozy':
517
+ {
518
+ if (!body.classList.contains(bodyClassCozy)) {
519
+ body.classList.add(bodyClassCozy);
520
+ }
521
+ body.classList.remove(bodyClassCompact);
522
+ body.classList.remove(bodyClassCondensed);
523
+ }
524
+ break;
525
+ case 'compact':
526
+ {
527
+ if (!body.classList.contains(bodyClassCompact)) {
528
+ body.classList.add(bodyClassCompact);
529
+ }
530
+ body.classList.remove(bodyClassCozy);
531
+ body.classList.remove(bodyClassCondensed);
532
+ }
533
+ break;
534
+ }
535
+ }
536
+ if (theme) {
537
+ if (theme.indexOf('dark') > -1) {
538
+ document.documentElement.style.setProperty('color-scheme', 'dark');
539
+ document.documentElement.setAttribute('data-mode', 'dark');
540
+ }
541
+ else {
542
+ document.documentElement.style.setProperty('color-scheme', 'light');
543
+ document.documentElement.setAttribute('data-mode', 'light');
544
+ }
545
+ setTheme(theme);
546
+ }
547
+ });
548
+ };
549
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLGtCQUFrQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFDSCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8s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RSxPQUFPLENBQUMsQ0FBQztnQkFDcEUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnRsU2VydmljZSwgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLCBDb250ZW50RGVuc2l0eU1vZGUsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBnZXREZXZpY2VJc1Bob25lLFxyXG4gICAgZ2V0RGV2aWNlSXNUYWJsZXQsXHJcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgUG9ydGFsU2VydmljZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDaGVja0JveENvbXBvbmVudCB9IGZyb20gJy4vdWktY2hlY2stYm94L3VpLWNoZWNrLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNYXBDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hcC91aS1tYXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVJlYWRPbmx5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUGljdHVyZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNb0luZm9VbHZDb21ib0NvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby11bHYtY29tYm8vdWktbW8taW5mby11bHYtY29tYm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU51bUludFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0taW50LXVpL3VpLW51bS1pbnQtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUaW1lU3BhbkNvbXBvbmVudCB9IGZyb20gJy4vdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUVtcHR5U3BhY2VDb21wb25lbnQgfSBmcm9tICcuL2x5LWVtcHR5LXNwYWNlL2x5LWVtcHR5LXNwYWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLXNvcnQtaXRlbS91aS1ncmlkLXNvcnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyaWRDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL21hc2svbWFzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUluZm9CYXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdWktaW5mby1iYXItcGFuZWwvdWktaW5mby1iYXItcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlGb3JtUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWZvcm0tcGFuZWwvdWktZm9ybS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNldHRpbmdzL3Vsdi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRpbnltY2VDb21wb25lbnQgfSBmcm9tICcuL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXRpbWUvdWktZGF0ZS10aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZGlhbG9nL2Zvcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpdmUtdG9vbGJhci9yZXNwb25zaXZlLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1jb250cm9sL2xheW91dC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1XaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpemFyZExheW91dERpcmVjdGl2ZSB9IGZyb20gJy4vd2l6YXJkLWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0U3RhdGljQ29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5VmVydGljYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeVRhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbFJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2wtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxNc2dCb3hBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQgfSBmcm9tICcuL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FwdGNoYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0Y2hhLWZpZWxkL2NhcHRjaGEtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlTaW1wbGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2xvYmFsU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHlwZXJsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9oeXBlcmxpbmsvaHlwZXJsaW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0YXRpY1RleHRDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy10ZXh0L3N0YXRpYy10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlMaW5lYXJMaXN0Q29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1hY3Rpb25zL2xheW91dC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29sdW1uU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb2x1bW4tc2V0dGluZ3MvdWx2LWNvbHVtbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsdlNvcnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNvcnQtc2V0dGluZ3MvdWx2LXNvcnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtZ3JvdXBieS1zZXR0aW5ncy91bHYtZ3JvdXBieS1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXBkZi12aWV3ZXIvdWktcGRmLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10aW55ZW1jZS9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkRmlsZVN0YXR1c1BpcGUgfSBmcm9tICcuL3VwbG9hZC1maWxlLXN0YXR1cy5waXBlJztcclxuaW1wb3J0IHsgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLXN3aXRjaC1idXR0b24vdWktc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNvbG9yVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGluZUNvbXBvbmVudCB9IGZyb20gJy4vbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpVWx2TWFpblVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS11bHYtbWFpbi11aS91aS11bHYtbWFpbi11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLWl0ZW0vdWktZ3JpZC1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBGb250UGlwZSB9IGZyb20gJy4vc2FwLWZvbnQucGlwZSc7XHJcbmltcG9ydCB7IFNhcEZvbnRDbGFzc1BpcGUgfSBmcm9tICcuL3NhcC1mb250LWNsYXNzLnBpcGUnO1xyXG5pbXBvcnQgeyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxOb3RpZnlQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RyaW5nVG9BcnJheVBpcGUsIFVpQ2FyZFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRyZWVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XHJcbmltcG9ydCB7IFVpQXNwUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyYXBoQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VpLWV4Y2VwdGlvbi1mb3JtL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpRWRpdGFibGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1hdHJpeFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hdHJpeC12aWV3L3VpLW1hdHJpeC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0cml4VmFsdWVQaXBlIH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcclxuaW1wb3J0IHsgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlSW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNQYWdlU2l6ZVBpcGUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xyXG5pbXBvcnQgeyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHYW50dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXZpZXctY29udGVudC9jYXJkLXZpZXctY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCB9IGZyb20gJy4vaHRyZWUtY3JlYXRlLW5ldy9odHJlZS1jcmVhdGUtbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1oZWFkZXIvYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0TmV3VG9wRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTmV0d29ya09mZmxpbmVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmxvYlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyLWNvbnRlbnQvZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvd25sb2FkRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5GaWxlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1maWxlcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRmllbGRLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZmllbGQta2V5LXZhbHVlL2JhcnNhLWZpZWxkLWtleS12YWx1ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpSHRtbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhSG9yaXpvbnRhbEZsZXhQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFzZS1wYW5lbC9iYXJzYS1iYXNlLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1iYXItcGFuZWwvYmFyc2EtYmFyLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRm9ybVNpZGVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1mb3JtLXNpZGUtY29udGVudC9iYXJzYS1mb3JtLXNpZGUtY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dIYW5kbGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaWFsb2ctaGFuZGxlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXNpbXBsZS1mb3JtL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXRvb2xiYXIvZm9ybS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWxheW91dC1wYW5lbC9iYXJzYS1saXN0LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEeW5hbWljRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWR5bmFtaWMtZmllbGQvYmFyc2EtZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBTaXplUGlwZSB9IGZyb20gJy4vc2FwLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0U21pbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1zbWlsZS91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUmVwb3J0Q2hlY2tib3hTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1wb3N0L2JhcnNhLXF1ZXN0aW9uLXBvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FBbnN3ZXJDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1hbnN3ZXItY2FyZC9iYXJzYS1hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJWb3RlU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRDYXJkRmxleFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFnQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWctY2F0ZWdvcmllcy9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUN1c3RvbUlubGluZUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1tZXNzYWdlL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJHcmlkQ29sUGlwZSB9IGZyb20gJy4vYXZhdGFyLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IEJhcnNhTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW1vZGFsL2JhcnNhLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFiUm91dGVNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWItcm91dGUtbWFuYWdlci9iYXJzYS10YWItcm91dGUtbWFuYWdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1icmVhZGNydW1icy9iYXJzYS1icmVhZGNydW1icy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVRoRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS10aC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVJvd0lubGluZUFjdGlvbmxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC9iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JqZWN0U3RhdHVzSWNvblBpcGUgfSBmcm9tICcuL29iamVjdC1zdGF0dXMtaWNvbi5waXBlJztcclxuaW1wb3J0IHsgVWlCcG1uVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1icG1uLXZpZXdlci91aS1icG1uLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhckRvd25sb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUvYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1ub3RpZmljYXRpb24tdmlldy91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0tYWN0aW9ucy9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgY29tcG9uZW50cyA9IFtcclxuICAgIEJhcnNhQmFyRG93bmxvYWRGaWxlQ29tcG9uZW50LFxyXG4gICAgVWlUZXh0RmllbGRDb21wb25lbnQsXHJcbiAgICBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQsXHJcbiAgICBVaUNoZWNrQm94Q29tcG9uZW50LFxyXG4gICAgVWlTaW1wbGVDb21ib0NvbXBvbmVudCxcclxuICAgIFVpUmFkaW9Hcm91cENvbXBvbmVudCxcclxuICAgIFVpR3JpZENvbXBvbmVudCxcclxuICAgIFVpTWFwQ29tcG9uZW50LFxyXG4gICAgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQsXHJcbiAgICBMeUxheW91dFBhbmVsQ29tcG9uZW50LFxyXG4gICAgVWlSZWFkT25seUZpZWxkQ29tcG9uZW50LFxyXG4gICAgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlQaWN0dXJlRmlsZUNvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvVWx2Q29tYm9Db21wb25lbnQsXHJcbiAgICBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQsXHJcbiAgICBVaU51bURlY2ltYWxVaUNvbXBvbmVudCxcclxuICAgIFVpTnVtSW50VWlDb21wb25lbnQsXHJcbiAgICBVaVRpbWVTcGFuQ29tcG9uZW50LFxyXG4gICAgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCxcclxuICAgIEx5RW1wdHlTcGFjZUNvbXBvbmVudCxcclxuICAgIFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCxcclxuICAgIFVsdlNlbGVjdGlvbkNvbXBvbmVudCxcclxuICAgIFVsdlRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVbHZQYWdpbmdDb21wb25lbnQsXHJcbiAgICBVaUdyaWRTb3J0U2V0dGluZ0NvbXBvbmVudCxcclxuICAgIFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkQ29sdW1uc0NvbXBvbmVudCxcclxuICAgIE1hc2tDb21wb25lbnQsXHJcbiAgICBVaUluZm9CYXJQYW5lbENvbXBvbmVudCxcclxuICAgIFVpRm9ybVBhbmVsQ29tcG9uZW50LFxyXG4gICAgVWlTZWFyY2hDb21tYW5kSW5mb1VpQ29tcG9uZW50LFxyXG4gICAgVWx2U2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVaVRpbnltY2VDb21wb25lbnQsXHJcbiAgICBVaUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgICBGb3JtRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlNb0luZm9TdWJGb3JtVWlDb21wb25lbnQsXHJcbiAgICBSZXNwb25zaXZlVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFJlc3BvbnNpdmVUb29sYmFyUmVuZGVyZXJDb21wb25lbnQsXHJcbiAgICBVaVRleHRBcmVhQ29tcG9uZW50LFxyXG4gICAgTGF5b3V0Q29udHJvbENvbXBvbmVudCxcclxuICAgIExheW91dFdpemFyZENvbXBvbmVudCxcclxuICAgIEZvcm1XaXphcmRDb21wb25lbnQsXHJcbiAgICBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0U3RhdGljQ29tcG9uZW50LFxyXG4gICAgVWlQaWN0dXJlc0luZm9Db21wb25lbnQsXHJcbiAgICBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQsXHJcbiAgICBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgTHlUYWJDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBMeVRhYlBhZ2VDb21wb25lbnQsXHJcbiAgICBMeUxhYmVsQ29tcG9uZW50LFxyXG4gICAgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCxcclxuICAgIFVsTXNnQm94QWRhcHRlckNvbXBvbmVudCxcclxuICAgIFVpVHJlZUNvbXBvbmVudCxcclxuICAgIEhlYWRlckF2YXRhckNvbXBvbmVudCxcclxuICAgIFVpV29ya2Zsb3dQYW5lbFVpQ29tcG9uZW50LFxyXG4gICAgVWx2Q29udGV4dE1lbnVDb21wb25lbnQsXHJcbiAgICBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQsXHJcbiAgICBVaVRleHRGaWVsZEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcclxuICAgIENhcHRjaGFGaWVsZENvbXBvbmVudCxcclxuICAgIEx5U2ltcGxlTGFiZWxDb21wb25lbnQsXHJcbiAgICBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCxcclxuICAgIEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCxcclxuICAgIEdsb2JhbFNlYXJjaENvbXBvbmVudCxcclxuICAgIEh5cGVybGlua0NvbXBvbmVudCxcclxuICAgIFN0YXRpY1RleHRDb21wb25lbnQsXHJcbiAgICBVbFRvYXN0QWRhcHRlckNvbXBvbmVudCxcclxuICAgIE1lc3NhZ2VTdHJpcENvbXBvbmVudCxcclxuICAgIFVpTGluZWFyTGlzdENvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQsXHJcbiAgICBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50LFxyXG4gICAgTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcclxuICAgIEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCxcclxuICAgIFVsdkZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCxcclxuICAgIFVsdkNvbHVtblNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWx2RmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVbHZTb3J0U2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVbHZHcm91cGJ5U2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50LFxyXG4gICAgVWlQZGZWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYVRpbnllbWNlQ29tcG9uZW50LFxyXG4gICAgVWlNb25hY29FZGl0b3JDb21wb25lbnQsXHJcbiAgICBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudCxcclxuICAgIEJhcnNhRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYVRyZWVJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQsXHJcbiAgICBVaUNvbG9yVWlDb21wb25lbnQsXHJcbiAgICBMeUxpbmVDb21wb25lbnQsXHJcbiAgICBVaVVsdk1haW5VaUNvbXBvbmVudCxcclxuICAgIFJlcG9ydE5hdmlnYXRvckNvbXBvbmVudCxcclxuICAgIE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQsXHJcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsXHJcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIFNlYXJjaFBhbmVsQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVaUdyaWRGaWx0ZXJJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlEYXRlUmFuZ2VFeENvbXBvbmVudCxcclxuICAgIFVsTm90aWZ5UG9wdXBDb21wb25lbnQsXHJcbiAgICBVaVRhYmxlVmlld0NvbXBvbmVudCxcclxuICAgIFVpTGlzdFZpZXdDb21wb25lbnQsXHJcbiAgICBVaUNhcmRWaWV3Q29tcG9uZW50LFxyXG4gICAgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBOb0RhdGFDb21wb25lbnQsXHJcbiAgICBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCxcclxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXHJcbiAgICBVaVRyZWVWaWV3Q29tcG9uZW50LFxyXG4gICAgSW5saW5lU2F2ZUFuZENhbmNlbENvbXBvbmVudCxcclxuICAgIFVpQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBVaUFzcFJlcG9ydFZpZXdlckNvbXBvbmVudCxcclxuICAgIFVpR3JhcGhDb21wb25lbnQsXHJcbiAgICBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQsXHJcbiAgICBVaUVkaXRhYmxlR3JpZENvbXBvbmVudCxcclxuICAgIENvbHVtbk1hdHJpeFJlbmRlcmVyQ29tcG9uZW50LFxyXG4gICAgVWlNYXRyaXhWaWV3Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgICBCYXJzYUFzcFZpZXdlckNvbXBvbmVudCxcclxuICAgIEZpbGVJbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50LFxyXG4gICAgVWlHYW50dENoYXJ0Q29tcG9uZW50LFxyXG4gICAgR2FudHREaHRtbENoYXJ0Vmlld0NvbXBvbmVudCxcclxuICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxyXG4gICAgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50LFxyXG4gICAgQ2FyZEl0ZW1Db21wb25lbnQsXHJcbiAgICBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50LFxyXG4gICAgVGl0bGVDb21wb25lbnQsXHJcbiAgICBCYXJzYVVsdk1haW5Db21wb25lbnQsXHJcbiAgICBMaXN0SXRlbUNvbXBvbmVudCxcclxuICAgIEh0cmVlQ3JlYXRlTmV3Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWJsZUhlYWRlckNvbXBvbmVudCxcclxuICAgIEJhcnNhVGFibGVSb3dDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhYmxlQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICAgIFVpTGFiZWxDb21wb25lbnQsXHJcbiAgICBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCxcclxuICAgIFJlcG9ydE5ld1RvcEZvcm1Db21wb25lbnQsXHJcbiAgICBCYXJzYU5ldHdvcmtPZmZsaW5lQ29tcG9uZW50LFxyXG4gICAgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCxcclxuICAgIEZpbGVWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBCbG9iVmlld2VyQ29tcG9uZW50LFxyXG4gICAgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FydGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FydGFibGVGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDb2x1bW5JbmRpY2F0b3JDb21wb25lbnQsXHJcbiAgICBCYXJzYUZpZWxkS2V5VmFsdWVDb21wb25lbnQsXHJcbiAgICBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgVWlIdG1sVmlld2VyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCxcclxuICAgIEJhcnNhVGV4dEVsbGlwc2lzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaXN0RmlsZUxpbmVhckdtYWlsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaW5rYWJsZUl0ZW1zUGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUhvcml6b250YWxGbGV4UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIEJhcnNhQmFyUGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUZvcm1TaWRlQ29udGVudENvbXBvbmVudCxcclxuICAgIEJhcnNhU2ltcGxlRm9ybUNvbXBvbmVudCxcclxuICAgIEZvcm1Ub29sYmFyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaXN0TGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIEJhcnNhRHluYW1pY0ZpZWxkQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdFJhZGlvQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQsXHJcbiAgICBVaU11bHRpU2VsZWN0U2xpZGVyQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdENhcmRDb21wb25lbnQsXHJcbiAgICBVaU11bHRpU2VsZWN0U21pbGVDb21wb25lbnQsXHJcbiAgICBCYXJzYVJlcG9ydENoZWNrYm94U3dpdGNoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDb2x1bW5Sb3dOdW1iZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcmRSb3dQYXlhbUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvblBvc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyRm9ybUNvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCxcclxuICAgIEJhcnNhQW5zd2VyQ2FyZENvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyVm90ZVNlY3Rpb25Db21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckNvbW1lbnRzU2VjdGlvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hpcENvbXBvbmVudCxcclxuICAgIEJhcnNhVGFnQ2hpcENvbXBvbmVudCxcclxuICAgIEJhcnNhUmVwb3J0Q2FyZEZsZXhWaWV3Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhZ0NhdGVnb3JpZXNDb21wb25lbnQsXHJcbiAgICBCYXJzYVJlcG9ydE9uZU9mTGlzdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDdXN0b21JbmxpbmVFZGl0Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0Q29udGVudENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdE1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRUaHJlYWRzTGlzdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdFRocmVhZHNMaXN0VG9vbGJhckNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdENvbnRlbnRUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0TGlzdENvbXBvbmVudCxcclxuICAgIEJhcnNhTW9kYWxDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhYlJvdXRlTWFuYWdlckNvbXBvbmVudCxcclxuICAgIEJhcnNhQnJlYWRjcnVtYnNDb21wb25lbnQsXHJcbiAgICBCYXJzYVJvd0lubGluZUFjdGlvbmxpc3RDb21wb25lbnQsXHJcbiAgICBVaUJwbW5WaWV3ZXJDb21wb25lbnQsXHJcbiAgICBVaU5vdGlmaWNhdGlvblZpZXdDb21wb25lbnQsXHJcbiAgICBOb3RpZmljYXRpb25JdGVtQWN0aW9uc0NvbXBvbmVudFxyXG5dO1xyXG5leHBvcnQgY29uc3QgcGlwZXMgPSBbXHJcbiAgICBVcGxvYWRGaWxlU3RhdHVzUGlwZSxcclxuICAgIFNhcEZvbnRQaXBlLFxyXG4gICAgU2FwRm9udENsYXNzUGlwZSxcclxuICAgIFN0cmluZ1RvQXJyYXlQaXBlLFxyXG4gICAgTm9kZUhhc09uZURlcHRoTGV2ZWxQaXBlLFxyXG4gICAgTWF0cml4VmFsdWVQaXBlLFxyXG4gICAgRHluYW1pY1BhZ2VTaXplUGlwZSxcclxuICAgIFNhcFNpemVQaXBlLFxyXG4gICAgQXZhdGFyR3JpZENvbFBpcGUsXHJcbiAgICBPYmplY3RTdGF0dXNJY29uUGlwZVxyXG5dO1xyXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIFdpemFyZExheW91dERpcmVjdGl2ZSxcclxuICAgIENvbFJlbmRlcmVyRGlyZWN0aXZlLFxyXG4gICAgQXBwbHlDb25kaXRpb25hbEZvcm1hdHNEaXJlY3RpdmUsXHJcbiAgICBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBGdWxsc2NyZWVuRGlhbG9nRGlyZWN0aXZlLFxyXG4gICAgRnVsbHNjcmVlbkZpbGVzRGlyZWN0aXZlLFxyXG4gICAgRG93bmxvYWRGaWxlc0RpcmVjdGl2ZSxcclxuICAgIERpYWxvZ0hhbmRsZXJEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVRoRGlyZWN0aXZlXHJcbl07XHJcbmV4cG9ydCBjb25zdCBJTklUX1NBUEZJT1JJID1cclxuICAgIChcclxuICAgICAgICBydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxyXG4gICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZTogR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHRoZW1lU2VydmljZTogVGhlbWluZ1NlcnZpY2UsXHJcbiAgICAgICAgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlXHJcbiAgICApID0+XHJcbiAgICAoKSA9PiB7XHJcbiAgICAgICAgLy8gcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcclxuICAgICAgICBjb25zdCBzZXRUaGVtZSA9ICh0aGVtZSk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhlbWUpIHtcclxuICAgICAgICAgICAgICAgIHRoZW1lU2VydmljZS5zZXRUaGVtZSh0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lQ2FwdGlvbik7XHJcbiAgICAgICAgICAgIHRoZW1lU2VydmljZS5jdXJyZW50VGhlbWUuc3Vic2NyaWJlKCh0aGVtZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoZW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9ydGFsU2VydmljZS5zZXRDc3NVcmxUaGVtZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGVtZS50aGVtaW5nLnRoZW1lUGF0aCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhlbWUudGhlbWluZy50aGVtaW5nQmFzZVBhdGgpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBwb3J0YWxTZXJ2aWNlLnVzZXJQb3J0YWxTZXR0aW5ncyQucGlwZSgpLnN1YnNjcmliZSgodXNlclBvcnRhbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIHJ0bFNlcnZpY2UucnRsLm5leHQoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1J0bCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXJTZXR0aW5ncyA9IHVzZXJQb3J0YWxTZXR0aW5nc1snVXNlclBvcnRhbFNldHRpbmdzJ107XHJcbiAgICAgICAgICAgIGxldCBjb250ZW50RGVuc2l0eTogYW55O1xyXG4gICAgICAgICAgICBpZiAoIXVzZXJTZXR0aW5ncykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdFRoZW1lID0gbG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKCdkZWZhdWx0X3RoZW1lJykgfHwgJ3NhcF9maW9yaV8zJztcclxuICAgICAgICAgICAgICAgIHNldFRoZW1lKGRlZmF1bHRUaGVtZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZ2V0RGV2aWNlSXNNb2JpbGUoKSB8fCBnZXREZXZpY2VJc1Bob25lKCkgfHwgZ2V0RGV2aWNlSXNUYWJsZXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPWlk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoY29udGVudERlbnNpdHkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB0aGVtZTogYW55O1xyXG4gICAgICAgICAgICBpZiAodXNlclNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IENvbnRlbnREZW5zaXR5JENhcHRpb24sIFRoZW1lJENhcHRpb24gfSA9IHVzZXJTZXR0aW5ncztcclxuICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHkkQ2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIHRoZW1lID0gVGhlbWUkQ2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChnZXREZXZpY2VJc01vYmlsZSgpIHx8IGdldERldmljZUlzUGhvbmUoKSkge1xyXG4gICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09aWTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoY29udGVudERlbnNpdHkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29tcGFjdCA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvbXBhY3QnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29uZGVuc2VkID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29uZGVuc2VkJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlDbGFzc0NvenkgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb3p5JztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudD8uYm9keTtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb25kZW5zZWQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbmRlbnNlZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ29uZGVuc2VkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb3p5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb3p5JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LmNsYXNzTGlzdC5jb250YWlucyhib2R5Q2xhc3NDb3p5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb3p5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb25kZW5zZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBhY3QnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbXBhY3QpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvenkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoZW1lKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhlbWUuaW5kZXhPZignZGFyaycpID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yLXNjaGVtZScsICdkYXJrJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJywgJ2RhcmsnKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvci1zY2hlbWUnLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldFRoZW1lKHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuIl19