@bnsights/bbsf-admin-portal 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1893) hide show
  1. package/README.md +24 -0
  2. package/bnsights-bbsf-admin-portal-0.0.1.tgz +0 -0
  3. package/bnsights-bbsf-admin-portal-1.0.0.tgz +0 -0
  4. package/bnsights-bbsf-admin-portal.d.ts +5 -0
  5. package/bundles/bnsights-bbsf-admin-portal.umd.js +33557 -0
  6. package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -0
  7. package/esm2015/bnsights-bbsf-admin-portal.js +5 -0
  8. package/esm2015/lib/Pages/ActiveDirectories/active-directories.component.js +17 -0
  9. package/esm2015/lib/Pages/ActiveDirectories/active-directory/active-directory.component.js +362 -0
  10. package/esm2015/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.js +352 -0
  11. package/esm2015/lib/Pages/ActiveDirectories/active-directory-routing.module.js +29 -0
  12. package/esm2015/lib/Pages/ActiveDirectories/active-directory.module.js +98 -0
  13. package/esm2015/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.js +26 -0
  14. package/esm2015/lib/Pages/_layout/components/aside/aside.component.js +64 -0
  15. package/esm2015/lib/Pages/_layout/components/content/content.component.js +34 -0
  16. package/esm2015/lib/Pages/_layout/components/footer/footer.component.js +26 -0
  17. package/esm2015/lib/Pages/_layout/components/header/header.component.js +60 -0
  18. package/esm2015/lib/Pages/_layout/components/header/page-title/page-title.component.js +39 -0
  19. package/esm2015/lib/Pages/_layout/components/scripts-init/scripts-init.component.js +61 -0
  20. package/esm2015/lib/Pages/_layout/components/subheader/subheader.component.js +39 -0
  21. package/esm2015/lib/Pages/_layout/components/subheader/subheader.module.js +28 -0
  22. package/esm2015/lib/Pages/_layout/components/toolbar/toolbar.component.js +42 -0
  23. package/esm2015/lib/Pages/_layout/components/toolbar/toolbar.module.js +27 -0
  24. package/esm2015/lib/Pages/_layout/components/topbar/topbar.component.js +73 -0
  25. package/esm2015/lib/Pages/account/account-routing.module.js +26 -0
  26. package/esm2015/lib/Pages/account/account.component.js +18 -0
  27. package/esm2015/lib/Pages/account/account.module.js +48 -0
  28. package/esm2015/lib/Pages/account/login/login.component.js +25 -0
  29. package/esm2015/lib/Pages/account/register/register.component.js +48 -0
  30. package/esm2015/lib/Pages/authentication/auth-callback/auth-callback.component.js +35 -0
  31. package/esm2015/lib/Pages/authentication/authentication-routing.module.js +24 -0
  32. package/esm2015/lib/Pages/authentication/authentication.component.js +18 -0
  33. package/esm2015/lib/Pages/authentication/authentication.module.js +39 -0
  34. package/esm2015/lib/Pages/configurations/configuration/configuration.component.js +725 -0
  35. package/esm2015/lib/Pages/configurations/configurations-routing.module.js +25 -0
  36. package/esm2015/lib/Pages/configurations/configurations.component.js +18 -0
  37. package/esm2015/lib/Pages/configurations/configurations.module.js +96 -0
  38. package/esm2015/lib/Pages/core/auth.module.js +32 -0
  39. package/esm2015/lib/Pages/core/authentication/auth.guard.js +28 -0
  40. package/esm2015/lib/Pages/core/authentication/auth.service.js +158 -0
  41. package/esm2015/lib/Pages/core/core.module.js +29 -0
  42. package/esm2015/lib/Pages/departments/department/department.component.js +258 -0
  43. package/esm2015/lib/Pages/departments/department-info/department-info.component.js +203 -0
  44. package/esm2015/lib/Pages/departments/departments-routing.module.js +27 -0
  45. package/esm2015/lib/Pages/departments/departments.component.js +18 -0
  46. package/esm2015/lib/Pages/departments/departments.module.js +91 -0
  47. package/esm2015/lib/Pages/empty-data/empty-data.component.js +34 -0
  48. package/esm2015/lib/Pages/empty-data/empty-data.module.js +30 -0
  49. package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +314 -0
  50. package/esm2015/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.js +49 -0
  51. package/esm2015/lib/Pages/helpCenter/help-center-routing.module.js +31 -0
  52. package/esm2015/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.js +259 -0
  53. package/esm2015/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.js +268 -0
  54. package/esm2015/lib/Pages/helpCenter/help-center.module.js +100 -0
  55. package/esm2015/lib/Pages/helpCenter/help-centers.component.js +18 -0
  56. package/esm2015/lib/Pages/home/filter-pipe.js +23 -0
  57. package/esm2015/lib/Pages/home/home.component.js +140 -0
  58. package/esm2015/lib/Pages/home/home.module.js +55 -0
  59. package/esm2015/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.js +435 -0
  60. package/esm2015/lib/Pages/impersonation-rules/impersonation-rules.module.js +97 -0
  61. package/esm2015/lib/Pages/jobs/jobs/jobs.component.js +292 -0
  62. package/esm2015/lib/Pages/jobs/jobs.module.js +89 -0
  63. package/esm2015/lib/Pages/license/license/license.component.js +186 -0
  64. package/esm2015/lib/Pages/license/license.module.js +73 -0
  65. package/esm2015/lib/Pages/localizations/localizations.component.js +457 -0
  66. package/esm2015/lib/Pages/localizations/localizations.module.js +81 -0
  67. package/esm2015/lib/Pages/logs/log/log.component.js +108 -0
  68. package/esm2015/lib/Pages/logs/logs-routing.module.js +27 -0
  69. package/esm2015/lib/Pages/logs/logs.component.js +18 -0
  70. package/esm2015/lib/Pages/logs/logs.module.js +89 -0
  71. package/esm2015/lib/Pages/lookups/lookup/lookup.component.js +365 -0
  72. package/esm2015/lib/Pages/lookups/lookup-group/lookup-group.component.js +218 -0
  73. package/esm2015/lib/Pages/lookups/lookup-item/lookup-item.component.js +301 -0
  74. package/esm2015/lib/Pages/lookups/lookups-routing.module.js +29 -0
  75. package/esm2015/lib/Pages/lookups/lookups.component.js +18 -0
  76. package/esm2015/lib/Pages/lookups/lookups.module.js +102 -0
  77. package/esm2015/lib/Pages/notifications/add/add.component.js +109 -0
  78. package/esm2015/lib/Pages/notifications/edit/edit.component.js +143 -0
  79. package/esm2015/lib/Pages/notifications/edit-email/edit-email.component.js +164 -0
  80. package/esm2015/lib/Pages/notifications/edit-sms/edit-sms.component.js +122 -0
  81. package/esm2015/lib/Pages/notifications/edit-template/edit-template.component.js +35 -0
  82. package/esm2015/lib/Pages/notifications/master-layouts/master-layouts.component.js +155 -0
  83. package/esm2015/lib/Pages/notifications/notifications-routing.module.js +39 -0
  84. package/esm2015/lib/Pages/notifications/notifications.component.js +18 -0
  85. package/esm2015/lib/Pages/notifications/notifications.module.js +104 -0
  86. package/esm2015/lib/Pages/notifications/template-info/template-info.component.js +393 -0
  87. package/esm2015/lib/Pages/notifications/templates/templates.component.js +470 -0
  88. package/esm2015/lib/Pages/providers/provider/provider.component.js +520 -0
  89. package/esm2015/lib/Pages/providers/providers-routing.module.js +27 -0
  90. package/esm2015/lib/Pages/providers/providers.component.js +18 -0
  91. package/esm2015/lib/Pages/providers/providers.module.js +93 -0
  92. package/esm2015/lib/Pages/publicHolidays/public-holiday/public-holiday.component.js +346 -0
  93. package/esm2015/lib/Pages/publicHolidays/public-holidays-routing.module.js +25 -0
  94. package/esm2015/lib/Pages/publicHolidays/public-holidays.component.js +18 -0
  95. package/esm2015/lib/Pages/publicHolidays/public-holidays.module.js +96 -0
  96. package/esm2015/lib/Pages/roles/permission-set-info/permission-set-info.component.js +205 -0
  97. package/esm2015/lib/Pages/roles/permissions/permissions.component.js +270 -0
  98. package/esm2015/lib/Pages/roles/permissionsets/permissionsets.component.js +316 -0
  99. package/esm2015/lib/Pages/roles/roles-routing.module.js +29 -0
  100. package/esm2015/lib/Pages/roles/roles.component.js +18 -0
  101. package/esm2015/lib/Pages/roles/roles.module.js +107 -0
  102. package/esm2015/lib/Pages/sectors/department-info/department-info.component.js +204 -0
  103. package/esm2015/lib/Pages/sectors/sector/sector.component.js +219 -0
  104. package/esm2015/lib/Pages/sectors/sector-info/sector-info.component.js +205 -0
  105. package/esm2015/lib/Pages/sectors/sectors-routing.module.js +29 -0
  106. package/esm2015/lib/Pages/sectors/sectors.component.js +18 -0
  107. package/esm2015/lib/Pages/sectors/sectors.module.js +98 -0
  108. package/esm2015/lib/Pages/shared/Services/ActiveDirectoryService.service.js +51 -0
  109. package/esm2015/lib/Pages/shared/Services/ConfigurationsService.service.js +45 -0
  110. package/esm2015/lib/Pages/shared/Services/DepartmentService.service.js +49 -0
  111. package/esm2015/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.js +36 -0
  112. package/esm2015/lib/Pages/shared/Services/ErrorService.service.js +15 -0
  113. package/esm2015/lib/Pages/shared/Services/GlobalErrorHandler.service.js +49 -0
  114. package/esm2015/lib/Pages/shared/Services/HelpCenterService.service.js +44 -0
  115. package/esm2015/lib/Pages/shared/Services/HttpErrorInterceptor.service.js +45 -0
  116. package/esm2015/lib/Pages/shared/Services/ImpersonationRuleService.service.js +30 -0
  117. package/esm2015/lib/Pages/shared/Services/JobsService.service.js +21 -0
  118. package/esm2015/lib/Pages/shared/Services/LicenseService.service.js +24 -0
  119. package/esm2015/lib/Pages/shared/Services/LogsService.js +24 -0
  120. package/esm2015/lib/Pages/shared/Services/LookupGroupsService.service.js +27 -0
  121. package/esm2015/lib/Pages/shared/Services/LookupService.service.js +51 -0
  122. package/esm2015/lib/Pages/shared/Services/PermissionSetService.service.js +40 -0
  123. package/esm2015/lib/Pages/shared/Services/PermissionsService.service.js +33 -0
  124. package/esm2015/lib/Pages/shared/Services/PublicHolidayService.service.js +33 -0
  125. package/esm2015/lib/Pages/shared/Services/SectorService.service.js +41 -0
  126. package/esm2015/lib/Pages/shared/Services/TemplateService.service.js +83 -0
  127. package/esm2015/lib/Pages/shared/Services/WorkflowActivityService.service.js +27 -0
  128. package/esm2015/lib/Pages/shared/Services/WorkflowService.service.js +30 -0
  129. package/esm2015/lib/Pages/shared/Services/WorkflowVariablesService.service.js +30 -0
  130. package/esm2015/lib/Pages/shared/Services/data.service.js +27 -0
  131. package/esm2015/lib/Pages/shared/Services/injectionModuleService.service.js +156 -0
  132. package/esm2015/lib/Pages/shared/Services/localizationsService.service .js +54 -0
  133. package/esm2015/lib/Pages/shared/Services/provider.service.js +58 -0
  134. package/esm2015/lib/Pages/shared/Services/userService.service.js +62 -0
  135. package/esm2015/lib/Pages/shared/base.service.js +20 -0
  136. package/esm2015/lib/Pages/shared/config/environment.js +12 -0
  137. package/esm2015/lib/Pages/shared/filter/filter.component.js +17 -0
  138. package/esm2015/lib/Pages/shared/models/ADModels/ADMappingModel.js +3 -0
  139. package/esm2015/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.js +6 -0
  140. package/esm2015/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.js +8 -0
  141. package/esm2015/lib/Pages/shared/models/DepartmentModels/DepartmentModel.js +7 -0
  142. package/esm2015/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.js +6 -0
  143. package/esm2015/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.js +12 -0
  144. package/esm2015/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.js +8 -0
  145. package/esm2015/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.js +9 -0
  146. package/esm2015/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.js +7 -0
  147. package/esm2015/lib/Pages/shared/models/JobModels/JobCountsModel.js +3 -0
  148. package/esm2015/lib/Pages/shared/models/LicenseModel/LicenseModel.js +6 -0
  149. package/esm2015/lib/Pages/shared/models/LocalizationModels/EditResourceModel.js +3 -0
  150. package/esm2015/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.js +3 -0
  151. package/esm2015/lib/Pages/shared/models/Lookups/LookupGroupModel.js +7 -0
  152. package/esm2015/lib/Pages/shared/models/Lookups/LookupItem.js +8 -0
  153. package/esm2015/lib/Pages/shared/models/Lookups/LookupModel.js +10 -0
  154. package/esm2015/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.js +11 -0
  155. package/esm2015/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.js +12 -0
  156. package/esm2015/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.js +3 -0
  157. package/esm2015/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.js +7 -0
  158. package/esm2015/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.js +3 -0
  159. package/esm2015/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.js +3 -0
  160. package/esm2015/lib/Pages/shared/models/NotificationsModels/TemplateDTO.js +10 -0
  161. package/esm2015/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.js +9 -0
  162. package/esm2015/lib/Pages/shared/models/PermissionsModels/PermissionModel.js +8 -0
  163. package/esm2015/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.js +8 -0
  164. package/esm2015/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.js +6 -0
  165. package/esm2015/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.js +6 -0
  166. package/esm2015/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.js +3 -0
  167. package/esm2015/lib/Pages/shared/models/ProviderModels/ProviderModel.js +6 -0
  168. package/esm2015/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.js +8 -0
  169. package/esm2015/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.js +6 -0
  170. package/esm2015/lib/Pages/shared/models/SectorModels/SectorModel.js +7 -0
  171. package/esm2015/lib/Pages/shared/models/UserModels/AddUserModel.js +34 -0
  172. package/esm2015/lib/Pages/shared/models/UserModels/DropdownsResponseModel.js +11 -0
  173. package/esm2015/lib/Pages/shared/models/UserModels/EditUserModel.js +6 -0
  174. package/esm2015/lib/Pages/shared/models/UserModels/UserSearchParamDTO.js +3 -0
  175. package/esm2015/lib/Pages/shared/models/UserModels/UsersIDRequestModel.js +6 -0
  176. package/esm2015/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.js +3 -0
  177. package/esm2015/lib/Pages/shared/models/WorkflowModels/WFActivityModel.js +17 -0
  178. package/esm2015/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.js +3 -0
  179. package/esm2015/lib/Pages/shared/models/WorkflowModels/WFCreationModel.js +8 -0
  180. package/esm2015/lib/Pages/shared/models/WorkflowModels/WFVariableModel.js +9 -0
  181. package/esm2015/lib/Pages/shared/models/user.registration.js +8 -0
  182. package/esm2015/lib/Pages/shared/shared.module.js +29 -0
  183. package/esm2015/lib/Pages/shared/stylesbundle.service.js +44 -0
  184. package/esm2015/lib/Pages/start/index/index.component.js +31 -0
  185. package/esm2015/lib/Pages/start/start-routing.module.js +22 -0
  186. package/esm2015/lib/Pages/start/start.module.js +33 -0
  187. package/esm2015/lib/Pages/users/users.component.js +750 -0
  188. package/esm2015/lib/Pages/users/users.module.js +88 -0
  189. package/esm2015/lib/Pages/workflows/tabs/tabs.component.js +613 -0
  190. package/esm2015/lib/Pages/workflows/workflow/workflow.component.js +229 -0
  191. package/esm2015/lib/Pages/workflows/workflows-routing.module.js +27 -0
  192. package/esm2015/lib/Pages/workflows/workflows.component.js +18 -0
  193. package/esm2015/lib/Pages/workflows/workflows.module.js +101 -0
  194. package/esm2015/lib/_metronic/configs/default-layout.config.js +96 -0
  195. package/esm2015/lib/_metronic/core/_utils/DomHelpers.js +358 -0
  196. package/esm2015/lib/_metronic/core/_utils/ElementAnimateUtil.js +83 -0
  197. package/esm2015/lib/_metronic/core/_utils/EventHandlerUtil.js +90 -0
  198. package/esm2015/lib/_metronic/core/_utils/_DOMEventHandlerUtil.js +49 -0
  199. package/esm2015/lib/_metronic/core/_utils/_DataUtil.js +48 -0
  200. package/esm2015/lib/_metronic/core/_utils/_ElementStyleUtil.js +17 -0
  201. package/esm2015/lib/_metronic/core/_utils/_TypesHelpers.js +49 -0
  202. package/esm2015/lib/_metronic/core/_utils/models/OffsetModel.js +2 -0
  203. package/esm2015/lib/_metronic/core/_utils/models/ViewPortModel.js +2 -0
  204. package/esm2015/lib/_metronic/core/components/MenuComponent.js +826 -0
  205. package/esm2015/lib/_metronic/core/components/_CookieComponent.js +49 -0
  206. package/esm2015/lib/_metronic/core/components/_DrawerComponent.js +288 -0
  207. package/esm2015/lib/_metronic/core/components/_ScrollComponent.js +252 -0
  208. package/esm2015/lib/_metronic/core/components/_ScrollTopComponent.js +113 -0
  209. package/esm2015/lib/_metronic/core/components/_ToggleComponent.js +159 -0
  210. package/esm2015/lib/_metronic/core/services/layout-init.service.js +155 -0
  211. package/esm2015/lib/_metronic/core/services/layout.service.js +150 -0
  212. package/esm2015/lib/_metronic/core/services/page-info.service.js +118 -0
  213. package/esm2015/lib/masterlayout-routing.module.js +200 -0
  214. package/esm2015/lib/masterlayout.component.js +133 -0
  215. package/esm2015/lib/masterlayout.module.js +164 -0
  216. package/esm2015/public-api.js +42 -0
  217. package/fesm2015/bnsights-bbsf-admin-portal.js +31198 -0
  218. package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -0
  219. package/lib/Pages/ActiveDirectories/active-directories.component.d.ts +8 -0
  220. package/lib/Pages/ActiveDirectories/active-directory/active-directory.component.d.ts +78 -0
  221. package/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.d.ts +71 -0
  222. package/lib/Pages/ActiveDirectories/active-directory-routing.module.d.ts +7 -0
  223. package/lib/Pages/ActiveDirectories/active-directory.module.d.ts +23 -0
  224. package/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.d.ts +13 -0
  225. package/lib/Pages/_layout/components/aside/aside.component.d.ts +21 -0
  226. package/lib/Pages/_layout/components/content/content.component.d.ts +13 -0
  227. package/lib/Pages/_layout/components/footer/footer.component.d.ts +12 -0
  228. package/lib/Pages/_layout/components/header/header.component.d.ts +24 -0
  229. package/lib/Pages/_layout/components/header/page-title/page-title.component.d.ts +22 -0
  230. package/lib/Pages/_layout/components/scripts-init/scripts-init.component.d.ts +18 -0
  231. package/lib/Pages/_layout/components/subheader/subheader.component.d.ts +17 -0
  232. package/lib/Pages/_layout/components/subheader/subheader.module.d.ts +9 -0
  233. package/lib/Pages/_layout/components/toolbar/toolbar.component.d.ts +17 -0
  234. package/lib/Pages/_layout/components/toolbar/toolbar.module.d.ts +10 -0
  235. package/lib/Pages/_layout/components/topbar/topbar.component.d.ts +40 -0
  236. package/lib/Pages/account/account-routing.module.d.ts +7 -0
  237. package/lib/Pages/account/account.component.d.ts +8 -0
  238. package/lib/Pages/account/account.module.d.ts +14 -0
  239. package/lib/Pages/account/login/login.component.d.ts +12 -0
  240. package/lib/Pages/account/register/register.component.d.ts +21 -0
  241. package/lib/Pages/authentication/auth-callback/auth-callback.component.d.ts +14 -0
  242. package/lib/Pages/authentication/authentication-routing.module.d.ts +7 -0
  243. package/lib/Pages/authentication/authentication.component.d.ts +8 -0
  244. package/lib/Pages/authentication/authentication.module.d.ts +12 -0
  245. package/lib/Pages/configurations/configuration/configuration.component.d.ts +113 -0
  246. package/lib/Pages/configurations/configurations-routing.module.d.ts +7 -0
  247. package/lib/Pages/configurations/configurations.component.d.ts +8 -0
  248. package/lib/Pages/configurations/configurations.module.d.ts +22 -0
  249. package/lib/Pages/core/auth.module.d.ts +8 -0
  250. package/lib/Pages/core/authentication/auth.guard.d.ts +12 -0
  251. package/lib/Pages/core/authentication/auth.service.d.ts +35 -0
  252. package/lib/Pages/core/core.module.d.ts +7 -0
  253. package/lib/Pages/departments/department/department.component.d.ts +63 -0
  254. package/lib/Pages/departments/department-info/department-info.component.d.ts +58 -0
  255. package/lib/Pages/departments/departments-routing.module.d.ts +7 -0
  256. package/lib/Pages/departments/departments.component.d.ts +8 -0
  257. package/lib/Pages/departments/departments.module.d.ts +21 -0
  258. package/lib/Pages/empty-data/empty-data.component.d.ts +14 -0
  259. package/lib/Pages/empty-data/empty-data.module.d.ts +8 -0
  260. package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +69 -0
  261. package/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.d.ts +23 -0
  262. package/lib/Pages/helpCenter/help-center-routing.module.d.ts +7 -0
  263. package/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.d.ts +70 -0
  264. package/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.d.ts +71 -0
  265. package/lib/Pages/helpCenter/help-center.module.d.ts +25 -0
  266. package/lib/Pages/helpCenter/help-centers.component.d.ts +8 -0
  267. package/lib/Pages/home/filter-pipe.d.ts +7 -0
  268. package/lib/Pages/home/home.component.d.ts +19 -0
  269. package/lib/Pages/home/home.module.d.ts +14 -0
  270. package/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.d.ts +87 -0
  271. package/lib/Pages/impersonation-rules/impersonation-rules.module.d.ts +19 -0
  272. package/lib/Pages/jobs/jobs/jobs.component.d.ts +84 -0
  273. package/lib/Pages/jobs/jobs.module.d.ts +17 -0
  274. package/lib/Pages/license/license/license.component.d.ts +53 -0
  275. package/lib/Pages/license/license.module.d.ts +15 -0
  276. package/lib/Pages/localizations/localizations.component.d.ts +96 -0
  277. package/lib/Pages/localizations/localizations.module.d.ts +17 -0
  278. package/lib/Pages/logs/log/log.component.d.ts +38 -0
  279. package/lib/Pages/logs/logs-routing.module.d.ts +7 -0
  280. package/lib/Pages/logs/logs.component.d.ts +8 -0
  281. package/lib/Pages/logs/logs.module.d.ts +20 -0
  282. package/lib/Pages/lookups/lookup/lookup.component.d.ts +81 -0
  283. package/lib/Pages/lookups/lookup-group/lookup-group.component.d.ts +62 -0
  284. package/lib/Pages/lookups/lookup-item/lookup-item.component.d.ts +82 -0
  285. package/lib/Pages/lookups/lookups-routing.module.d.ts +7 -0
  286. package/lib/Pages/lookups/lookups.component.d.ts +8 -0
  287. package/lib/Pages/lookups/lookups.module.d.ts +24 -0
  288. package/lib/Pages/notifications/add/add.component.d.ts +31 -0
  289. package/lib/Pages/notifications/edit/edit.component.d.ts +36 -0
  290. package/lib/Pages/notifications/edit-email/edit-email.component.d.ts +46 -0
  291. package/lib/Pages/notifications/edit-sms/edit-sms.component.d.ts +39 -0
  292. package/lib/Pages/notifications/edit-template/edit-template.component.d.ts +35 -0
  293. package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +54 -0
  294. package/lib/Pages/notifications/notifications-routing.module.d.ts +7 -0
  295. package/lib/Pages/notifications/notifications.component.d.ts +8 -0
  296. package/lib/Pages/notifications/notifications.module.d.ts +29 -0
  297. package/lib/Pages/notifications/template-info/template-info.component.d.ts +85 -0
  298. package/lib/Pages/notifications/templates/templates.component.d.ts +95 -0
  299. package/lib/Pages/providers/provider/provider.component.d.ts +96 -0
  300. package/lib/Pages/providers/providers-routing.module.d.ts +7 -0
  301. package/lib/Pages/providers/providers.component.d.ts +8 -0
  302. package/lib/Pages/providers/providers.module.d.ts +21 -0
  303. package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +76 -0
  304. package/lib/Pages/publicHolidays/public-holidays-routing.module.d.ts +7 -0
  305. package/lib/Pages/publicHolidays/public-holidays.component.d.ts +8 -0
  306. package/lib/Pages/publicHolidays/public-holidays.module.d.ts +21 -0
  307. package/lib/Pages/roles/permission-set-info/permission-set-info.component.d.ts +60 -0
  308. package/lib/Pages/roles/permissions/permissions.component.d.ts +71 -0
  309. package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +72 -0
  310. package/lib/Pages/roles/roles-routing.module.d.ts +7 -0
  311. package/lib/Pages/roles/roles.component.d.ts +8 -0
  312. package/lib/Pages/roles/roles.module.d.ts +24 -0
  313. package/lib/Pages/sectors/department-info/department-info.component.d.ts +67 -0
  314. package/lib/Pages/sectors/sector/sector.component.d.ts +63 -0
  315. package/lib/Pages/sectors/sector-info/sector-info.component.d.ts +67 -0
  316. package/lib/Pages/sectors/sectors-routing.module.d.ts +7 -0
  317. package/lib/Pages/sectors/sectors.component.d.ts +8 -0
  318. package/lib/Pages/sectors/sectors.module.d.ts +23 -0
  319. package/lib/Pages/shared/Services/ActiveDirectoryService.service.d.ts +18 -0
  320. package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +18 -0
  321. package/lib/Pages/shared/Services/DepartmentService.service.d.ts +18 -0
  322. package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +15 -0
  323. package/lib/Pages/shared/Services/ErrorService.service.d.ts +8 -0
  324. package/lib/Pages/shared/Services/GlobalErrorHandler.service.d.ts +10 -0
  325. package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +17 -0
  326. package/lib/Pages/shared/Services/HttpErrorInterceptor.service.d.ts +12 -0
  327. package/lib/Pages/shared/Services/ImpersonationRuleService.service.d.ts +15 -0
  328. package/lib/Pages/shared/Services/JobsService.service.d.ts +10 -0
  329. package/lib/Pages/shared/Services/LicenseService.service.d.ts +12 -0
  330. package/lib/Pages/shared/Services/LogsService.d.ts +10 -0
  331. package/lib/Pages/shared/Services/LookupGroupsService.service.d.ts +14 -0
  332. package/lib/Pages/shared/Services/LookupService.service.d.ts +22 -0
  333. package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +18 -0
  334. package/lib/Pages/shared/Services/PermissionsService.service.d.ts +16 -0
  335. package/lib/Pages/shared/Services/PublicHolidayService.service.d.ts +16 -0
  336. package/lib/Pages/shared/Services/SectorService.service.d.ts +18 -0
  337. package/lib/Pages/shared/Services/TemplateService.service.d.ts +33 -0
  338. package/lib/Pages/shared/Services/WorkflowActivityService.service.d.ts +13 -0
  339. package/lib/Pages/shared/Services/WorkflowService.service.d.ts +13 -0
  340. package/lib/Pages/shared/Services/WorkflowVariablesService.service.d.ts +14 -0
  341. package/lib/Pages/shared/Services/data.service.d.ts +9 -0
  342. package/lib/Pages/shared/Services/injectionModuleService.service.d.ts +48 -0
  343. package/lib/Pages/shared/Services/localizationsService.service .d.ts +23 -0
  344. package/lib/Pages/shared/Services/provider.service.d.ts +21 -0
  345. package/lib/Pages/shared/Services/userService.service.d.ts +25 -0
  346. package/lib/Pages/shared/base.service.d.ts +4 -0
  347. package/lib/Pages/shared/config/environment.d.ts +1 -0
  348. package/lib/Pages/shared/filter/filter.component.d.ts +8 -0
  349. package/lib/Pages/shared/models/ADModels/ADMappingModel.d.ts +6 -0
  350. package/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.d.ts +21 -0
  351. package/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.d.ts +30 -0
  352. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +11 -0
  353. package/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.d.ts +4 -0
  354. package/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.d.ts +19 -0
  355. package/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.d.ts +11 -0
  356. package/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.d.ts +15 -0
  357. package/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.d.ts +5 -0
  358. package/lib/Pages/shared/models/JobModels/JobCountsModel.d.ts +8 -0
  359. package/lib/Pages/shared/models/LicenseModel/LicenseModel.d.ts +5 -0
  360. package/lib/Pages/shared/models/LocalizationModels/EditResourceModel.d.ts +8 -0
  361. package/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.d.ts +5 -0
  362. package/lib/Pages/shared/models/Lookups/LookupGroupModel.d.ts +6 -0
  363. package/lib/Pages/shared/models/Lookups/LookupItem.d.ts +14 -0
  364. package/lib/Pages/shared/models/Lookups/LookupModel.d.ts +14 -0
  365. package/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.d.ts +10 -0
  366. package/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.d.ts +15 -0
  367. package/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.d.ts +9 -0
  368. package/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.d.ts +9 -0
  369. package/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.d.ts +9 -0
  370. package/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.d.ts +8 -0
  371. package/lib/Pages/shared/models/NotificationsModels/TemplateDTO.d.ts +23 -0
  372. package/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.d.ts +12 -0
  373. package/lib/Pages/shared/models/PermissionsModels/PermissionModel.d.ts +8 -0
  374. package/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.d.ts +9 -0
  375. package/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.d.ts +4 -0
  376. package/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.d.ts +6 -0
  377. package/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.d.ts +7 -0
  378. package/lib/Pages/shared/models/ProviderModels/ProviderModel.d.ts +13 -0
  379. package/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.d.ts +16 -0
  380. package/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.d.ts +4 -0
  381. package/lib/Pages/shared/models/SectorModels/SectorModel.d.ts +7 -0
  382. package/lib/Pages/shared/models/UserModels/AddUserModel.d.ts +27 -0
  383. package/lib/Pages/shared/models/UserModels/DropdownsResponseModel.d.ts +8 -0
  384. package/lib/Pages/shared/models/UserModels/EditUserModel.d.ts +19 -0
  385. package/lib/Pages/shared/models/UserModels/UserSearchParamDTO.d.ts +8 -0
  386. package/lib/Pages/shared/models/UserModels/UsersIDRequestModel.d.ts +3 -0
  387. package/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.d.ts +10 -0
  388. package/lib/Pages/shared/models/WorkflowModels/WFActivityModel.d.ts +41 -0
  389. package/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.d.ts +13 -0
  390. package/lib/Pages/shared/models/WorkflowModels/WFCreationModel.d.ts +12 -0
  391. package/lib/Pages/shared/models/WorkflowModels/WFVariableModel.d.ts +23 -0
  392. package/lib/Pages/shared/models/user.registration.d.ts +6 -0
  393. package/lib/Pages/shared/shared.module.d.ts +7 -0
  394. package/lib/Pages/shared/stylesbundle.service.d.ts +9 -0
  395. package/lib/Pages/start/index/index.component.d.ts +15 -0
  396. package/lib/Pages/start/start-routing.module.d.ts +7 -0
  397. package/lib/Pages/start/start.module.d.ts +11 -0
  398. package/lib/Pages/users/users.component.d.ts +143 -0
  399. package/lib/Pages/users/users.module.d.ts +18 -0
  400. package/lib/Pages/workflows/tabs/tabs.component.d.ts +136 -0
  401. package/lib/Pages/workflows/workflow/workflow.component.d.ts +59 -0
  402. package/lib/Pages/workflows/workflows-routing.module.d.ts +7 -0
  403. package/lib/Pages/workflows/workflows.component.d.ts +8 -0
  404. package/lib/Pages/workflows/workflows.module.d.ts +23 -0
  405. package/lib/_metronic/configs/default-layout.config.d.ts +139 -0
  406. package/lib/_metronic/core/_utils/DomHelpers.d.ts +29 -0
  407. package/lib/_metronic/core/_utils/ElementAnimateUtil.d.ts +10 -0
  408. package/lib/_metronic/core/_utils/EventHandlerUtil.d.ts +20 -0
  409. package/lib/_metronic/core/_utils/_DOMEventHandlerUtil.d.ts +6 -0
  410. package/lib/_metronic/core/_utils/_DataUtil.d.ts +8 -0
  411. package/lib/_metronic/core/_utils/_ElementStyleUtil.d.ts +5 -0
  412. package/lib/_metronic/core/_utils/_TypesHelpers.d.ts +10 -0
  413. package/lib/_metronic/core/_utils/models/OffsetModel.d.ts +4 -0
  414. package/lib/_metronic/core/_utils/models/ViewPortModel.d.ts +4 -0
  415. package/lib/_metronic/core/components/MenuComponent.d.ts +88 -0
  416. package/lib/_metronic/core/components/_CookieComponent.d.ts +25 -0
  417. package/lib/_metronic/core/components/_DrawerComponent.d.ts +49 -0
  418. package/lib/_metronic/core/components/_ScrollComponent.d.ts +31 -0
  419. package/lib/_metronic/core/components/_ScrollTopComponent.d.ts +24 -0
  420. package/lib/_metronic/core/components/_ToggleComponent.d.ts +36 -0
  421. package/lib/_metronic/core/services/layout-init.service.d.ts +18 -0
  422. package/lib/_metronic/core/services/layout.service.d.ts +38 -0
  423. package/lib/_metronic/core/services/page-info.service.d.ts +32 -0
  424. package/lib/masterlayout-routing.module.d.ts +13 -0
  425. package/lib/masterlayout.component.d.ts +64 -0
  426. package/lib/masterlayout.module.d.ts +35 -0
  427. package/package.json +76 -0
  428. package/public-api.d.ts +34 -0
  429. package/src/lib/assets/fonts/ArbFONTS-Droid Arabic Kufi Bold.ttf +0 -0
  430. package/src/lib/assets/fonts/ArbFONTS-Droid Arabic Kufi.ttf +0 -0
  431. package/src/lib/assets/images/FileExplorer.svg +1 -0
  432. package/src/lib/assets/images/HelpCenter.svg +1 -0
  433. package/src/lib/assets/images/KPIs.svg +15 -0
  434. package/src/lib/assets/images/Role.svg +13 -0
  435. package/src/lib/assets/images/SMSTemplate_Background.png +0 -0
  436. package/src/lib/assets/images/ServiceProvider.svg +5 -0
  437. package/src/lib/assets/images/WF.svg +10 -0
  438. package/src/lib/assets/images/abs015.svg +4 -0
  439. package/src/lib/assets/images/active_directory.svg +55 -0
  440. package/src/lib/assets/images/archive.svg +1 -0
  441. package/src/lib/assets/images/arr061.svg +5 -0
  442. package/src/lib/assets/images/arr063.svg +4 -0
  443. package/src/lib/assets/images/arr064.svg +4 -0
  444. package/src/lib/assets/images/assessment.svg +1 -0
  445. package/src/lib/assets/images/bg-1.jpg +0 -0
  446. package/src/lib/assets/images/bnsights-logo.svg +1 -0
  447. package/src/lib/assets/images/bnsightsLoginLogo.png +0 -0
  448. package/src/lib/assets/images/calendar.svg +1 -0
  449. package/src/lib/assets/images/checkbox.svg +1 -0
  450. package/src/lib/assets/images/configuration.svg +5 -0
  451. package/src/lib/assets/images/cycle.svg +55 -0
  452. package/src/lib/assets/images/dashboard.svg +50 -0
  453. package/src/lib/assets/images/document.svg +51 -0
  454. package/src/lib/assets/images/down-arrow.svg +52 -0
  455. package/src/lib/assets/images/file.svg +1 -0
  456. package/src/lib/assets/images/gen021.svg +4 -0
  457. package/src/lib/assets/images/gen044.svg +5 -0
  458. package/src/lib/assets/images/header-bg-dark.svg +6 -0
  459. package/src/lib/assets/images/home.svg +52 -0
  460. package/src/lib/assets/images/html.svg +1 -0
  461. package/src/lib/assets/images/imagenotfound.png +0 -0
  462. package/src/lib/assets/images/jobs.svg +4 -0
  463. package/src/lib/assets/images/landing-page.svg +1 -0
  464. package/src/lib/assets/images/license.svg +8 -0
  465. package/src/lib/assets/images/localization.svg +91 -0
  466. package/src/lib/assets/images/logs.svg +43 -0
  467. package/src/lib/assets/images/lookups.svg +47 -0
  468. package/src/lib/assets/images/map.svg +78 -0
  469. package/src/lib/assets/images/master-data.svg +54 -0
  470. package/src/lib/assets/images/menu/Briefcase.svg +12 -0
  471. package/src/lib/assets/images/menu/Department.svg +12 -0
  472. package/src/lib/assets/images/menu/File.svg +13 -0
  473. package/src/lib/assets/images/menu/Folder.svg +11 -0
  474. package/src/lib/assets/images/menu/HelpCenter.svg +13 -0
  475. package/src/lib/assets/images/menu/Home.svg +11 -0
  476. package/src/lib/assets/images/menu/Impersonation.svg +12 -0
  477. package/src/lib/assets/images/menu/License.svg +11 -0
  478. package/src/lib/assets/images/menu/Localization.svg +12 -0
  479. package/src/lib/assets/images/menu/Lock.svg +16 -0
  480. package/src/lib/assets/images/menu/Locked-folder.svg +12 -0
  481. package/src/lib/assets/images/menu/Lookup-group.svg +12 -0
  482. package/src/lib/assets/images/menu/Lookups.svg +12 -0
  483. package/src/lib/assets/images/menu/Mail.svg +12 -0
  484. package/src/lib/assets/images/menu/Notifications.svg +11 -0
  485. package/src/lib/assets/images/menu/PublicHolidays.svg +12 -0
  486. package/src/lib/assets/images/menu/Roles.svg +13 -0
  487. package/src/lib/assets/images/menu/Sectors.svg +12 -0
  488. package/src/lib/assets/images/menu/ServiceProvider.svg +12 -0
  489. package/src/lib/assets/images/menu/Templates.svg +12 -0
  490. package/src/lib/assets/images/menu/Tools.svg +12 -0
  491. package/src/lib/assets/images/menu/Workflows.svg +12 -0
  492. package/src/lib/assets/images/menu/arr079.svg +4 -0
  493. package/src/lib/assets/images/menu/user.svg +12 -0
  494. package/src/lib/assets/images/menu-header-dark.png +0 -0
  495. package/src/lib/assets/images/monitoring.svg +1 -0
  496. package/src/lib/assets/images/noimage.png +0 -0
  497. package/src/lib/assets/images/notifications.svg +61 -0
  498. package/src/lib/assets/images/photo.svg +51 -0
  499. package/src/lib/assets/images/public-holidays.svg +68 -0
  500. package/src/lib/assets/images/radio-button.svg +1 -0
  501. package/src/lib/assets/images/sector.svg +112 -0
  502. package/src/lib/assets/images/service-providers.svg +1 -0
  503. package/src/lib/assets/images/settings.svg +130 -0
  504. package/src/lib/assets/images/share-post.svg +1 -0
  505. package/src/lib/assets/images/submissions.svg +1 -0
  506. package/src/lib/assets/images/support.svg +1 -0
  507. package/src/lib/assets/images/svg/avatars/001-boy.svg +94 -0
  508. package/src/lib/assets/images/svg/avatars/002-girl.svg +139 -0
  509. package/src/lib/assets/images/svg/avatars/003-girl-1.svg +109 -0
  510. package/src/lib/assets/images/svg/avatars/004-boy-1.svg +109 -0
  511. package/src/lib/assets/images/svg/avatars/005-girl-2.svg +153 -0
  512. package/src/lib/assets/images/svg/avatars/006-girl-3.svg +120 -0
  513. package/src/lib/assets/images/svg/avatars/007-boy-2.svg +128 -0
  514. package/src/lib/assets/images/svg/avatars/008-boy-3.svg +106 -0
  515. package/src/lib/assets/images/svg/avatars/009-boy-4.svg +81 -0
  516. package/src/lib/assets/images/svg/avatars/010-girl-4.svg +107 -0
  517. package/src/lib/assets/images/svg/avatars/011-boy-5.svg +94 -0
  518. package/src/lib/assets/images/svg/avatars/012-girl-5.svg +114 -0
  519. package/src/lib/assets/images/svg/avatars/013-girl-6.svg +112 -0
  520. package/src/lib/assets/images/svg/avatars/014-girl-7.svg +89 -0
  521. package/src/lib/assets/images/svg/avatars/015-boy-6.svg +98 -0
  522. package/src/lib/assets/images/svg/avatars/016-boy-7.svg +109 -0
  523. package/src/lib/assets/images/svg/avatars/017-girl-8.svg +99 -0
  524. package/src/lib/assets/images/svg/avatars/018-girl-9.svg +92 -0
  525. package/src/lib/assets/images/svg/avatars/019-girl-10.svg +75 -0
  526. package/src/lib/assets/images/svg/avatars/020-girl-11.svg +89 -0
  527. package/src/lib/assets/images/svg/avatars/021-boy-8.svg +110 -0
  528. package/src/lib/assets/images/svg/avatars/022-girl-12.svg +91 -0
  529. package/src/lib/assets/images/svg/avatars/023-girl-13.svg +90 -0
  530. package/src/lib/assets/images/svg/avatars/024-boy-9.svg +123 -0
  531. package/src/lib/assets/images/svg/avatars/025-girl-14.svg +138 -0
  532. package/src/lib/assets/images/svg/avatars/026-boy-10.svg +110 -0
  533. package/src/lib/assets/images/svg/avatars/027-girl-15.svg +152 -0
  534. package/src/lib/assets/images/svg/avatars/028-girl-16.svg +97 -0
  535. package/src/lib/assets/images/svg/avatars/029-boy-11.svg +121 -0
  536. package/src/lib/assets/images/svg/avatars/030-girl-17.svg +115 -0
  537. package/src/lib/assets/images/svg/avatars/031-boy-12.svg +105 -0
  538. package/src/lib/assets/images/svg/avatars/032-boy-13.svg +101 -0
  539. package/src/lib/assets/images/svg/avatars/033-girl-18.svg +95 -0
  540. package/src/lib/assets/images/svg/avatars/034-boy-14.svg +84 -0
  541. package/src/lib/assets/images/svg/avatars/035-boy-15.svg +123 -0
  542. package/src/lib/assets/images/svg/avatars/036-girl-19.svg +119 -0
  543. package/src/lib/assets/images/svg/avatars/037-girl-20.svg +82 -0
  544. package/src/lib/assets/images/svg/avatars/038-boy-16.svg +78 -0
  545. package/src/lib/assets/images/svg/avatars/039-girl-21.svg +101 -0
  546. package/src/lib/assets/images/svg/avatars/040-boy-17.svg +83 -0
  547. package/src/lib/assets/images/svg/avatars/041-girl-22.svg +83 -0
  548. package/src/lib/assets/images/svg/avatars/042-girl-23.svg +86 -0
  549. package/src/lib/assets/images/svg/avatars/043-boy-18.svg +147 -0
  550. package/src/lib/assets/images/svg/avatars/044-boy-19.svg +116 -0
  551. package/src/lib/assets/images/svg/avatars/045-boy-20.svg +92 -0
  552. package/src/lib/assets/images/svg/avatars/046-girl-24.svg +114 -0
  553. package/src/lib/assets/images/svg/avatars/047-girl-25.svg +94 -0
  554. package/src/lib/assets/images/svg/avatars/048-boy-21.svg +91 -0
  555. package/src/lib/assets/images/svg/avatars/049-boy-22.svg +85 -0
  556. package/src/lib/assets/images/svg/avatars/050-girl-26.svg +87 -0
  557. package/src/lib/assets/images/svg/files/css.svg +81 -0
  558. package/src/lib/assets/images/svg/files/csv.svg +71 -0
  559. package/src/lib/assets/images/svg/files/doc.svg +81 -0
  560. package/src/lib/assets/images/svg/files/html.svg +57 -0
  561. package/src/lib/assets/images/svg/files/javascript.svg +74 -0
  562. package/src/lib/assets/images/svg/files/jpg.svg +67 -0
  563. package/src/lib/assets/images/svg/files/mp4.svg +59 -0
  564. package/src/lib/assets/images/svg/files/pdf.svg +69 -0
  565. package/src/lib/assets/images/svg/files/xml.svg +59 -0
  566. package/src/lib/assets/images/svg/files/zip.svg +58 -0
  567. package/src/lib/assets/images/svg/flags/001-austria.svg +40 -0
  568. package/src/lib/assets/images/svg/flags/001-mauritius.svg +38 -0
  569. package/src/lib/assets/images/svg/flags/002-belgium.svg +38 -0
  570. package/src/lib/assets/images/svg/flags/003-austria.svg +39 -0
  571. package/src/lib/assets/images/svg/flags/003-switzerland.svg +40 -0
  572. package/src/lib/assets/images/svg/flags/004-indonesia.svg +37 -0
  573. package/src/lib/assets/images/svg/flags/004-oman.svg +70 -0
  574. package/src/lib/assets/images/svg/flags/005-ethiopia.svg +42 -0
  575. package/src/lib/assets/images/svg/flags/005-portugal.svg +64 -0
  576. package/src/lib/assets/images/svg/flags/006-tanzania.svg +38 -0
  577. package/src/lib/assets/images/svg/flags/006-turkey.svg +46 -0
  578. package/src/lib/assets/images/svg/flags/007-malasya.svg +65 -0
  579. package/src/lib/assets/images/svg/flags/007-nicaragua.svg +82 -0
  580. package/src/lib/assets/images/svg/flags/008-estonia.svg +37 -0
  581. package/src/lib/assets/images/svg/flags/008-saudi-arabia.svg +205 -0
  582. package/src/lib/assets/images/svg/flags/009-australia.svg +94 -0
  583. package/src/lib/assets/images/svg/flags/009-uganda.svg +49 -0
  584. package/src/lib/assets/images/svg/flags/010-india.svg +78 -0
  585. package/src/lib/assets/images/svg/flags/010-slovenia.svg +51 -0
  586. package/src/lib/assets/images/svg/flags/011-brazil.svg +75 -0
  587. package/src/lib/assets/images/svg/flags/011-zimbabwe.svg +50 -0
  588. package/src/lib/assets/images/svg/flags/012-sao-tome-and-prince.svg +41 -0
  589. package/src/lib/assets/images/svg/flags/012-uk.svg +63 -0
  590. package/src/lib/assets/images/svg/flags/013-italy.svg +37 -0
  591. package/src/lib/assets/images/svg/flags/013-russia.svg +38 -0
  592. package/src/lib/assets/images/svg/flags/014-japan.svg +37 -0
  593. package/src/lib/assets/images/svg/flags/014-wales.svg +45 -0
  594. package/src/lib/assets/images/svg/flags/015-china.svg +58 -0
  595. package/src/lib/assets/images/svg/flags/015-el-salvador.svg +115 -0
  596. package/src/lib/assets/images/svg/flags/016-nepal.svg +41 -0
  597. package/src/lib/assets/images/svg/flags/016-spain.svg +107 -0
  598. package/src/lib/assets/images/svg/flags/017-christmas-island.svg +46 -0
  599. package/src/lib/assets/images/svg/flags/017-germany.svg +38 -0
  600. package/src/lib/assets/images/svg/flags/018-lebanon.svg +40 -0
  601. package/src/lib/assets/images/svg/flags/018-south-korea.svg +98 -0
  602. package/src/lib/assets/images/svg/flags/019-ceuta.svg +88 -0
  603. package/src/lib/assets/images/svg/flags/019-france.svg +38 -0
  604. package/src/lib/assets/images/svg/flags/020-flag.svg +171 -0
  605. package/src/lib/assets/images/svg/flags/020-iraq.svg +46 -0
  606. package/src/lib/assets/images/svg/flags/021-cook-islands.svg +76 -0
  607. package/src/lib/assets/images/svg/flags/021-mexico.svg +78 -0
  608. package/src/lib/assets/images/svg/flags/022-syria.svg +41 -0
  609. package/src/lib/assets/images/svg/flags/023-cocos-island.svg +46 -0
  610. package/src/lib/assets/images/svg/flags/024-honduras.svg +46 -0
  611. package/src/lib/assets/images/svg/flags/025-anguilla.svg +66 -0
  612. package/src/lib/assets/images/svg/flags/026-qatar.svg +36 -0
  613. package/src/lib/assets/images/svg/flags/027-american-samoa.svg +53 -0
  614. package/src/lib/assets/images/svg/flags/028-puerto-rico.svg +43 -0
  615. package/src/lib/assets/images/svg/flags/029-comoros.svg +46 -0
  616. package/src/lib/assets/images/svg/flags/030-north-korea.svg +42 -0
  617. package/src/lib/assets/images/svg/flags/031-corsica.svg +36 -0
  618. package/src/lib/assets/images/svg/flags/032-zambia.svg +42 -0
  619. package/src/lib/assets/images/svg/flags/033-saint-kitts-and-nevis.svg +45 -0
  620. package/src/lib/assets/images/svg/flags/034-china.svg +42 -0
  621. package/src/lib/assets/images/svg/flags/035-luxembourg.svg +37 -0
  622. package/src/lib/assets/images/svg/flags/036-central-african-republic.svg +40 -0
  623. package/src/lib/assets/images/svg/flags/037-jamaica.svg +40 -0
  624. package/src/lib/assets/images/svg/flags/038-cape-verde.svg +52 -0
  625. package/src/lib/assets/images/svg/flags/039-monaco.svg +36 -0
  626. package/src/lib/assets/images/svg/flags/040-bhutan.svg +69 -0
  627. package/src/lib/assets/images/svg/flags/041-paraguay.svg +41 -0
  628. package/src/lib/assets/images/svg/flags/042-aruba.svg +41 -0
  629. package/src/lib/assets/images/svg/flags/043-montserrat.svg +82 -0
  630. package/src/lib/assets/images/svg/flags/044-latvia.svg +36 -0
  631. package/src/lib/assets/images/svg/flags/045-andorra.svg +99 -0
  632. package/src/lib/assets/images/svg/flags/046-micronesia.svg +41 -0
  633. package/src/lib/assets/images/svg/flags/047-dominican-republic.svg +103 -0
  634. package/src/lib/assets/images/svg/flags/048-abkhazia.svg +52 -0
  635. package/src/lib/assets/images/svg/flags/049-tunisia.svg +40 -0
  636. package/src/lib/assets/images/svg/flags/050-mauritania.svg +39 -0
  637. package/src/lib/assets/images/svg/flags/051-cayman-islands.svg +146 -0
  638. package/src/lib/assets/images/svg/flags/052-kosovo.svg +44 -0
  639. package/src/lib/assets/images/svg/flags/053-ghana.svg +38 -0
  640. package/src/lib/assets/images/svg/flags/054-canary-islands.svg +67 -0
  641. package/src/lib/assets/images/svg/flags/055-scotland.svg +36 -0
  642. package/src/lib/assets/images/svg/flags/056-guinea-bissau.svg +38 -0
  643. package/src/lib/assets/images/svg/flags/057-burundi.svg +46 -0
  644. package/src/lib/assets/images/svg/flags/058-myanmar.svg +38 -0
  645. package/src/lib/assets/images/svg/flags/059-gabon.svg +37 -0
  646. package/src/lib/assets/images/svg/flags/060-benin.svg +37 -0
  647. package/src/lib/assets/images/svg/flags/061-saba-island.svg +38 -0
  648. package/src/lib/assets/images/svg/flags/062-namibia.svg +45 -0
  649. package/src/lib/assets/images/svg/flags/063-japan.svg +36 -0
  650. package/src/lib/assets/images/svg/flags/064-lithuania.svg +37 -0
  651. package/src/lib/assets/images/svg/flags/065-eritrea.svg +38 -0
  652. package/src/lib/assets/images/svg/flags/066-chad.svg +37 -0
  653. package/src/lib/assets/images/svg/flags/067-kenya.svg +55 -0
  654. package/src/lib/assets/images/svg/flags/068-djibouti.svg +38 -0
  655. package/src/lib/assets/images/svg/flags/069-british-indian-ocean-territory.svg +69 -0
  656. package/src/lib/assets/images/svg/flags/070-tuvalu-1.svg +68 -0
  657. package/src/lib/assets/images/svg/flags/071-serbia.svg +79 -0
  658. package/src/lib/assets/images/svg/flags/072-bonaire.svg +39 -0
  659. package/src/lib/assets/images/svg/flags/073-togo.svg +43 -0
  660. package/src/lib/assets/images/svg/flags/074-kazakhstan.svg +72 -0
  661. package/src/lib/assets/images/svg/flags/075-antigua-and-barbuda.svg +42 -0
  662. package/src/lib/assets/images/svg/flags/076-suriname.svg +41 -0
  663. package/src/lib/assets/images/svg/flags/077-jordan.svg +39 -0
  664. package/src/lib/assets/images/svg/flags/078-belize.svg +195 -0
  665. package/src/lib/assets/images/svg/flags/079-st-barts.svg +72 -0
  666. package/src/lib/assets/images/svg/flags/080-iceland.svg +37 -0
  667. package/src/lib/assets/images/svg/flags/081-bermuda.svg +109 -0
  668. package/src/lib/assets/images/svg/flags/082-united-nations.svg +58 -0
  669. package/src/lib/assets/images/svg/flags/083-somalia.svg +36 -0
  670. package/src/lib/assets/images/svg/flags/084-barbados.svg +38 -0
  671. package/src/lib/assets/images/svg/flags/085-solomon-islands.svg +44 -0
  672. package/src/lib/assets/images/svg/flags/086-nigeria.svg +37 -0
  673. package/src/lib/assets/images/svg/flags/087-aland-islands.svg +37 -0
  674. package/src/lib/assets/images/svg/flags/088-uruguay.svg +76 -0
  675. package/src/lib/assets/images/svg/flags/089-sint-maarten.svg +62 -0
  676. package/src/lib/assets/images/svg/flags/090-burkina-faso.svg +37 -0
  677. package/src/lib/assets/images/svg/flags/091-slovakia.svg +41 -0
  678. package/src/lib/assets/images/svg/flags/092-sierra-leone.svg +37 -0
  679. package/src/lib/assets/images/svg/flags/093-basque-country.svg +37 -0
  680. package/src/lib/assets/images/svg/flags/094-south-korea.svg +57 -0
  681. package/src/lib/assets/images/svg/flags/095-pitcairn-islands.svg +128 -0
  682. package/src/lib/assets/images/svg/flags/096-mozambique.svg +55 -0
  683. package/src/lib/assets/images/svg/flags/097-san-marino.svg +118 -0
  684. package/src/lib/assets/images/svg/flags/098-guatemala.svg +109 -0
  685. package/src/lib/assets/images/svg/flags/099-albania.svg +36 -0
  686. package/src/lib/assets/images/svg/flags/100-pakistan.svg +40 -0
  687. package/src/lib/assets/images/svg/flags/101-northern-cyprus.svg +41 -0
  688. package/src/lib/assets/images/svg/flags/102-balearic-islands.svg +47 -0
  689. package/src/lib/assets/images/svg/flags/103-marshall-island.svg +38 -0
  690. package/src/lib/assets/images/svg/flags/104-ecuador.svg +87 -0
  691. package/src/lib/assets/images/svg/flags/105-cameroon.svg +40 -0
  692. package/src/lib/assets/images/svg/flags/106-panama.svg +41 -0
  693. package/src/lib/assets/images/svg/flags/107-kwait.svg +38 -0
  694. package/src/lib/assets/images/svg/flags/108-armenia.svg +37 -0
  695. package/src/lib/assets/images/svg/flags/109-romania.svg +37 -0
  696. package/src/lib/assets/images/svg/flags/110-guinea.svg +37 -0
  697. package/src/lib/assets/images/svg/flags/111-afghanistan.svg +68 -0
  698. package/src/lib/assets/images/svg/flags/112-laos.svg +40 -0
  699. package/src/lib/assets/images/svg/flags/113-greenland.svg +40 -0
  700. package/src/lib/assets/images/svg/flags/114-british-virgin-islands.svg +96 -0
  701. package/src/lib/assets/images/svg/flags/115-hungary.svg +37 -0
  702. package/src/lib/assets/images/svg/flags/116-curacao.svg +40 -0
  703. package/src/lib/assets/images/svg/flags/117-angola.svg +43 -0
  704. package/src/lib/assets/images/svg/flags/118-malasya.svg +53 -0
  705. package/src/lib/assets/images/svg/flags/119-brunei.svg +47 -0
  706. package/src/lib/assets/images/svg/flags/120-bahamas.svg +40 -0
  707. package/src/lib/assets/images/svg/flags/121-new-zealand.svg +66 -0
  708. package/src/lib/assets/images/svg/flags/123-british-columbia.svg +62 -0
  709. package/src/lib/assets/images/svg/flags/124-vatican-city.svg +96 -0
  710. package/src/lib/assets/images/svg/flags/125-finland.svg +36 -0
  711. package/src/lib/assets/images/svg/flags/126-botswana.svg +40 -0
  712. package/src/lib/assets/images/svg/flags/127-sri-lanka.svg +59 -0
  713. package/src/lib/assets/images/svg/flags/128-spain.svg +89 -0
  714. package/src/lib/assets/images/svg/flags/129-ossetia.svg +37 -0
  715. package/src/lib/assets/images/svg/flags/130-sicily.svg +93 -0
  716. package/src/lib/assets/images/svg/flags/131-chile.svg +38 -0
  717. package/src/lib/assets/images/svg/flags/132-bosnia-and-herzegovina.svg +46 -0
  718. package/src/lib/assets/images/svg/flags/133-saudi-arabia.svg +62 -0
  719. package/src/lib/assets/images/svg/flags/134-liechtenstein.svg +45 -0
  720. package/src/lib/assets/images/svg/flags/135-belarus.svg +38 -0
  721. package/src/lib/assets/images/svg/flags/136-iran.svg +119 -0
  722. package/src/lib/assets/images/svg/flags/137-fiji.svg +99 -0
  723. package/src/lib/assets/images/svg/flags/138-bahrain.svg +36 -0
  724. package/src/lib/assets/images/svg/flags/139-venezuela.svg +49 -0
  725. package/src/lib/assets/images/svg/flags/140-east-timor.svg +38 -0
  726. package/src/lib/assets/images/svg/flags/141-azerbaijan.svg +41 -0
  727. package/src/lib/assets/images/svg/flags/142-tibet.svg +203 -0
  728. package/src/lib/assets/images/svg/flags/143-norway.svg +37 -0
  729. package/src/lib/assets/images/svg/flags/144-algeria.svg +40 -0
  730. package/src/lib/assets/images/svg/flags/145-ukraine.svg +36 -0
  731. package/src/lib/assets/images/svg/flags/146-gambia.svg +41 -0
  732. package/src/lib/assets/images/svg/flags/147-bangladesh.svg +36 -0
  733. package/src/lib/assets/images/svg/flags/148-madeira.svg +39 -0
  734. package/src/lib/assets/images/svg/flags/149-czech-republic.svg +37 -0
  735. package/src/lib/assets/images/svg/flags/150-bolivia.svg +101 -0
  736. package/src/lib/assets/images/svg/flags/151-united-arab-emirates.svg +38 -0
  737. package/src/lib/assets/images/svg/flags/152-kyrgyzstan.svg +54 -0
  738. package/src/lib/assets/images/svg/flags/153-cuba.svg +43 -0
  739. package/src/lib/assets/images/svg/flags/154-swaziland.svg +94 -0
  740. package/src/lib/assets/images/svg/flags/155-israel.svg +37 -0
  741. package/src/lib/assets/images/svg/flags/156-costa-rica.svg +111 -0
  742. package/src/lib/assets/images/svg/flags/157-republic-of-the-congo.svg +37 -0
  743. package/src/lib/assets/images/svg/flags/158-egypt.svg +38 -0
  744. package/src/lib/assets/images/svg/flags/159-cambodia.svg +37 -0
  745. package/src/lib/assets/images/svg/flags/160-northern-marianas-islands.svg +60 -0
  746. package/src/lib/assets/images/svg/flags/161-ivory-coast.svg +37 -0
  747. package/src/lib/assets/images/svg/flags/162-germany.svg +37 -0
  748. package/src/lib/assets/images/svg/flags/163-papua-new-guinea.svg +44 -0
  749. package/src/lib/assets/images/svg/flags/164-croatia.svg +101 -0
  750. package/src/lib/assets/images/svg/flags/165-belgium.svg +37 -0
  751. package/src/lib/assets/images/svg/flags/166-morocco.svg +36 -0
  752. package/src/lib/assets/images/svg/flags/167-macao.svg +50 -0
  753. package/src/lib/assets/images/svg/flags/168-bulgaria.svg +37 -0
  754. package/src/lib/assets/images/svg/flags/169-liberia.svg +47 -0
  755. package/src/lib/assets/images/svg/flags/170-greece.svg +46 -0
  756. package/src/lib/assets/images/svg/flags/171-galapagos-islands.svg +37 -0
  757. package/src/lib/assets/images/svg/flags/172-st-lucia.svg +38 -0
  758. package/src/lib/assets/images/svg/flags/173-mali.svg +37 -0
  759. package/src/lib/assets/images/svg/flags/174-denmark.svg +36 -0
  760. package/src/lib/assets/images/svg/flags/175-rapa-nui.svg +36 -0
  761. package/src/lib/assets/images/svg/flags/176-lesotho.svg +38 -0
  762. package/src/lib/assets/images/svg/flags/177-colombia.svg +37 -0
  763. package/src/lib/assets/images/svg/flags/178-palau.svg +36 -0
  764. package/src/lib/assets/images/svg/flags/179-ireland.svg +37 -0
  765. package/src/lib/assets/images/svg/flags/180-french-polynesia.svg +63 -0
  766. package/src/lib/assets/images/svg/flags/181-trinidad-and-tobago.svg +40 -0
  767. package/src/lib/assets/images/svg/flags/182-niue.svg +66 -0
  768. package/src/lib/assets/images/svg/flags/183-hong-kong.svg +42 -0
  769. package/src/lib/assets/images/svg/flags/184-sweden.svg +36 -0
  770. package/src/lib/assets/images/svg/flags/185-haiti.svg +36 -0
  771. package/src/lib/assets/images/svg/flags/186-dominica.svg +67 -0
  772. package/src/lib/assets/images/svg/flags/187-vanuatu.svg +42 -0
  773. package/src/lib/assets/images/svg/flags/188-peru.svg +37 -0
  774. package/src/lib/assets/images/svg/flags/189-equatorial-guinea.svg +50 -0
  775. package/src/lib/assets/images/svg/flags/190-uzbekistn.svg +58 -0
  776. package/src/lib/assets/images/svg/flags/191-tonga.svg +37 -0
  777. package/src/lib/assets/images/svg/flags/192-philippines.svg +51 -0
  778. package/src/lib/assets/images/svg/flags/193-norfolk-island.svg +40 -0
  779. package/src/lib/assets/images/svg/flags/194-malta.svg +50 -0
  780. package/src/lib/assets/images/svg/flags/195-france.svg +37 -0
  781. package/src/lib/assets/images/svg/flags/196-tajikistan.svg +51 -0
  782. package/src/lib/assets/images/svg/flags/197-melilla.svg +139 -0
  783. package/src/lib/assets/images/svg/flags/198-argentina.svg +41 -0
  784. package/src/lib/assets/images/svg/flags/199-sudan.svg +38 -0
  785. package/src/lib/assets/images/svg/flags/200-south-africa.svg +41 -0
  786. package/src/lib/assets/images/svg/flags/201-martinique.svg +42 -0
  787. package/src/lib/assets/images/svg/flags/202-taiwan.svg +43 -0
  788. package/src/lib/assets/images/svg/flags/203-sahrawi-arab-democratic-republic.svg +42 -0
  789. package/src/lib/assets/images/svg/flags/204-guernsey.svg +40 -0
  790. package/src/lib/assets/images/svg/flags/205-switzerland.svg +36 -0
  791. package/src/lib/assets/images/svg/flags/206-rwanda.svg +44 -0
  792. package/src/lib/assets/images/svg/flags/207-guam.svg +49 -0
  793. package/src/lib/assets/images/svg/flags/208-palestine.svg +38 -0
  794. package/src/lib/assets/images/svg/flags/209-indonesia.svg +36 -0
  795. package/src/lib/assets/images/svg/flags/210-grenada.svg +52 -0
  796. package/src/lib/assets/images/svg/flags/211-poland.svg +36 -0
  797. package/src/lib/assets/images/svg/flags/212-moldova.svg +89 -0
  798. package/src/lib/assets/images/svg/flags/213-gibraltar.svg +48 -0
  799. package/src/lib/assets/images/svg/flags/214-malawi.svg +63 -0
  800. package/src/lib/assets/images/svg/flags/215-falkland-islands.svg +94 -0
  801. package/src/lib/assets/images/svg/flags/216-england.svg +36 -0
  802. package/src/lib/assets/images/svg/flags/217-virgin-islands.svg +61 -0
  803. package/src/lib/assets/images/svg/flags/218-turkey.svg +39 -0
  804. package/src/lib/assets/images/svg/flags/219-isle-of-man.svg +101 -0
  805. package/src/lib/assets/images/svg/flags/220-vietnam.svg +36 -0
  806. package/src/lib/assets/images/svg/flags/221-tuvalu.svg +69 -0
  807. package/src/lib/assets/images/svg/flags/222-niger.svg +38 -0
  808. package/src/lib/assets/images/svg/flags/223-turks-and-caicos.svg +69 -0
  809. package/src/lib/assets/images/svg/flags/224-portugal.svg +55 -0
  810. package/src/lib/assets/images/svg/flags/225-maldives.svg +37 -0
  811. package/src/lib/assets/images/svg/flags/226-united-states.svg +88 -0
  812. package/src/lib/assets/images/svg/flags/227-senegal.svg +38 -0
  813. package/src/lib/assets/images/svg/flags/228-nauru.svg +37 -0
  814. package/src/lib/assets/images/svg/flags/229-turkmenistan.svg +91 -0
  815. package/src/lib/assets/images/svg/flags/230-singapore.svg +44 -0
  816. package/src/lib/assets/images/svg/flags/231-libya.svg +41 -0
  817. package/src/lib/assets/images/svg/flags/232-yemen.svg +37 -0
  818. package/src/lib/assets/images/svg/flags/233-transnistria.svg +36 -0
  819. package/src/lib/assets/images/svg/flags/234-australia.svg +66 -0
  820. package/src/lib/assets/images/svg/flags/235-tokelau.svg +45 -0
  821. package/src/lib/assets/images/svg/flags/236-republic-of-macedonia.svg +50 -0
  822. package/src/lib/assets/images/svg/flags/237-netherlands.svg +37 -0
  823. package/src/lib/assets/images/svg/flags/238-thailand.svg +40 -0
  824. package/src/lib/assets/images/svg/flags/239-montenegro.svg +49 -0
  825. package/src/lib/assets/images/svg/flags/240-azores-islands.svg +66 -0
  826. package/src/lib/assets/images/svg/flags/241-st-vincent-and-the-grenadines.svg +42 -0
  827. package/src/lib/assets/images/svg/flags/242-madagascar.svg +37 -0
  828. package/src/lib/assets/images/svg/flags/243-canada.svg +43 -0
  829. package/src/lib/assets/images/svg/flags/244-south-sudan.svg +44 -0
  830. package/src/lib/assets/images/svg/flags/245-jersey.svg +89 -0
  831. package/src/lib/assets/images/svg/flags/246-india.svg +59 -0
  832. package/src/lib/assets/images/svg/flags/247-somaliland.svg +64 -0
  833. package/src/lib/assets/images/svg/flags/248-russia.svg +37 -0
  834. package/src/lib/assets/images/svg/flags/249-democratic-republic-of-congo.svg +41 -0
  835. package/src/lib/assets/images/svg/flags/250-sint-eustatius.svg +39 -0
  836. package/src/lib/assets/images/svg/flags/251-samoa.svg +43 -0
  837. package/src/lib/assets/images/svg/flags/252-mexico.svg +60 -0
  838. package/src/lib/assets/images/svg/flags/253-seychelles.svg +39 -0
  839. package/src/lib/assets/images/svg/flags/254-nato.svg +42 -0
  840. package/src/lib/assets/images/svg/flags/255-brazil.svg +51 -0
  841. package/src/lib/assets/images/svg/flags/256-georgia.svg +42 -0
  842. package/src/lib/assets/images/svg/flags/257-sardinia.svg +42 -0
  843. package/src/lib/assets/images/svg/flags/258-mongolia.svg +50 -0
  844. package/src/lib/assets/images/svg/flags/259-european-union.svg +49 -0
  845. package/src/lib/assets/images/svg/flags/260-united-kingdom.svg +57 -0
  846. package/src/lib/assets/images/svg/flags/261-kiribati.svg +49 -0
  847. package/src/lib/assets/images/svg/flags/262-hawaii.svg +65 -0
  848. package/src/lib/assets/images/svg/humans/custom-1.svg +10 -0
  849. package/src/lib/assets/images/svg/humans/custom-10.svg +29 -0
  850. package/src/lib/assets/images/svg/humans/custom-11.svg +29 -0
  851. package/src/lib/assets/images/svg/humans/custom-12.svg +25 -0
  852. package/src/lib/assets/images/svg/humans/custom-13.svg +13 -0
  853. package/src/lib/assets/images/svg/humans/custom-2.svg +35 -0
  854. package/src/lib/assets/images/svg/humans/custom-3.svg +16 -0
  855. package/src/lib/assets/images/svg/humans/custom-4.svg +13 -0
  856. package/src/lib/assets/images/svg/humans/custom-5.svg +12 -0
  857. package/src/lib/assets/images/svg/humans/custom-6.svg +13 -0
  858. package/src/lib/assets/images/svg/humans/custom-7.svg +12 -0
  859. package/src/lib/assets/images/svg/humans/custom-8.svg +37 -0
  860. package/src/lib/assets/images/svg/humans/custom-9.svg +9 -0
  861. package/src/lib/assets/images/svg/icons/Clothes/Brassiere.svg +11 -0
  862. package/src/lib/assets/images/svg/icons/Clothes/Briefcase.svg +12 -0
  863. package/src/lib/assets/images/svg/icons/Clothes/Cap.svg +12 -0
  864. package/src/lib/assets/images/svg/icons/Clothes/Crown.svg +12 -0
  865. package/src/lib/assets/images/svg/icons/Clothes/Dress.svg +12 -0
  866. package/src/lib/assets/images/svg/icons/Clothes/Hanger.svg +11 -0
  867. package/src/lib/assets/images/svg/icons/Clothes/Hat.svg +12 -0
  868. package/src/lib/assets/images/svg/icons/Clothes/Panties.svg +11 -0
  869. package/src/lib/assets/images/svg/icons/Clothes/Shirt.svg +12 -0
  870. package/src/lib/assets/images/svg/icons/Clothes/Shoes.svg +12 -0
  871. package/src/lib/assets/images/svg/icons/Clothes/Shorts.svg +11 -0
  872. package/src/lib/assets/images/svg/icons/Clothes/Sneakers.svg +12 -0
  873. package/src/lib/assets/images/svg/icons/Clothes/Socks.svg +12 -0
  874. package/src/lib/assets/images/svg/icons/Clothes/Sun-glasses.svg +12 -0
  875. package/src/lib/assets/images/svg/icons/Clothes/T-Shirt.svg +11 -0
  876. package/src/lib/assets/images/svg/icons/Clothes/Tie.svg +12 -0
  877. package/src/lib/assets/images/svg/icons/Code/Backspace.svg +12 -0
  878. package/src/lib/assets/images/svg/icons/Code/CMD.svg +11 -0
  879. package/src/lib/assets/images/svg/icons/Code/Code.svg +12 -0
  880. package/src/lib/assets/images/svg/icons/Code/Commit.svg +12 -0
  881. package/src/lib/assets/images/svg/icons/Code/Compiling.svg +12 -0
  882. package/src/lib/assets/images/svg/icons/Code/Control.svg +11 -0
  883. package/src/lib/assets/images/svg/icons/Code/Done-circle.svg +12 -0
  884. package/src/lib/assets/images/svg/icons/Code/Error-circle.svg +12 -0
  885. package/src/lib/assets/images/svg/icons/Code/Git1.svg +13 -0
  886. package/src/lib/assets/images/svg/icons/Code/Git2.svg +16 -0
  887. package/src/lib/assets/images/svg/icons/Code/Git3.svg +14 -0
  888. package/src/lib/assets/images/svg/icons/Code/Git4.svg +14 -0
  889. package/src/lib/assets/images/svg/icons/Code/Github.svg +12 -0
  890. package/src/lib/assets/images/svg/icons/Code/Info-circle.svg +13 -0
  891. package/src/lib/assets/images/svg/icons/Code/Left-circle.svg +12 -0
  892. package/src/lib/assets/images/svg/icons/Code/Loading.svg +13 -0
  893. package/src/lib/assets/images/svg/icons/Code/Lock-circle.svg +12 -0
  894. package/src/lib/assets/images/svg/icons/Code/Lock-overturning.svg +12 -0
  895. package/src/lib/assets/images/svg/icons/Code/Minus.svg +12 -0
  896. package/src/lib/assets/images/svg/icons/Code/Option.svg +12 -0
  897. package/src/lib/assets/images/svg/icons/Code/Plus.svg +12 -0
  898. package/src/lib/assets/images/svg/icons/Code/Puzzle.svg +11 -0
  899. package/src/lib/assets/images/svg/icons/Code/Question-circle.svg +12 -0
  900. package/src/lib/assets/images/svg/icons/Code/Right-circle.svg +12 -0
  901. package/src/lib/assets/images/svg/icons/Code/Settings4.svg +12 -0
  902. package/src/lib/assets/images/svg/icons/Code/Shift.svg +11 -0
  903. package/src/lib/assets/images/svg/icons/Code/Spy.svg +12 -0
  904. package/src/lib/assets/images/svg/icons/Code/Stop.svg +11 -0
  905. package/src/lib/assets/images/svg/icons/Code/Terminal.svg +12 -0
  906. package/src/lib/assets/images/svg/icons/Code/Thunder-circle.svg +12 -0
  907. package/src/lib/assets/images/svg/icons/Code/Time-schedule.svg +12 -0
  908. package/src/lib/assets/images/svg/icons/Code/Warning-1-circle.svg +13 -0
  909. package/src/lib/assets/images/svg/icons/Code/Warning-2.svg +13 -0
  910. package/src/lib/assets/images/svg/icons/Communication/Active-call.svg +12 -0
  911. package/src/lib/assets/images/svg/icons/Communication/Add-user.svg +12 -0
  912. package/src/lib/assets/images/svg/icons/Communication/Address-card.svg +11 -0
  913. package/src/lib/assets/images/svg/icons/Communication/Adress-book1.svg +12 -0
  914. package/src/lib/assets/images/svg/icons/Communication/Adress-book2.svg +12 -0
  915. package/src/lib/assets/images/svg/icons/Communication/Archive.svg +11 -0
  916. package/src/lib/assets/images/svg/icons/Communication/Call#1.svg +11 -0
  917. package/src/lib/assets/images/svg/icons/Communication/Call.svg +11 -0
  918. package/src/lib/assets/images/svg/icons/Communication/Chat-check.svg +12 -0
  919. package/src/lib/assets/images/svg/icons/Communication/Chat-error.svg +12 -0
  920. package/src/lib/assets/images/svg/icons/Communication/Chat-locked.svg +12 -0
  921. package/src/lib/assets/images/svg/icons/Communication/Chat-smile.svg +12 -0
  922. package/src/lib/assets/images/svg/icons/Communication/Chat1.svg +12 -0
  923. package/src/lib/assets/images/svg/icons/Communication/Chat2.svg +12 -0
  924. package/src/lib/assets/images/svg/icons/Communication/Chat4.svg +11 -0
  925. package/src/lib/assets/images/svg/icons/Communication/Chat5.svg +12 -0
  926. package/src/lib/assets/images/svg/icons/Communication/Chat6.svg +12 -0
  927. package/src/lib/assets/images/svg/icons/Communication/Clipboard-check.svg +13 -0
  928. package/src/lib/assets/images/svg/icons/Communication/Clipboard-list.svg +18 -0
  929. package/src/lib/assets/images/svg/icons/Communication/Contact1.svg +12 -0
  930. package/src/lib/assets/images/svg/icons/Communication/Delete-user.svg +12 -0
  931. package/src/lib/assets/images/svg/icons/Communication/Dial-numbers.svg +19 -0
  932. package/src/lib/assets/images/svg/icons/Communication/Flag.svg +12 -0
  933. package/src/lib/assets/images/svg/icons/Communication/Forward.svg +11 -0
  934. package/src/lib/assets/images/svg/icons/Communication/Group-chat.svg +12 -0
  935. package/src/lib/assets/images/svg/icons/Communication/Group.svg +12 -0
  936. package/src/lib/assets/images/svg/icons/Communication/Incoming-box.svg +13 -0
  937. package/src/lib/assets/images/svg/icons/Communication/Incoming-call.svg +12 -0
  938. package/src/lib/assets/images/svg/icons/Communication/Incoming-mail.svg +12 -0
  939. package/src/lib/assets/images/svg/icons/Communication/Mail-at.svg +11 -0
  940. package/src/lib/assets/images/svg/icons/Communication/Mail-attachment.svg +12 -0
  941. package/src/lib/assets/images/svg/icons/Communication/Mail-box.svg +12 -0
  942. package/src/lib/assets/images/svg/icons/Communication/Mail-error.svg +12 -0
  943. package/src/lib/assets/images/svg/icons/Communication/Mail-heart.svg +12 -0
  944. package/src/lib/assets/images/svg/icons/Communication/Mail-locked.svg +12 -0
  945. package/src/lib/assets/images/svg/icons/Communication/Mail-notification.svg +12 -0
  946. package/src/lib/assets/images/svg/icons/Communication/Mail-opened.svg +12 -0
  947. package/src/lib/assets/images/svg/icons/Communication/Mail-unocked.svg +12 -0
  948. package/src/lib/assets/images/svg/icons/Communication/Mail.svg +11 -0
  949. package/src/lib/assets/images/svg/icons/Communication/Missed-call.svg +12 -0
  950. package/src/lib/assets/images/svg/icons/Communication/Outgoing-box.svg +13 -0
  951. package/src/lib/assets/images/svg/icons/Communication/Outgoing-call.svg +12 -0
  952. package/src/lib/assets/images/svg/icons/Communication/Outgoing-mail.svg +12 -0
  953. package/src/lib/assets/images/svg/icons/Communication/RSS.svg +13 -0
  954. package/src/lib/assets/images/svg/icons/Communication/Readed-mail.svg +12 -0
  955. package/src/lib/assets/images/svg/icons/Communication/Reply-all.svg +12 -0
  956. package/src/lib/assets/images/svg/icons/Communication/Reply.svg +11 -0
  957. package/src/lib/assets/images/svg/icons/Communication/Right.svg +11 -0
  958. package/src/lib/assets/images/svg/icons/Communication/Safe-chat.svg +12 -0
  959. package/src/lib/assets/images/svg/icons/Communication/Send.svg +11 -0
  960. package/src/lib/assets/images/svg/icons/Communication/Sending mail.svg +12 -0
  961. package/src/lib/assets/images/svg/icons/Communication/Sending.svg +12 -0
  962. package/src/lib/assets/images/svg/icons/Communication/Share.svg +12 -0
  963. package/src/lib/assets/images/svg/icons/Communication/Shield-thunder.svg +12 -0
  964. package/src/lib/assets/images/svg/icons/Communication/Shield-user.svg +13 -0
  965. package/src/lib/assets/images/svg/icons/Communication/Snoozed-mail.svg +12 -0
  966. package/src/lib/assets/images/svg/icons/Communication/Spam.svg +11 -0
  967. package/src/lib/assets/images/svg/icons/Communication/Thumbtack.svg +12 -0
  968. package/src/lib/assets/images/svg/icons/Communication/Urgent-mail.svg +12 -0
  969. package/src/lib/assets/images/svg/icons/Communication/Write.svg +12 -0
  970. package/src/lib/assets/images/svg/icons/Cooking/Baking-glove.svg +12 -0
  971. package/src/lib/assets/images/svg/icons/Cooking/Bowl.svg +12 -0
  972. package/src/lib/assets/images/svg/icons/Cooking/Chef.svg +12 -0
  973. package/src/lib/assets/images/svg/icons/Cooking/Cooking-book.svg +17 -0
  974. package/src/lib/assets/images/svg/icons/Cooking/Cooking-pot.svg +12 -0
  975. package/src/lib/assets/images/svg/icons/Cooking/Cutting board.svg +12 -0
  976. package/src/lib/assets/images/svg/icons/Cooking/Dinner.svg +15 -0
  977. package/src/lib/assets/images/svg/icons/Cooking/Dish.svg +12 -0
  978. package/src/lib/assets/images/svg/icons/Cooking/Dishes.svg +12 -0
  979. package/src/lib/assets/images/svg/icons/Cooking/Fork-spoon-knife.svg +16 -0
  980. package/src/lib/assets/images/svg/icons/Cooking/Fork-spoon.svg +14 -0
  981. package/src/lib/assets/images/svg/icons/Cooking/Fork.svg +12 -0
  982. package/src/lib/assets/images/svg/icons/Cooking/Frying-pan.svg +12 -0
  983. package/src/lib/assets/images/svg/icons/Cooking/Grater.svg +12 -0
  984. package/src/lib/assets/images/svg/icons/Cooking/Kitchen-scale.svg +12 -0
  985. package/src/lib/assets/images/svg/icons/Cooking/Knife1.svg +12 -0
  986. package/src/lib/assets/images/svg/icons/Cooking/Knife2.svg +12 -0
  987. package/src/lib/assets/images/svg/icons/Cooking/KnifeAndFork1.svg +14 -0
  988. package/src/lib/assets/images/svg/icons/Cooking/KnifeAndFork2.svg +14 -0
  989. package/src/lib/assets/images/svg/icons/Cooking/Ladle.svg +12 -0
  990. package/src/lib/assets/images/svg/icons/Cooking/Rolling-pin.svg +12 -0
  991. package/src/lib/assets/images/svg/icons/Cooking/Saucepan.svg +12 -0
  992. package/src/lib/assets/images/svg/icons/Cooking/Shovel.svg +12 -0
  993. package/src/lib/assets/images/svg/icons/Cooking/Sieve.svg +12 -0
  994. package/src/lib/assets/images/svg/icons/Cooking/Spoon.svg +13 -0
  995. package/src/lib/assets/images/svg/icons/Design/Adjust.svg +11 -0
  996. package/src/lib/assets/images/svg/icons/Design/Anchor-center-down.svg +15 -0
  997. package/src/lib/assets/images/svg/icons/Design/Anchor-center-up.svg +15 -0
  998. package/src/lib/assets/images/svg/icons/Design/Anchor-center.svg +12 -0
  999. package/src/lib/assets/images/svg/icons/Design/Anchor-left-down.svg +15 -0
  1000. package/src/lib/assets/images/svg/icons/Design/Anchor-left-up.svg +15 -0
  1001. package/src/lib/assets/images/svg/icons/Design/Anchor-left.svg +15 -0
  1002. package/src/lib/assets/images/svg/icons/Design/Anchor-right-down.svg +15 -0
  1003. package/src/lib/assets/images/svg/icons/Design/Anchor-right-up.svg +15 -0
  1004. package/src/lib/assets/images/svg/icons/Design/Anchor-right.svg +15 -0
  1005. package/src/lib/assets/images/svg/icons/Design/Arrows.svg +12 -0
  1006. package/src/lib/assets/images/svg/icons/Design/Bezier-curve.svg +12 -0
  1007. package/src/lib/assets/images/svg/icons/Design/Border.svg +11 -0
  1008. package/src/lib/assets/images/svg/icons/Design/Brush.svg +12 -0
  1009. package/src/lib/assets/images/svg/icons/Design/Bucket.svg +12 -0
  1010. package/src/lib/assets/images/svg/icons/Design/Cap-1.svg +12 -0
  1011. package/src/lib/assets/images/svg/icons/Design/Cap-2.svg +11 -0
  1012. package/src/lib/assets/images/svg/icons/Design/Cap-3.svg +12 -0
  1013. package/src/lib/assets/images/svg/icons/Design/Circle.svg +11 -0
  1014. package/src/lib/assets/images/svg/icons/Design/Color-profile.svg +12 -0
  1015. package/src/lib/assets/images/svg/icons/Design/Color.svg +11 -0
  1016. package/src/lib/assets/images/svg/icons/Design/Component.svg +11 -0
  1017. package/src/lib/assets/images/svg/icons/Design/Crop.svg +12 -0
  1018. package/src/lib/assets/images/svg/icons/Design/Difference.svg +12 -0
  1019. package/src/lib/assets/images/svg/icons/Design/Edit.svg +12 -0
  1020. package/src/lib/assets/images/svg/icons/Design/Eraser.svg +11 -0
  1021. package/src/lib/assets/images/svg/icons/Design/Flatten.svg +12 -0
  1022. package/src/lib/assets/images/svg/icons/Design/Flip-horizontal.svg +13 -0
  1023. package/src/lib/assets/images/svg/icons/Design/Flip-vertical.svg +13 -0
  1024. package/src/lib/assets/images/svg/icons/Design/Horizontal.svg +12 -0
  1025. package/src/lib/assets/images/svg/icons/Design/Image.svg +11 -0
  1026. package/src/lib/assets/images/svg/icons/Design/Interselect.svg +12 -0
  1027. package/src/lib/assets/images/svg/icons/Design/Join-1.svg +12 -0
  1028. package/src/lib/assets/images/svg/icons/Design/Join-2.svg +12 -0
  1029. package/src/lib/assets/images/svg/icons/Design/Join-3.svg +12 -0
  1030. package/src/lib/assets/images/svg/icons/Design/Layers.svg +12 -0
  1031. package/src/lib/assets/images/svg/icons/Design/Line.svg +13 -0
  1032. package/src/lib/assets/images/svg/icons/Design/Magic.svg +12 -0
  1033. package/src/lib/assets/images/svg/icons/Design/Mask.svg +12 -0
  1034. package/src/lib/assets/images/svg/icons/Design/Patch.svg +13 -0
  1035. package/src/lib/assets/images/svg/icons/Design/Pen-tool-vector.svg +12 -0
  1036. package/src/lib/assets/images/svg/icons/Design/PenAndRuller.svg +12 -0
  1037. package/src/lib/assets/images/svg/icons/Design/Pencil.svg +12 -0
  1038. package/src/lib/assets/images/svg/icons/Design/Picker.svg +12 -0
  1039. package/src/lib/assets/images/svg/icons/Design/Pixels.svg +16 -0
  1040. package/src/lib/assets/images/svg/icons/Design/Polygon.svg +11 -0
  1041. package/src/lib/assets/images/svg/icons/Design/Position.svg +11 -0
  1042. package/src/lib/assets/images/svg/icons/Design/Rectangle.svg +11 -0
  1043. package/src/lib/assets/images/svg/icons/Design/Saturation.svg +12 -0
  1044. package/src/lib/assets/images/svg/icons/Design/Select.svg +12 -0
  1045. package/src/lib/assets/images/svg/icons/Design/Sketch.svg +12 -0
  1046. package/src/lib/assets/images/svg/icons/Design/Stamp.svg +12 -0
  1047. package/src/lib/assets/images/svg/icons/Design/Substract.svg +12 -0
  1048. package/src/lib/assets/images/svg/icons/Design/Target.svg +12 -0
  1049. package/src/lib/assets/images/svg/icons/Design/Triangle.svg +11 -0
  1050. package/src/lib/assets/images/svg/icons/Design/Union.svg +11 -0
  1051. package/src/lib/assets/images/svg/icons/Design/Vertical.svg +12 -0
  1052. package/src/lib/assets/images/svg/icons/Design/ZoomMinus.svg +13 -0
  1053. package/src/lib/assets/images/svg/icons/Design/ZoomPlus.svg +13 -0
  1054. package/src/lib/assets/images/svg/icons/Devices/Airpods.svg +14 -0
  1055. package/src/lib/assets/images/svg/icons/Devices/Android.svg +12 -0
  1056. package/src/lib/assets/images/svg/icons/Devices/Apple-Watch.svg +12 -0
  1057. package/src/lib/assets/images/svg/icons/Devices/Battery-charging.svg +13 -0
  1058. package/src/lib/assets/images/svg/icons/Devices/Battery-empty.svg +12 -0
  1059. package/src/lib/assets/images/svg/icons/Devices/Battery-full.svg +12 -0
  1060. package/src/lib/assets/images/svg/icons/Devices/Battery-half.svg +12 -0
  1061. package/src/lib/assets/images/svg/icons/Devices/Bluetooth.svg +12 -0
  1062. package/src/lib/assets/images/svg/icons/Devices/CPU1.svg +18 -0
  1063. package/src/lib/assets/images/svg/icons/Devices/CPU2.svg +24 -0
  1064. package/src/lib/assets/images/svg/icons/Devices/Camera.svg +13 -0
  1065. package/src/lib/assets/images/svg/icons/Devices/Cardboard-vr.svg +12 -0
  1066. package/src/lib/assets/images/svg/icons/Devices/Cassete.svg +13 -0
  1067. package/src/lib/assets/images/svg/icons/Devices/Diagnostics.svg +13 -0
  1068. package/src/lib/assets/images/svg/icons/Devices/Display1.svg +12 -0
  1069. package/src/lib/assets/images/svg/icons/Devices/Display2.svg +13 -0
  1070. package/src/lib/assets/images/svg/icons/Devices/Display3.svg +13 -0
  1071. package/src/lib/assets/images/svg/icons/Devices/Gameboy.svg +12 -0
  1072. package/src/lib/assets/images/svg/icons/Devices/Gamepad1.svg +12 -0
  1073. package/src/lib/assets/images/svg/icons/Devices/Gamepad2.svg +12 -0
  1074. package/src/lib/assets/images/svg/icons/Devices/Generator.svg +14 -0
  1075. package/src/lib/assets/images/svg/icons/Devices/Hard-drive.svg +12 -0
  1076. package/src/lib/assets/images/svg/icons/Devices/Headphones.svg +12 -0
  1077. package/src/lib/assets/images/svg/icons/Devices/Homepod.svg +12 -0
  1078. package/src/lib/assets/images/svg/icons/Devices/Keyboard.svg +12 -0
  1079. package/src/lib/assets/images/svg/icons/Devices/LTE1.svg +12 -0
  1080. package/src/lib/assets/images/svg/icons/Devices/LTE2.svg +12 -0
  1081. package/src/lib/assets/images/svg/icons/Devices/Laptop-macbook.svg +12 -0
  1082. package/src/lib/assets/images/svg/icons/Devices/Laptop.svg +12 -0
  1083. package/src/lib/assets/images/svg/icons/Devices/Mic.svg +12 -0
  1084. package/src/lib/assets/images/svg/icons/Devices/Midi.svg +17 -0
  1085. package/src/lib/assets/images/svg/icons/Devices/Mouse.svg +13 -0
  1086. package/src/lib/assets/images/svg/icons/Devices/Phone.svg +13 -0
  1087. package/src/lib/assets/images/svg/icons/Devices/Printer.svg +12 -0
  1088. package/src/lib/assets/images/svg/icons/Devices/Radio.svg +15 -0
  1089. package/src/lib/assets/images/svg/icons/Devices/Router1.svg +12 -0
  1090. package/src/lib/assets/images/svg/icons/Devices/Router2.svg +12 -0
  1091. package/src/lib/assets/images/svg/icons/Devices/SD-card.svg +11 -0
  1092. package/src/lib/assets/images/svg/icons/Devices/Server.svg +13 -0
  1093. package/src/lib/assets/images/svg/icons/Devices/Speaker.svg +12 -0
  1094. package/src/lib/assets/images/svg/icons/Devices/TV1.svg +13 -0
  1095. package/src/lib/assets/images/svg/icons/Devices/TV2.svg +12 -0
  1096. package/src/lib/assets/images/svg/icons/Devices/Tablet.svg +12 -0
  1097. package/src/lib/assets/images/svg/icons/Devices/USB.svg +13 -0
  1098. package/src/lib/assets/images/svg/icons/Devices/Usb-storage.svg +12 -0
  1099. package/src/lib/assets/images/svg/icons/Devices/Video-camera.svg +12 -0
  1100. package/src/lib/assets/images/svg/icons/Devices/Watch1.svg +14 -0
  1101. package/src/lib/assets/images/svg/icons/Devices/Watch2.svg +14 -0
  1102. package/src/lib/assets/images/svg/icons/Devices/Wi-fi.svg +12 -0
  1103. package/src/lib/assets/images/svg/icons/Devices/iMac.svg +13 -0
  1104. package/src/lib/assets/images/svg/icons/Devices/iPhone-X.svg +12 -0
  1105. package/src/lib/assets/images/svg/icons/Devices/iPhone-back.svg +11 -0
  1106. package/src/lib/assets/images/svg/icons/Devices/iPhone-x-back.svg +11 -0
  1107. package/src/lib/assets/images/svg/icons/Electric/Air-conditioning.svg +12 -0
  1108. package/src/lib/assets/images/svg/icons/Electric/Blender.svg +11 -0
  1109. package/src/lib/assets/images/svg/icons/Electric/Fan.svg +13 -0
  1110. package/src/lib/assets/images/svg/icons/Electric/Fridge.svg +11 -0
  1111. package/src/lib/assets/images/svg/icons/Electric/Gas-stove.svg +12 -0
  1112. package/src/lib/assets/images/svg/icons/Electric/Highvoltage.svg +11 -0
  1113. package/src/lib/assets/images/svg/icons/Electric/Iron.svg +12 -0
  1114. package/src/lib/assets/images/svg/icons/Electric/Kettle.svg +12 -0
  1115. package/src/lib/assets/images/svg/icons/Electric/Mixer.svg +12 -0
  1116. package/src/lib/assets/images/svg/icons/Electric/Outlet.svg +12 -0
  1117. package/src/lib/assets/images/svg/icons/Electric/Range-hood.svg +12 -0
  1118. package/src/lib/assets/images/svg/icons/Electric/Shutdown.svg +12 -0
  1119. package/src/lib/assets/images/svg/icons/Electric/Socket-eu.svg +11 -0
  1120. package/src/lib/assets/images/svg/icons/Electric/Socket-us.svg +11 -0
  1121. package/src/lib/assets/images/svg/icons/Electric/Washer.svg +12 -0
  1122. package/src/lib/assets/images/svg/icons/Electric/air-dryer.svg +12 -0
  1123. package/src/lib/assets/images/svg/icons/Files/Cloud-download.svg +12 -0
  1124. package/src/lib/assets/images/svg/icons/Files/Cloud-upload.svg +12 -0
  1125. package/src/lib/assets/images/svg/icons/Files/Compilation.svg +15 -0
  1126. package/src/lib/assets/images/svg/icons/Files/Compiled-file.svg +15 -0
  1127. package/src/lib/assets/images/svg/icons/Files/Deleted-file.svg +12 -0
  1128. package/src/lib/assets/images/svg/icons/Files/Deleted-folder.svg +12 -0
  1129. package/src/lib/assets/images/svg/icons/Files/Download.svg +13 -0
  1130. package/src/lib/assets/images/svg/icons/Files/DownloadedFile.svg +12 -0
  1131. package/src/lib/assets/images/svg/icons/Files/Downloads-folder.svg +12 -0
  1132. package/src/lib/assets/images/svg/icons/Files/Export.svg +13 -0
  1133. package/src/lib/assets/images/svg/icons/Files/File-cloud.svg +12 -0
  1134. package/src/lib/assets/images/svg/icons/Files/File-done.svg +12 -0
  1135. package/src/lib/assets/images/svg/icons/Files/File-minus.svg +12 -0
  1136. package/src/lib/assets/images/svg/icons/Files/File-plus.svg +12 -0
  1137. package/src/lib/assets/images/svg/icons/Files/File.svg +13 -0
  1138. package/src/lib/assets/images/svg/icons/Files/Folder-check.svg +12 -0
  1139. package/src/lib/assets/images/svg/icons/Files/Folder-cloud.svg +12 -0
  1140. package/src/lib/assets/images/svg/icons/Files/Folder-error.svg +12 -0
  1141. package/src/lib/assets/images/svg/icons/Files/Folder-heart.svg +12 -0
  1142. package/src/lib/assets/images/svg/icons/Files/Folder-minus.svg +12 -0
  1143. package/src/lib/assets/images/svg/icons/Files/Folder-plus.svg +12 -0
  1144. package/src/lib/assets/images/svg/icons/Files/Folder-solid.svg +11 -0
  1145. package/src/lib/assets/images/svg/icons/Files/Folder-star.svg +12 -0
  1146. package/src/lib/assets/images/svg/icons/Files/Folder-thunder.svg +12 -0
  1147. package/src/lib/assets/images/svg/icons/Files/Folder.svg +11 -0
  1148. package/src/lib/assets/images/svg/icons/Files/Group-folders.svg +12 -0
  1149. package/src/lib/assets/images/svg/icons/Files/Import.svg +13 -0
  1150. package/src/lib/assets/images/svg/icons/Files/Locked-folder.svg +12 -0
  1151. package/src/lib/assets/images/svg/icons/Files/Media-folder.svg +12 -0
  1152. package/src/lib/assets/images/svg/icons/Files/Media.svg +12 -0
  1153. package/src/lib/assets/images/svg/icons/Files/Music.svg +12 -0
  1154. package/src/lib/assets/images/svg/icons/Files/Pictures1.svg +14 -0
  1155. package/src/lib/assets/images/svg/icons/Files/Pictures2.svg +16 -0
  1156. package/src/lib/assets/images/svg/icons/Files/Protected-file.svg +12 -0
  1157. package/src/lib/assets/images/svg/icons/Files/Selected-file.svg +12 -0
  1158. package/src/lib/assets/images/svg/icons/Files/Share.svg +14 -0
  1159. package/src/lib/assets/images/svg/icons/Files/Upload-folder.svg +12 -0
  1160. package/src/lib/assets/images/svg/icons/Files/Upload.svg +13 -0
  1161. package/src/lib/assets/images/svg/icons/Files/Uploaded-file.svg +12 -0
  1162. package/src/lib/assets/images/svg/icons/Files/User-folder.svg +13 -0
  1163. package/src/lib/assets/images/svg/icons/Food/Beer.svg +15 -0
  1164. package/src/lib/assets/images/svg/icons/Food/Bottle1.svg +12 -0
  1165. package/src/lib/assets/images/svg/icons/Food/Bottle2.svg +12 -0
  1166. package/src/lib/assets/images/svg/icons/Food/Bread.svg +12 -0
  1167. package/src/lib/assets/images/svg/icons/Food/Bucket.svg +12 -0
  1168. package/src/lib/assets/images/svg/icons/Food/Burger.svg +13 -0
  1169. package/src/lib/assets/images/svg/icons/Food/Cake.svg +13 -0
  1170. package/src/lib/assets/images/svg/icons/Food/Carrot.svg +14 -0
  1171. package/src/lib/assets/images/svg/icons/Food/Cheese.svg +12 -0
  1172. package/src/lib/assets/images/svg/icons/Food/Chicken.svg +14 -0
  1173. package/src/lib/assets/images/svg/icons/Food/Coffee1.svg +15 -0
  1174. package/src/lib/assets/images/svg/icons/Food/Coffee2.svg +13 -0
  1175. package/src/lib/assets/images/svg/icons/Food/Cookie.svg +14 -0
  1176. package/src/lib/assets/images/svg/icons/Food/Dinner.svg +12 -0
  1177. package/src/lib/assets/images/svg/icons/Food/Fish.svg +12 -0
  1178. package/src/lib/assets/images/svg/icons/Food/French Bread.svg +11 -0
  1179. package/src/lib/assets/images/svg/icons/Food/Glass-martini.svg +12 -0
  1180. package/src/lib/assets/images/svg/icons/Food/Ice-cream1.svg +12 -0
  1181. package/src/lib/assets/images/svg/icons/Food/Ice-cream2.svg +12 -0
  1182. package/src/lib/assets/images/svg/icons/Food/Miso-soup.svg +12 -0
  1183. package/src/lib/assets/images/svg/icons/Food/Orange.svg +12 -0
  1184. package/src/lib/assets/images/svg/icons/Food/Pizza.svg +14 -0
  1185. package/src/lib/assets/images/svg/icons/Food/Sushi.svg +12 -0
  1186. package/src/lib/assets/images/svg/icons/Food/Two-bottles.svg +12 -0
  1187. package/src/lib/assets/images/svg/icons/Food/Wine.svg +12 -0
  1188. package/src/lib/assets/images/svg/icons/General/Attachment1.svg +12 -0
  1189. package/src/lib/assets/images/svg/icons/General/Attachment2.svg +14 -0
  1190. package/src/lib/assets/images/svg/icons/General/Binocular.svg +11 -0
  1191. package/src/lib/assets/images/svg/icons/General/Bookmark.svg +11 -0
  1192. package/src/lib/assets/images/svg/icons/General/Clip.svg +11 -0
  1193. package/src/lib/assets/images/svg/icons/General/Clipboard.svg +14 -0
  1194. package/src/lib/assets/images/svg/icons/General/Cursor.svg +11 -0
  1195. package/src/lib/assets/images/svg/icons/General/Dislike.svg +12 -0
  1196. package/src/lib/assets/images/svg/icons/General/Duplicate.svg +12 -0
  1197. package/src/lib/assets/images/svg/icons/General/Edit.svg +11 -0
  1198. package/src/lib/assets/images/svg/icons/General/Expand-arrows.svg +12 -0
  1199. package/src/lib/assets/images/svg/icons/General/Fire.svg +11 -0
  1200. package/src/lib/assets/images/svg/icons/General/Folder.svg +11 -0
  1201. package/src/lib/assets/images/svg/icons/General/Half-heart.svg +12 -0
  1202. package/src/lib/assets/images/svg/icons/General/Half-star.svg +12 -0
  1203. package/src/lib/assets/images/svg/icons/General/Heart.svg +11 -0
  1204. package/src/lib/assets/images/svg/icons/General/Hidden.svg +13 -0
  1205. package/src/lib/assets/images/svg/icons/General/Like.svg +12 -0
  1206. package/src/lib/assets/images/svg/icons/General/Lock.svg +16 -0
  1207. package/src/lib/assets/images/svg/icons/General/Notification2.svg +12 -0
  1208. package/src/lib/assets/images/svg/icons/General/Notifications1.svg +11 -0
  1209. package/src/lib/assets/images/svg/icons/General/Other1.svg +13 -0
  1210. package/src/lib/assets/images/svg/icons/General/Other2.svg +13 -0
  1211. package/src/lib/assets/images/svg/icons/General/Sad.svg +12 -0
  1212. package/src/lib/assets/images/svg/icons/General/Save.svg +12 -0
  1213. package/src/lib/assets/images/svg/icons/General/Scale.svg +12 -0
  1214. package/src/lib/assets/images/svg/icons/General/Scissors.svg +12 -0
  1215. package/src/lib/assets/images/svg/icons/General/Search.svg +12 -0
  1216. package/src/lib/assets/images/svg/icons/General/Settings#3.svg +12 -0
  1217. package/src/lib/assets/images/svg/icons/General/Settings-1.svg +12 -0
  1218. package/src/lib/assets/images/svg/icons/General/Settings-2.svg +11 -0
  1219. package/src/lib/assets/images/svg/icons/General/Shield-check.svg +12 -0
  1220. package/src/lib/assets/images/svg/icons/General/Shield-disabled.svg +12 -0
  1221. package/src/lib/assets/images/svg/icons/General/Shield-protected.svg +12 -0
  1222. package/src/lib/assets/images/svg/icons/General/Size.svg +12 -0
  1223. package/src/lib/assets/images/svg/icons/General/Smile.svg +12 -0
  1224. package/src/lib/assets/images/svg/icons/General/Star.svg +11 -0
  1225. package/src/lib/assets/images/svg/icons/General/Thunder-move.svg +12 -0
  1226. package/src/lib/assets/images/svg/icons/General/Thunder.svg +11 -0
  1227. package/src/lib/assets/images/svg/icons/General/Trash.svg +12 -0
  1228. package/src/lib/assets/images/svg/icons/General/Unlock.svg +16 -0
  1229. package/src/lib/assets/images/svg/icons/General/Update.svg +11 -0
  1230. package/src/lib/assets/images/svg/icons/General/User.svg +12 -0
  1231. package/src/lib/assets/images/svg/icons/General/Visible.svg +12 -0
  1232. package/src/lib/assets/images/svg/icons/Home/Air-ballon.svg +12 -0
  1233. package/src/lib/assets/images/svg/icons/Home/Alarm-clock.svg +13 -0
  1234. package/src/lib/assets/images/svg/icons/Home/Armchair.svg +12 -0
  1235. package/src/lib/assets/images/svg/icons/Home/Bag-chair.svg +12 -0
  1236. package/src/lib/assets/images/svg/icons/Home/Bath.svg +12 -0
  1237. package/src/lib/assets/images/svg/icons/Home/Bed.svg +13 -0
  1238. package/src/lib/assets/images/svg/icons/Home/Book-open.svg +12 -0
  1239. package/src/lib/assets/images/svg/icons/Home/Book.svg +16 -0
  1240. package/src/lib/assets/images/svg/icons/Home/Box.svg +12 -0
  1241. package/src/lib/assets/images/svg/icons/Home/Broom.svg +12 -0
  1242. package/src/lib/assets/images/svg/icons/Home/Building.svg +13 -0
  1243. package/src/lib/assets/images/svg/icons/Home/Bulb1.svg +14 -0
  1244. package/src/lib/assets/images/svg/icons/Home/Bulb2.svg +14 -0
  1245. package/src/lib/assets/images/svg/icons/Home/Chair1.svg +12 -0
  1246. package/src/lib/assets/images/svg/icons/Home/Chair2.svg +12 -0
  1247. package/src/lib/assets/images/svg/icons/Home/Clock.svg +12 -0
  1248. package/src/lib/assets/images/svg/icons/Home/Commode1.svg +12 -0
  1249. package/src/lib/assets/images/svg/icons/Home/Commode2.svg +12 -0
  1250. package/src/lib/assets/images/svg/icons/Home/Couch.svg +12 -0
  1251. package/src/lib/assets/images/svg/icons/Home/Cupboard.svg +12 -0
  1252. package/src/lib/assets/images/svg/icons/Home/Curtains.svg +12 -0
  1253. package/src/lib/assets/images/svg/icons/Home/Deer.svg +12 -0
  1254. package/src/lib/assets/images/svg/icons/Home/Door-open.svg +12 -0
  1255. package/src/lib/assets/images/svg/icons/Home/Earth.svg +12 -0
  1256. package/src/lib/assets/images/svg/icons/Home/Fireplace.svg +12 -0
  1257. package/src/lib/assets/images/svg/icons/Home/Flashlight.svg +12 -0
  1258. package/src/lib/assets/images/svg/icons/Home/Flower1.svg +14 -0
  1259. package/src/lib/assets/images/svg/icons/Home/Flower2.svg +15 -0
  1260. package/src/lib/assets/images/svg/icons/Home/Flower3.svg +13 -0
  1261. package/src/lib/assets/images/svg/icons/Home/Globe.svg +12 -0
  1262. package/src/lib/assets/images/svg/icons/Home/Home-heart.svg +12 -0
  1263. package/src/lib/assets/images/svg/icons/Home/Home.svg +11 -0
  1264. package/src/lib/assets/images/svg/icons/Home/Key.svg +12 -0
  1265. package/src/lib/assets/images/svg/icons/Home/Ladder.svg +12 -0
  1266. package/src/lib/assets/images/svg/icons/Home/Lamp1.svg +14 -0
  1267. package/src/lib/assets/images/svg/icons/Home/Lamp2.svg +13 -0
  1268. package/src/lib/assets/images/svg/icons/Home/Library.svg +12 -0
  1269. package/src/lib/assets/images/svg/icons/Home/Mailbox.svg +12 -0
  1270. package/src/lib/assets/images/svg/icons/Home/Mirror.svg +12 -0
  1271. package/src/lib/assets/images/svg/icons/Home/Picture.svg +14 -0
  1272. package/src/lib/assets/images/svg/icons/Home/Ruller.svg +11 -0
  1273. package/src/lib/assets/images/svg/icons/Home/Stairs.svg +11 -0
  1274. package/src/lib/assets/images/svg/icons/Home/Timer.svg +14 -0
  1275. package/src/lib/assets/images/svg/icons/Home/Toilet.svg +12 -0
  1276. package/src/lib/assets/images/svg/icons/Home/Towel.svg +11 -0
  1277. package/src/lib/assets/images/svg/icons/Home/Trash.svg +12 -0
  1278. package/src/lib/assets/images/svg/icons/Home/Water-mixer.svg +13 -0
  1279. package/src/lib/assets/images/svg/icons/Home/Weight1.svg +12 -0
  1280. package/src/lib/assets/images/svg/icons/Home/Weight2.svg +12 -0
  1281. package/src/lib/assets/images/svg/icons/Home/Wood-horse.svg +11 -0
  1282. package/src/lib/assets/images/svg/icons/Home/Wood1.svg +12 -0
  1283. package/src/lib/assets/images/svg/icons/Home/Wood2.svg +12 -0
  1284. package/src/lib/assets/images/svg/icons/Layout/Layout-3d.svg +12 -0
  1285. package/src/lib/assets/images/svg/icons/Layout/Layout-4-blocks.svg +12 -0
  1286. package/src/lib/assets/images/svg/icons/Layout/Layout-arrange.svg +12 -0
  1287. package/src/lib/assets/images/svg/icons/Layout/Layout-grid.svg +12 -0
  1288. package/src/lib/assets/images/svg/icons/Layout/Layout-horizontal.svg +12 -0
  1289. package/src/lib/assets/images/svg/icons/Layout/Layout-left-panel-1.svg +12 -0
  1290. package/src/lib/assets/images/svg/icons/Layout/Layout-left-panel-2.svg +12 -0
  1291. package/src/lib/assets/images/svg/icons/Layout/Layout-polygon.svg +10 -0
  1292. package/src/lib/assets/images/svg/icons/Layout/Layout-right-panel-1.svg +12 -0
  1293. package/src/lib/assets/images/svg/icons/Layout/Layout-right-panel-2.svg +12 -0
  1294. package/src/lib/assets/images/svg/icons/Layout/Layout-top-panel-1.svg +12 -0
  1295. package/src/lib/assets/images/svg/icons/Layout/Layout-top-panel-2.svg +12 -0
  1296. package/src/lib/assets/images/svg/icons/Layout/Layout-top-panel-3.svg +12 -0
  1297. package/src/lib/assets/images/svg/icons/Layout/Layout-top-panel-4.svg +12 -0
  1298. package/src/lib/assets/images/svg/icons/Layout/Layout-top-panel-5.svg +12 -0
  1299. package/src/lib/assets/images/svg/icons/Layout/Layout-top-panel-6.svg +12 -0
  1300. package/src/lib/assets/images/svg/icons/Layout/Layout-vertical.svg +12 -0
  1301. package/src/lib/assets/images/svg/icons/Map/Compass.svg +11 -0
  1302. package/src/lib/assets/images/svg/icons/Map/Direction1.svg +11 -0
  1303. package/src/lib/assets/images/svg/icons/Map/Direction2.svg +11 -0
  1304. package/src/lib/assets/images/svg/icons/Map/Location-arrow.svg +11 -0
  1305. package/src/lib/assets/images/svg/icons/Map/Marker1.svg +11 -0
  1306. package/src/lib/assets/images/svg/icons/Map/Marker2.svg +11 -0
  1307. package/src/lib/assets/images/svg/icons/Map/Position.svg +13 -0
  1308. package/src/lib/assets/images/svg/icons/Media/Add-music.svg +12 -0
  1309. package/src/lib/assets/images/svg/icons/Media/Airplay-video.svg +12 -0
  1310. package/src/lib/assets/images/svg/icons/Media/Airplay.svg +12 -0
  1311. package/src/lib/assets/images/svg/icons/Media/Back.svg +12 -0
  1312. package/src/lib/assets/images/svg/icons/Media/Backward.svg +12 -0
  1313. package/src/lib/assets/images/svg/icons/Media/CD.svg +12 -0
  1314. package/src/lib/assets/images/svg/icons/Media/DVD.svg +12 -0
  1315. package/src/lib/assets/images/svg/icons/Media/Eject.svg +12 -0
  1316. package/src/lib/assets/images/svg/icons/Media/Equalizer.svg +14 -0
  1317. package/src/lib/assets/images/svg/icons/Media/Forward.svg +12 -0
  1318. package/src/lib/assets/images/svg/icons/Media/Media-library1.svg +14 -0
  1319. package/src/lib/assets/images/svg/icons/Media/Media-library2.svg +12 -0
  1320. package/src/lib/assets/images/svg/icons/Media/Media-library3.svg +17 -0
  1321. package/src/lib/assets/images/svg/icons/Media/Movie-Lane2.svg +12 -0
  1322. package/src/lib/assets/images/svg/icons/Media/Movie-lane1.svg +12 -0
  1323. package/src/lib/assets/images/svg/icons/Media/Music-cloud.svg +12 -0
  1324. package/src/lib/assets/images/svg/icons/Media/Music-note.svg +11 -0
  1325. package/src/lib/assets/images/svg/icons/Media/Music.svg +11 -0
  1326. package/src/lib/assets/images/svg/icons/Media/Mute.svg +12 -0
  1327. package/src/lib/assets/images/svg/icons/Media/Next.svg +12 -0
  1328. package/src/lib/assets/images/svg/icons/Media/Pause.svg +11 -0
  1329. package/src/lib/assets/images/svg/icons/Media/Play.svg +11 -0
  1330. package/src/lib/assets/images/svg/icons/Media/Playlist1.svg +12 -0
  1331. package/src/lib/assets/images/svg/icons/Media/Playlist2.svg +12 -0
  1332. package/src/lib/assets/images/svg/icons/Media/Rec.svg +11 -0
  1333. package/src/lib/assets/images/svg/icons/Media/Repeat-one.svg +12 -0
  1334. package/src/lib/assets/images/svg/icons/Media/Repeat.svg +12 -0
  1335. package/src/lib/assets/images/svg/icons/Media/Shuffle.svg +12 -0
  1336. package/src/lib/assets/images/svg/icons/Media/Volume-down.svg +12 -0
  1337. package/src/lib/assets/images/svg/icons/Media/Volume-full.svg +12 -0
  1338. package/src/lib/assets/images/svg/icons/Media/Volume-half.svg +12 -0
  1339. package/src/lib/assets/images/svg/icons/Media/Volume-up.svg +12 -0
  1340. package/src/lib/assets/images/svg/icons/Media/Vynil.svg +12 -0
  1341. package/src/lib/assets/images/svg/icons/Media/Youtube.svg +12 -0
  1342. package/src/lib/assets/images/svg/icons/Navigation/Angle-double-down.svg +12 -0
  1343. package/src/lib/assets/images/svg/icons/Navigation/Angle-double-left.svg +12 -0
  1344. package/src/lib/assets/images/svg/icons/Navigation/Angle-double-right.svg +12 -0
  1345. package/src/lib/assets/images/svg/icons/Navigation/Angle-double-up.svg +12 -0
  1346. package/src/lib/assets/images/svg/icons/Navigation/Angle-down.svg +11 -0
  1347. package/src/lib/assets/images/svg/icons/Navigation/Angle-left.svg +11 -0
  1348. package/src/lib/assets/images/svg/icons/Navigation/Angle-right.svg +11 -0
  1349. package/src/lib/assets/images/svg/icons/Navigation/Arrow-down.svg +12 -0
  1350. package/src/lib/assets/images/svg/icons/Navigation/Arrow-from-bottom.svg +13 -0
  1351. package/src/lib/assets/images/svg/icons/Navigation/Arrow-from-left.svg +13 -0
  1352. package/src/lib/assets/images/svg/icons/Navigation/Arrow-from-right.svg +13 -0
  1353. package/src/lib/assets/images/svg/icons/Navigation/Arrow-from-top.svg +13 -0
  1354. package/src/lib/assets/images/svg/icons/Navigation/Arrow-left.svg +12 -0
  1355. package/src/lib/assets/images/svg/icons/Navigation/Arrow-right.svg +12 -0
  1356. package/src/lib/assets/images/svg/icons/Navigation/Arrow-to-bottom.svg +13 -0
  1357. package/src/lib/assets/images/svg/icons/Navigation/Arrow-to-left.svg +13 -0
  1358. package/src/lib/assets/images/svg/icons/Navigation/Arrow-to-right.svg +13 -0
  1359. package/src/lib/assets/images/svg/icons/Navigation/Arrow-to-up.svg +13 -0
  1360. package/src/lib/assets/images/svg/icons/Navigation/Arrow-up.svg +12 -0
  1361. package/src/lib/assets/images/svg/icons/Navigation/Arrows-h.svg +13 -0
  1362. package/src/lib/assets/images/svg/icons/Navigation/Arrows-v.svg +13 -0
  1363. package/src/lib/assets/images/svg/icons/Navigation/Check.svg +11 -0
  1364. package/src/lib/assets/images/svg/icons/Navigation/Close.svg +13 -0
  1365. package/src/lib/assets/images/svg/icons/Navigation/Double-check.svg +12 -0
  1366. package/src/lib/assets/images/svg/icons/Navigation/Down-2.svg +12 -0
  1367. package/src/lib/assets/images/svg/icons/Navigation/Down-left.svg +12 -0
  1368. package/src/lib/assets/images/svg/icons/Navigation/Down-right.svg +12 -0
  1369. package/src/lib/assets/images/svg/icons/Navigation/Exchange.svg +14 -0
  1370. package/src/lib/assets/images/svg/icons/Navigation/Left 3.svg +12 -0
  1371. package/src/lib/assets/images/svg/icons/Navigation/Left-2.svg +12 -0
  1372. package/src/lib/assets/images/svg/icons/Navigation/Minus.svg +10 -0
  1373. package/src/lib/assets/images/svg/icons/Navigation/Plus.svg +11 -0
  1374. package/src/lib/assets/images/svg/icons/Navigation/Right 3.svg +12 -0
  1375. package/src/lib/assets/images/svg/icons/Navigation/Right-2.svg +12 -0
  1376. package/src/lib/assets/images/svg/icons/Navigation/Route.svg +13 -0
  1377. package/src/lib/assets/images/svg/icons/Navigation/Sign-in.svg +13 -0
  1378. package/src/lib/assets/images/svg/icons/Navigation/Sign-out.svg +13 -0
  1379. package/src/lib/assets/images/svg/icons/Navigation/Stockholm-icons/Navigation/Angle-up.svg +11 -0
  1380. package/src/lib/assets/images/svg/icons/Navigation/Up-2.svg +12 -0
  1381. package/src/lib/assets/images/svg/icons/Navigation/Up-down.svg +14 -0
  1382. package/src/lib/assets/images/svg/icons/Navigation/Up-left.svg +12 -0
  1383. package/src/lib/assets/images/svg/icons/Navigation/Up-right.svg +12 -0
  1384. package/src/lib/assets/images/svg/icons/Navigation/Waiting.svg +11 -0
  1385. package/src/lib/assets/images/svg/icons/Shopping/ATM.svg +12 -0
  1386. package/src/lib/assets/images/svg/icons/Shopping/Bag1.svg +12 -0
  1387. package/src/lib/assets/images/svg/icons/Shopping/Bag2.svg +12 -0
  1388. package/src/lib/assets/images/svg/icons/Shopping/Barcode-read.svg +12 -0
  1389. package/src/lib/assets/images/svg/icons/Shopping/Barcode-scan.svg +13 -0
  1390. package/src/lib/assets/images/svg/icons/Shopping/Barcode.svg +12 -0
  1391. package/src/lib/assets/images/svg/icons/Shopping/Bitcoin.svg +13 -0
  1392. package/src/lib/assets/images/svg/icons/Shopping/Box1.svg +12 -0
  1393. package/src/lib/assets/images/svg/icons/Shopping/Box2.svg +12 -0
  1394. package/src/lib/assets/images/svg/icons/Shopping/Box3.svg +12 -0
  1395. package/src/lib/assets/images/svg/icons/Shopping/Calculator.svg +12 -0
  1396. package/src/lib/assets/images/svg/icons/Shopping/Cart1.svg +12 -0
  1397. package/src/lib/assets/images/svg/icons/Shopping/Cart2.svg +12 -0
  1398. package/src/lib/assets/images/svg/icons/Shopping/Cart3.svg +12 -0
  1399. package/src/lib/assets/images/svg/icons/Shopping/Chart-bar1.svg +14 -0
  1400. package/src/lib/assets/images/svg/icons/Shopping/Chart-bar2.svg +14 -0
  1401. package/src/lib/assets/images/svg/icons/Shopping/Chart-bar3.svg +14 -0
  1402. package/src/lib/assets/images/svg/icons/Shopping/Chart-line1.svg +12 -0
  1403. package/src/lib/assets/images/svg/icons/Shopping/Chart-line2.svg +12 -0
  1404. package/src/lib/assets/images/svg/icons/Shopping/Chart-pie.svg +12 -0
  1405. package/src/lib/assets/images/svg/icons/Shopping/Credit-card.svg +13 -0
  1406. package/src/lib/assets/images/svg/icons/Shopping/Dollar.svg +13 -0
  1407. package/src/lib/assets/images/svg/icons/Shopping/Euro.svg +12 -0
  1408. package/src/lib/assets/images/svg/icons/Shopping/Gift.svg +12 -0
  1409. package/src/lib/assets/images/svg/icons/Shopping/Loader.svg +13 -0
  1410. package/src/lib/assets/images/svg/icons/Shopping/MC.svg +12 -0
  1411. package/src/lib/assets/images/svg/icons/Shopping/Money.svg +12 -0
  1412. package/src/lib/assets/images/svg/icons/Shopping/Pound.svg +12 -0
  1413. package/src/lib/assets/images/svg/icons/Shopping/Price1.svg +11 -0
  1414. package/src/lib/assets/images/svg/icons/Shopping/Price2.svg +15 -0
  1415. package/src/lib/assets/images/svg/icons/Shopping/Rouble.svg +12 -0
  1416. package/src/lib/assets/images/svg/icons/Shopping/Safe.svg +12 -0
  1417. package/src/lib/assets/images/svg/icons/Shopping/Sale1.svg +12 -0
  1418. package/src/lib/assets/images/svg/icons/Shopping/Sale2.svg +14 -0
  1419. package/src/lib/assets/images/svg/icons/Shopping/Settings.svg +12 -0
  1420. package/src/lib/assets/images/svg/icons/Shopping/Sort1.svg +12 -0
  1421. package/src/lib/assets/images/svg/icons/Shopping/Sort2.svg +11 -0
  1422. package/src/lib/assets/images/svg/icons/Shopping/Sort3.svg +11 -0
  1423. package/src/lib/assets/images/svg/icons/Shopping/Ticket.svg +11 -0
  1424. package/src/lib/assets/images/svg/icons/Shopping/Wallet.svg +13 -0
  1425. package/src/lib/assets/images/svg/icons/Shopping/Wallet2.svg +12 -0
  1426. package/src/lib/assets/images/svg/icons/Shopping/Wallet3.svg +13 -0
  1427. package/src/lib/assets/images/svg/icons/Text/Align-auto.svg +12 -0
  1428. package/src/lib/assets/images/svg/icons/Text/Align-center.svg +12 -0
  1429. package/src/lib/assets/images/svg/icons/Text/Align-justify.svg +12 -0
  1430. package/src/lib/assets/images/svg/icons/Text/Align-left.svg +13 -0
  1431. package/src/lib/assets/images/svg/icons/Text/Align-right.svg +12 -0
  1432. package/src/lib/assets/images/svg/icons/Text/Article.svg +12 -0
  1433. package/src/lib/assets/images/svg/icons/Text/Bold.svg +11 -0
  1434. package/src/lib/assets/images/svg/icons/Text/Bullet-list.svg +12 -0
  1435. package/src/lib/assets/images/svg/icons/Text/Code.svg +11 -0
  1436. package/src/lib/assets/images/svg/icons/Text/Dots.svg +11 -0
  1437. package/src/lib/assets/images/svg/icons/Text/Edit-text.svg +12 -0
  1438. package/src/lib/assets/images/svg/icons/Text/Filter.svg +11 -0
  1439. package/src/lib/assets/images/svg/icons/Text/Font.svg +12 -0
  1440. package/src/lib/assets/images/svg/icons/Text/H1.svg +12 -0
  1441. package/src/lib/assets/images/svg/icons/Text/H2.svg +12 -0
  1442. package/src/lib/assets/images/svg/icons/Text/Itallic.svg +11 -0
  1443. package/src/lib/assets/images/svg/icons/Text/Menu.svg +12 -0
  1444. package/src/lib/assets/images/svg/icons/Text/Paragraph.svg +11 -0
  1445. package/src/lib/assets/images/svg/icons/Text/Quote1.svg +12 -0
  1446. package/src/lib/assets/images/svg/icons/Text/Quote2.svg +12 -0
  1447. package/src/lib/assets/images/svg/icons/Text/Redo.svg +11 -0
  1448. package/src/lib/assets/images/svg/icons/Text/Strikethrough.svg +12 -0
  1449. package/src/lib/assets/images/svg/icons/Text/Text-height.svg +12 -0
  1450. package/src/lib/assets/images/svg/icons/Text/Text-width.svg +12 -0
  1451. package/src/lib/assets/images/svg/icons/Text/Text.svg +11 -0
  1452. package/src/lib/assets/images/svg/icons/Text/Toggle-Left.svg +12 -0
  1453. package/src/lib/assets/images/svg/icons/Text/Toggle-Right.svg +12 -0
  1454. package/src/lib/assets/images/svg/icons/Text/Toggle.svg +12 -0
  1455. package/src/lib/assets/images/svg/icons/Text/Underline.svg +12 -0
  1456. package/src/lib/assets/images/svg/icons/Text/Undo.svg +11 -0
  1457. package/src/lib/assets/images/svg/icons/Tools/Angle Grinder.svg +13 -0
  1458. package/src/lib/assets/images/svg/icons/Tools/Axe.svg +12 -0
  1459. package/src/lib/assets/images/svg/icons/Tools/Brush.svg +12 -0
  1460. package/src/lib/assets/images/svg/icons/Tools/Compass.svg +12 -0
  1461. package/src/lib/assets/images/svg/icons/Tools/Hummer.svg +12 -0
  1462. package/src/lib/assets/images/svg/icons/Tools/Hummer2.svg +13 -0
  1463. package/src/lib/assets/images/svg/icons/Tools/Pantone.svg +13 -0
  1464. package/src/lib/assets/images/svg/icons/Tools/Road-Cone.svg +12 -0
  1465. package/src/lib/assets/images/svg/icons/Tools/Roller.svg +13 -0
  1466. package/src/lib/assets/images/svg/icons/Tools/Roulette.svg +12 -0
  1467. package/src/lib/assets/images/svg/icons/Tools/Screwdriver.svg +12 -0
  1468. package/src/lib/assets/images/svg/icons/Tools/Shovel.svg +12 -0
  1469. package/src/lib/assets/images/svg/icons/Tools/Spatula.svg +12 -0
  1470. package/src/lib/assets/images/svg/icons/Tools/Swiss-knife.svg +12 -0
  1471. package/src/lib/assets/images/svg/icons/Tools/Tools.svg +12 -0
  1472. package/src/lib/assets/images/svg/icons/Weather/Celcium.svg +12 -0
  1473. package/src/lib/assets/images/svg/icons/Weather/Cloud-fog.svg +12 -0
  1474. package/src/lib/assets/images/svg/icons/Weather/Cloud-sun.svg +12 -0
  1475. package/src/lib/assets/images/svg/icons/Weather/Cloud-wind.svg +13 -0
  1476. package/src/lib/assets/images/svg/icons/Weather/Cloud1.svg +11 -0
  1477. package/src/lib/assets/images/svg/icons/Weather/Cloud2.svg +12 -0
  1478. package/src/lib/assets/images/svg/icons/Weather/Cloudy-night.svg +12 -0
  1479. package/src/lib/assets/images/svg/icons/Weather/Cloudy.svg +12 -0
  1480. package/src/lib/assets/images/svg/icons/Weather/Day-rain.svg +12 -0
  1481. package/src/lib/assets/images/svg/icons/Weather/Fahrenheit.svg +12 -0
  1482. package/src/lib/assets/images/svg/icons/Weather/Fog.svg +16 -0
  1483. package/src/lib/assets/images/svg/icons/Weather/Moon.svg +11 -0
  1484. package/src/lib/assets/images/svg/icons/Weather/Night-fog.svg +12 -0
  1485. package/src/lib/assets/images/svg/icons/Weather/Night-rain.svg +12 -0
  1486. package/src/lib/assets/images/svg/icons/Weather/Rain1.svg +12 -0
  1487. package/src/lib/assets/images/svg/icons/Weather/Rain2.svg +12 -0
  1488. package/src/lib/assets/images/svg/icons/Weather/Rain5.svg +12 -0
  1489. package/src/lib/assets/images/svg/icons/Weather/Rainbow.svg +13 -0
  1490. package/src/lib/assets/images/svg/icons/Weather/Snow.svg +12 -0
  1491. package/src/lib/assets/images/svg/icons/Weather/Snow1.svg +12 -0
  1492. package/src/lib/assets/images/svg/icons/Weather/Snow2.svg +12 -0
  1493. package/src/lib/assets/images/svg/icons/Weather/Snow3.svg +12 -0
  1494. package/src/lib/assets/images/svg/icons/Weather/Storm.svg +12 -0
  1495. package/src/lib/assets/images/svg/icons/Weather/Sun-fog.svg +12 -0
  1496. package/src/lib/assets/images/svg/icons/Weather/Sun.svg +12 -0
  1497. package/src/lib/assets/images/svg/icons/Weather/Suset1.svg +12 -0
  1498. package/src/lib/assets/images/svg/icons/Weather/Suset2.svg +12 -0
  1499. package/src/lib/assets/images/svg/icons/Weather/Temperature-empty.svg +11 -0
  1500. package/src/lib/assets/images/svg/icons/Weather/Temperature-full.svg +11 -0
  1501. package/src/lib/assets/images/svg/icons/Weather/Temperature-half.svg +11 -0
  1502. package/src/lib/assets/images/svg/icons/Weather/Thunder-night.svg +12 -0
  1503. package/src/lib/assets/images/svg/icons/Weather/Thunder.svg +12 -0
  1504. package/src/lib/assets/images/svg/icons/Weather/Umbrella.svg +12 -0
  1505. package/src/lib/assets/images/svg/icons/Weather/Wind.svg +12 -0
  1506. package/src/lib/assets/images/svg/illustrations/contact.svg +1 -0
  1507. package/src/lib/assets/images/svg/illustrations/copy.svg +51 -0
  1508. package/src/lib/assets/images/svg/illustrations/data-points.svg +1 -0
  1509. package/src/lib/assets/images/svg/illustrations/features.svg +176 -0
  1510. package/src/lib/assets/images/svg/illustrations/login-visual-1.svg +79 -0
  1511. package/src/lib/assets/images/svg/illustrations/login-visual-2.svg +104 -0
  1512. package/src/lib/assets/images/svg/illustrations/login-visual-3.svg +203 -0
  1513. package/src/lib/assets/images/svg/illustrations/login-visual-4.svg +82 -0
  1514. package/src/lib/assets/images/svg/illustrations/login-visual-5.svg +177 -0
  1515. package/src/lib/assets/images/svg/illustrations/progress.svg +9 -0
  1516. package/src/lib/assets/images/svg/illustrations/working.svg +1 -0
  1517. package/src/lib/assets/images/svg/logos/adidas-9.svg +1 -0
  1518. package/src/lib/assets/images/svg/logos/adidas.svg +1 -0
  1519. package/src/lib/assets/images/svg/logos/airbnb-2.svg +1 -0
  1520. package/src/lib/assets/images/svg/logos/alcatel-mobile-3.svg +1 -0
  1521. package/src/lib/assets/images/svg/logos/amazon-icon-1.svg +1 -0
  1522. package/src/lib/assets/images/svg/logos/android-wordmark.svg +1 -0
  1523. package/src/lib/assets/images/svg/logos/angular-3.svg +1 -0
  1524. package/src/lib/assets/images/svg/logos/angular-icon-1.svg +1 -0
  1525. package/src/lib/assets/images/svg/logos/angular-icon.svg +1 -0
  1526. package/src/lib/assets/images/svg/logos/angular.svg +1 -0
  1527. package/src/lib/assets/images/svg/logos/apigee.svg +1 -0
  1528. package/src/lib/assets/images/svg/logos/apple-black.svg +1 -0
  1529. package/src/lib/assets/images/svg/logos/apple-itunes.svg +1 -0
  1530. package/src/lib/assets/images/svg/logos/aries-2.svg +1 -0
  1531. package/src/lib/assets/images/svg/logos/asml-1.svg +1 -0
  1532. package/src/lib/assets/images/svg/logos/audi-11.svg +1 -0
  1533. package/src/lib/assets/images/svg/logos/avis-1.svg +1 -0
  1534. package/src/lib/assets/images/svg/logos/avocode-inc.svg +1 -0
  1535. package/src/lib/assets/images/svg/logos/banco-santander-logo.svg +1 -0
  1536. package/src/lib/assets/images/svg/logos/beats-electronics.svg +1 -0
  1537. package/src/lib/assets/images/svg/logos/biman-airlines-classic-logo.svg +1 -0
  1538. package/src/lib/assets/images/svg/logos/bookingcom-1.svg +1 -0
  1539. package/src/lib/assets/images/svg/logos/bootstrap-4.svg +1 -0
  1540. package/src/lib/assets/images/svg/logos/bootstrap-5.svg +1 -0
  1541. package/src/lib/assets/images/svg/logos/bose.svg +1 -0
  1542. package/src/lib/assets/images/svg/logos/bp-3.svg +1 -0
  1543. package/src/lib/assets/images/svg/logos/brantano.svg +1 -0
  1544. package/src/lib/assets/images/svg/logos/bride.svg +1 -0
  1545. package/src/lib/assets/images/svg/logos/british-council-1.svg +1 -0
  1546. package/src/lib/assets/images/svg/logos/brondi.svg +1 -0
  1547. package/src/lib/assets/images/svg/logos/campingaz-1.svg +1 -0
  1548. package/src/lib/assets/images/svg/logos/canon-logo.svg +1 -0
  1549. package/src/lib/assets/images/svg/logos/carrols.svg +1 -0
  1550. package/src/lib/assets/images/svg/logos/casio.svg +1 -0
  1551. package/src/lib/assets/images/svg/logos/caterpillar-2.svg +1 -0
  1552. package/src/lib/assets/images/svg/logos/citrix-6002.svg +1 -0
  1553. package/src/lib/assets/images/svg/logos/codeigniter.svg +1 -0
  1554. package/src/lib/assets/images/svg/logos/comcast.svg +1 -0
  1555. package/src/lib/assets/images/svg/logos/conair.svg +1 -0
  1556. package/src/lib/assets/images/svg/logos/costa-2.svg +1 -0
  1557. package/src/lib/assets/images/svg/logos/costco-wholesale-logo.svg +1 -0
  1558. package/src/lib/assets/images/svg/logos/css-5.svg +1 -0
  1559. package/src/lib/assets/images/svg/logos/decathlon-logo.svg +1 -0
  1560. package/src/lib/assets/images/svg/logos/deloitte-1.svg +1 -0
  1561. package/src/lib/assets/images/svg/logos/depend.svg +1 -0
  1562. package/src/lib/assets/images/svg/logos/diesel-5.svg +1 -0
  1563. package/src/lib/assets/images/svg/logos/django-community.svg +1 -0
  1564. package/src/lib/assets/images/svg/logos/dribbble-icon-1.svg +1 -0
  1565. package/src/lib/assets/images/svg/logos/dribbble-pink.svg +1 -0
  1566. package/src/lib/assets/images/svg/logos/duolingo.svg +3 -0
  1567. package/src/lib/assets/images/svg/logos/dynamac.svg +1 -0
  1568. package/src/lib/assets/images/svg/logos/ebay.svg +1 -0
  1569. package/src/lib/assets/images/svg/logos/ember.svg +1 -0
  1570. package/src/lib/assets/images/svg/logos/envato.svg +1 -0
  1571. package/src/lib/assets/images/svg/logos/espacio-urbano.svg +1 -0
  1572. package/src/lib/assets/images/svg/logos/etoys-com.svg +1 -0
  1573. package/src/lib/assets/images/svg/logos/facebook-1.svg +1 -0
  1574. package/src/lib/assets/images/svg/logos/facebook-2.svg +1 -0
  1575. package/src/lib/assets/images/svg/logos/facebook-3.svg +1 -0
  1576. package/src/lib/assets/images/svg/logos/farmers-insurance-3.svg +1 -0
  1577. package/src/lib/assets/images/svg/logos/figma-1.svg +1 -0
  1578. package/src/lib/assets/images/svg/logos/friday-s.svg +1 -0
  1579. package/src/lib/assets/images/svg/logos/funding-circle.svg +1 -0
  1580. package/src/lib/assets/images/svg/logos/garmin-1.svg +1 -0
  1581. package/src/lib/assets/images/svg/logos/general-electric.svg +1 -0
  1582. package/src/lib/assets/images/svg/logos/github-1.svg +12 -0
  1583. package/src/lib/assets/images/svg/logos/github-2.svg +1 -0
  1584. package/src/lib/assets/images/svg/logos/github-icon.svg +1 -0
  1585. package/src/lib/assets/images/svg/logos/gitlab.svg +1 -0
  1586. package/src/lib/assets/images/svg/logos/google-icon.svg +1 -0
  1587. package/src/lib/assets/images/svg/logos/google-photos.svg +1 -0
  1588. package/src/lib/assets/images/svg/logos/google-play-store.svg +1 -0
  1589. package/src/lib/assets/images/svg/logos/google-podcasts.svg +1 -0
  1590. package/src/lib/assets/images/svg/logos/google-tag-manager.svg +18 -0
  1591. package/src/lib/assets/images/svg/logos/gradiente-2.svg +1 -0
  1592. package/src/lib/assets/images/svg/logos/gulp-1.svg +1 -0
  1593. package/src/lib/assets/images/svg/logos/gulp.svg +1 -0
  1594. package/src/lib/assets/images/svg/logos/hbo.svg +1 -0
  1595. package/src/lib/assets/images/svg/logos/heavylift.svg +1 -0
  1596. package/src/lib/assets/images/svg/logos/hilton-buenos-aires.svg +1 -0
  1597. package/src/lib/assets/images/svg/logos/himel.svg +1 -0
  1598. package/src/lib/assets/images/svg/logos/honda-7.svg +1 -0
  1599. package/src/lib/assets/images/svg/logos/hp-2.svg +1 -0
  1600. package/src/lib/assets/images/svg/logos/hp-hewlett-packard.svg +1 -0
  1601. package/src/lib/assets/images/svg/logos/html5.svg +1 -0
  1602. package/src/lib/assets/images/svg/logos/huggies-2.svg +1 -0
  1603. package/src/lib/assets/images/svg/logos/ikon-1.svg +1 -0
  1604. package/src/lib/assets/images/svg/logos/instagram-2-1.svg +1 -0
  1605. package/src/lib/assets/images/svg/logos/instagram-2016.svg +1 -0
  1606. package/src/lib/assets/images/svg/logos/intermarche-2.svg +53 -0
  1607. package/src/lib/assets/images/svg/logos/invision.svg +1 -0
  1608. package/src/lib/assets/images/svg/logos/javascript-2.svg +1 -0
  1609. package/src/lib/assets/images/svg/logos/javascript-4.svg +1 -0
  1610. package/src/lib/assets/images/svg/logos/javascript.svg +1 -0
  1611. package/src/lib/assets/images/svg/logos/jelcz.svg +1 -0
  1612. package/src/lib/assets/images/svg/logos/jfits.svg +1 -0
  1613. package/src/lib/assets/images/svg/logos/jquery-2.svg +1 -0
  1614. package/src/lib/assets/images/svg/logos/jquery.svg +1 -0
  1615. package/src/lib/assets/images/svg/logos/keysight-logo.svg +1 -0
  1616. package/src/lib/assets/images/svg/logos/komatsu-3.svg +38 -0
  1617. package/src/lib/assets/images/svg/logos/koni-special.svg +1 -0
  1618. package/src/lib/assets/images/svg/logos/last-fm-1.svg +1 -0
  1619. package/src/lib/assets/images/svg/logos/leclerc-1.svg +1 -0
  1620. package/src/lib/assets/images/svg/logos/legrand.svg +1 -0
  1621. package/src/lib/assets/images/svg/logos/leica-2.svg +1 -0
  1622. package/src/lib/assets/images/svg/logos/levis.svg +1 -0
  1623. package/src/lib/assets/images/svg/logos/lg-electronics.svg +1 -0
  1624. package/src/lib/assets/images/svg/logos/lidl-supermarkets.svg +1 -0
  1625. package/src/lib/assets/images/svg/logos/linkedin.svg +1 -0
  1626. package/src/lib/assets/images/svg/logos/lloyds-of-london-logo.svg +1 -0
  1627. package/src/lib/assets/images/svg/logos/maxis-communications-logo.svg +1 -0
  1628. package/src/lib/assets/images/svg/logos/metro-1.svg +1 -0
  1629. package/src/lib/assets/images/svg/logos/metro-4.svg +1 -0
  1630. package/src/lib/assets/images/svg/logos/metro-by-t-mobile.svg +1 -0
  1631. package/src/lib/assets/images/svg/logos/microsoft-5.svg +1 -0
  1632. package/src/lib/assets/images/svg/logos/miller-6.svg +1 -0
  1633. package/src/lib/assets/images/svg/logos/minol.svg +1 -0
  1634. package/src/lib/assets/images/svg/logos/mnd.svg +1 -0
  1635. package/src/lib/assets/images/svg/logos/msn.svg +1 -0
  1636. package/src/lib/assets/images/svg/logos/mysql-2.svg +1 -0
  1637. package/src/lib/assets/images/svg/logos/nestle-4.svg +1 -0
  1638. package/src/lib/assets/images/svg/logos/new-beko-logo.svg +1 -0
  1639. package/src/lib/assets/images/svg/logos/nike-4.svg +1 -0
  1640. package/src/lib/assets/images/svg/logos/node-sass.svg +1 -0
  1641. package/src/lib/assets/images/svg/logos/noht.svg +1 -0
  1642. package/src/lib/assets/images/svg/logos/npm.svg +1 -0
  1643. package/src/lib/assets/images/svg/logos/ocaml.svg +1 -0
  1644. package/src/lib/assets/images/svg/logos/oger-tours.svg +1 -0
  1645. package/src/lib/assets/images/svg/logos/origin-4.svg +1 -0
  1646. package/src/lib/assets/images/svg/logos/paypie.svg +1 -0
  1647. package/src/lib/assets/images/svg/logos/pinterest.svg +1 -0
  1648. package/src/lib/assets/images/svg/logos/puma-logo.svg +1 -0
  1649. package/src/lib/assets/images/svg/logos/python-5.svg +1 -0
  1650. package/src/lib/assets/images/svg/logos/quilosa.svg +1 -0
  1651. package/src/lib/assets/images/svg/logos/react-native-firebase-1.svg +1 -0
  1652. package/src/lib/assets/images/svg/logos/react-router.svg +1 -0
  1653. package/src/lib/assets/images/svg/logos/react.svg +1 -0
  1654. package/src/lib/assets/images/svg/logos/redbull.svg +1 -0
  1655. package/src/lib/assets/images/svg/logos/sass-1.svg +1 -0
  1656. package/src/lib/assets/images/svg/logos/seat-pg.svg +1 -0
  1657. package/src/lib/assets/images/svg/logos/sentry-3.svg +1 -0
  1658. package/src/lib/assets/images/svg/logos/shell.svg +1 -0
  1659. package/src/lib/assets/images/svg/logos/siplast.svg +1 -0
  1660. package/src/lib/assets/images/svg/logos/slack-new-logo.svg +1 -0
  1661. package/src/lib/assets/images/svg/logos/slack.svg +1 -0
  1662. package/src/lib/assets/images/svg/logos/snowbird.svg +1 -0
  1663. package/src/lib/assets/images/svg/logos/soriana-logo-1.svg +1 -0
  1664. package/src/lib/assets/images/svg/logos/sparkpost.svg +1 -0
  1665. package/src/lib/assets/images/svg/logos/spotify-2.svg +1 -0
  1666. package/src/lib/assets/images/svg/logos/spotify-logo.svg +1 -0
  1667. package/src/lib/assets/images/svg/logos/sprint-nextel.svg +1 -0
  1668. package/src/lib/assets/images/svg/logos/stabilo.svg +1 -0
  1669. package/src/lib/assets/images/svg/logos/strava-wordmark-1.svg +1 -0
  1670. package/src/lib/assets/images/svg/logos/stream-1.svg +1 -0
  1671. package/src/lib/assets/images/svg/logos/super-cuts.svg +1 -0
  1672. package/src/lib/assets/images/svg/logos/suzuki-motor-corporation-logo.svg +1 -0
  1673. package/src/lib/assets/images/svg/logos/suzuki.svg +1 -0
  1674. package/src/lib/assets/images/svg/logos/syngenta.svg +1 -0
  1675. package/src/lib/assets/images/svg/logos/tempstar.svg +1 -0
  1676. package/src/lib/assets/images/svg/logos/the-blockchain-group-tbg.svg +1 -0
  1677. package/src/lib/assets/images/svg/logos/thomas-1.svg +1 -0
  1678. package/src/lib/assets/images/svg/logos/thuisbezorgd.svg +1 -0
  1679. package/src/lib/assets/images/svg/logos/thule-2.svg +1 -0
  1680. package/src/lib/assets/images/svg/logos/ticketmaster-5.svg +1 -0
  1681. package/src/lib/assets/images/svg/logos/tofas-logo.svg +1 -0
  1682. package/src/lib/assets/images/svg/logos/trimble-2.svg +55 -0
  1683. package/src/lib/assets/images/svg/logos/trivago.svg +1 -0
  1684. package/src/lib/assets/images/svg/logos/twitter.svg +1 -0
  1685. package/src/lib/assets/images/svg/logos/unilever-2.svg +1 -0
  1686. package/src/lib/assets/images/svg/logos/university-of-cambridge.svg +1 -0
  1687. package/src/lib/assets/images/svg/logos/urw-software.svg +1 -0
  1688. package/src/lib/assets/images/svg/logos/verizon-2015.svg +1 -0
  1689. package/src/lib/assets/images/svg/logos/vimeo-icon.svg +1 -0
  1690. package/src/lib/assets/images/svg/logos/visa.svg +1 -0
  1691. package/src/lib/assets/images/svg/logos/vue-9.svg +1 -0
  1692. package/src/lib/assets/images/svg/logos/vype.svg +1 -0
  1693. package/src/lib/assets/images/svg/logos/webasto-logo.svg +1 -0
  1694. package/src/lib/assets/images/svg/logos/webpack-icon.svg +1 -0
  1695. package/src/lib/assets/images/svg/logos/webpack.svg +1 -0
  1696. package/src/lib/assets/images/svg/logos/west-marine.svg +1 -0
  1697. package/src/lib/assets/images/svg/logos/worth.svg +1 -0
  1698. package/src/lib/assets/images/svg/logos/xing-icon.svg +1 -0
  1699. package/src/lib/assets/images/svg/logos/youtube-3.svg +1 -0
  1700. package/src/lib/assets/images/svg/logos/youtube.svg +1 -0
  1701. package/src/lib/assets/images/svg/logos/ziprecruiter-blacktext.svg +1 -0
  1702. package/src/lib/assets/images/svg/logos/zurich-logo.svg +1 -0
  1703. package/src/lib/assets/images/svg/misc/001-recycling.svg +56 -0
  1704. package/src/lib/assets/images/svg/misc/002-eolic-energy.svg +51 -0
  1705. package/src/lib/assets/images/svg/misc/003-puzzle.svg +1 -0
  1706. package/src/lib/assets/images/svg/misc/004-retweet.svg +55 -0
  1707. package/src/lib/assets/images/svg/misc/005-bebo.svg +42 -0
  1708. package/src/lib/assets/images/svg/misc/006-plurk.svg +47 -0
  1709. package/src/lib/assets/images/svg/misc/007-disqus.svg +49 -0
  1710. package/src/lib/assets/images/svg/misc/008-infography.svg +1 -0
  1711. package/src/lib/assets/images/svg/misc/009-hot-air-balloon.svg +1 -0
  1712. package/src/lib/assets/images/svg/misc/010-vimeo.svg +1 -0
  1713. package/src/lib/assets/images/svg/misc/011-swarm.svg +1 -0
  1714. package/src/lib/assets/images/svg/misc/012-foursquare.svg +1 -0
  1715. package/src/lib/assets/images/svg/misc/013-rgb.svg +59 -0
  1716. package/src/lib/assets/images/svg/misc/014-kickstarter.svg +23 -0
  1717. package/src/lib/assets/images/svg/misc/015-telegram.svg +24 -0
  1718. package/src/lib/assets/images/svg/patterns/aare.svg +28 -0
  1719. package/src/lib/assets/images/svg/patterns/rhone-2.svg +29 -0
  1720. package/src/lib/assets/images/svg/patterns/rhone.svg +32 -0
  1721. package/src/lib/assets/images/svg/patterns/taieri.svg +13 -0
  1722. package/src/lib/assets/images/svg/shapes/abstract-1.svg +16 -0
  1723. package/src/lib/assets/images/svg/shapes/abstract-10.svg +9 -0
  1724. package/src/lib/assets/images/svg/shapes/abstract-2.svg +5 -0
  1725. package/src/lib/assets/images/svg/shapes/abstract-3.svg +13 -0
  1726. package/src/lib/assets/images/svg/shapes/abstract-4.svg +11 -0
  1727. package/src/lib/assets/images/svg/shapes/abstract-5.svg +14 -0
  1728. package/src/lib/assets/images/svg/shapes/abstract-6.svg +3 -0
  1729. package/src/lib/assets/images/svg/shapes/abstract-7.svg +9 -0
  1730. package/src/lib/assets/images/svg/shapes/abstract-8.svg +16 -0
  1731. package/src/lib/assets/images/svg/shapes/abstract-9.svg +9 -0
  1732. package/src/lib/assets/images/svg/social-icons/google.svg +6 -0
  1733. package/src/lib/assets/images/telephone.svg +1 -0
  1734. package/src/lib/assets/images/text-area.svg +1 -0
  1735. package/src/lib/assets/images/text-editor.svg +1 -0
  1736. package/src/lib/assets/images/toggle.svg +1 -0
  1737. package/src/lib/assets/images/translate.svg +1 -0
  1738. package/src/lib/assets/images/user.svg +75 -0
  1739. package/src/lib/assets/images/users.svg +25 -0
  1740. package/src/lib/assets/sass/_init.scss +26 -0
  1741. package/src/lib/assets/sass/components/_item-hover-custom.scss +29 -0
  1742. package/src/lib/assets/sass/components/_landing.scss +136 -0
  1743. package/src/lib/assets/sass/components/_nouislider-custom.scss +16 -0
  1744. package/src/lib/assets/sass/components/_placeholder-custom.scss +7 -0
  1745. package/src/lib/assets/sass/components/_stepper-links.scss +56 -0
  1746. package/src/lib/assets/sass/components/_timeline-label.scss +68 -0
  1747. package/src/lib/assets/sass/components/_variables.custom.scss +36 -0
  1748. package/src/lib/assets/sass/components/components.scss +12 -0
  1749. package/src/lib/assets/sass/core/base/_functions.scss +10 -0
  1750. package/src/lib/assets/sass/core/base/_mixins.scss +11 -0
  1751. package/src/lib/assets/sass/core/base/functions/_get.scss +82 -0
  1752. package/src/lib/assets/sass/core/base/functions/_math.scss +15 -0
  1753. package/src/lib/assets/sass/core/base/functions/_mode.scss +27 -0
  1754. package/src/lib/assets/sass/core/base/functions/_theme-colors.scss +15 -0
  1755. package/src/lib/assets/sass/core/base/functions/_valueif.scss +13 -0
  1756. package/src/lib/assets/sass/core/base/mixins/_attr.scss +9 -0
  1757. package/src/lib/assets/sass/core/base/mixins/_breakpoints.scss +25 -0
  1758. package/src/lib/assets/sass/core/base/mixins/_browsers.scss +10 -0
  1759. package/src/lib/assets/sass/core/base/mixins/_fixes.scss +15 -0
  1760. package/src/lib/assets/sass/core/base/mixins/_placeholder.scss +16 -0
  1761. package/src/lib/assets/sass/core/base/mixins/_reset.scss +23 -0
  1762. package/src/lib/assets/sass/core/components/_accordion.scss +68 -0
  1763. package/src/lib/assets/sass/core/components/_anchor.scss +37 -0
  1764. package/src/lib/assets/sass/core/components/_animation.scss +81 -0
  1765. package/src/lib/assets/sass/core/components/_badge.scss +57 -0
  1766. package/src/lib/assets/sass/core/components/_blockui.scss +43 -0
  1767. package/src/lib/assets/sass/core/components/_breadcrumb.scss +66 -0
  1768. package/src/lib/assets/sass/core/components/_bullet.scss +33 -0
  1769. package/src/lib/assets/sass/core/components/_buttons.scss +7 -0
  1770. package/src/lib/assets/sass/core/components/_card.scss +271 -0
  1771. package/src/lib/assets/sass/core/components/_carousel.scss +81 -0
  1772. package/src/lib/assets/sass/core/components/_code.scss +15 -0
  1773. package/src/lib/assets/sass/core/components/_drawer.scss +62 -0
  1774. package/src/lib/assets/sass/core/components/_explore.scss +109 -0
  1775. package/src/lib/assets/sass/core/components/_feedback.scss +34 -0
  1776. package/src/lib/assets/sass/core/components/_forms.scss +10 -0
  1777. package/src/lib/assets/sass/core/components/_helpers.scss +12 -0
  1778. package/src/lib/assets/sass/core/components/_image-input.scss +104 -0
  1779. package/src/lib/assets/sass/core/components/_indicator.scss +17 -0
  1780. package/src/lib/assets/sass/core/components/_menu.scss +7 -0
  1781. package/src/lib/assets/sass/core/components/_mixins.scss +15 -0
  1782. package/src/lib/assets/sass/core/components/_modal.scss +71 -0
  1783. package/src/lib/assets/sass/core/components/_nav.scss +136 -0
  1784. package/src/lib/assets/sass/core/components/_notice.scss +13 -0
  1785. package/src/lib/assets/sass/core/components/_overlay.scss +39 -0
  1786. package/src/lib/assets/sass/core/components/_page-loader.scss +26 -0
  1787. package/src/lib/assets/sass/core/components/_pagination.scss +178 -0
  1788. package/src/lib/assets/sass/core/components/_popover.scss +41 -0
  1789. package/src/lib/assets/sass/core/components/_progress.scss +27 -0
  1790. package/src/lib/assets/sass/core/components/_pulse.scss +39 -0
  1791. package/src/lib/assets/sass/core/components/_rating.scss +71 -0
  1792. package/src/lib/assets/sass/core/components/_ribbon.scss +195 -0
  1793. package/src/lib/assets/sass/core/components/_root.scss +23 -0
  1794. package/src/lib/assets/sass/core/components/_rotate.scss +47 -0
  1795. package/src/lib/assets/sass/core/components/_scroll.scss +194 -0
  1796. package/src/lib/assets/sass/core/components/_scrolltop.scss +66 -0
  1797. package/src/lib/assets/sass/core/components/_separator.scss +19 -0
  1798. package/src/lib/assets/sass/core/components/_shape.scss +13 -0
  1799. package/src/lib/assets/sass/core/components/_stepper.scss +7 -0
  1800. package/src/lib/assets/sass/core/components/_svg-icon.scss +31 -0
  1801. package/src/lib/assets/sass/core/components/_symbol.scss +105 -0
  1802. package/src/lib/assets/sass/core/components/_tables.scss +143 -0
  1803. package/src/lib/assets/sass/core/components/_timeline.scss +70 -0
  1804. package/src/lib/assets/sass/core/components/_toggle.scss +19 -0
  1805. package/src/lib/assets/sass/core/components/_tooltip.scss +23 -0
  1806. package/src/lib/assets/sass/core/components/_utilities.scss +111 -0
  1807. package/src/lib/assets/sass/core/components/_variables.scss +1248 -0
  1808. package/src/lib/assets/sass/core/components/buttons/_base.scss +115 -0
  1809. package/src/lib/assets/sass/core/components/buttons/_theme.scss +235 -0
  1810. package/src/lib/assets/sass/core/components/components.scss +86 -0
  1811. package/src/lib/assets/sass/core/components/forms/_form-check.scss +134 -0
  1812. package/src/lib/assets/sass/core/components/forms/_form-control.scss +75 -0
  1813. package/src/lib/assets/sass/core/components/forms/_form-select.scss +45 -0
  1814. package/src/lib/assets/sass/core/components/forms/_input-group.scss +30 -0
  1815. package/src/lib/assets/sass/core/components/forms/_required.scss +14 -0
  1816. package/src/lib/assets/sass/core/components/helpers/_background.scss +215 -0
  1817. package/src/lib/assets/sass/core/components/helpers/_borders.scss +109 -0
  1818. package/src/lib/assets/sass/core/components/helpers/_flex.scss +47 -0
  1819. package/src/lib/assets/sass/core/components/helpers/_opacity.scss +18 -0
  1820. package/src/lib/assets/sass/core/components/helpers/_shadow.scss +7 -0
  1821. package/src/lib/assets/sass/core/components/helpers/_text.scss +161 -0
  1822. package/src/lib/assets/sass/core/components/helpers/_transform.scss +8 -0
  1823. package/src/lib/assets/sass/core/components/menu/_base.scss +265 -0
  1824. package/src/lib/assets/sass/core/components/menu/_theme.scss +269 -0
  1825. package/src/lib/assets/sass/core/components/mixins/_buttons.scss +77 -0
  1826. package/src/lib/assets/sass/core/components/mixins/_ki.scss +18 -0
  1827. package/src/lib/assets/sass/core/components/mixins/_menu.scss +229 -0
  1828. package/src/lib/assets/sass/core/components/mixins/_popover.scss +74 -0
  1829. package/src/lib/assets/sass/core/components/mixins/_scroll.scss +26 -0
  1830. package/src/lib/assets/sass/core/components/mixins/_shape.scss +29 -0
  1831. package/src/lib/assets/sass/core/components/mixins/_svg-bg-icon.scss +37 -0
  1832. package/src/lib/assets/sass/core/components/mixins/_svg-icon.scss +34 -0
  1833. package/src/lib/assets/sass/core/components/mixins/_symbol.scss +42 -0
  1834. package/src/lib/assets/sass/core/components/mixins/_tooltip.scss +43 -0
  1835. package/src/lib/assets/sass/core/components/stepper/_base.scss +82 -0
  1836. package/src/lib/assets/sass/core/components/stepper/_pills.scss +172 -0
  1837. package/src/lib/assets/sass/core/layout/_base.scss +50 -0
  1838. package/src/lib/assets/sass/core/layout/docs/_aside.scss +50 -0
  1839. package/src/lib/assets/sass/core/layout/docs/_header.scss +26 -0
  1840. package/src/lib/assets/sass/core/layout/docs/_layout.scss +10 -0
  1841. package/src/lib/assets/sass/core/layout/docs/_main.scss +32 -0
  1842. package/src/lib/assets/sass/core/layout/docs/_menu.scss +31 -0
  1843. package/src/lib/assets/sass/core/layout/docs/_print.scss +30 -0
  1844. package/src/lib/assets/sass/core/layout/docs/_variables.scss +22 -0
  1845. package/src/lib/assets/sass/core/vendors/plugins/_apexcharts.scss +137 -0
  1846. package/src/lib/assets/sass/core/vendors/plugins/_bootstrap-maxlength.scss +15 -0
  1847. package/src/lib/assets/sass/core/vendors/plugins/_ckeditor.scss +54 -0
  1848. package/src/lib/assets/sass/core/vendors/plugins/_datatables.scss +101 -0
  1849. package/src/lib/assets/sass/core/vendors/plugins/_daterangepicker.scss +271 -0
  1850. package/src/lib/assets/sass/core/vendors/plugins/_draggable.scss +27 -0
  1851. package/src/lib/assets/sass/core/vendors/plugins/_dropzone.scss +177 -0
  1852. package/src/lib/assets/sass/core/vendors/plugins/_flatpickr.scss +392 -0
  1853. package/src/lib/assets/sass/core/vendors/plugins/_formvalidation.scss +19 -0
  1854. package/src/lib/assets/sass/core/vendors/plugins/_fslightbox.scss +11 -0
  1855. package/src/lib/assets/sass/core/vendors/plugins/_fullcalendar.scss +297 -0
  1856. package/src/lib/assets/sass/core/vendors/plugins/_gmaps.scss +18 -0
  1857. package/src/lib/assets/sass/core/vendors/plugins/_jkanban.scss +83 -0
  1858. package/src/lib/assets/sass/core/vendors/plugins/_jstree.scss +150 -0
  1859. package/src/lib/assets/sass/core/vendors/plugins/_leaflet.scss +23 -0
  1860. package/src/lib/assets/sass/core/vendors/plugins/_mixins.scss +7 -0
  1861. package/src/lib/assets/sass/core/vendors/plugins/_nouislider.scss +82 -0
  1862. package/src/lib/assets/sass/core/vendors/plugins/_plugins.scss +30 -0
  1863. package/src/lib/assets/sass/core/vendors/plugins/_plugins.spa.scss +11 -0
  1864. package/src/lib/assets/sass/core/vendors/plugins/_prismjs.scss +91 -0
  1865. package/src/lib/assets/sass/core/vendors/plugins/_quill.scss +184 -0
  1866. package/src/lib/assets/sass/core/vendors/plugins/_recaptcha.scss +32 -0
  1867. package/src/lib/assets/sass/core/vendors/plugins/_select2.scss +274 -0
  1868. package/src/lib/assets/sass/core/vendors/plugins/_summernote.scss +153 -0
  1869. package/src/lib/assets/sass/core/vendors/plugins/_sweetalert2.scss +112 -0
  1870. package/src/lib/assets/sass/core/vendors/plugins/_tagify.scss +156 -0
  1871. package/src/lib/assets/sass/core/vendors/plugins/_tiny-slider.scss +101 -0
  1872. package/src/lib/assets/sass/core/vendors/plugins/_tinymce.scss +14 -0
  1873. package/src/lib/assets/sass/core/vendors/plugins/_toastr.scss +91 -0
  1874. package/src/lib/assets/sass/core/vendors/plugins/_variables.scss +8 -0
  1875. package/src/lib/assets/sass/core/vendors/plugins/mixins/_nouislider.scss +13 -0
  1876. package/src/lib/assets/sass/core/vendors/plugins/mixins/_select2.scss +39 -0
  1877. package/src/lib/assets/sass/core/vendors/plugins/mixins/_tagify.scss +37 -0
  1878. package/src/lib/assets/sass/custom-styles-rtl.scss +23 -0
  1879. package/src/lib/assets/sass/custom-styles.scss +378 -0
  1880. package/src/lib/assets/sass/layout/_content.scss +27 -0
  1881. package/src/lib/assets/sass/layout/_footer.scss +7 -0
  1882. package/src/lib/assets/sass/layout/_header.scss +95 -0
  1883. package/src/lib/assets/sass/layout/_layout.scss +14 -0
  1884. package/src/lib/assets/sass/layout/_main.scss +75 -0
  1885. package/src/lib/assets/sass/layout/_print.scss +34 -0
  1886. package/src/lib/assets/sass/layout/_toolbar.scss +84 -0
  1887. package/src/lib/assets/sass/layout/_variables.scss +77 -0
  1888. package/src/lib/assets/sass/layout/aside/_base.scss +198 -0
  1889. package/src/lib/assets/sass/layout/aside/_menu.scss +62 -0
  1890. package/src/lib/assets/sass/layoutbundle-rtl.scss +50974 -0
  1891. package/src/lib/assets/sass/plugins.scss +16 -0
  1892. package/src/lib/assets/sass/style-rtl.scss +21 -0
  1893. package/src/lib/assets/sass/style.scss +30 -0
@@ -0,0 +1,826 @@
1
+ import { createPopper } from '@popperjs/core';
2
+ import { getAttributeValueByBreakpoint, getElementChild, getElementParents, getHighestZindex, insertAfterElement, slideDown, slideUp, throttle } from "../_utils/DomHelpers";
3
+ import { EventHandlerUtil } from "../_utils/EventHandlerUtil";
4
+ import { DataUtil } from "../_utils/_DataUtil";
5
+ import { DOMEventHandlerUtil } from "../_utils/_DOMEventHandlerUtil";
6
+ import { ElementStyleUtil } from "../_utils/_ElementStyleUtil";
7
+ import { getUniqueIdWithPrefix } from "../_utils/_TypesHelpers";
8
+ const defaultMenuOptions = {
9
+ dropdown: {
10
+ hoverTimeout: 200,
11
+ zindex: 105,
12
+ },
13
+ accordion: {
14
+ slideSpeed: 250,
15
+ expand: false,
16
+ },
17
+ };
18
+ class MenuComponent {
19
+ constructor(_element, options) {
20
+ this.triggerElement = null;
21
+ // Set external trigger element
22
+ this._setTriggerElement = () => {
23
+ const target = document.querySelector(`[data-kt-menu-target="#${this.element.getAttribute('id')}"`);
24
+ if (target) {
25
+ this.triggerElement = target;
26
+ }
27
+ else if (this.element.closest('[data-kt-menu-trigger]')) {
28
+ this.triggerElement = this.element.closest('[data-kt-menu-trigger]');
29
+ }
30
+ else if (this.element.parentNode &&
31
+ getElementChild(this.element.parentNode, '[data-kt-menu-trigger]')) {
32
+ const child = getElementChild(this.element.parentNode, '[data-kt-menu-trigger]');
33
+ if (child) {
34
+ this.triggerElement = child;
35
+ }
36
+ }
37
+ if (this.triggerElement) {
38
+ DataUtil.set(this.triggerElement, 'menu', this);
39
+ }
40
+ };
41
+ // Test if menu has external trigger element
42
+ this._isTriggerElement = (item) => {
43
+ return this.triggerElement === item;
44
+ };
45
+ // Get item option(through html attributes)
46
+ this._getItemOption = (item, name) => {
47
+ let value = null;
48
+ if (item && item.hasAttribute('data-kt-menu-' + name)) {
49
+ const attr = item.getAttribute('data-kt-menu-' + name) || '';
50
+ value = getAttributeValueByBreakpoint(attr);
51
+ if (value !== null && String(value) === 'true') {
52
+ value = true;
53
+ }
54
+ else if (value !== null && String(value) === 'false') {
55
+ value = false;
56
+ }
57
+ }
58
+ return value;
59
+ };
60
+ // Get item element
61
+ this._getItemElement = (_element) => {
62
+ // Element is the external trigger element
63
+ if (this._isTriggerElement(_element)) {
64
+ return _element;
65
+ }
66
+ // Element has item toggler attribute
67
+ if (_element.hasAttribute('data-kt-menu-trigger')) {
68
+ return _element;
69
+ }
70
+ // Element has item DOM reference in it's data storage
71
+ const itemElement = DataUtil.get(_element, 'item');
72
+ if (itemElement) {
73
+ return itemElement;
74
+ }
75
+ // Item is parent of element
76
+ const item = _element.closest('.menu-item[data-kt-menu-trigger]');
77
+ if (item) {
78
+ return item;
79
+ }
80
+ // Element's parent has item DOM reference in it's data storage
81
+ const sub = _element.closest('.menu-sub');
82
+ if (sub) {
83
+ const subItem = DataUtil.get(sub, 'item');
84
+ if (subItem) {
85
+ return subItem;
86
+ }
87
+ }
88
+ };
89
+ // Get item parent element
90
+ this._getItemParentElement = (item) => {
91
+ const sub = item.closest('.menu-sub');
92
+ if (!sub) {
93
+ return null;
94
+ }
95
+ const subItem = DataUtil.get(sub, 'item');
96
+ if (subItem) {
97
+ return subItem;
98
+ }
99
+ const parentItem = sub.closest('.menu-item[data-kt-menu-trigger]');
100
+ if (sub && parentItem) {
101
+ return parentItem;
102
+ }
103
+ return null;
104
+ };
105
+ // Get item parent elements
106
+ this._getItemParentElements = (item) => {
107
+ const parents = [];
108
+ let parent;
109
+ let i = 0;
110
+ let buffer = item;
111
+ do {
112
+ parent = this._getItemParentElement(buffer);
113
+ if (parent) {
114
+ parents.push(parent);
115
+ buffer = parent;
116
+ }
117
+ i++;
118
+ } while (parent !== null && i < 20);
119
+ if (this.triggerElement) {
120
+ parents.unshift(this.triggerElement);
121
+ }
122
+ return parents;
123
+ };
124
+ // Prepare popper config for dropdown(see: https://popper.js.org/docs/v2/)
125
+ this._getDropdownPopperConfig = (item) => {
126
+ // Placement
127
+ const placementOption = this._getItemOption(item, 'placement');
128
+ let placement = 'right';
129
+ if (placementOption) {
130
+ placement = placementOption;
131
+ }
132
+ // Flip
133
+ const flipValue = this._getItemOption(item, 'flip');
134
+ const flip = flipValue ? flipValue.toString().split(',') : [];
135
+ // Offset
136
+ const offsetValue = this._getItemOption(item, 'offset');
137
+ const offset = offsetValue ? offsetValue.toString().split(',') : [];
138
+ // Strategy
139
+ const strategy = this._getItemOption(item, 'overflow') === true ? 'absolute' : 'fixed';
140
+ var altAxis = this._getItemOption(item, 'flip') !== false;
141
+ return {
142
+ placement: placement,
143
+ strategy: strategy,
144
+ modifiers: [{
145
+ name: 'offset',
146
+ options: {
147
+ offset: offset
148
+ }
149
+ }, {
150
+ name: 'preventOverflow',
151
+ options: {
152
+ altAxis: altAxis
153
+ }
154
+ }, {
155
+ name: 'flip',
156
+ options: {
157
+ flipVariations: false
158
+ }
159
+ }]
160
+ };
161
+ };
162
+ // Get item child element
163
+ this._getItemChildElement = (item) => {
164
+ let selector = item;
165
+ const subItem = DataUtil.get(item, 'sub');
166
+ if (subItem) {
167
+ selector = subItem;
168
+ }
169
+ if (selector) {
170
+ //element = selector.querySelector('.show.menu-item[data-kt-menu-trigger]');
171
+ const element = selector.querySelector('.menu-item[data-kt-menu-trigger]');
172
+ if (element) {
173
+ return element;
174
+ }
175
+ }
176
+ return null;
177
+ };
178
+ // Get item child elements
179
+ this._getItemChildElements = (item) => {
180
+ const children = [];
181
+ let child;
182
+ let i = 0;
183
+ let buffer = item;
184
+ do {
185
+ child = this._getItemChildElement(buffer);
186
+ if (child) {
187
+ children.push(child);
188
+ buffer = child;
189
+ }
190
+ i++;
191
+ } while (child !== null && i < 20);
192
+ return children;
193
+ };
194
+ // Get item sub element
195
+ this._getItemSubElement = (item) => {
196
+ if (!item) {
197
+ return null;
198
+ }
199
+ if (this._isTriggerElement(item)) {
200
+ return this.element;
201
+ }
202
+ if (item.classList.contains('menu-sub')) {
203
+ return item;
204
+ }
205
+ else if (DataUtil.has(item, 'sub')) {
206
+ return DataUtil.get(item, 'sub');
207
+ }
208
+ else {
209
+ return getElementChild(item, '.menu-sub');
210
+ }
211
+ };
212
+ this._getCss = (el, styleProp) => {
213
+ const defaultView = (el.ownerDocument || document).defaultView;
214
+ if (!defaultView) {
215
+ return '';
216
+ }
217
+ // sanitize property name to css notation
218
+ // (hyphen separated words eg. font-Size)
219
+ styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase();
220
+ return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
221
+ };
222
+ // Get item sub type
223
+ this._getItemSubType = (element) => {
224
+ const sub = this._getItemSubElement(element);
225
+ if (sub && parseInt(this._getCss(sub, 'z-index')) > 0) {
226
+ return 'dropdown';
227
+ }
228
+ else {
229
+ return 'accordion';
230
+ }
231
+ };
232
+ // Test if item's sub is shown
233
+ this._isItemSubShown = (item) => {
234
+ let sub = this._getItemSubElement(item);
235
+ if (sub) {
236
+ if (this._getItemSubType(item) === 'dropdown') {
237
+ return sub.classList.contains('show') && sub.hasAttribute('data-popper-placement');
238
+ }
239
+ else {
240
+ return item.classList.contains('show');
241
+ }
242
+ }
243
+ return false;
244
+ };
245
+ // Test if item dropdown is permanent
246
+ this._isItemDropdownPermanent = (item) => {
247
+ return this._getItemOption(item, 'permanent') === true;
248
+ };
249
+ // Test if item's parent is shown
250
+ this._isItemParentShown = (item) => {
251
+ return getElementParents(item, '.menu-item.show').length > 0;
252
+ };
253
+ // Test of it is item sub element
254
+ this._isItemSubElement = (item) => {
255
+ return item.classList.contains('menu-sub');
256
+ };
257
+ // Test if item has sub
258
+ this._hasItemSub = (item) => {
259
+ return item.classList.contains('menu-item') && item.hasAttribute('data-kt-menu-trigger');
260
+ };
261
+ // Get link element
262
+ this._getItemLinkElement = (item) => {
263
+ return getElementChild(item, '.menu-link');
264
+ };
265
+ // Get toggle element
266
+ this._getItemToggleElement = (item) => {
267
+ if (this.triggerElement) {
268
+ return this.triggerElement;
269
+ }
270
+ return this._getItemLinkElement(item);
271
+ };
272
+ // Show item dropdown
273
+ this._showDropdown = (item) => {
274
+ if (EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.show') === false) {
275
+ return;
276
+ }
277
+ // Hide all currently shown dropdowns except current one
278
+ MenuComponent.hideDropdowns(item);
279
+ // const toggle = this._isTriggerElement(item) ? item : this._getItemLinkElement(item);
280
+ const sub = this._getItemSubElement(item);
281
+ const width = this._getItemOption(item, 'width');
282
+ const height = this._getItemOption(item, 'height');
283
+ let zindex = this.options.dropdown.zindex;
284
+ const parentZindex = getHighestZindex(item); // update
285
+ // Apply a new z-index if dropdown's toggle element or it's parent has greater z-index // update
286
+ if (parentZindex !== null && parentZindex >= zindex) {
287
+ zindex = parentZindex + 1;
288
+ }
289
+ if (zindex) {
290
+ ElementStyleUtil.set(sub, 'z-index', zindex);
291
+ }
292
+ if (width) {
293
+ ElementStyleUtil.set(sub, 'width', width);
294
+ }
295
+ if (height) {
296
+ ElementStyleUtil.set(sub, 'height', height);
297
+ }
298
+ this.initDropdownPopper(item, sub);
299
+ item.classList.add('show');
300
+ item.classList.add('menu-dropdown');
301
+ sub.classList.add('show');
302
+ // Append the sub the the root of the menu
303
+ if (this._getItemOption(item, 'overflow') === true) {
304
+ document.body.appendChild(sub);
305
+ DataUtil.set(item, 'sub', sub);
306
+ DataUtil.set(sub, 'item', item);
307
+ DataUtil.set(sub, 'menu', this);
308
+ }
309
+ else {
310
+ DataUtil.set(sub, 'item', item);
311
+ }
312
+ EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.shown');
313
+ };
314
+ // Init dropdown popper(new)
315
+ this.initDropdownPopper = (item, sub) => {
316
+ // Setup popper instance
317
+ let reference;
318
+ const attach = this._getItemOption(item, 'attach');
319
+ if (attach) {
320
+ if (attach === 'parent') {
321
+ reference = item.parentNode;
322
+ }
323
+ else {
324
+ reference = document.querySelector(attach);
325
+ }
326
+ }
327
+ else {
328
+ reference = item;
329
+ }
330
+ if (reference) {
331
+ const popper = createPopper(reference, sub, this._getDropdownPopperConfig(item));
332
+ DataUtil.set(item, 'popper', popper);
333
+ }
334
+ };
335
+ // Hide item dropdown
336
+ this._hideDropdown = (item) => {
337
+ if (EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hide') === false) {
338
+ return;
339
+ }
340
+ const sub = this._getItemSubElement(item);
341
+ ElementStyleUtil.set(sub, 'z-index', '');
342
+ ElementStyleUtil.set(sub, 'width', '');
343
+ ElementStyleUtil.set(sub, 'height', '');
344
+ item.classList.remove('show');
345
+ item.classList.remove('menu-dropdown');
346
+ sub.classList.remove('show');
347
+ // Append the sub back to it's parent
348
+ if (this._getItemOption(item, 'overflow') === true) {
349
+ if (item.classList.contains('menu-item')) {
350
+ item.appendChild(sub);
351
+ }
352
+ else {
353
+ insertAfterElement(this.element, item);
354
+ }
355
+ DataUtil.remove(item, 'sub');
356
+ DataUtil.remove(sub, 'item');
357
+ DataUtil.remove(sub, 'menu');
358
+ }
359
+ if (DataUtil.has(item, 'popper') === true) {
360
+ DataUtil.get(item, 'popper').destroy();
361
+ DataUtil.remove(item, 'popper');
362
+ }
363
+ // Destroy popper(new)
364
+ this.destroyDropdownPopper(item);
365
+ EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hidden');
366
+ };
367
+ // Destroy dropdown popper(new)
368
+ this.destroyDropdownPopper = (item) => {
369
+ if (DataUtil.has(item, 'popper') === true) {
370
+ DataUtil.get(item, 'popper').destroy();
371
+ DataUtil.remove(item, 'popper');
372
+ }
373
+ EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hidden');
374
+ };
375
+ this._showAccordion = (item) => {
376
+ if (EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.show') === false) {
377
+ return;
378
+ }
379
+ if (this.options.accordion.expand === false) {
380
+ this._hideAccordions(item);
381
+ }
382
+ if (DataUtil.has(item, 'popper') === true) {
383
+ this._hideDropdown(item);
384
+ }
385
+ item.classList.add('hover'); // updateWW
386
+ item.classList.add('showing');
387
+ const subElement = this._getItemSubElement(item);
388
+ if (subElement) {
389
+ const sub = subElement;
390
+ slideDown(sub, this.options.accordion.slideSpeed, () => {
391
+ item.classList.remove('showing');
392
+ item.classList.add('show');
393
+ sub.classList.add('show');
394
+ EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.shown');
395
+ });
396
+ }
397
+ };
398
+ this._hideAccordion = (item) => {
399
+ if (EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.hide') === false) {
400
+ return;
401
+ }
402
+ const sub = this._getItemSubElement(item);
403
+ item.classList.add('hiding');
404
+ if (sub) {
405
+ slideUp(sub, this.options.accordion.slideSpeed, () => {
406
+ item.classList.remove('hiding');
407
+ item.classList.remove('show');
408
+ sub.classList.remove('show');
409
+ item.classList.remove('hover'); // update
410
+ EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.hidden');
411
+ });
412
+ }
413
+ };
414
+ // Hide all shown accordions of item
415
+ this._hideAccordions = (item) => {
416
+ const itemsToHide = this.element.querySelectorAll('.show[data-kt-menu-trigger]');
417
+ if (itemsToHide && itemsToHide.length > 0) {
418
+ for (var i = 0, len = itemsToHide.length; i < len; i++) {
419
+ const itemToHide = itemsToHide[i];
420
+ if (this._getItemSubType(itemToHide) === 'accordion' &&
421
+ itemToHide !== item &&
422
+ item.contains(itemToHide) === false &&
423
+ itemToHide.contains(item) === false) {
424
+ this._hideAccordion(itemToHide);
425
+ }
426
+ }
427
+ }
428
+ };
429
+ // Event Handlers
430
+ // Reset item state classes if item sub type changed
431
+ this._reset = (item) => {
432
+ if (this._hasItemSub(item) === false) {
433
+ return;
434
+ }
435
+ const sub = this._getItemSubElement(item);
436
+ // Reset sub state if sub type is changed during the window resize
437
+ if (DataUtil.has(item, 'type') && DataUtil.get(item, 'type') !== this._getItemSubType(item)) {
438
+ // updated
439
+ item.classList.remove('hover');
440
+ item.classList.remove('show');
441
+ item.classList.remove('show');
442
+ if (sub && sub.removeClass) {
443
+ sub.removeClass(sub, 'show');
444
+ }
445
+ } // updated
446
+ };
447
+ // TODO: not done
448
+ this._destroy = () => { };
449
+ // Update all item state classes if item sub type changed
450
+ this._update = () => {
451
+ const items = this.element.querySelectorAll('.menu-item[data-kt-menu-trigger]');
452
+ items.forEach((el) => this._reset(el));
453
+ };
454
+ // Hide item sub
455
+ this._hide = (item) => {
456
+ if (!item) {
457
+ return;
458
+ }
459
+ if (this._isItemSubShown(item) === false) {
460
+ return;
461
+ }
462
+ if (this._getItemSubType(item) === 'dropdown') {
463
+ this._hideDropdown(item);
464
+ }
465
+ else if (this._getItemSubType(item) === 'accordion') {
466
+ this._hideAccordion(item);
467
+ }
468
+ };
469
+ // Show item sub
470
+ this._show = (item) => {
471
+ if (!item) {
472
+ return;
473
+ }
474
+ if (this._isItemSubShown(item) === true) {
475
+ return;
476
+ }
477
+ if (this._getItemSubType(item) === 'dropdown') {
478
+ this._showDropdown(item); // // show current dropdown
479
+ }
480
+ else if (this._getItemSubType(item) === 'accordion') {
481
+ this._showAccordion(item);
482
+ }
483
+ // Remember last submenu type
484
+ DataUtil.set(item, 'type', this._getItemSubType(item)); // updated
485
+ };
486
+ // Toggle item sub
487
+ this._toggle = (item) => {
488
+ if (!item) {
489
+ return;
490
+ }
491
+ if (this._isItemSubShown(item) === true) {
492
+ this._hide(item);
493
+ }
494
+ else {
495
+ this._show(item);
496
+ }
497
+ };
498
+ // Mouseout handle
499
+ this._mouseout = (element, e) => {
500
+ const item = this._getItemElement(element);
501
+ if (!item) {
502
+ return;
503
+ }
504
+ if (this._getItemOption(item, 'trigger') !== 'hover') {
505
+ return;
506
+ }
507
+ const timeout = setTimeout(() => {
508
+ if (DataUtil.get(item, 'hover') === '1') {
509
+ this._hide(item);
510
+ }
511
+ }, this.options.dropdown.hoverTimeout);
512
+ DataUtil.set(item, 'hover', '1');
513
+ DataUtil.set(item, 'timeout', timeout);
514
+ };
515
+ // Mouseover handle
516
+ this._mouseover = (element, e) => {
517
+ const item = this._getItemElement(element);
518
+ if (!item) {
519
+ return;
520
+ }
521
+ if (this._getItemOption(item, 'trigger') !== 'hover') {
522
+ return;
523
+ }
524
+ if (DataUtil.get(item, 'hover') === '1') {
525
+ clearTimeout(DataUtil.get(item, 'timeout'));
526
+ DataUtil.remove(item, 'hover');
527
+ DataUtil.remove(item, 'timeout');
528
+ }
529
+ this._show(item);
530
+ };
531
+ // Dismiss handler
532
+ this._dismiss = (element, e) => {
533
+ const item = this._getItemElement(element);
534
+ const items = this._getItemChildElements(item);
535
+ //if ( item !== null && _getItemOption(item, 'trigger') === 'click' && _getItemSubType(item) === 'dropdown' ) {
536
+ const itemSubType = this._getItemSubType(item);
537
+ if (item !== null && itemSubType === 'dropdown') {
538
+ this._hide(item); // hide items dropdown
539
+ // Hide all child elements as well
540
+ if (items.length > 0) {
541
+ for (let i = 0, len = items.length; i < len; i++) {
542
+ //if ( _getItemOption(item, 'trigger') === 'click' && _getItemSubType(item) === 'dropdown' ) {
543
+ if (items[i] !== null && this._getItemSubType(items[i]) === 'dropdown') {
544
+ this._hide(items[i]);
545
+ }
546
+ }
547
+ }
548
+ }
549
+ };
550
+ // Link handler
551
+ this._link = (element, e) => {
552
+ if (EventHandlerUtil.trigger(this.element, 'kt.menu.link.click') === false) {
553
+ return;
554
+ }
555
+ // Dismiss all shown dropdowns
556
+ MenuComponent.hideDropdowns(undefined);
557
+ EventHandlerUtil.trigger(this.element, 'kt.menu.link.clicked');
558
+ };
559
+ this._click = (element, e) => {
560
+ e.preventDefault();
561
+ const item = this._getItemElement(element);
562
+ if (this._getItemOption(item, 'trigger') !== 'click') {
563
+ return;
564
+ }
565
+ if (this._getItemOption(item, 'toggle') === false) {
566
+ this._show(item);
567
+ }
568
+ else {
569
+ this._toggle(item);
570
+ }
571
+ };
572
+ ///////////////////////
573
+ // ** Public API ** //
574
+ ///////////////////////
575
+ this.click = (element, e) => {
576
+ return this._click(element, e);
577
+ };
578
+ this.link = (element, e) => {
579
+ return this._link(element, e);
580
+ };
581
+ this.dismiss = (element, e) => {
582
+ return this._dismiss(element, e);
583
+ };
584
+ this.mouseover = (element, e) => {
585
+ return this._mouseover(element, e);
586
+ };
587
+ this.mouseout = (element, e) => {
588
+ return this._mouseout(element, e);
589
+ };
590
+ // General Methods
591
+ this.getItemTriggerType = (item) => {
592
+ return this._getItemOption(item, 'trigger');
593
+ };
594
+ this.getItemSubType = (element) => {
595
+ return this._getItemSubType(element);
596
+ };
597
+ this.show = (item) => {
598
+ return this._show(item);
599
+ };
600
+ this.hide = (item) => {
601
+ return this._hide(item);
602
+ };
603
+ this.reset = (item) => {
604
+ return this._reset(item);
605
+ };
606
+ this.update = () => {
607
+ return this._update();
608
+ };
609
+ this.getElement = () => {
610
+ return this.element;
611
+ };
612
+ this.getItemLinkElement = (item) => {
613
+ return this._getItemLinkElement(item);
614
+ };
615
+ this.getItemToggleElement = (item) => {
616
+ return this._getItemToggleElement(item);
617
+ };
618
+ this.getItemSubElement = (item) => {
619
+ return this._getItemSubElement(item);
620
+ };
621
+ this.getItemParentElements = (item) => {
622
+ return this._getItemParentElements(item);
623
+ };
624
+ this.isItemSubShown = (item) => {
625
+ return this._isItemSubShown(item);
626
+ };
627
+ this.isItemParentShown = (item) => {
628
+ return this._isItemParentShown(item);
629
+ };
630
+ this.getTriggerElement = () => {
631
+ return this.triggerElement;
632
+ };
633
+ this.isItemDropdownPermanent = (item) => {
634
+ return this._isItemDropdownPermanent(item);
635
+ };
636
+ // Accordion Mode Methods
637
+ this.hideAccordions = (item) => {
638
+ return this._hideAccordions(item);
639
+ };
640
+ // Event API
641
+ this.on = (name, handler) => {
642
+ return EventHandlerUtil.on(this.element, name, handler);
643
+ };
644
+ this.one = (name, handler) => {
645
+ return EventHandlerUtil.one(this.element, name, handler);
646
+ };
647
+ this.off = (name) => {
648
+ return EventHandlerUtil.off(this.element, name);
649
+ };
650
+ this.element = _element;
651
+ this.options = Object.assign(defaultMenuOptions, options);
652
+ this.instanceUid = getUniqueIdWithPrefix('menu');
653
+ // this.element.setAttribute('data-kt-menu', 'true')
654
+ this._setTriggerElement();
655
+ this._update();
656
+ DataUtil.set(this.element, 'menu', this);
657
+ return this;
658
+ }
659
+ }
660
+ // public static methods
661
+ // Get KTMenu instance by element
662
+ MenuComponent.getInstance = (element) => {
663
+ // Element has menu DOM reference in it's DATA storage
664
+ const elementMenu = DataUtil.get(element, 'menu');
665
+ if (elementMenu) {
666
+ return elementMenu;
667
+ }
668
+ // Element has .menu parent
669
+ const menu = element.closest('.menu');
670
+ if (menu) {
671
+ const menuData = DataUtil.get(menu, 'menu');
672
+ if (menuData) {
673
+ return menuData;
674
+ }
675
+ }
676
+ // Element has a parent with DOM reference to .menu in it's DATA storage
677
+ if (element.classList.contains('menu-link')) {
678
+ const sub = element.closest('.menu-sub');
679
+ if (sub) {
680
+ const subMenu = DataUtil.get(sub, 'menu');
681
+ if (subMenu) {
682
+ return subMenu;
683
+ }
684
+ }
685
+ }
686
+ return null;
687
+ };
688
+ // Hide all dropdowns and skip one if provided
689
+ MenuComponent.hideDropdowns = (skip) => {
690
+ const items = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]');
691
+ if (items && items.length > 0) {
692
+ for (let i = 0, len = items.length; i < len; i++) {
693
+ const item = items[i];
694
+ const menu = MenuComponent.getInstance(item);
695
+ if (menu && menu.getItemSubType(item) === 'dropdown') {
696
+ if (skip) {
697
+ if (menu.getItemSubElement(item).contains(skip) === false &&
698
+ item.contains(skip) === false &&
699
+ item !== skip) {
700
+ menu.hide(item);
701
+ }
702
+ }
703
+ else {
704
+ menu.hide(item);
705
+ }
706
+ }
707
+ }
708
+ }
709
+ };
710
+ MenuComponent.updateDropdowns = () => {
711
+ const items = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]');
712
+ if (items && items.length > 0) {
713
+ for (var i = 0, len = items.length; i < len; i++) {
714
+ var item = items[i];
715
+ if (DataUtil.has(item, 'popper')) {
716
+ DataUtil.get(item, 'popper').forceUpdate();
717
+ }
718
+ }
719
+ }
720
+ };
721
+ // Global handlers
722
+ MenuComponent.createInstances = (selector) => {
723
+ // Initialize menus
724
+ document.querySelectorAll(selector).forEach((el) => {
725
+ const menuItem = el;
726
+ let menuInstance = MenuComponent.getInstance(menuItem);
727
+ if (!menuInstance) {
728
+ menuInstance = new MenuComponent(el, defaultMenuOptions);
729
+ }
730
+ });
731
+ };
732
+ MenuComponent.initGlobalHandlers = () => {
733
+ // Dropdown handler
734
+ document.addEventListener('click', (e) => {
735
+ const menuItems = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]');
736
+ if (menuItems && menuItems.length > 0) {
737
+ for (let i = 0; i < menuItems.length; i++) {
738
+ const item = menuItems[i];
739
+ const menuObj = MenuComponent.getInstance(item);
740
+ if (menuObj && menuObj.getItemSubType(item) === 'dropdown') {
741
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
742
+ const menu = menuObj.getElement();
743
+ const sub = menuObj.getItemSubElement(item);
744
+ if (item === e.target || item.contains(e.target)) {
745
+ continue;
746
+ }
747
+ if (sub && (sub === e.target || sub.contains(e.target))) {
748
+ continue;
749
+ }
750
+ menuObj.hide(item);
751
+ }
752
+ }
753
+ }
754
+ });
755
+ // Sub toggle handler
756
+ DOMEventHandlerUtil.on(document.body, '.menu-item[data-kt-menu-trigger] > .menu-link, [data-kt-menu-trigger]:not(.menu-item):not([data-kt-menu-trigger="auto"])', 'click', function (e) {
757
+ const menu = MenuComponent.getInstance(this);
758
+ if (menu) {
759
+ return menu.click(this, e);
760
+ }
761
+ });
762
+ // // Link handler
763
+ DOMEventHandlerUtil.on(document.body, '.menu-item:not([data-kt-menu-trigger]) > .menu-link', 'click', function (e) {
764
+ e.stopPropagation();
765
+ const menu = MenuComponent.getInstance(this);
766
+ if (menu && menu.link) {
767
+ return menu.link(this, e);
768
+ }
769
+ });
770
+ // Dismiss handler
771
+ DOMEventHandlerUtil.on(document.body, '[data-kt-menu-dismiss="true"]', 'click', function (e) {
772
+ const menu = MenuComponent.getInstance(this);
773
+ if (menu) {
774
+ return menu.dismiss(this, e);
775
+ }
776
+ });
777
+ // Mouseover handler
778
+ DOMEventHandlerUtil.on(document.body, '[data-kt-menu-trigger], .menu-sub', 'mouseover', function (e) {
779
+ const menu = MenuComponent.getInstance(this);
780
+ if (menu && menu.getItemSubType(this) === 'dropdown') {
781
+ return menu.mouseover(this, e);
782
+ }
783
+ });
784
+ // Mouseout handler
785
+ DOMEventHandlerUtil.on(document.body, '[data-kt-menu-trigger], .menu-sub', 'mouseout', function (e) {
786
+ const menu = MenuComponent.getInstance(this);
787
+ if (menu && menu.getItemSubType(this) === 'dropdown') {
788
+ return menu.mouseout(this, e);
789
+ }
790
+ });
791
+ // Resize handler
792
+ window.addEventListener('resize', () => {
793
+ let timer;
794
+ throttle(timer, () => {
795
+ // Locate and update Drawer instances on window resize
796
+ const elements = document.querySelectorAll('[data-kt-menu="true"]');
797
+ elements.forEach((el) => {
798
+ const menu = MenuComponent.getInstance(el);
799
+ if (menu) {
800
+ menu.update();
801
+ }
802
+ });
803
+ }, 200);
804
+ });
805
+ };
806
+ MenuComponent.bootstrap = () => {
807
+ MenuComponent.initGlobalHandlers();
808
+ MenuComponent.createInstances('[data-kt-menu="true"]');
809
+ };
810
+ MenuComponent.reinitialization = () => {
811
+ MenuComponent.createInstances('[data-kt-menu="true"]');
812
+ };
813
+ MenuComponent.createInsance = (selector, options = defaultMenuOptions) => {
814
+ const element = document.body.querySelector(selector);
815
+ if (!element) {
816
+ return;
817
+ }
818
+ const item = element;
819
+ let menu = MenuComponent.getInstance(item);
820
+ if (!menu) {
821
+ menu = new MenuComponent(item, options);
822
+ }
823
+ return menu;
824
+ };
825
+ export { MenuComponent, defaultMenuOptions };
826
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudUNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvX21ldHJvbmljL2NvcmUvY29tcG9uZW50cy9NZW51Q29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUE7QUFFM0QsT0FBTyxFQUFFLDZCQUE2QixFQUFVLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BMLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUM5RCxPQUFPLEVBQStCLHFCQUFxQixFQUFzQixNQUFNLHlCQUF5QixDQUFBO0FBYWhILE1BQU0sa0JBQWtCLEdBQWdCO0lBQ3RDLFFBQVEsRUFBRTtRQUNSLFlBQVksRUFBRSxHQUFHO1FBQ2pCLE1BQU0sRUFBRSxHQUFHO0tBQ1o7SUFDRCxTQUFTLEVBQUU7UUFDVCxVQUFVLEVBQUUsR0FBRztRQUNmLE1BQU0sRUFBRSxLQUFLO0tBQ2Q7Q0FDRixDQUFBO0FBb0JELE1BQU0sYUFBYTtJQU1qQixZQUFZLFFBQXFCLEVBQUUsT0FBb0I7UUFGdkQsbUJBQWMsR0FBdUIsSUFBSSxDQUFBO1FBYXpDLCtCQUErQjtRQUN2Qix1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDaEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FDbkMsMEJBQTBCLElB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T0FBTyxDQUFDLENBQUE7S0FDeEM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQTtBQUdILE9BQU8sRUFBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlUG9wcGVyLCBWaXJ0dWFsRWxlbWVudH0gZnJvbSAnQHBvcHBlcmpzL2NvcmUnXHJcblxyXG5pbXBvcnQgeyBnZXRBdHRyaWJ1dGVWYWx1ZUJ5QnJlYWtwb2ludCwgZ2V0Q1NTLCBnZXRFbGVtZW50Q2hpbGQsIGdldEVsZW1lbnRQYXJlbnRzLCBnZXRIaWdoZXN0WmluZGV4LCBpbnNlcnRBZnRlckVsZW1lbnQsIHNsaWRlRG93biwgc2xpZGVVcCwgdGhyb3R0bGUgfSBmcm9tIFwiLi4vX3V0aWxzL0RvbUhlbHBlcnNcIlxyXG5pbXBvcnQgeyBFdmVudEhhbmRsZXJVdGlsIH0gZnJvbSBcIi4uL191dGlscy9FdmVudEhhbmRsZXJVdGlsXCJcclxuaW1wb3J0IHsgRGF0YVV0aWwgfSBmcm9tIFwiLi4vX3V0aWxzL19EYXRhVXRpbFwiXHJcbmltcG9ydCB7IERPTUV2ZW50SGFuZGxlclV0aWwgfSBmcm9tIFwiLi4vX3V0aWxzL19ET01FdmVudEhhbmRsZXJVdGlsXCJcclxuaW1wb3J0IHsgRWxlbWVudFN0eWxlVXRpbCB9IGZyb20gXCIuLi9fdXRpbHMvX0VsZW1lbnRTdHlsZVV0aWxcIlxyXG5pbXBvcnQgeyBnZXRPYmplY3RQcm9wZXJ0eVZhbHVlQnlLZXksIGdldFVuaXF1ZUlkV2l0aFByZWZpeCwgc3RyaW5nU25ha2VUb0NhbWVsIH0gZnJvbSBcIi4uL191dGlscy9fVHlwZXNIZWxwZXJzXCJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVudU9wdGlvbnMge1xyXG4gIGRyb3Bkb3duOiB7XHJcbiAgICBob3ZlclRpbWVvdXQ6IG51bWJlclxyXG4gICAgemluZGV4OiBudW1iZXJcclxuICB9XHJcbiAgYWNjb3JkaW9uOiB7XHJcbiAgICBzbGlkZVNwZWVkOiBudW1iZXJcclxuICAgIGV4cGFuZDogYm9vbGVhblxyXG4gIH1cclxufVxyXG5cclxuY29uc3QgZGVmYXVsdE1lbnVPcHRpb25zOiBNZW51T3B0aW9ucyA9IHtcclxuICBkcm9wZG93bjoge1xyXG4gICAgaG92ZXJUaW1lb3V0OiAyMDAsXHJcbiAgICB6aW5kZXg6IDEwNSxcclxuICB9LFxyXG4gIGFjY29yZGlvbjoge1xyXG4gICAgc2xpZGVTcGVlZDogMjUwLFxyXG4gICAgZXhwYW5kOiBmYWxzZSxcclxuICB9LFxyXG59XHJcblxyXG50eXBlIFBvcHBlclBsYWNlbWVudCA9XHJcbiAgfCAncmlnaHQnXHJcbiAgfCAnYXV0bydcclxuICB8ICdhdXRvLXN0YXJ0J1xyXG4gIHwgJ2F1dG8tZW5kJ1xyXG4gIHwgJ3RvcCdcclxuICB8ICdib3R0b20nXHJcbiAgfCAnbGVmdCdcclxuICB8ICd0b3Atc3RhcnQnXHJcbiAgfCAndG9wLWVuZCdcclxuICB8ICdib3R0b20tc3RhcnQnXHJcbiAgfCAnYm90dG9tLWVuZCdcclxuICB8ICdyaWdodC1zdGFydCdcclxuICB8ICdyaWdodC1lbmQnXHJcbiAgfCAnbGVmdC1zdGFydCdcclxuICB8ICdsZWZ0LWVuZCdcclxuICB8IHVuZGVmaW5lZFxyXG5cclxuY2xhc3MgTWVudUNvbXBvbmVudCB7XHJcbiAgZWxlbWVudDogSFRNTEVsZW1lbnRcclxuICBvcHRpb25zOiBNZW51T3B0aW9uc1xyXG4gIGluc3RhbmNlVWlkOiBzdHJpbmdcclxuICB0cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbFxyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudDogSFRNTEVsZW1lbnQsIG9wdGlvbnM6IE1lbnVPcHRpb25zKSB7XHJcbiAgICB0aGlzLmVsZW1lbnQgPSBfZWxlbWVudFxyXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbihkZWZhdWx0TWVudU9wdGlvbnMsIG9wdGlvbnMpXHJcbiAgICB0aGlzLmluc3RhbmNlVWlkID0gZ2V0VW5pcXVlSWRXaXRoUHJlZml4KCdtZW51JylcclxuICAgIC8vIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtbWVudScsICd0cnVlJylcclxuICAgIHRoaXMuX3NldFRyaWdnZXJFbGVtZW50KClcclxuICAgIHRoaXMuX3VwZGF0ZSgpXHJcbiAgICBEYXRhVXRpbC5zZXQodGhpcy5lbGVtZW50LCAnbWVudScsIHRoaXMpXHJcbiAgICByZXR1cm4gdGhpc1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGV4dGVybmFsIHRyaWdnZXIgZWxlbWVudFxyXG4gIHByaXZhdGUgX3NldFRyaWdnZXJFbGVtZW50ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgYFtkYXRhLWt0LW1lbnUtdGFyZ2V0PVwiIyR7dGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgnaWQnKX1cImBcclxuICAgIClcclxuXHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQgPSB0YXJnZXQgYXMgSFRNTEVsZW1lbnRcclxuICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWt0LW1lbnUtdHJpZ2dlcl0nKSkge1xyXG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWt0LW1lbnUtdHJpZ2dlcl0nKSBhcyBIVE1MRWxlbWVudFxyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUgJiZcclxuICAgICAgZ2V0RWxlbWVudENoaWxkKHRoaXMuZWxlbWVudC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50LCAnW2RhdGEta3QtbWVudS10cmlnZ2VyXScpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgY2hpbGQgPSBnZXRFbGVtZW50Q2hpbGQoXHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQsXHJcbiAgICAgICAgJ1tkYXRhLWt0LW1lbnUtdHJpZ2dlcl0nXHJcbiAgICAgIClcclxuICAgICAgaWYgKGNoaWxkKSB7XHJcbiAgICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudCA9IGNoaWxkXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCkge1xyXG4gICAgICBEYXRhVXRpbC5zZXQodGhpcy50cmlnZ2VyRWxlbWVudCwgJ21lbnUnLCB0aGlzKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVGVzdCBpZiBtZW51IGhhcyBleHRlcm5hbCB0cmlnZ2VyIGVsZW1lbnRcclxuICBwcml2YXRlIF9pc1RyaWdnZXJFbGVtZW50ID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyRWxlbWVudCA9PT0gaXRlbVxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IGl0ZW0gb3B0aW9uKHRocm91Z2ggaHRtbCBhdHRyaWJ1dGVzKVxyXG4gIHByaXZhdGUgX2dldEl0ZW1PcHRpb24gPSAoaXRlbTogSFRNTEVsZW1lbnQsIG5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgbGV0IHZhbHVlID0gbnVsbFxyXG4gICAgaWYgKGl0ZW0gJiYgaXRlbS5oYXNBdHRyaWJ1dGUoJ2RhdGEta3QtbWVudS0nICsgbmFtZSkpIHtcclxuICAgICAgY29uc3QgYXR0ciA9IGl0ZW0uZ2V0QXR0cmlidXRlKCdkYXRhLWt0LW1lbnUtJyArIG5hbWUpIHx8ICcnXHJcbiAgICAgIHZhbHVlID0gZ2V0QXR0cmlidXRlVmFsdWVCeUJyZWFrcG9pbnQoYXR0cilcclxuICAgICAgaWYgKHZhbHVlICE9PSBudWxsICYmIFN0cmluZyh2YWx1ZSkgPT09ICd0cnVlJykge1xyXG4gICAgICAgIHZhbHVlID0gdHJ1ZVxyXG4gICAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBudWxsICYmIFN0cmluZyh2YWx1ZSkgPT09ICdmYWxzZScpIHtcclxuICAgICAgICB2YWx1ZSA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IGl0ZW0gZWxlbWVudFxyXG4gIHByaXZhdGUgX2dldEl0ZW1FbGVtZW50ID0gKF9lbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgLy8gRWxlbWVudCBpcyB0aGUgZXh0ZXJuYWwgdHJpZ2dlciBlbGVtZW50XHJcbiAgICBpZiAodGhpcy5faXNUcmlnZ2VyRWxlbWVudChfZWxlbWVudCkpIHtcclxuICAgICAgcmV0dXJuIF9lbGVtZW50XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRWxlbWVudCBoYXMgaXRlbSB0b2dnbGVyIGF0dHJpYnV0ZVxyXG4gICAgaWYgKF9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1rdC1tZW51LXRyaWdnZXInKSkge1xyXG4gICAgICByZXR1cm4gX2VsZW1lbnRcclxuICAgIH1cclxuXHJcbiAgICAvLyBFbGVtZW50IGhhcyBpdGVtIERPTSByZWZlcmVuY2UgaW4gaXQncyBkYXRhIHN0b3JhZ2VcclxuICAgIGNvbnN0IGl0ZW1FbGVtZW50ID0gRGF0YVV0aWwuZ2V0KF9lbGVtZW50LCAnaXRlbScpXHJcbiAgICBpZiAoaXRlbUVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1FbGVtZW50XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSXRlbSBpcyBwYXJlbnQgb2YgZWxlbWVudFxyXG4gICAgY29uc3QgaXRlbSA9IF9lbGVtZW50LmNsb3Nlc3QoJy5tZW51LWl0ZW1bZGF0YS1rdC1tZW51LXRyaWdnZXJdJylcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHJldHVybiBpdGVtXHJcbiAgICB9XHJcblxyXG4gICAgLy8gRWxlbWVudCdzIHBhcmVudCBoYXMgaXRlbSBET00gcmVmZXJlbmNlIGluIGl0J3MgZGF0YSBzdG9yYWdlXHJcbiAgICBjb25zdCBzdWIgPSBfZWxlbWVudC5jbG9zZXN0KCcubWVudS1zdWInKVxyXG4gICAgaWYgKHN1Yikge1xyXG4gICAgICBjb25zdCBzdWJJdGVtID0gRGF0YVV0aWwuZ2V0KHN1YiBhcyBIVE1MRWxlbWVudCwgJ2l0ZW0nKVxyXG4gICAgICBpZiAoc3ViSXRlbSkge1xyXG4gICAgICAgIHJldHVybiBzdWJJdGVtXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdldCBpdGVtIHBhcmVudCBlbGVtZW50XHJcbiAgcHJpdmF0ZSBfZ2V0SXRlbVBhcmVudEVsZW1lbnQgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IHN1YiA9IGl0ZW0uY2xvc2VzdCgnLm1lbnUtc3ViJylcclxuICAgIGlmICghc3ViKSB7XHJcbiAgICAgIHJldHVybiBudWxsXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3ViSXRlbSA9IERhdGFVdGlsLmdldChzdWIgYXMgSFRNTEVsZW1lbnQsICdpdGVtJylcclxuICAgIGlmIChzdWJJdGVtKSB7XHJcbiAgICAgIHJldHVybiBzdWJJdGVtXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFyZW50SXRlbSA9IHN1Yi5jbG9zZXN0KCcubWVudS1pdGVtW2RhdGEta3QtbWVudS10cmlnZ2VyXScpXHJcbiAgICBpZiAoc3ViICYmIHBhcmVudEl0ZW0pIHtcclxuICAgICAgcmV0dXJuIHBhcmVudEl0ZW1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IGl0ZW0gcGFyZW50IGVsZW1lbnRzXHJcbiAgcHJpdmF0ZSBfZ2V0SXRlbVBhcmVudEVsZW1lbnRzID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBwYXJlbnRzID0gW11cclxuICAgIGxldCBwYXJlbnRcclxuICAgIGxldCBpID0gMFxyXG4gICAgbGV0IGJ1ZmZlciA9IGl0ZW1cclxuXHJcbiAgICBkbyB7XHJcbiAgICAgIHBhcmVudCA9IHRoaXMuX2dldEl0ZW1QYXJlbnRFbGVtZW50KGJ1ZmZlcilcclxuICAgICAgaWYgKHBhcmVudCkge1xyXG4gICAgICAgIHBhcmVudHMucHVzaChwYXJlbnQpXHJcbiAgICAgICAgYnVmZmVyID0gcGFyZW50XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGkrK1xyXG4gICAgfSB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIGkgPCAyMClcclxuXHJcbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCkge1xyXG4gICAgICBwYXJlbnRzLnVuc2hpZnQodGhpcy50cmlnZ2VyRWxlbWVudClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGFyZW50c1xyXG4gIH1cclxuXHJcbiAgLy8gUHJlcGFyZSBwb3BwZXIgY29uZmlnIGZvciBkcm9wZG93bihzZWU6IGh0dHBzOi8vcG9wcGVyLmpzLm9yZy9kb2NzL3YyLylcclxuICBwcml2YXRlIF9nZXREcm9wZG93blBvcHBlckNvbmZpZyA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgLy8gUGxhY2VtZW50XHJcbiAgICBjb25zdCBwbGFjZW1lbnRPcHRpb24gPSB0aGlzLl9nZXRJdGVtT3B0aW9uKGl0ZW0sICdwbGFjZW1lbnQnKVxyXG4gICAgbGV0IHBsYWNlbWVudDogUG9wcGVyUGxhY2VtZW50ID0gJ3JpZ2h0J1xyXG4gICAgaWYgKHBsYWNlbWVudE9wdGlvbikge1xyXG4gICAgICBwbGFjZW1lbnQgPSBwbGFjZW1lbnRPcHRpb24gYXMgUG9wcGVyUGxhY2VtZW50XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmxpcFxyXG4gICAgY29uc3QgZmxpcFZhbHVlID0gdGhpcy5fZ2V0SXRlbU9wdGlvbihpdGVtLCAnZmxpcCcpXHJcbiAgICBjb25zdCBmbGlwID0gZmxpcFZhbHVlID8gZmxpcFZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJywnKSA6IFtdXHJcblxyXG4gICAgLy8gT2Zmc2V0XHJcbiAgICBjb25zdCBvZmZzZXRWYWx1ZSA9IHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ29mZnNldCcpXHJcbiAgICBjb25zdCBvZmZzZXQgPSBvZmZzZXRWYWx1ZSA/IG9mZnNldFZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJywnKSA6IFtdXHJcblxyXG4gICAgLy8gU3RyYXRlZ3lcclxuICAgIGNvbnN0IHN0cmF0ZWd5OiAnYWJzb2x1dGUnIHwgJ2ZpeGVkJyB8IHVuZGVmaW5lZCA9XHJcbiAgICAgIHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ292ZXJmbG93JykgPT09IHRydWUgPyAnYWJzb2x1dGUnIDogJ2ZpeGVkJ1xyXG5cclxuICAgIHZhciBhbHRBeGlzID0gdGhpcy5fZ2V0SXRlbU9wdGlvbihpdGVtLCAnZmxpcCcpICE9PSBmYWxzZTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcclxuICAgICAgc3RyYXRlZ3k6IHN0cmF0ZWd5LFxyXG4gICAgICBtb2RpZmllcnM6IFt7XHJcbiAgICAgICAgbmFtZTogJ29mZnNldCcsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXRcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHtcclxuICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICBhbHRBeGlzOiBhbHRBeGlzXHJcbiAgICAgICAgfVxyXG4gICAgICB9LCB7XHJcbiAgICAgICAgbmFtZTogJ2ZsaXAnLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIGZsaXBWYXJpYXRpb25zOiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgfV1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyBHZXQgaXRlbSBjaGlsZCBlbGVtZW50XHJcbiAgcHJpdmF0ZSBfZ2V0SXRlbUNoaWxkRWxlbWVudCA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgbGV0IHNlbGVjdG9yID0gaXRlbVxyXG5cclxuICAgIGNvbnN0IHN1Ykl0ZW0gPSBEYXRhVXRpbC5nZXQoaXRlbSwgJ3N1YicpXHJcbiAgICBpZiAoc3ViSXRlbSkge1xyXG4gICAgICBzZWxlY3RvciA9IHN1Ykl0ZW1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2VsZWN0b3IpIHtcclxuICAgICAgLy9lbGVtZW50ID0gc2VsZWN0b3IucXVlcnlTZWxlY3RvcignLnNob3cubWVudS1pdGVtW2RhdGEta3QtbWVudS10cmlnZ2VyXScpO1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gc2VsZWN0b3IucXVlcnlTZWxlY3RvcignLm1lbnUtaXRlbVtkYXRhLWt0LW1lbnUtdHJpZ2dlcl0nKVxyXG4gICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgIHJldHVybiBlbGVtZW50XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICAvLyBHZXQgaXRlbSBjaGlsZCBlbGVtZW50c1xyXG4gIHByaXZhdGUgX2dldEl0ZW1DaGlsZEVsZW1lbnRzID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBjaGlsZHJlbiA9IFtdXHJcbiAgICBsZXQgY2hpbGRcclxuICAgIGxldCBpID0gMFxyXG4gICAgbGV0IGJ1ZmZlciA9IGl0ZW1cclxuICAgIGRvIHtcclxuICAgICAgY2hpbGQgPSB0aGlzLl9nZXRJdGVtQ2hpbGRFbGVtZW50KGJ1ZmZlcilcclxuICAgICAgaWYgKGNoaWxkKSB7XHJcbiAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZClcclxuICAgICAgICBidWZmZXIgPSBjaGlsZCBhcyBIVE1MRWxlbWVudFxyXG4gICAgICB9XHJcblxyXG4gICAgICBpKytcclxuICAgIH0gd2hpbGUgKGNoaWxkICE9PSBudWxsICYmIGkgPCAyMClcclxuXHJcbiAgICByZXR1cm4gY2hpbGRyZW5cclxuICB9XHJcblxyXG4gIC8vIEdldCBpdGVtIHN1YiBlbGVtZW50XHJcbiAgcHJpdmF0ZSBfZ2V0SXRlbVN1YkVsZW1lbnQgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9pc1RyaWdnZXJFbGVtZW50KGl0ZW0pKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ21lbnUtc3ViJykpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1cclxuICAgIH0gZWxzZSBpZiAoRGF0YVV0aWwuaGFzKGl0ZW0sICdzdWInKSkge1xyXG4gICAgICByZXR1cm4gRGF0YVV0aWwuZ2V0KGl0ZW0sICdzdWInKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGdldEVsZW1lbnRDaGlsZChpdGVtLCAnLm1lbnUtc3ViJylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldENzcyA9IChlbDogSFRNTEVsZW1lbnQsIHN0eWxlUHJvcDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBkZWZhdWx0VmlldyA9IChlbC5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50KS5kZWZhdWx0Vmlld1xyXG4gICAgaWYgKCFkZWZhdWx0Vmlldykge1xyXG4gICAgICByZXR1cm4gJydcclxuICAgIH1cclxuXHJcbiAgICAvLyBzYW5pdGl6ZSBwcm9wZXJ0eSBuYW1lIHRvIGNzcyBub3RhdGlvblxyXG4gICAgLy8gKGh5cGhlbiBzZXBhcmF0ZWQgd29yZHMgZWcuIGZvbnQtU2l6ZSlcclxuICAgIHN0eWxlUHJvcCA9IHN0eWxlUHJvcC5yZXBsYWNlKC8oW0EtWl0pL2csICctJDEnKS50b0xvd2VyQ2FzZSgpXHJcblxyXG4gICAgcmV0dXJuIGRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoc3R5bGVQcm9wKVxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IGl0ZW0gc3ViIHR5cGVcclxuICBwcml2YXRlIF9nZXRJdGVtU3ViVHlwZSA9IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3Qgc3ViID0gdGhpcy5fZ2V0SXRlbVN1YkVsZW1lbnQoZWxlbWVudClcclxuICAgIGlmIChzdWIgJiYgcGFyc2VJbnQodGhpcy5fZ2V0Q3NzKHN1YiwgJ3otaW5kZXgnKSkgPiAwKSB7XHJcbiAgICAgIHJldHVybiAnZHJvcGRvd24nXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2FjY29yZGlvbidcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRlc3QgaWYgaXRlbSdzIHN1YiBpcyBzaG93blxyXG4gIHByaXZhdGUgX2lzSXRlbVN1YlNob3duID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICBsZXQgc3ViID0gdGhpcy5fZ2V0SXRlbVN1YkVsZW1lbnQoaXRlbSlcclxuICAgIGlmIChzdWIpIHtcclxuICAgICAgaWYgKHRoaXMuX2dldEl0ZW1TdWJUeXBlKGl0ZW0pID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1Yi5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSAmJiBzdWIuaGFzQXR0cmlidXRlKCdkYXRhLXBvcHBlci1wbGFjZW1lbnQnKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIC8vIFRlc3QgaWYgaXRlbSBkcm9wZG93biBpcyBwZXJtYW5lbnRcclxuICBwcml2YXRlIF9pc0l0ZW1Ecm9wZG93blBlcm1hbmVudCA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ3Blcm1hbmVudCcpID09PSB0cnVlXHJcbiAgfVxyXG5cclxuICAvLyBUZXN0IGlmIGl0ZW0ncyBwYXJlbnQgaXMgc2hvd25cclxuICBwcml2YXRlIF9pc0l0ZW1QYXJlbnRTaG93biA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIGdldEVsZW1lbnRQYXJlbnRzKGl0ZW0sICcubWVudS1pdGVtLnNob3cnKS5sZW5ndGggPiAwXHJcbiAgfVxyXG5cclxuICAvLyBUZXN0IG9mIGl0IGlzIGl0ZW0gc3ViIGVsZW1lbnRcclxuICBwcml2YXRlIF9pc0l0ZW1TdWJFbGVtZW50ID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ21lbnUtc3ViJylcclxuICB9XHJcblxyXG4gIC8vIFRlc3QgaWYgaXRlbSBoYXMgc3ViXHJcbiAgcHJpdmF0ZSBfaGFzSXRlbVN1YiA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIGl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCdtZW51LWl0ZW0nKSAmJiBpdGVtLmhhc0F0dHJpYnV0ZSgnZGF0YS1rdC1tZW51LXRyaWdnZXInKVxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IGxpbmsgZWxlbWVudFxyXG4gIHByaXZhdGUgX2dldEl0ZW1MaW5rRWxlbWVudCA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIGdldEVsZW1lbnRDaGlsZChpdGVtLCAnLm1lbnUtbGluaycpXHJcbiAgfVxyXG5cclxuICAvLyBHZXQgdG9nZ2xlIGVsZW1lbnRcclxuICBwcml2YXRlIF9nZXRJdGVtVG9nZ2xlRWxlbWVudCA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgaWYgKHRoaXMudHJpZ2dlckVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlckVsZW1lbnRcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0SXRlbUxpbmtFbGVtZW50KGl0ZW0pXHJcbiAgfVxyXG5cclxuICAvLyBTaG93IGl0ZW0gZHJvcGRvd25cclxuICBwcml2YXRlIF9zaG93RHJvcGRvd24gPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmIChFdmVudEhhbmRsZXJVdGlsLnRyaWdnZXIodGhpcy5lbGVtZW50LCAna3QubWVudS5kcm9wZG93bi5zaG93JykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIC8vIEhpZGUgYWxsIGN1cnJlbnRseSBzaG93biBkcm9wZG93bnMgZXhjZXB0IGN1cnJlbnQgb25lXHJcbiAgICBNZW51Q29tcG9uZW50LmhpZGVEcm9wZG93bnMoaXRlbSlcclxuXHJcbiAgICAvLyBjb25zdCB0b2dnbGUgPSB0aGlzLl9pc1RyaWdnZXJFbGVtZW50KGl0ZW0pID8gaXRlbSA6IHRoaXMuX2dldEl0ZW1MaW5rRWxlbWVudChpdGVtKTtcclxuICAgIGNvbnN0IHN1YiA9IHRoaXMuX2dldEl0ZW1TdWJFbGVtZW50KGl0ZW0pXHJcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ3dpZHRoJylcclxuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ2hlaWdodCcpXHJcblxyXG4gICAgbGV0IHppbmRleCA9IHRoaXMub3B0aW9ucy5kcm9wZG93bi56aW5kZXhcclxuICAgIGNvbnN0IHBhcmVudFppbmRleCA9IGdldEhpZ2hlc3RaaW5kZXgoaXRlbSkgLy8gdXBkYXRlXHJcbiAgICAvLyBBcHBseSBhIG5ldyB6LWluZGV4IGlmIGRyb3Bkb3duJ3MgdG9nZ2xlIGVsZW1lbnQgb3IgaXQncyBwYXJlbnQgaGFzIGdyZWF0ZXIgei1pbmRleCAvLyB1cGRhdGVcclxuICAgIGlmIChwYXJlbnRaaW5kZXggIT09IG51bGwgJiYgcGFyZW50WmluZGV4ID49IHppbmRleCkge1xyXG4gICAgICB6aW5kZXggPSBwYXJlbnRaaW5kZXggKyAxXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHppbmRleCkge1xyXG4gICAgICBFbGVtZW50U3R5bGVVdGlsLnNldChzdWIsICd6LWluZGV4JywgemluZGV4KVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh3aWR0aCkge1xyXG4gICAgICBFbGVtZW50U3R5bGVVdGlsLnNldChzdWIsICd3aWR0aCcsIHdpZHRoKVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChoZWlnaHQpIHtcclxuICAgICAgRWxlbWVudFN0eWxlVXRpbC5zZXQoc3ViLCAnaGVpZ2h0JywgaGVpZ2h0KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdERyb3Bkb3duUG9wcGVyKGl0ZW0sIHN1YilcclxuXHJcbiAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKVxyXG4gICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdtZW51LWRyb3Bkb3duJylcclxuICAgIHN1Yi5jbGFzc0xpc3QuYWRkKCdzaG93JylcclxuXHJcbiAgICAvLyBBcHBlbmQgdGhlIHN1YiB0aGUgdGhlIHJvb3Qgb2YgdGhlIG1lbnVcclxuICAgIGlmICh0aGlzLl9nZXRJdGVtT3B0aW9uKGl0ZW0sICdvdmVyZmxvdycpID09PSB0cnVlKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3ViKVxyXG4gICAgICBEYXRhVXRpbC5zZXQoaXRlbSwgJ3N1YicsIHN1YilcclxuICAgICAgRGF0YVV0aWwuc2V0KHN1YiwgJ2l0ZW0nLCBpdGVtKVxyXG4gICAgICBEYXRhVXRpbC5zZXQoc3ViLCAnbWVudScsIHRoaXMpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBEYXRhVXRpbC5zZXQoc3ViLCAnaXRlbScsIGl0ZW0pXHJcbiAgICB9XHJcblxyXG4gICAgRXZlbnRIYW5kbGVyVXRpbC50cmlnZ2VyKHRoaXMuZWxlbWVudCwgJ2t0Lm1lbnUuZHJvcGRvd24uc2hvd24nKVxyXG4gIH1cclxuXHJcbiAgLy8gSW5pdCBkcm9wZG93biBwb3BwZXIobmV3KVxyXG4gIHByaXZhdGUgaW5pdERyb3Bkb3duUG9wcGVyID0gKGl0ZW06IEhUTUxFbGVtZW50LCBzdWI6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAvLyBTZXR1cCBwb3BwZXIgaW5zdGFuY2VcclxuICAgIGxldCByZWZlcmVuY2VcclxuICAgIGNvbnN0IGF0dGFjaCA9IHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ2F0dGFjaCcpIGFzIHN0cmluZ1xyXG5cclxuICAgIGlmIChhdHRhY2gpIHtcclxuICAgICAgaWYgKGF0dGFjaCA9PT0gJ3BhcmVudCcpIHtcclxuICAgICAgICByZWZlcmVuY2UgPSBpdGVtLnBhcmVudE5vZGVcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZWZlcmVuY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGF0dGFjaClcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVmZXJlbmNlID0gaXRlbVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZWZlcmVuY2UpIHtcclxuICAgICAgY29uc3QgcG9wcGVyID0gY3JlYXRlUG9wcGVyKFxyXG4gICAgICAgIHJlZmVyZW5jZSBhcyBFbGVtZW50IHwgVmlydHVhbEVsZW1lbnQsXHJcbiAgICAgICAgc3ViLFxyXG4gICAgICAgIHRoaXMuX2dldERyb3Bkb3duUG9wcGVyQ29uZmlnKGl0ZW0pXHJcbiAgICAgIClcclxuICAgICAgRGF0YVV0aWwuc2V0KGl0ZW0sICdwb3BwZXInLCBwb3BwZXIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIGl0ZW0gZHJvcGRvd25cclxuICBwcml2YXRlIF9oaWRlRHJvcGRvd24gPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmIChFdmVudEhhbmRsZXJVdGlsLnRyaWdnZXIodGhpcy5lbGVtZW50LCAna3QubWVudS5kcm9wZG93bi5oaWRlJykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN1YiA9IHRoaXMuX2dldEl0ZW1TdWJFbGVtZW50KGl0ZW0pXHJcbiAgICBFbGVtZW50U3R5bGVVdGlsLnNldChzdWIsICd6LWluZGV4JywgJycpXHJcbiAgICBFbGVtZW50U3R5bGVVdGlsLnNldChzdWIsICd3aWR0aCcsICcnKVxyXG4gICAgRWxlbWVudFN0eWxlVXRpbC5zZXQoc3ViLCAnaGVpZ2h0JywgJycpXHJcbiAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxyXG4gICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdtZW51LWRyb3Bkb3duJylcclxuICAgIHN1Yi5jbGFzc0xpc3QucmVtb3ZlKCdzaG93JylcclxuXHJcbiAgICAvLyBBcHBlbmQgdGhlIHN1YiBiYWNrIHRvIGl0J3MgcGFyZW50XHJcbiAgICBpZiAodGhpcy5fZ2V0SXRlbU9wdGlvbihpdGVtLCAnb3ZlcmZsb3cnKSA9PT0gdHJ1ZSkge1xyXG4gICAgICBpZiAoaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ21lbnUtaXRlbScpKSB7XHJcbiAgICAgICAgaXRlbS5hcHBlbmRDaGlsZChzdWIpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaW5zZXJ0QWZ0ZXJFbGVtZW50KHRoaXMuZWxlbWVudCwgaXRlbSlcclxuICAgICAgfVxyXG5cclxuICAgICAgRGF0YVV0aWwucmVtb3ZlKGl0ZW0sICdzdWInKVxyXG4gICAgICBEYXRhVXRpbC5yZW1vdmUoc3ViLCAnaXRlbScpXHJcbiAgICAgIERhdGFVdGlsLnJlbW92ZShzdWIsICdtZW51JylcclxuICAgIH1cclxuXHJcbiAgICBpZiAoRGF0YVV0aWwuaGFzKGl0ZW0sICdwb3BwZXInKSA9PT0gdHJ1ZSkge1xyXG4gICAgICBEYXRhVXRpbC5nZXQoaXRlbSwgJ3BvcHBlcicpLmRlc3Ryb3koKVxyXG4gICAgICBEYXRhVXRpbC5yZW1vdmUoaXRlbSwgJ3BvcHBlcicpXHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGVzdHJveSBwb3BwZXIobmV3KVxyXG4gICAgdGhpcy5kZXN0cm95RHJvcGRvd25Qb3BwZXIoaXRlbSlcclxuICAgIEV2ZW50SGFuZGxlclV0aWwudHJpZ2dlcih0aGlzLmVsZW1lbnQsICdrdC5tZW51LmRyb3Bkb3duLmhpZGRlbicpXHJcbiAgfVxyXG5cclxuICAvLyBEZXN0cm95IGRyb3Bkb3duIHBvcHBlcihuZXcpXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHJvcGRvd25Qb3BwZXIgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmIChEYXRhVXRpbC5oYXMoaXRlbSwgJ3BvcHBlcicpID09PSB0cnVlKSB7XHJcbiAgICAgIERhdGFVdGlsLmdldChpdGVtLCAncG9wcGVyJykuZGVzdHJveSgpXHJcbiAgICAgIERhdGFVdGlsLnJlbW92ZShpdGVtLCAncG9wcGVyJylcclxuICAgIH1cclxuXHJcbiAgICBFdmVudEhhbmRsZXJVdGlsLnRyaWdnZXIodGhpcy5lbGVtZW50LCAna3QubWVudS5kcm9wZG93bi5oaWRkZW4nKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd0FjY29yZGlvbiA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgaWYgKEV2ZW50SGFuZGxlclV0aWwudHJpZ2dlcih0aGlzLmVsZW1lbnQsICdrdC5tZW51LmFjY29yZGlvbi5zaG93JykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYWNjb3JkaW9uLmV4cGFuZCA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5faGlkZUFjY29yZGlvbnMoaXRlbSlcclxuICAgIH1cclxuXHJcbiAgICBpZiAoRGF0YVV0aWwuaGFzKGl0ZW0sICdwb3BwZXInKSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLl9oaWRlRHJvcGRvd24oaXRlbSlcclxuICAgIH1cclxuXHJcbiAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2hvdmVyJykgLy8gdXBkYXRlV1dcclxuICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnc2hvd2luZycpXHJcblxyXG4gICAgY29uc3Qgc3ViRWxlbWVudCA9IHRoaXMuX2dldEl0ZW1TdWJFbGVtZW50KGl0ZW0pXHJcbiAgICBpZiAoc3ViRWxlbWVudCkge1xyXG4gICAgICBjb25zdCBzdWIgPSBzdWJFbGVtZW50IGFzIEhUTUxFbGVtZW50XHJcbiAgICAgIHNsaWRlRG93bihzdWIsIHRoaXMub3B0aW9ucy5hY2NvcmRpb24uc2xpZGVTcGVlZCwgKCkgPT4ge1xyXG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnc2hvd2luZycpXHJcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdzaG93JylcclxuICAgICAgICBzdWIuY2xhc3NMaXN0LmFkZCgnc2hvdycpXHJcbiAgICAgICAgRXZlbnRIYW5kbGVyVXRpbC50cmlnZ2VyKHRoaXMuZWxlbWVudCwgJ2t0Lm1lbnUuYWNjb3JkaW9uLnNob3duJylcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZGVBY2NvcmRpb24gPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmIChFdmVudEhhbmRsZXJVdGlsLnRyaWdnZXIodGhpcy5lbGVtZW50LCAna3QubWVudS5hY2NvcmRpb24uaGlkZScpID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLl9nZXRJdGVtU3ViRWxlbWVudChpdGVtKVxyXG4gICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdoaWRpbmcnKVxyXG5cclxuICAgIGlmIChzdWIpIHtcclxuICAgICAgc2xpZGVVcChzdWIsIHRoaXMub3B0aW9ucy5hY2NvcmRpb24uc2xpZGVTcGVlZCwgKCkgPT4ge1xyXG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnaGlkaW5nJylcclxuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxyXG4gICAgICAgIHN1Yi5jbGFzc0xpc3QucmVtb3ZlKCdzaG93JylcclxuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ2hvdmVyJykgLy8gdXBkYXRlXHJcbiAgICAgICAgRXZlbnRIYW5kbGVyVXRpbC50cmlnZ2VyKHRoaXMuZWxlbWVudCwgJ2t0Lm1lbnUuYWNjb3JkaW9uLmhpZGRlbicpXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIGFsbCBzaG93biBhY2NvcmRpb25zIG9mIGl0ZW1cclxuICBwcml2YXRlIF9oaWRlQWNjb3JkaW9ucyA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgaXRlbXNUb0hpZGUgPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNob3dbZGF0YS1rdC1tZW51LXRyaWdnZXJdJylcclxuICAgIGlmIChpdGVtc1RvSGlkZSAmJiBpdGVtc1RvSGlkZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBpdGVtc1RvSGlkZS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1Ub0hpZGUgPSBpdGVtc1RvSGlkZVtpXSBhcyBIVE1MRWxlbWVudFxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLl9nZXRJdGVtU3ViVHlwZShpdGVtVG9IaWRlKSA9PT0gJ2FjY29yZGlvbicgJiZcclxuICAgICAgICAgIGl0ZW1Ub0hpZGUgIT09IGl0ZW0gJiZcclxuICAgICAgICAgIGl0ZW0uY29udGFpbnMoaXRlbVRvSGlkZSkgPT09IGZhbHNlICYmXHJcbiAgICAgICAgICBpdGVtVG9IaWRlLmNvbnRhaW5zKGl0ZW0pID09PSBmYWxzZVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5faGlkZUFjY29yZGlvbihpdGVtVG9IaWRlKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRXZlbnQgSGFuZGxlcnNcclxuICAvLyBSZXNldCBpdGVtIHN0YXRlIGNsYXNzZXMgaWYgaXRlbSBzdWIgdHlwZSBjaGFuZ2VkXHJcbiAgcHJpdmF0ZSBfcmVzZXQgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmICh0aGlzLl9oYXNJdGVtU3ViKGl0ZW0pID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLl9nZXRJdGVtU3ViRWxlbWVudChpdGVtKVxyXG5cclxuICAgIC8vIFJlc2V0IHN1YiBzdGF0ZSBpZiBzdWIgdHlwZSBpcyBjaGFuZ2VkIGR1cmluZyB0aGUgd2luZG93IHJlc2l6ZVxyXG4gICAgaWYgKERhdGFVdGlsLmhhcyhpdGVtLCAndHlwZScpICYmIERhdGFVdGlsLmdldChpdGVtLCAndHlwZScpICE9PSB0aGlzLl9nZXRJdGVtU3ViVHlwZShpdGVtKSkge1xyXG4gICAgICAvLyB1cGRhdGVkXHJcbiAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnaG92ZXInKVxyXG4gICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxyXG4gICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxyXG4gICAgICBpZiAoc3ViICYmIHN1Yi5yZW1vdmVDbGFzcykge1xyXG4gICAgICAgIHN1Yi5yZW1vdmVDbGFzcyhzdWIsICdzaG93JylcclxuICAgICAgfVxyXG4gICAgfSAvLyB1cGRhdGVkXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiBub3QgZG9uZVxyXG4gIHByaXZhdGUgX2Rlc3Ryb3kgPSAoKSA9PiB7fVxyXG5cclxuICAvLyBVcGRhdGUgYWxsIGl0ZW0gc3RhdGUgY2xhc3NlcyBpZiBpdGVtIHN1YiB0eXBlIGNoYW5nZWRcclxuICBwcml2YXRlIF91cGRhdGUgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubWVudS1pdGVtW2RhdGEta3QtbWVudS10cmlnZ2VyXScpXHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbCkgPT4gdGhpcy5fcmVzZXQoZWwgYXMgSFRNTEVsZW1lbnQpKVxyXG4gIH1cclxuXHJcbiAgLy8gSGlkZSBpdGVtIHN1YlxyXG4gIHByaXZhdGUgX2hpZGUgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5faXNJdGVtU3ViU2hvd24oaXRlbSkgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9nZXRJdGVtU3ViVHlwZShpdGVtKSA9PT0gJ2Ryb3Bkb3duJykge1xyXG4gICAgICB0aGlzLl9oaWRlRHJvcGRvd24oaXRlbSlcclxuICAgIH0gZWxzZSBpZiAodGhpcy5fZ2V0SXRlbVN1YlR5cGUoaXRlbSkgPT09ICdhY2NvcmRpb24nKSB7XHJcbiAgICAgIHRoaXMuX2hpZGVBY2NvcmRpb24oaXRlbSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFNob3cgaXRlbSBzdWJcclxuICBwcml2YXRlIF9zaG93ID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2lzSXRlbVN1YlNob3duKGl0ZW0pID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9nZXRJdGVtU3ViVHlwZShpdGVtKSA9PT0gJ2Ryb3Bkb3duJykge1xyXG4gICAgICB0aGlzLl9zaG93RHJvcGRvd24oaXRlbSkgLy8gLy8gc2hvdyBjdXJyZW50IGRyb3Bkb3duXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2dldEl0ZW1TdWJUeXBlKGl0ZW0pID09PSAnYWNjb3JkaW9uJykge1xyXG4gICAgICB0aGlzLl9zaG93QWNjb3JkaW9uKGl0ZW0pXHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtZW1iZXIgbGFzdCBzdWJtZW51IHR5cGVcclxuXHJcbiAgICBEYXRhVXRpbC5zZXQoaXRlbSwgJ3R5cGUnLCB0aGlzLl9nZXRJdGVtU3ViVHlwZShpdGVtKSkgLy8gdXBkYXRlZFxyXG4gIH1cclxuXHJcbiAgLy8gVG9nZ2xlIGl0ZW0gc3ViXHJcbiAgcHJpdmF0ZSBfdG9nZ2xlID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2lzSXRlbVN1YlNob3duKGl0ZW0pID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuX2hpZGUoaXRlbSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3Nob3coaXRlbSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vdXNlb3V0IGhhbmRsZVxyXG4gIHByaXZhdGUgX21vdXNlb3V0ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBlOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5fZ2V0SXRlbUVsZW1lbnQoZWxlbWVudClcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fZ2V0SXRlbU9wdGlvbihpdGVtLCAndHJpZ2dlcicpICE9PSAnaG92ZXInKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKERhdGFVdGlsLmdldChpdGVtLCAnaG92ZXInKSA9PT0gJzEnKSB7XHJcbiAgICAgICAgdGhpcy5faGlkZShpdGVtKVxyXG4gICAgICB9XHJcbiAgICB9LCB0aGlzLm9wdGlvbnMuZHJvcGRvd24uaG92ZXJUaW1lb3V0KVxyXG5cclxuICAgIERhdGFVdGlsLnNldChpdGVtLCAnaG92ZXInLCAnMScpXHJcbiAgICBEYXRhVXRpbC5zZXQoaXRlbSwgJ3RpbWVvdXQnLCB0aW1lb3V0KVxyXG4gIH1cclxuXHJcbiAgLy8gTW91c2VvdmVyIGhhbmRsZVxyXG4gIHByaXZhdGUgX21vdXNlb3ZlciA9IChlbGVtZW50OiBIVE1MRWxlbWVudCwgZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuX2dldEl0ZW1FbGVtZW50KGVsZW1lbnQpXHJcbiAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ3RyaWdnZXInKSAhPT0gJ2hvdmVyJykge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBpZiAoRGF0YVV0aWwuZ2V0KGl0ZW0sICdob3ZlcicpID09PSAnMScpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KERhdGFVdGlsLmdldChpdGVtLCAndGltZW91dCcpKVxyXG4gICAgICBEYXRhVXRpbC5yZW1vdmUoaXRlbSwgJ2hvdmVyJylcclxuICAgICAgRGF0YVV0aWwucmVtb3ZlKGl0ZW0sICd0aW1lb3V0JylcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zaG93KGl0ZW0pXHJcbiAgfVxyXG5cclxuICAvLyBEaXNtaXNzIGhhbmRsZXJcclxuICBwcml2YXRlIF9kaXNtaXNzID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBlOiBFdmVudCkgPT4ge1xyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuX2dldEl0ZW1FbGVtZW50KGVsZW1lbnQpXHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuX2dldEl0ZW1DaGlsZEVsZW1lbnRzKGl0ZW0pXHJcbiAgICAvL2lmICggaXRlbSAhPT0gbnVsbCAmJiBfZ2V0SXRlbU9wdGlvbihpdGVtLCAndHJpZ2dlcicpID09PSAnY2xpY2snICYmICBfZ2V0SXRlbVN1YlR5cGUoaXRlbSkgPT09ICdkcm9wZG93bicgKSB7XHJcbiAgICBjb25zdCBpdGVtU3ViVHlwZSA9IHRoaXMuX2dldEl0ZW1TdWJUeXBlKGl0ZW0pXHJcbiAgICBpZiAoaXRlbSAhPT0gbnVsbCAmJiBpdGVtU3ViVHlwZSA9PT0gJ2Ryb3Bkb3duJykge1xyXG4gICAgICB0aGlzLl9oaWRlKGl0ZW0pIC8vIGhpZGUgaXRlbXMgZHJvcGRvd25cclxuXHJcbiAgICAgIC8vIEhpZGUgYWxsIGNoaWxkIGVsZW1lbnRzIGFzIHdlbGxcclxuICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gaXRlbXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgIC8vaWYgKCBfZ2V0SXRlbU9wdGlvbihpdGVtLCAndHJpZ2dlcicpID09PSAnY2xpY2snICYmICBfZ2V0SXRlbVN1YlR5cGUoaXRlbSkgPT09ICdkcm9wZG93bicgKSB7XHJcbiAgICAgICAgICBpZiAoaXRlbXNbaV0gIT09IG51bGwgJiYgdGhpcy5fZ2V0SXRlbVN1YlR5cGUoaXRlbXNbaV0gYXMgSFRNTEVsZW1lbnQpID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hpZGUoaXRlbXNbaV0gYXMgSFRNTEVsZW1lbnQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBMaW5rIGhhbmRsZXJcclxuICBwcml2YXRlIF9saW5rID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBlOiBFdmVudCkgPT4ge1xyXG4gICAgaWYgKEV2ZW50SGFuZGxlclV0aWwudHJpZ2dlcih0aGlzLmVsZW1lbnQsICdrdC5tZW51LmxpbmsuY2xpY2snKSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGlzbWlzcyBhbGwgc2hvd24gZHJvcGRvd25zXHJcbiAgICBNZW51Q29tcG9uZW50LmhpZGVEcm9wZG93bnModW5kZWZpbmVkKVxyXG4gICAgRXZlbnRIYW5kbGVyVXRpbC50cmlnZ2VyKHRoaXMuZWxlbWVudCwgJ2t0Lm1lbnUubGluay5jbGlja2VkJylcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsaWNrID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBlOiBFdmVudCkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5fZ2V0SXRlbUVsZW1lbnQoZWxlbWVudClcclxuICAgIGlmICh0aGlzLl9nZXRJdGVtT3B0aW9uKGl0ZW0sICd0cmlnZ2VyJykgIT09ICdjbGljaycpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2dldEl0ZW1PcHRpb24oaXRlbSwgJ3RvZ2dsZScpID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLl9zaG93KGl0ZW0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl90b2dnbGUoaXRlbSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgLy8gKiogUHVibGljIEFQSSAgKiogLy9cclxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gIHB1YmxpYyBjbGljayA9IChlbGVtZW50OiBIVE1MRWxlbWVudCwgZTogRXZlbnQpID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9jbGljayhlbGVtZW50LCBlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxpbmsgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGU6IEV2ZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGluayhlbGVtZW50LCBlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc21pc3MgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGU6IEV2ZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzbWlzcyhlbGVtZW50LCBlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdXNlb3ZlciA9IChlbGVtZW50OiBIVE1MRWxlbWVudCwgZTogRXZlbnQpID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9tb3VzZW92ZXIoZWxlbWVudCwgZSBhcyBNb3VzZUV2ZW50KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdXNlb3V0ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBlOiBFdmVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX21vdXNlb3V0KGVsZW1lbnQsIGUgYXMgTW91c2VFdmVudClcclxuICB9XHJcblxyXG4gIC8vIEdlbmVyYWwgTWV0aG9kc1xyXG4gIHB1YmxpYyBnZXRJdGVtVHJpZ2dlclR5cGUgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRJdGVtT3B0aW9uKGl0ZW0sICd0cmlnZ2VyJylcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJdGVtU3ViVHlwZSA9IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldEl0ZW1TdWJUeXBlKGVsZW1lbnQpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvdyA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3coaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoaWRlID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faGlkZShpdGVtKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlc2V0ID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVzZXQoaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGUgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlKClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFbGVtZW50ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEl0ZW1MaW5rRWxlbWVudCA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldEl0ZW1MaW5rRWxlbWVudChpdGVtKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEl0ZW1Ub2dnbGVFbGVtZW50ID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0SXRlbVRvZ2dsZUVsZW1lbnQoaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJdGVtU3ViRWxlbWVudCA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldEl0ZW1TdWJFbGVtZW50KGl0ZW0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SXRlbVBhcmVudEVsZW1lbnRzID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0SXRlbVBhcmVudEVsZW1lbnRzKGl0ZW0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNJdGVtU3ViU2hvd24gPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9pc0l0ZW1TdWJTaG93bihpdGVtKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzSXRlbVBhcmVudFNob3duID0gKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNJdGVtUGFyZW50U2hvd24oaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmlnZ2VyRWxlbWVudCA9ICgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbGVtZW50XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNJdGVtRHJvcGRvd25QZXJtYW5lbnQgPSAoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9pc0l0ZW1Ecm9wZG93blBlcm1hbmVudChpdGVtKVxyXG4gIH1cclxuXHJcbiAgLy8gQWNjb3JkaW9uIE1vZGUgTWV0aG9kc1xyXG4gIHB1YmxpYyBoaWRlQWNjb3JkaW9ucyA9IChpdGVtOiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hpZGVBY2NvcmRpb25zKGl0ZW0pXHJcbiAgfVxyXG5cclxuICAvLyBFdmVudCBBUElcclxuICBwdWJsaWMgb24gPSAobmFtZTogc3RyaW5nLCBoYW5kbGVyOiBhbnkpID0+IHtcclxuICAgIHJldHVybiBFdmVudEhhbmRsZXJVdGlsLm9uKHRoaXMuZWxlbWVudCwgbmFtZSwgaGFuZGxlcilcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbmUgPSAobmFtZTogc3RyaW5nLCBoYW5kbGVyOiBhbnkpID0+IHtcclxuICAgIHJldHVybiBFdmVudEhhbmRsZXJVdGlsLm9uZSh0aGlzLmVsZW1lbnQsIG5hbWUsIGhhbmRsZXIpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb2ZmID0gKG5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIEV2ZW50SGFuZGxlclV0aWwub2ZmKHRoaXMuZWxlbWVudCwgbmFtZSlcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBzdGF0aWMgbWV0aG9kc1xyXG4gIC8vIEdldCBLVE1lbnUgaW5zdGFuY2UgYnkgZWxlbWVudFxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW5zdGFuY2UgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIC8vIEVsZW1lbnQgaGFzIG1lbnUgRE9NIHJlZmVyZW5jZSBpbiBpdCdzIERBVEEgc3RvcmFnZVxyXG4gICAgY29uc3QgZWxlbWVudE1lbnUgPSBEYXRhVXRpbC5nZXQoZWxlbWVudCwgJ21lbnUnKVxyXG4gICAgaWYgKGVsZW1lbnRNZW51KSB7XHJcbiAgICAgIHJldHVybiBlbGVtZW50TWVudVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEVsZW1lbnQgaGFzIC5tZW51IHBhcmVudFxyXG4gICAgY29uc3QgbWVudSA9IGVsZW1lbnQuY2xvc2VzdCgnLm1lbnUnKVxyXG4gICAgaWYgKG1lbnUpIHtcclxuICAgICAgY29uc3QgbWVudURhdGEgPSBEYXRhVXRpbC5nZXQobWVudSBhcyBIVE1MRWxlbWVudCwgJ21lbnUnKVxyXG4gICAgICBpZiAobWVudURhdGEpIHtcclxuICAgICAgICByZXR1cm4gbWVudURhdGFcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEVsZW1lbnQgaGFzIGEgcGFyZW50IHdpdGggRE9NIHJlZmVyZW5jZSB0byAubWVudSBpbiBpdCdzIERBVEEgc3RvcmFnZVxyXG4gICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtZW51LWxpbmsnKSkge1xyXG4gICAgICBjb25zdCBzdWIgPSBlbGVtZW50LmNsb3Nlc3QoJy5tZW51LXN1YicpXHJcbiAgICAgIGlmIChzdWIpIHtcclxuICAgICAgICBjb25zdCBzdWJNZW51ID0gRGF0YVV0aWwuZ2V0KHN1YiBhcyBIVE1MRWxlbWVudCwgJ21lbnUnKVxyXG4gICAgICAgIGlmIChzdWJNZW51KSB7XHJcbiAgICAgICAgICByZXR1cm4gc3ViTWVudVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIGFsbCBkcm9wZG93bnMgYW5kIHNraXAgb25lIGlmIHByb3ZpZGVkXHJcbiAgcHVibGljIHN0YXRpYyBoaWRlRHJvcGRvd25zID0gKHNraXA6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zaG93Lm1lbnUtZHJvcGRvd25bZGF0YS1rdC1tZW51LXRyaWdnZXJdJylcclxuXHJcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gaXRlbXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV1cclxuICAgICAgICBjb25zdCBtZW51ID0gTWVudUNvbXBvbmVudC5nZXRJbnN0YW5jZShpdGVtIGFzIEhUTUxFbGVtZW50KVxyXG5cclxuICAgICAgICBpZiAobWVudSAmJiBtZW51LmdldEl0ZW1TdWJUeXBlKGl0ZW0pID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgICBpZiAoc2tpcCkge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgbWVudS5nZXRJdGVtU3ViRWxlbWVudChpdGVtKS5jb250YWlucyhza2lwKSA9PT0gZmFsc2UgJiZcclxuICAgICAgICAgICAgICBpdGVtLmNvbnRhaW5zKHNraXApID09PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgIGl0ZW0gIT09IHNraXBcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgbWVudS5oaWRlKGl0ZW0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lbnUuaGlkZShpdGVtKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB1cGRhdGVEcm9wZG93bnMgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zaG93Lm1lbnUtZHJvcGRvd25bZGF0YS1rdC1tZW51LXRyaWdnZXJdJylcclxuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBpdGVtcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgIHZhciBpdGVtID0gaXRlbXNbaV1cclxuXHJcbiAgICAgICAgaWYgKERhdGFVdGlsLmhhcyhpdGVtIGFzIEhUTUxFbGVtZW50LCAncG9wcGVyJykpIHtcclxuICAgICAgICAgIERhdGFVdGlsLmdldChpdGVtIGFzIEhUTUxFbGVtZW50LCAncG9wcGVyJykuZm9yY2VVcGRhdGUoKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gR2xvYmFsIGhhbmRsZXJzXHJcbiAgcHVibGljIHN0YXRpYyBjcmVhdGVJbnN0YW5jZXMgPSAoc2VsZWN0b3I6IHN0cmluZykgPT4ge1xyXG4gICAgLy8gSW5pdGlhbGl6ZSBtZW51c1xyXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcikuZm9yRWFjaCgoZWwpID0+IHtcclxuICAgICAgY29uc3QgbWVudUl0ZW0gPSBlbCBhcyBIVE1MRWxlbWVudFxyXG4gICAgICBsZXQgbWVudUluc3RhbmNlID0gTWVudUNvbXBvbmVudC5nZXRJbnN0YW5jZShtZW51SXRlbSlcclxuICAgICAgaWYgKCFtZW51SW5zdGFuY2UpIHtcclxuICAgICAgICBtZW51SW5zdGFuY2UgPSBuZXcgTWVudUNvbXBvbmVudChlbCBhcyBIVE1MRWxlbWVudCwgZGVmYXVsdE1lbnVPcHRpb25zKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpbml0R2xvYmFsSGFuZGxlcnMgPSAoKSA9PiB7XHJcbiAgICAvLyBEcm9wZG93biBoYW5kbGVyXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1lbnVJdGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zaG93Lm1lbnUtZHJvcGRvd25bZGF0YS1rdC1tZW51LXRyaWdnZXJdJylcclxuICAgICAgaWYgKG1lbnVJdGVtcyAmJiBtZW51SXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVudUl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gbWVudUl0ZW1zW2ldIGFzIEhUTUxFbGVtZW50XHJcbiAgICAgICAgICBjb25zdCBtZW51T2JqID0gTWVudUNvbXBvbmVudC5nZXRJbnN0YW5jZShpdGVtKSBhcyBNZW51Q29tcG9uZW50XHJcbiAgICAgICAgICBpZiAobWVudU9iaiAmJiBtZW51T2JqLmdldEl0ZW1TdWJUeXBlKGl0ZW0pID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcclxuICAgICAgICAgICAgY29uc3QgbWVudSA9IG1lbnVPYmouZ2V0RWxlbWVudCgpXHJcbiAgICAgICAgICAgIGNvbnN0IHN1YiA9IG1lbnVPYmouZ2V0SXRlbVN1YkVsZW1lbnQoaXRlbSkgYXMgSFRNTEVsZW1lbnRcclxuICAgICAgICAgICAgaWYgKGl0ZW0gPT09IGUudGFyZ2V0IHx8IGl0ZW0uY29udGFpbnMoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgY29udGludWVcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHN1YiAmJiAoc3ViID09PSBlLnRhcmdldCB8fCBzdWIuY29udGFpbnMoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSkge1xyXG4gICAgICAgICAgICAgIGNvbnRpbnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWVudU9iai5oaWRlKGl0ZW0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIC8vIFN1YiB0b2dnbGUgaGFuZGxlclxyXG4gICAgRE9NRXZlbnRIYW5kbGVyVXRpbC5vbihcclxuICAgICAgZG9jdW1lbnQuYm9keSxcclxuICAgICAgJy5tZW51LWl0ZW1bZGF0YS1rdC1tZW51LXRyaWdnZXJdID4gLm1lbnUtbGluaywgW2RhdGEta3QtbWVudS10cmlnZ2VyXTpub3QoLm1lbnUtaXRlbSk6bm90KFtkYXRhLWt0LW1lbnUtdHJpZ2dlcj1cImF1dG9cIl0pJyxcclxuICAgICAgJ2NsaWNrJyxcclxuICAgICAgZnVuY3Rpb24gKHRoaXM6IEhUTUxFbGVtZW50LCBlOiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IG1lbnUgPSBNZW51Q29tcG9uZW50LmdldEluc3RhbmNlKHRoaXMpIGFzIE1lbnVDb21wb25lbnRcclxuICAgICAgICBpZiAobWVudSkge1xyXG4gICAgICAgICAgcmV0dXJuIG1lbnUuY2xpY2sodGhpcywgZSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuXHJcbiAgICAvLyAvLyBMaW5rIGhhbmRsZXJcclxuICAgIERPTUV2ZW50SGFuZGxlclV0aWwub24oXHJcbiAgICAgIGRvY3VtZW50LmJvZHksXHJcbiAgICAgICcubWVudS1pdGVtOm5vdChbZGF0YS1rdC1tZW51LXRyaWdnZXJdKSA+IC5tZW51LWxpbmsnLFxyXG4gICAgICAnY2xpY2snLFxyXG4gICAgICBmdW5jdGlvbiAodGhpczogSFRNTEVsZW1lbnQsIGU6IEV2ZW50KSB7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxyXG4gICAgICAgIGNvbnN0IG1lbnUgPSBNZW51Q29tcG9uZW50LmdldEluc3RhbmNlKHRoaXMpXHJcbiAgICAgICAgaWYgKG1lbnUgJiYgbWVudS5saW5rKSB7XHJcbiAgICAgICAgICByZXR1cm4gbWVudS5saW5rKHRoaXMsIGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcblxyXG4gICAgLy8gRGlzbWlzcyBoYW5kbGVyXHJcbiAgICBET01FdmVudEhhbmRsZXJVdGlsLm9uKFxyXG4gICAgICBkb2N1bWVudC5ib2R5LFxyXG4gICAgICAnW2RhdGEta3QtbWVudS1kaXNtaXNzPVwidHJ1ZVwiXScsXHJcbiAgICAgICdjbGljaycsXHJcbiAgICAgIGZ1bmN0aW9uICh0aGlzOiBIVE1MRWxlbWVudCwgZTogRXZlbnQpIHtcclxuICAgICAgICBjb25zdCBtZW51ID0gTWVudUNvbXBvbmVudC5nZXRJbnN0YW5jZSh0aGlzKSBhcyBNZW51Q29tcG9uZW50XHJcbiAgICAgICAgaWYgKG1lbnUpIHtcclxuICAgICAgICAgIHJldHVybiBtZW51LmRpc21pc3ModGhpcywgZSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuXHJcbiAgICAvLyBNb3VzZW92ZXIgaGFuZGxlclxyXG4gICAgRE9NRXZlbnRIYW5kbGVyVXRpbC5vbihcclxuICAgICAgZG9jdW1lbnQuYm9keSxcclxuICAgICAgJ1tkYXRhLWt0LW1lbnUtdHJpZ2dlcl0sIC5tZW51LXN1YicsXHJcbiAgICAgICdtb3VzZW92ZXInLFxyXG4gICAgICBmdW5jdGlvbiAodGhpczogSFRNTEVsZW1lbnQsIGU6IEV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IE1lbnVDb21wb25lbnQuZ2V0SW5zdGFuY2UodGhpcykgYXMgTWVudUNvbXBvbmVudFxyXG4gICAgICAgIGlmIChtZW51ICYmIG1lbnUuZ2V0SXRlbVN1YlR5cGUodGhpcykgPT09ICdkcm9wZG93bicpIHtcclxuICAgICAgICAgIHJldHVybiBtZW51Lm1vdXNlb3Zlcih0aGlzLCBlKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG5cclxuICAgIC8vIE1vdXNlb3V0IGhhbmRsZXJcclxuICAgIERPTUV2ZW50SGFuZGxlclV0aWwub24oXHJcbiAgICAgIGRvY3VtZW50LmJvZHksXHJcbiAgICAgICdbZGF0YS1rdC1tZW51LXRyaWdnZXJdLCAubWVudS1zdWInLFxyXG4gICAgICAnbW91c2VvdXQnLFxyXG4gICAgICBmdW5jdGlvbiAodGhpczogSFRNTEVsZW1lbnQsIGU6IEV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IE1lbnVDb21wb25lbnQuZ2V0SW5zdGFuY2UodGhpcykgYXMgTWVudUNvbXBvbmVudFxyXG4gICAgICAgIGlmIChtZW51ICYmIG1lbnUuZ2V0SXRlbVN1YlR5cGUodGhpcykgPT09ICdkcm9wZG93bicpIHtcclxuICAgICAgICAgIHJldHVybiBtZW51Lm1vdXNlb3V0KHRoaXMsIGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcblxyXG4gICAgLy8gUmVzaXplIGhhbmRsZXJcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIGxldCB0aW1lclxyXG4gICAgICB0aHJvdHRsZShcclxuICAgICAgICB0aW1lcixcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAvLyBMb2NhdGUgYW5kIHVwZGF0ZSBEcmF3ZXIgaW5zdGFuY2VzIG9uIHdpbmRvdyByZXNpemVcclxuICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEta3QtbWVudT1cInRydWVcIl0nKVxyXG4gICAgICAgICAgZWxlbWVudHMuZm9yRWFjaCgoZWwpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbWVudSA9IE1lbnVDb21wb25lbnQuZ2V0SW5zdGFuY2UoZWwgYXMgSFRNTEVsZW1lbnQpXHJcbiAgICAgICAgICAgIGlmIChtZW51KSB7XHJcbiAgICAgICAgICAgICAgbWVudS51cGRhdGUoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgMjAwXHJcbiAgICAgIClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGJvb3RzdHJhcCA9ICgpID0+IHtcclxuICAgIE1lbnVDb21wb25lbnQuaW5pdEdsb2JhbEhhbmRsZXJzKClcclxuICAgIE1lbnVDb21wb25lbnQuY3JlYXRlSW5zdGFuY2VzKCdbZGF0YS1rdC1tZW51PVwidHJ1ZVwiXScpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlaW5pdGlhbGl6YXRpb24gPSAoKSA9PiB7XHJcbiAgICBNZW51Q29tcG9uZW50LmNyZWF0ZUluc3RhbmNlcygnW2RhdGEta3QtbWVudT1cInRydWVcIl0nKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjcmVhdGVJbnNhbmNlID0gKFxyXG4gICAgc2VsZWN0b3I6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IE1lbnVPcHRpb25zID0gZGVmYXVsdE1lbnVPcHRpb25zXHJcbiAgKTogTWVudUNvbXBvbmVudCB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKVxyXG4gICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbSA9IGVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcclxuICAgIGxldCBtZW51ID0gTWVudUNvbXBvbmVudC5nZXRJbnN0YW5jZShpdGVtKVxyXG4gICAgaWYgKCFtZW51KSB7XHJcbiAgICAgIG1lbnUgPSBuZXcgTWVudUNvbXBvbmVudChpdGVtLCBvcHRpb25zKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1lbnVcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7TWVudUNvbXBvbmVudCwgZGVmYXVsdE1lbnVPcHRpb25zfVxyXG4iXX0=