@alfresco/adf-core 7.0.0-alpha.8-13181043953 → 7.0.0-alpha.8-13181987261

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 (968) hide show
  1. package/api/index.d.ts +1 -1
  2. package/api/lib/alfresco-api/alfresco-api.param-encoder.d.ts +1 -1
  3. package/api/lib/alfresco-api/alfresco-api.response-error.d.ts +1 -1
  4. package/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
  5. package/api/lib/interfaces.d.ts +1 -1
  6. package/api/lib/types.d.ts +1 -1
  7. package/auth/authentication-interceptor/authentication.interceptor.d.ts +1 -1
  8. package/auth/authentication.d.ts +1 -1
  9. package/auth/index.d.ts +1 -1
  10. package/breadcrumbs/components/breadcrumb/breadcrumb.component.d.ts +1 -1
  11. package/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.d.ts +1 -1
  12. package/breadcrumbs/directives/breadcrumb-focus.directive.d.ts +1 -1
  13. package/breadcrumbs/index.d.ts +1 -1
  14. package/bundles/assets/adf-core/i18n/en.json +1 -0
  15. package/esm2022/api/index.mjs +2 -2
  16. package/esm2022/api/lib/adf-http-client.service.mjs +6 -6
  17. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +2 -2
  18. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +2 -2
  19. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +3 -3
  20. package/esm2022/api/lib/interfaces.mjs +2 -2
  21. package/esm2022/api/lib/types.mjs +3 -2
  22. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +8 -7
  23. package/esm2022/auth/authentication.mjs +2 -2
  24. package/esm2022/auth/index.mjs +2 -2
  25. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +7 -7
  26. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +7 -7
  27. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +6 -6
  28. package/esm2022/breadcrumbs/index.mjs +2 -2
  29. package/esm2022/feature-flags/index.mjs +2 -2
  30. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +5 -5
  31. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +7 -7
  32. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +7 -7
  33. package/esm2022/feature-flags/lib/directives/features.directive.mjs +7 -7
  34. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +7 -7
  35. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +7 -7
  36. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +7 -7
  37. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +7 -7
  38. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +2 -2
  39. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +2 -2
  40. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +2 -2
  41. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +2 -2
  42. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +7 -7
  43. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +5 -5
  44. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +2 -2
  45. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +7 -7
  46. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +7 -7
  47. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +5 -5
  48. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +5 -5
  49. package/esm2022/lib/about/about-module-list/module-list.component.mjs +5 -5
  50. package/esm2022/lib/about/about-package/package-list.component.mjs +5 -5
  51. package/esm2022/lib/about/about-panel.directive.mjs +5 -5
  52. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +5 -5
  53. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +2 -2
  54. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +6 -6
  55. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +5 -5
  56. package/esm2022/lib/about/about.component.mjs +5 -5
  57. package/esm2022/lib/about/about.module.mjs +6 -6
  58. package/esm2022/lib/about/index.mjs +2 -2
  59. package/esm2022/lib/about/interfaces.mjs +2 -2
  60. package/esm2022/lib/about/public-api.mjs +2 -2
  61. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +10 -8
  62. package/esm2022/lib/app-config/app-config.loader.mjs +3 -2
  63. package/esm2022/lib/app-config/app-config.module.mjs +6 -6
  64. package/esm2022/lib/app-config/app-config.pipe.mjs +6 -6
  65. package/esm2022/lib/app-config/app-config.service.mjs +6 -6
  66. package/esm2022/lib/app-config/debug-app-config.service.mjs +6 -6
  67. package/esm2022/lib/app-config/index.mjs +2 -2
  68. package/esm2022/lib/app-config/public-api.mjs +2 -2
  69. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +12 -9
  70. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +6 -6
  71. package/esm2022/lib/auth/basic-auth/content-auth.mjs +7 -7
  72. package/esm2022/lib/auth/basic-auth/process-auth.mjs +7 -8
  73. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +2 -2
  74. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +2 -2
  75. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +3 -3
  76. package/esm2022/lib/auth/guard/auth-guard.mjs +2 -2
  77. package/esm2022/lib/auth/guard/auth-guard.service.mjs +6 -6
  78. package/esm2022/lib/auth/index.mjs +2 -2
  79. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +2 -2
  80. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +2 -2
  81. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +2 -2
  82. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +2 -2
  83. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +2 -2
  84. package/esm2022/lib/auth/models/application-access.model.mjs +2 -2
  85. package/esm2022/lib/auth/models/identity-group.model.mjs +2 -2
  86. package/esm2022/lib/auth/models/identity-role.model.mjs +2 -2
  87. package/esm2022/lib/auth/models/identity-user.model.mjs +2 -2
  88. package/esm2022/lib/auth/models/oauth-config.model.mjs +2 -2
  89. package/esm2022/lib/auth/models/redirection.model.mjs +2 -2
  90. package/esm2022/lib/auth/models/user-access.model.mjs +2 -2
  91. package/esm2022/lib/auth/oidc/auth-config.mjs +2 -2
  92. package/esm2022/lib/auth/oidc/auth-config.service.mjs +7 -7
  93. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +6 -6
  94. package/esm2022/lib/auth/oidc/auth.module.mjs +6 -6
  95. package/esm2022/lib/auth/oidc/auth.service.mjs +2 -2
  96. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +2 -2
  97. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +6 -6
  98. package/esm2022/lib/auth/oidc/public-api.mjs +2 -2
  99. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +7 -7
  100. package/esm2022/lib/auth/oidc/retry-login.service.mjs +5 -5
  101. package/esm2022/lib/auth/oidc/token.interceptor.mjs +5 -5
  102. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +6 -6
  103. package/esm2022/lib/auth/public-api.mjs +2 -2
  104. package/esm2022/lib/auth/services/authentication.service.mjs +6 -6
  105. package/esm2022/lib/auth/services/base-authentication.service.mjs +2 -2
  106. package/esm2022/lib/auth/services/identity-group.service.mjs +7 -7
  107. package/esm2022/lib/auth/services/identity-role.service.mjs +6 -6
  108. package/esm2022/lib/auth/services/identity-user.service.mjs +9 -7
  109. package/esm2022/lib/auth/services/jwt-helper.service.mjs +5 -5
  110. package/esm2022/lib/auth/services/oauth2.service.mjs +6 -6
  111. package/esm2022/lib/auth/services/time-sync.service.mjs +9 -9
  112. package/esm2022/lib/auth/services/user-access.service.mjs +8 -10
  113. package/esm2022/lib/avatar/avatar.component.mjs +5 -5
  114. package/esm2022/lib/blank-page/blank-page.component.mjs +5 -5
  115. package/esm2022/lib/blank-page/blank-page.module.mjs +6 -6
  116. package/esm2022/lib/blank-page/index.mjs +2 -2
  117. package/esm2022/lib/blank-page/public-api.mjs +2 -2
  118. package/esm2022/lib/button/button.component.mjs +6 -6
  119. package/esm2022/lib/card-view/card-view.module.mjs +6 -6
  120. package/esm2022/lib/card-view/components/base-card-view.mjs +6 -6
  121. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +5 -5
  122. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +5 -5
  123. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +5 -5
  124. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +7 -7
  125. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +7 -7
  126. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +5 -5
  127. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +5 -5
  128. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +5 -5
  129. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +7 -7
  130. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +6 -6
  131. package/esm2022/lib/card-view/components/card-view.components.mjs +2 -2
  132. package/esm2022/lib/card-view/index.mjs +2 -2
  133. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +2 -2
  134. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +2 -2
  135. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +2 -2
  136. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +2 -2
  137. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +2 -2
  138. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +2 -2
  139. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +2 -2
  140. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +2 -2
  141. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +2 -2
  142. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +2 -2
  143. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +2 -2
  144. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +2 -2
  145. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +2 -2
  146. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +2 -2
  147. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +2 -2
  148. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +2 -2
  149. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +2 -2
  150. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +2 -2
  151. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +2 -2
  152. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +2 -2
  153. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +2 -2
  154. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +2 -2
  155. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +2 -2
  156. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +2 -2
  157. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +2 -2
  158. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +2 -2
  159. package/esm2022/lib/card-view/models/card-view.models.mjs +2 -2
  160. package/esm2022/lib/card-view/public-api.mjs +2 -2
  161. package/esm2022/lib/card-view/services/card-item-types.service.mjs +5 -5
  162. package/esm2022/lib/card-view/services/card-view-update.service.mjs +5 -5
  163. package/esm2022/lib/card-view/services/card-view.services.mjs +2 -2
  164. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +2 -2
  165. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +3 -3
  166. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +2 -2
  167. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +2 -2
  168. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +2 -2
  169. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +2 -2
  170. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +5 -3
  171. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +2 -2
  172. package/esm2022/lib/card-view/validators/card-view.validators.mjs +2 -2
  173. package/esm2022/lib/card-view/validators/validators.map.mjs +2 -2
  174. package/esm2022/lib/clipboard/clipboard.directive.mjs +9 -9
  175. package/esm2022/lib/clipboard/clipboard.module.mjs +6 -6
  176. package/esm2022/lib/clipboard/clipboard.service.mjs +7 -7
  177. package/esm2022/lib/clipboard/index.mjs +2 -2
  178. package/esm2022/lib/clipboard/public-api.mjs +2 -2
  179. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +5 -5
  180. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +6 -6
  181. package/esm2022/lib/comments/comment-list/index.mjs +2 -2
  182. package/esm2022/lib/comments/comment-list/public-api.mjs +2 -2
  183. package/esm2022/lib/comments/comments.component.mjs +4 -4
  184. package/esm2022/lib/comments/comments.module.mjs +6 -6
  185. package/esm2022/lib/comments/index.mjs +2 -2
  186. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +2 -2
  187. package/esm2022/lib/comments/interfaces/comments.token.mjs +2 -2
  188. package/esm2022/lib/comments/public-api.mjs +2 -2
  189. package/esm2022/lib/common/index.mjs +2 -2
  190. package/esm2022/lib/common/interface/search-component.interface.mjs +2 -2
  191. package/esm2022/lib/common/mock/app-config.service.mock.mjs +6 -6
  192. package/esm2022/lib/common/models/default-languages.model.mjs +2 -2
  193. package/esm2022/lib/common/models/log-levels.model.mjs +2 -2
  194. package/esm2022/lib/common/models/user-info-mode.enum.mjs +2 -2
  195. package/esm2022/lib/common/services/cookie.service.mjs +12 -9
  196. package/esm2022/lib/common/services/download.service.mjs +8 -7
  197. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +2 -2
  198. package/esm2022/lib/common/services/highlight-transform.service.mjs +6 -9
  199. package/esm2022/lib/common/services/language-item.interface.mjs +2 -2
  200. package/esm2022/lib/common/services/log.service.mjs +6 -6
  201. package/esm2022/lib/common/services/page-title.service.mjs +6 -6
  202. package/esm2022/lib/common/services/sort-by-category.service.mjs +5 -5
  203. package/esm2022/lib/common/services/storage.service.mjs +6 -6
  204. package/esm2022/lib/common/services/thumbnail.service.mjs +7 -7
  205. package/esm2022/lib/common/services/url.service.mjs +6 -6
  206. package/esm2022/lib/common/services/user-preferences.service.mjs +6 -6
  207. package/esm2022/lib/common/utils/date-fns-adapter.mjs +7 -7
  208. package/esm2022/lib/common/utils/date-fns-utils.mjs +2 -2
  209. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +17 -17
  210. package/esm2022/lib/common/utils/file-utils.mjs +2 -2
  211. package/esm2022/lib/common/utils/index.mjs +2 -2
  212. package/esm2022/lib/common/utils/moment-date-adapter.mjs +6 -6
  213. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +2 -2
  214. package/esm2022/lib/common/utils/object-utils.mjs +10 -9
  215. package/esm2022/lib/common/utils/public-api.mjs +2 -2
  216. package/esm2022/lib/common/utils/string-utils.mjs +3 -3
  217. package/esm2022/lib/context-menu/animations.mjs +2 -2
  218. package/esm2022/lib/context-menu/context-menu-list.component.mjs +7 -7
  219. package/esm2022/lib/context-menu/context-menu-overlay.mjs +2 -2
  220. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +10 -11
  221. package/esm2022/lib/context-menu/context-menu.directive.mjs +6 -6
  222. package/esm2022/lib/context-menu/context-menu.module.mjs +6 -6
  223. package/esm2022/lib/context-menu/context-menu.tokens.mjs +2 -2
  224. package/esm2022/lib/context-menu/index.mjs +2 -2
  225. package/esm2022/lib/context-menu/interfaces.mjs +2 -2
  226. package/esm2022/lib/context-menu/public-api.mjs +2 -2
  227. package/esm2022/lib/core.module.mjs +7 -7
  228. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +5 -5
  229. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +5 -5
  230. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +5 -5
  231. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +5 -5
  232. package/esm2022/lib/datatable/components/data-cell.event.mjs +2 -2
  233. package/esm2022/lib/datatable/components/data-row-action.event.mjs +2 -2
  234. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +7 -7
  235. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +5 -5
  236. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +7 -7
  237. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +5 -5
  238. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +15 -15
  239. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +5 -5
  240. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +6 -6
  241. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +7 -7
  242. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +6 -6
  243. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +3 -3
  244. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +5 -5
  245. package/esm2022/lib/datatable/data/data-column.model.mjs +2 -2
  246. package/esm2022/lib/datatable/data/data-row-event.model.mjs +2 -2
  247. package/esm2022/lib/datatable/data/data-row-update.model.mjs +2 -2
  248. package/esm2022/lib/datatable/data/data-row.model.mjs +2 -2
  249. package/esm2022/lib/datatable/data/data-sorting.model.mjs +2 -2
  250. package/esm2022/lib/datatable/data/data-table.schema.mjs +6 -6
  251. package/esm2022/lib/datatable/data/datatable-adapter.mjs +2 -2
  252. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +2 -2
  253. package/esm2022/lib/datatable/data/object-datarow.model.mjs +2 -2
  254. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +2 -2
  255. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +6 -6
  256. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +5 -5
  257. package/esm2022/lib/datatable/data-column/data-column.component.mjs +5 -5
  258. package/esm2022/lib/datatable/data-column/index.mjs +2 -2
  259. package/esm2022/lib/datatable/data-column/public-api.mjs +2 -2
  260. package/esm2022/lib/datatable/datatable.module.mjs +6 -6
  261. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +5 -5
  262. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +5 -5
  263. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +5 -5
  264. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +6 -6
  265. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +6 -6
  266. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +6 -6
  267. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +6 -6
  268. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +6 -6
  269. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +6 -6
  270. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +6 -6
  271. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +6 -6
  272. package/esm2022/lib/datatable/directives/resizable/types.mjs +2 -2
  273. package/esm2022/lib/datatable/index.mjs +2 -2
  274. package/esm2022/lib/datatable/public-api.mjs +2 -2
  275. package/esm2022/lib/datatable/services/datatable.service.mjs +5 -5
  276. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +7 -7
  277. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +6 -6
  278. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +2 -2
  279. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +7 -7
  280. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +2 -2
  281. package/esm2022/lib/dialogs/dialog/index.mjs +2 -2
  282. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +7 -7
  283. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +24 -7
  284. package/esm2022/lib/dialogs/index.mjs +2 -2
  285. package/esm2022/lib/dialogs/public-api.mjs +2 -2
  286. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +7 -7
  287. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +2 -2
  288. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +6 -6
  289. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +6 -6
  290. package/esm2022/lib/directives/directive.module.mjs +6 -6
  291. package/esm2022/lib/directives/highlight.directive.mjs +6 -6
  292. package/esm2022/lib/directives/index.mjs +2 -2
  293. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +7 -7
  294. package/esm2022/lib/directives/logout.directive.mjs +6 -6
  295. package/esm2022/lib/directives/public-api.mjs +2 -2
  296. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +6 -6
  297. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +6 -6
  298. package/esm2022/lib/directives/upload.directive.mjs +6 -6
  299. package/esm2022/lib/dynamic-chip-list/chip.mjs +2 -2
  300. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +6 -6
  301. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +6 -6
  302. package/esm2022/lib/dynamic-chip-list/index.mjs +2 -2
  303. package/esm2022/lib/dynamic-chip-list/public-api.mjs +2 -2
  304. package/esm2022/lib/events/base-ui.event.mjs +2 -2
  305. package/esm2022/lib/events/base.event.mjs +2 -2
  306. package/esm2022/lib/events/index.mjs +2 -2
  307. package/esm2022/lib/events/public-api.mjs +2 -2
  308. package/esm2022/lib/form/components/form-base.component.mjs +5 -5
  309. package/esm2022/lib/form/components/form-custom-button.directive.mjs +5 -5
  310. package/esm2022/lib/form/components/form-field/form-field.component.mjs +5 -5
  311. package/esm2022/lib/form/components/form-renderer.component.mjs +9 -9
  312. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +6 -6
  313. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +5 -5
  314. package/esm2022/lib/form/components/middlewares/middleware.mjs +2 -2
  315. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +7 -7
  316. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +6 -6
  317. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +6 -6
  318. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +2 -2
  319. package/esm2022/lib/form/components/widgets/core/container.model.mjs +2 -2
  320. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +2 -2
  321. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +2 -2
  322. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +2 -2
  323. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +2 -2
  324. package/esm2022/lib/form/components/widgets/core/external-content.mjs +2 -2
  325. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +2 -2
  326. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +2 -2
  327. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +2 -2
  328. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +2 -2
  329. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +2 -2
  330. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +2 -2
  331. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +2 -2
  332. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +2 -2
  333. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +2 -2
  334. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +2 -2
  335. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +3 -3
  336. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +2 -2
  337. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +2 -2
  338. package/esm2022/lib/form/components/widgets/core/form-values.mjs +2 -2
  339. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +2 -2
  340. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +2 -2
  341. package/esm2022/lib/form/components/widgets/core/form.model.mjs +2 -2
  342. package/esm2022/lib/form/components/widgets/core/group.model.mjs +2 -2
  343. package/esm2022/lib/form/components/widgets/core/index.mjs +2 -2
  344. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +2 -2
  345. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +2 -2
  346. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +2 -2
  347. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +2 -2
  348. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +2 -2
  349. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +2 -2
  350. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +2 -2
  351. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +5 -5
  352. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +5 -5
  353. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +6 -6
  354. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +2 -2
  355. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +6 -6
  356. package/esm2022/lib/form/components/widgets/display-text/index.mjs +2 -2
  357. package/esm2022/lib/form/components/widgets/error/error.component.mjs +6 -6
  358. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +2 -2
  359. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +5 -5
  360. package/esm2022/lib/form/components/widgets/header/index.mjs +2 -2
  361. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +6 -6
  362. package/esm2022/lib/form/components/widgets/index.mjs +2 -2
  363. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +6 -6
  364. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +6 -6
  365. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +6 -6
  366. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +2 -2
  367. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +8 -8
  368. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +6 -6
  369. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +6 -6
  370. package/esm2022/lib/form/components/widgets/widget.component.mjs +6 -6
  371. package/esm2022/lib/form/events/form-error.event.mjs +2 -2
  372. package/esm2022/lib/form/events/form-field.event.mjs +2 -2
  373. package/esm2022/lib/form/events/form-rules.event.mjs +2 -2
  374. package/esm2022/lib/form/events/form-spinner.event.mjs +2 -2
  375. package/esm2022/lib/form/events/form.event.mjs +2 -2
  376. package/esm2022/lib/form/events/index.mjs +2 -2
  377. package/esm2022/lib/form/events/validate-form-field.event.mjs +2 -2
  378. package/esm2022/lib/form/events/validate-form.event.mjs +2 -2
  379. package/esm2022/lib/form/form-base.module.mjs +6 -6
  380. package/esm2022/lib/form/index.mjs +2 -2
  381. package/esm2022/lib/form/models/form-rules.model.mjs +2 -2
  382. package/esm2022/lib/form/models/task-process-variable.model.mjs +2 -2
  383. package/esm2022/lib/form/models/widget-visibility.model.mjs +2 -2
  384. package/esm2022/lib/form/pipes/field-style.pipe.mjs +5 -5
  385. package/esm2022/lib/form/pipes/index.mjs +2 -2
  386. package/esm2022/lib/form/public-api.mjs +2 -2
  387. package/esm2022/lib/form/services/form-rendering.service.mjs +5 -5
  388. package/esm2022/lib/form/services/form-validation-service.interface.mjs +2 -2
  389. package/esm2022/lib/form/services/form.service.mjs +6 -6
  390. package/esm2022/lib/form/services/widget-visibility.service.mjs +5 -5
  391. package/esm2022/lib/header/header.component.mjs +6 -6
  392. package/esm2022/lib/header/index.mjs +2 -2
  393. package/esm2022/lib/header/navbar/navbar-item.component.mjs +5 -5
  394. package/esm2022/lib/header/navbar/navbar.component.mjs +6 -6
  395. package/esm2022/lib/header/public-api.mjs +2 -2
  396. package/esm2022/lib/icon/icon.component.mjs +5 -5
  397. package/esm2022/lib/icon/icon.module.mjs +6 -6
  398. package/esm2022/lib/icon/index.mjs +2 -2
  399. package/esm2022/lib/icon/public-api.mjs +2 -2
  400. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +5 -5
  401. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +6 -6
  402. package/esm2022/lib/identity-user-info/index.mjs +2 -2
  403. package/esm2022/lib/identity-user-info/public-api.mjs +2 -2
  404. package/esm2022/lib/info-drawer/index.mjs +2 -2
  405. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +15 -15
  406. package/esm2022/lib/info-drawer/info-drawer.component.mjs +10 -10
  407. package/esm2022/lib/info-drawer/info-drawer.module.mjs +6 -6
  408. package/esm2022/lib/info-drawer/public-api.mjs +2 -2
  409. package/esm2022/lib/interface/index.mjs +2 -2
  410. package/esm2022/lib/interface/injection.tokens.mjs +2 -2
  411. package/esm2022/lib/interface/public-api.mjs +2 -2
  412. package/esm2022/lib/language-menu/index.mjs +2 -2
  413. package/esm2022/lib/language-menu/language-menu.component.mjs +7 -7
  414. package/esm2022/lib/language-menu/language-menu.module.mjs +6 -6
  415. package/esm2022/lib/language-menu/language-picker.component.mjs +6 -6
  416. package/esm2022/lib/language-menu/public-api.mjs +2 -2
  417. package/esm2022/lib/language-menu/service/language.service.interface.mjs +2 -2
  418. package/esm2022/lib/language-menu/service/language.service.mjs +5 -5
  419. package/esm2022/lib/layout/components/header/header.component.mjs +7 -7
  420. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +7 -7
  421. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +15 -15
  422. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +7 -7
  423. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +5 -5
  424. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +5 -5
  425. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +5 -5
  426. package/esm2022/lib/layout/index.mjs +2 -2
  427. package/esm2022/lib/layout/layout.module.mjs +6 -6
  428. package/esm2022/lib/layout/public-api.mjs +2 -2
  429. package/esm2022/lib/login/components/login/login.component.mjs +8 -8
  430. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +2 -2
  431. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +13 -8
  432. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +10 -6
  433. package/esm2022/lib/login/directives/login-footer.directive.mjs +6 -6
  434. package/esm2022/lib/login/directives/login-header.directive.mjs +6 -6
  435. package/esm2022/lib/login/index.mjs +2 -2
  436. package/esm2022/lib/login/login.module.mjs +6 -6
  437. package/esm2022/lib/login/models/login-error.event.mjs +2 -2
  438. package/esm2022/lib/login/models/login-submit.event.mjs +2 -2
  439. package/esm2022/lib/login/models/login-success.event.mjs +2 -2
  440. package/esm2022/lib/login/public-api.mjs +2 -2
  441. package/esm2022/lib/material.module.mjs +6 -6
  442. package/esm2022/lib/mock/cookie.service.mock.mjs +5 -5
  443. package/esm2022/lib/mock/data-column.mock.mjs +41 -9
  444. package/esm2022/lib/mock/event.mock.mjs +2 -2
  445. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +4 -4
  446. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +6 -6
  447. package/esm2022/lib/mock/form/form-definition.mock.mjs +8 -8
  448. package/esm2022/lib/mock/form/form.component.mock.mjs +6 -6
  449. package/esm2022/lib/mock/form/form.service.mock.mjs +6 -6
  450. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +52 -84
  451. package/esm2022/lib/mock/index.mjs +2 -2
  452. package/esm2022/lib/mock/public-api.mjs +2 -2
  453. package/esm2022/lib/mock/translation.service.mock.mjs +5 -5
  454. package/esm2022/lib/models/comment.model.mjs +2 -2
  455. package/esm2022/lib/models/component.model.mjs +2 -2
  456. package/esm2022/lib/models/decimal-number.model.mjs +2 -2
  457. package/esm2022/lib/models/general-user.model.mjs +2 -2
  458. package/esm2022/lib/models/index.mjs +2 -2
  459. package/esm2022/lib/models/pagination.model.mjs +2 -2
  460. package/esm2022/lib/models/path.model.mjs +2 -2
  461. package/esm2022/lib/models/product-version.model.mjs +2 -2
  462. package/esm2022/lib/models/public-api.mjs +2 -2
  463. package/esm2022/lib/models/request-pagination.model.mjs +2 -2
  464. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +6 -6
  465. package/esm2022/lib/notifications/components/notification-history.component.mjs +7 -7
  466. package/esm2022/lib/notifications/helpers/notification.factory.mjs +2 -2
  467. package/esm2022/lib/notifications/index.mjs +2 -2
  468. package/esm2022/lib/notifications/models/notification.model.mjs +2 -2
  469. package/esm2022/lib/notifications/notification-history.module.mjs +6 -6
  470. package/esm2022/lib/notifications/public-api.mjs +2 -2
  471. package/esm2022/lib/notifications/services/notification.service.mjs +8 -8
  472. package/esm2022/lib/pagination/index.mjs +2 -2
  473. package/esm2022/lib/pagination/infinite-pagination.component.mjs +7 -7
  474. package/esm2022/lib/pagination/paginated-component.interface.mjs +2 -2
  475. package/esm2022/lib/pagination/pagination-component.interface.mjs +2 -2
  476. package/esm2022/lib/pagination/pagination.component.mjs +6 -6
  477. package/esm2022/lib/pagination/pagination.module.mjs +6 -6
  478. package/esm2022/lib/pagination/public-api.mjs +2 -2
  479. package/esm2022/lib/pipes/date-time.pipe.mjs +5 -5
  480. package/esm2022/lib/pipes/decimal-number.pipe.mjs +6 -6
  481. package/esm2022/lib/pipes/file-size.pipe.mjs +6 -6
  482. package/esm2022/lib/pipes/file-type.pipe.mjs +5 -5
  483. package/esm2022/lib/pipes/format-space.pipe.mjs +5 -5
  484. package/esm2022/lib/pipes/full-name.pipe.mjs +5 -5
  485. package/esm2022/lib/pipes/index.mjs +2 -2
  486. package/esm2022/lib/pipes/localized-date.pipe.mjs +6 -6
  487. package/esm2022/lib/pipes/multi-value.pipe.mjs +5 -5
  488. package/esm2022/lib/pipes/pipe.module.mjs +6 -6
  489. package/esm2022/lib/pipes/public-api.mjs +2 -2
  490. package/esm2022/lib/pipes/text-highlight.pipe.mjs +6 -6
  491. package/esm2022/lib/pipes/time-ago.pipe.mjs +6 -6
  492. package/esm2022/lib/pipes/truncate.pipe.mjs +5 -5
  493. package/esm2022/lib/pipes/user-initial.pipe.mjs +6 -6
  494. package/esm2022/lib/pipes/user-like.interface.mjs +3 -2
  495. package/esm2022/lib/progress/progress.component.mjs +5 -5
  496. package/esm2022/lib/search-text/animations.mjs +2 -2
  497. package/esm2022/lib/search-text/index.mjs +2 -2
  498. package/esm2022/lib/search-text/models/search-text-input.model.mjs +2 -2
  499. package/esm2022/lib/search-text/public-api.mjs +2 -2
  500. package/esm2022/lib/search-text/search-text-input.component.mjs +5 -5
  501. package/esm2022/lib/search-text/search-text-input.module.mjs +6 -6
  502. package/esm2022/lib/search-text/search-trigger.directive.mjs +7 -7
  503. package/esm2022/lib/snackbar-content/index.mjs +2 -2
  504. package/esm2022/lib/snackbar-content/public-api.mjs +2 -2
  505. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +2 -2
  506. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +7 -7
  507. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +27 -9
  508. package/esm2022/lib/sorting-picker/index.mjs +2 -2
  509. package/esm2022/lib/sorting-picker/public-api.mjs +2 -2
  510. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +5 -5
  511. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +6 -6
  512. package/esm2022/lib/templates/error-content/error-content.component.mjs +7 -7
  513. package/esm2022/lib/templates/index.mjs +2 -2
  514. package/esm2022/lib/templates/public-api.mjs +2 -2
  515. package/esm2022/lib/templates/template.module.mjs +6 -6
  516. package/esm2022/lib/testing/core.story.module.mjs +6 -6
  517. package/esm2022/lib/testing/core.testing.module.mjs +6 -6
  518. package/esm2022/lib/testing/index.mjs +2 -2
  519. package/esm2022/lib/testing/noop-auth.module.mjs +10 -11
  520. package/esm2022/lib/testing/noop-translate.module.mjs +9 -9
  521. package/esm2022/lib/testing/unit-testing-utils.mjs +2 -2
  522. package/esm2022/lib/toolbar/index.mjs +2 -2
  523. package/esm2022/lib/toolbar/public-api.mjs +2 -2
  524. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +5 -5
  525. package/esm2022/lib/toolbar/toolbar-title.component.mjs +6 -6
  526. package/esm2022/lib/toolbar/toolbar.component.mjs +6 -6
  527. package/esm2022/lib/toolbar/toolbar.module.mjs +6 -6
  528. package/esm2022/lib/translation/index.mjs +2 -2
  529. package/esm2022/lib/translation/public-api.mjs +2 -2
  530. package/esm2022/lib/translation/translate-loader.service.mjs +6 -6
  531. package/esm2022/lib/translation/translation.service.mjs +7 -7
  532. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +5 -5
  533. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +6 -6
  534. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +6 -6
  535. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +7 -7
  536. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +7 -7
  537. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +5 -5
  538. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +7 -7
  539. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +6 -6
  540. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +5 -5
  541. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +6 -6
  542. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +6 -6
  543. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +7 -7
  544. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +6 -6
  545. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +6 -6
  546. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +6 -6
  547. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +6 -6
  548. package/esm2022/lib/viewer/components/viewer.component.mjs +7 -7
  549. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +6 -6
  550. package/esm2022/lib/viewer/index.mjs +2 -2
  551. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +2 -2
  552. package/esm2022/lib/viewer/models/viewer.model.mjs +2 -2
  553. package/esm2022/lib/viewer/public-api.mjs +2 -2
  554. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +5 -5
  555. package/esm2022/lib/viewer/services/view-util.service.mjs +6 -6
  556. package/esm2022/lib/viewer/viewer.module.mjs +6 -6
  557. package/esm2022/public-api.mjs +2 -2
  558. package/esm2022/shell/index.mjs +2 -2
  559. package/esm2022/shell/lib/components/shell/shell.component.mjs +7 -7
  560. package/esm2022/shell/lib/services/shell-app.service.mjs +2 -2
  561. package/esm2022/shell/lib/shell.module.mjs +6 -6
  562. package/esm2022/shell/lib/shell.routes.mjs +2 -2
  563. package/feature-flags/index.d.ts +1 -1
  564. package/feature-flags/lib/components/feature-override-indicator.component.d.ts +1 -1
  565. package/feature-flags/lib/directives/features.directive.d.ts +1 -1
  566. package/feature-flags/lib/directives/not-features.directive.d.ts +1 -1
  567. package/feature-flags/lib/interfaces/features.interface.d.ts +1 -1
  568. package/feature-flags/lib/mocks/features-service-mock.factory.d.ts +1 -1
  569. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +1 -1
  570. package/feature-flags/lib/providers/dummy-feature-flags.provider.d.ts +1 -1
  571. package/feature-flags/lib/services/flagset.parser.d.ts +1 -1
  572. package/feature-flags/lib/services/qa-features.helper.d.ts +1 -1
  573. package/fesm2022/adf-core.mjs +1725 -1673
  574. package/fesm2022/adf-core.mjs.map +1 -1
  575. package/fesm2022/alfresco-adf-core-api.mjs +14 -13
  576. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  577. package/fesm2022/alfresco-adf-core-auth.mjs +9 -8
  578. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  579. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +19 -19
  580. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  581. package/fesm2022/alfresco-adf-core-feature-flags.mjs +75 -75
  582. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  583. package/fesm2022/alfresco-adf-core-shell.mjs +15 -15
  584. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  585. package/lib/about/about-package/package-list.component.d.ts +1 -1
  586. package/lib/about/about-panel.directive.d.ts +1 -1
  587. package/lib/about/about-repository-info/about-repository-info.component.d.ts +1 -1
  588. package/lib/about/about-repository-info/repository-info.interface.d.ts +1 -1
  589. package/lib/about/about-server-settings/about-server-settings.component.d.ts +1 -1
  590. package/lib/about/about.component.d.ts +1 -1
  591. package/lib/about/index.d.ts +1 -1
  592. package/lib/about/interfaces.d.ts +1 -1
  593. package/lib/about/public-api.d.ts +1 -1
  594. package/lib/app-config/app-config-storage-prefix.factory.d.ts +1 -1
  595. package/lib/app-config/app-config.loader.d.ts +1 -1
  596. package/lib/app-config/app-config.pipe.d.ts +1 -1
  597. package/lib/app-config/app-config.service.d.ts +1 -1
  598. package/lib/app-config/index.d.ts +1 -1
  599. package/lib/app-config/public-api.d.ts +1 -1
  600. package/lib/auth/authentication-interceptor/auth-bearer.interceptor.d.ts +1 -1
  601. package/lib/auth/guard/auth-guard-bpm.service.d.ts +1 -1
  602. package/lib/auth/guard/auth-guard-ecm.service.d.ts +1 -1
  603. package/lib/auth/guard/auth-guard-sso-role.service.d.ts +1 -1
  604. package/lib/auth/guard/auth-guard.d.ts +1 -1
  605. package/lib/auth/guard/auth-guard.service.d.ts +1 -1
  606. package/lib/auth/index.d.ts +1 -1
  607. package/lib/auth/interfaces/authentication-service.interface.d.ts +1 -1
  608. package/lib/auth/interfaces/authentication.interface.d.ts +1 -1
  609. package/lib/auth/interfaces/identity-group.interface.d.ts +1 -1
  610. package/lib/auth/interfaces/identity-user.service.interface.d.ts +1 -1
  611. package/lib/auth/interfaces/openid-configuration.interface.d.ts +1 -1
  612. package/lib/auth/models/application-access.model.d.ts +1 -1
  613. package/lib/auth/models/identity-group.model.d.ts +1 -1
  614. package/lib/auth/models/identity-role.model.d.ts +1 -1
  615. package/lib/auth/models/identity-user.model.d.ts +1 -1
  616. package/lib/auth/models/oauth-config.model.d.ts +1 -1
  617. package/lib/auth/models/redirection.model.d.ts +1 -1
  618. package/lib/auth/models/user-access.model.d.ts +1 -1
  619. package/lib/auth/oidc/auth-config.d.ts +1 -1
  620. package/lib/auth/oidc/auth.module.d.ts +1 -1
  621. package/lib/auth/oidc/auth.service.d.ts +1 -1
  622. package/lib/auth/oidc/oidc-auth.guard.d.ts +1 -1
  623. package/lib/auth/oidc/public-api.d.ts +1 -1
  624. package/lib/auth/public-api.d.ts +1 -1
  625. package/lib/auth/services/authentication.service.d.ts +1 -1
  626. package/lib/auth/services/base-authentication.service.d.ts +1 -1
  627. package/lib/blank-page/index.d.ts +1 -1
  628. package/lib/blank-page/public-api.d.ts +1 -1
  629. package/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.d.ts +1 -1
  630. package/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.d.ts +1 -1
  631. package/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.d.ts +1 -1
  632. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.d.ts +1 -1
  633. package/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.d.ts +1 -1
  634. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.d.ts +1 -1
  635. package/lib/card-view/components/card-view.components.d.ts +1 -1
  636. package/lib/card-view/index.d.ts +1 -1
  637. package/lib/card-view/interfaces/base-card-view-update.interface.d.ts +1 -1
  638. package/lib/card-view/interfaces/card-view-arrayitem-properties.interface.d.ts +1 -1
  639. package/lib/card-view/interfaces/card-view-boolitem-properties.interface.d.ts +1 -1
  640. package/lib/card-view/interfaces/card-view-dateitem-properties.interface.d.ts +1 -1
  641. package/lib/card-view/interfaces/card-view-item-properties.interface.d.ts +1 -1
  642. package/lib/card-view/interfaces/card-view-item-validator.interface.d.ts +1 -1
  643. package/lib/card-view/interfaces/card-view-item.interface.d.ts +1 -1
  644. package/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.d.ts +1 -1
  645. package/lib/card-view/interfaces/card-view-selectitem-properties.interface.d.ts +1 -1
  646. package/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.d.ts +1 -1
  647. package/lib/card-view/interfaces/card-view-textitem-properties.interface.d.ts +1 -1
  648. package/lib/card-view/interfaces/card-view.interfaces.d.ts +1 -1
  649. package/lib/card-view/interfaces/click-notification.interface.d.ts +1 -1
  650. package/lib/card-view/interfaces/update-notification.interface.d.ts +1 -1
  651. package/lib/card-view/models/card-view-arrayitem.model.d.ts +1 -1
  652. package/lib/card-view/models/card-view-baseitem.model.d.ts +1 -1
  653. package/lib/card-view/models/card-view-boolitem.model.d.ts +1 -1
  654. package/lib/card-view/models/card-view-dateitem.model.d.ts +1 -1
  655. package/lib/card-view/models/card-view-datetimeitem.model.d.ts +1 -1
  656. package/lib/card-view/models/card-view-floatitem.model.d.ts +1 -1
  657. package/lib/card-view/models/card-view-intitem.model.d.ts +1 -1
  658. package/lib/card-view/models/card-view-keyvaluepairs.model.d.ts +1 -1
  659. package/lib/card-view/models/card-view-longitem.model.d.ts +1 -1
  660. package/lib/card-view/models/card-view-mapitem.model.d.ts +1 -1
  661. package/lib/card-view/models/card-view-selectitem.model.d.ts +1 -1
  662. package/lib/card-view/models/card-view-textitem.model.d.ts +1 -1
  663. package/lib/card-view/models/card-view.models.d.ts +1 -1
  664. package/lib/card-view/public-api.d.ts +1 -1
  665. package/lib/card-view/services/card-item-types.service.d.ts +1 -1
  666. package/lib/card-view/services/card-view.services.d.ts +1 -1
  667. package/lib/card-view/validators/card-view-item-float.validator.d.ts +1 -1
  668. package/lib/card-view/validators/card-view-item-int.validator.d.ts +1 -1
  669. package/lib/card-view/validators/card-view-item-length.validator.d.ts +1 -1
  670. package/lib/card-view/validators/card-view-item-long.validator.d.ts +1 -1
  671. package/lib/card-view/validators/card-view-item-match.validator.d.ts +1 -1
  672. package/lib/card-view/validators/card-view-item-minmax.validator.d.ts +1 -1
  673. package/lib/card-view/validators/card-view-item-only-positive-int.validator.d.ts +1 -1
  674. package/lib/card-view/validators/card-view-item-only-positive-long.validator.d.ts +1 -1
  675. package/lib/card-view/validators/card-view.validators.d.ts +1 -1
  676. package/lib/card-view/validators/validators.map.d.ts +1 -1
  677. package/lib/clipboard/clipboard.directive.d.ts +1 -1
  678. package/lib/clipboard/index.d.ts +1 -1
  679. package/lib/clipboard/public-api.d.ts +1 -1
  680. package/lib/comments/comment-list/comment-list.component.d.ts +1 -1
  681. package/lib/comments/comment-list/index.d.ts +1 -1
  682. package/lib/comments/comment-list/public-api.d.ts +1 -1
  683. package/lib/comments/comments.component.d.ts +1 -1
  684. package/lib/comments/index.d.ts +1 -1
  685. package/lib/comments/interfaces/comments-service.interface.d.ts +1 -1
  686. package/lib/comments/interfaces/comments.token.d.ts +1 -1
  687. package/lib/comments/public-api.d.ts +1 -1
  688. package/lib/common/index.d.ts +1 -1
  689. package/lib/common/interface/search-component.interface.d.ts +1 -1
  690. package/lib/common/models/default-languages.model.d.ts +1 -1
  691. package/lib/common/models/log-levels.model.d.ts +1 -1
  692. package/lib/common/models/user-info-mode.enum.d.ts +1 -1
  693. package/lib/common/services/dynamic-component-mapper.service.d.ts +1 -1
  694. package/lib/common/services/language-item.interface.d.ts +1 -1
  695. package/lib/common/utils/date-fns-adapter.d.ts +1 -1
  696. package/lib/common/utils/date-fns-utils.d.ts +1 -1
  697. package/lib/common/utils/file-utils.d.ts +1 -1
  698. package/lib/common/utils/index.d.ts +1 -1
  699. package/lib/common/utils/moment-date-formats.model.d.ts +1 -1
  700. package/lib/common/utils/object-utils.d.ts +1 -1
  701. package/lib/common/utils/public-api.d.ts +1 -1
  702. package/lib/common/utils/string-utils.d.ts +1 -1
  703. package/lib/context-menu/animations.d.ts +1 -1
  704. package/lib/context-menu/context-menu-overlay.d.ts +1 -1
  705. package/lib/context-menu/context-menu-overlay.service.d.ts +1 -1
  706. package/lib/context-menu/context-menu.tokens.d.ts +1 -1
  707. package/lib/context-menu/index.d.ts +1 -1
  708. package/lib/context-menu/interfaces.d.ts +1 -1
  709. package/lib/context-menu/public-api.d.ts +1 -1
  710. package/lib/core.module.d.ts +1 -1
  711. package/lib/datatable/components/amount-cell/amount-cell.component.d.ts +1 -1
  712. package/lib/datatable/components/boolean-cell/boolean-cell.component.d.ts +1 -1
  713. package/lib/datatable/components/columns-selector/columns-search-filter.pipe.d.ts +1 -1
  714. package/lib/datatable/components/columns-selector/columns-selector.component.d.ts +1 -1
  715. package/lib/datatable/components/data-cell.event.d.ts +1 -1
  716. package/lib/datatable/components/data-row-action.event.d.ts +1 -1
  717. package/lib/datatable/components/datatable/datatable.component.d.ts +1 -1
  718. package/lib/datatable/components/datatable-cell/datatable-cell.component.d.ts +1 -1
  719. package/lib/datatable/components/datatable-row/datatable-row.component.d.ts +1 -1
  720. package/lib/datatable/components/date-cell/date-cell.component.d.ts +1 -1
  721. package/lib/datatable/components/filesize-cell/filesize-cell.component.d.ts +1 -1
  722. package/lib/datatable/components/json-cell/json-cell.component.d.ts +1 -1
  723. package/lib/datatable/components/location-cell/location-cell.component.d.ts +1 -1
  724. package/lib/datatable/components/mocks/datatable.mock.d.ts +1 -1
  725. package/lib/datatable/components/number-cell/number-cell.component.d.ts +1 -1
  726. package/lib/datatable/data/data-column.model.d.ts +1 -1
  727. package/lib/datatable/data/data-row-event.model.d.ts +1 -1
  728. package/lib/datatable/data/data-row-update.model.d.ts +1 -1
  729. package/lib/datatable/data/data-row.model.d.ts +1 -1
  730. package/lib/datatable/data/data-sorting.model.d.ts +1 -1
  731. package/lib/datatable/data/datatable-adapter.d.ts +1 -1
  732. package/lib/datatable/data/object-datacolumn.model.d.ts +1 -1
  733. package/lib/datatable/data/object-datarow.model.d.ts +1 -1
  734. package/lib/datatable/data/object-datatable-adapter.d.ts +1 -1
  735. package/lib/datatable/data-column/data-column-header.component.d.ts +1 -1
  736. package/lib/datatable/data-column/data-column-list.component.d.ts +1 -1
  737. package/lib/datatable/data-column/data-column.component.d.ts +1 -1
  738. package/lib/datatable/data-column/index.d.ts +1 -1
  739. package/lib/datatable/data-column/public-api.d.ts +1 -1
  740. package/lib/datatable/directives/drop-zone.directive.d.ts +1 -1
  741. package/lib/datatable/directives/header-filter-template.directive.d.ts +1 -1
  742. package/lib/datatable/directives/loading-template.directive.d.ts +1 -1
  743. package/lib/datatable/directives/main-data-table-action-template.directive.d.ts +1 -1
  744. package/lib/datatable/directives/no-content-template.directive.d.ts +1 -1
  745. package/lib/datatable/directives/no-permission-template.directive.d.ts +1 -1
  746. package/lib/datatable/directives/resizable/resizable.directive.d.ts +1 -1
  747. package/lib/datatable/directives/resizable/resize-handle.directive.d.ts +1 -1
  748. package/lib/datatable/directives/resizable/types.d.ts +1 -1
  749. package/lib/datatable/index.d.ts +1 -1
  750. package/lib/datatable/public-api.d.ts +1 -1
  751. package/lib/dialogs/dialog/dialog-data.interface.d.ts +1 -1
  752. package/lib/dialogs/dialog/dialog.component.d.ts +1 -1
  753. package/lib/dialogs/dialog/dialog.model.d.ts +1 -1
  754. package/lib/dialogs/dialog/index.d.ts +1 -1
  755. package/lib/dialogs/edit-json/edit-json.dialog.d.ts +1 -1
  756. package/lib/dialogs/index.d.ts +1 -1
  757. package/lib/dialogs/public-api.d.ts +1 -1
  758. package/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +1 -1
  759. package/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.d.ts +1 -1
  760. package/lib/directives/highlight.directive.d.ts +1 -1
  761. package/lib/directives/index.d.ts +1 -1
  762. package/lib/directives/infinite-select-scroll.directive.d.ts +1 -1
  763. package/lib/directives/logout.directive.d.ts +1 -1
  764. package/lib/directives/public-api.d.ts +1 -1
  765. package/lib/directives/tooltip-card/tooltip-card.directive.d.ts +1 -1
  766. package/lib/directives/upload.directive.d.ts +1 -1
  767. package/lib/dynamic-chip-list/chip.d.ts +1 -1
  768. package/lib/dynamic-chip-list/dynamic-chip-list.component.d.ts +1 -1
  769. package/lib/dynamic-chip-list/index.d.ts +1 -1
  770. package/lib/dynamic-chip-list/public-api.d.ts +1 -1
  771. package/lib/events/base-ui.event.d.ts +1 -1
  772. package/lib/events/base.event.d.ts +1 -1
  773. package/lib/events/index.d.ts +1 -1
  774. package/lib/events/public-api.d.ts +1 -1
  775. package/lib/form/components/form-base.component.d.ts +1 -1
  776. package/lib/form/components/form-field/form-field.component.d.ts +1 -1
  777. package/lib/form/components/middlewares/middleware.d.ts +1 -1
  778. package/lib/form/components/widgets/core/container-column.model.d.ts +1 -1
  779. package/lib/form/components/widgets/core/container.model.d.ts +1 -1
  780. package/lib/form/components/widgets/core/content-link.model.d.ts +1 -1
  781. package/lib/form/components/widgets/core/displayable-cm-properties.model.d.ts +1 -1
  782. package/lib/form/components/widgets/core/error-message.model.d.ts +1 -1
  783. package/lib/form/components/widgets/core/external-content-link.d.ts +1 -1
  784. package/lib/form/components/widgets/core/external-content.d.ts +1 -1
  785. package/lib/form/components/widgets/core/form-field-file-source.d.ts +1 -1
  786. package/lib/form/components/widgets/core/form-field-metadata.d.ts +1 -1
  787. package/lib/form/components/widgets/core/form-field-option.d.ts +1 -1
  788. package/lib/form/components/widgets/core/form-field-rule.d.ts +1 -1
  789. package/lib/form/components/widgets/core/form-field-selected-folder.d.ts +1 -1
  790. package/lib/form/components/widgets/core/form-field-templates.d.ts +1 -1
  791. package/lib/form/components/widgets/core/form-field-types.d.ts +1 -1
  792. package/lib/form/components/widgets/core/form-field-utils.d.ts +1 -1
  793. package/lib/form/components/widgets/core/form-field-validator.d.ts +1 -1
  794. package/lib/form/components/widgets/core/form-field-variable-options.d.ts +1 -1
  795. package/lib/form/components/widgets/core/form-field.model.d.ts +1 -1
  796. package/lib/form/components/widgets/core/form-outcome-event.model.d.ts +1 -1
  797. package/lib/form/components/widgets/core/form-outcome.model.d.ts +1 -1
  798. package/lib/form/components/widgets/core/form-values.d.ts +1 -1
  799. package/lib/form/components/widgets/core/form-variable.model.d.ts +1 -1
  800. package/lib/form/components/widgets/core/form-widget.model.d.ts +1 -1
  801. package/lib/form/components/widgets/core/form.model.d.ts +1 -1
  802. package/lib/form/components/widgets/core/group.model.d.ts +1 -1
  803. package/lib/form/components/widgets/core/index.d.ts +1 -1
  804. package/lib/form/components/widgets/core/predefined-theme.d.ts +1 -1
  805. package/lib/form/components/widgets/core/process-form-model.interface.d.ts +1 -1
  806. package/lib/form/components/widgets/core/process-variable.model.d.ts +1 -1
  807. package/lib/form/components/widgets/core/tab.model.d.ts +1 -1
  808. package/lib/form/components/widgets/core/theme.model.d.ts +1 -1
  809. package/lib/form/components/widgets/core/upload-widget-content-link.model.d.ts +1 -1
  810. package/lib/form/components/widgets/core/widget-schema.model.d.ts +1 -1
  811. package/lib/form/components/widgets/display-text/display-text.schema.d.ts +1 -1
  812. package/lib/form/components/widgets/display-text/index.d.ts +1 -1
  813. package/lib/form/components/widgets/header/header.schema.d.ts +1 -1
  814. package/lib/form/components/widgets/header/index.d.ts +1 -1
  815. package/lib/form/components/widgets/index.d.ts +1 -1
  816. package/lib/form/components/widgets/reactive-widget.interface.d.ts +1 -1
  817. package/lib/form/components/widgets/text/text-mask.component.d.ts +1 -1
  818. package/lib/form/components/widgets/widget.component.d.ts +1 -1
  819. package/lib/form/events/form-error.event.d.ts +1 -1
  820. package/lib/form/events/form-field.event.d.ts +1 -1
  821. package/lib/form/events/form-rules.event.d.ts +1 -1
  822. package/lib/form/events/form-spinner.event.d.ts +1 -1
  823. package/lib/form/events/form.event.d.ts +1 -1
  824. package/lib/form/events/index.d.ts +1 -1
  825. package/lib/form/events/validate-form-field.event.d.ts +1 -1
  826. package/lib/form/events/validate-form.event.d.ts +1 -1
  827. package/lib/form/index.d.ts +1 -1
  828. package/lib/form/models/form-rules.model.d.ts +1 -1
  829. package/lib/form/models/task-process-variable.model.d.ts +1 -1
  830. package/lib/form/models/widget-visibility.model.d.ts +1 -1
  831. package/lib/form/pipes/field-style.pipe.d.ts +1 -1
  832. package/lib/form/pipes/index.d.ts +1 -1
  833. package/lib/form/public-api.d.ts +1 -1
  834. package/lib/form/services/form-rendering.service.d.ts +1 -1
  835. package/lib/form/services/form-validation-service.interface.d.ts +1 -1
  836. package/lib/header/index.d.ts +1 -1
  837. package/lib/header/public-api.d.ts +1 -1
  838. package/lib/icon/index.d.ts +1 -1
  839. package/lib/icon/public-api.d.ts +1 -1
  840. package/lib/identity-user-info/index.d.ts +1 -1
  841. package/lib/identity-user-info/public-api.d.ts +1 -1
  842. package/lib/info-drawer/index.d.ts +1 -1
  843. package/lib/info-drawer/info-drawer.component.d.ts +1 -1
  844. package/lib/info-drawer/public-api.d.ts +1 -1
  845. package/lib/interface/index.d.ts +1 -1
  846. package/lib/interface/injection.tokens.d.ts +1 -1
  847. package/lib/interface/public-api.d.ts +1 -1
  848. package/lib/language-menu/index.d.ts +1 -1
  849. package/lib/language-menu/language-menu.component.d.ts +1 -1
  850. package/lib/language-menu/language-picker.component.d.ts +1 -1
  851. package/lib/language-menu/public-api.d.ts +1 -1
  852. package/lib/language-menu/service/language.service.d.ts +1 -1
  853. package/lib/language-menu/service/language.service.interface.d.ts +1 -1
  854. package/lib/layout/components/header/header.component.d.ts +1 -1
  855. package/lib/layout/components/layout-container/layout-container.component.d.ts +1 -1
  856. package/lib/layout/components/sidenav-layout/sidenav-layout.component.d.ts +1 -1
  857. package/lib/layout/directives/sidenav-layout-content.directive.d.ts +1 -1
  858. package/lib/layout/directives/sidenav-layout-header.directive.d.ts +1 -1
  859. package/lib/layout/directives/sidenav-layout-navigation.directive.d.ts +1 -1
  860. package/lib/layout/index.d.ts +1 -1
  861. package/lib/layout/public-api.d.ts +1 -1
  862. package/lib/login/components/login-dialog/login-dialog-component-data.interface.d.ts +1 -1
  863. package/lib/login/components/login-dialog-panel/login-dialog-panel.component.d.ts +1 -1
  864. package/lib/login/directives/login-footer.directive.d.ts +1 -1
  865. package/lib/login/directives/login-header.directive.d.ts +1 -1
  866. package/lib/login/index.d.ts +1 -1
  867. package/lib/login/models/login-error.event.d.ts +1 -1
  868. package/lib/login/models/login-submit.event.d.ts +1 -1
  869. package/lib/login/models/login-success.event.d.ts +1 -1
  870. package/lib/login/public-api.d.ts +1 -1
  871. package/lib/mock/data-column.mock.d.ts +1 -1
  872. package/lib/mock/event.mock.d.ts +1 -1
  873. package/lib/mock/form/form-definition-readonly.mock.d.ts +1 -1
  874. package/lib/mock/form/form-definition-visibility.mock.d.ts +1 -1
  875. package/lib/mock/form/form-definition.mock.d.ts +1 -1
  876. package/lib/mock/form/form.component.mock.d.ts +1 -1
  877. package/lib/mock/form/form.service.mock.d.ts +1 -1
  878. package/lib/mock/form/widget-visibility.service.mock.d.ts +1 -1
  879. package/lib/mock/index.d.ts +1 -1
  880. package/lib/mock/public-api.d.ts +1 -1
  881. package/lib/models/comment.model.d.ts +1 -1
  882. package/lib/models/component.model.d.ts +1 -1
  883. package/lib/models/decimal-number.model.d.ts +1 -1
  884. package/lib/models/general-user.model.d.ts +1 -1
  885. package/lib/models/index.d.ts +1 -1
  886. package/lib/models/pagination.model.d.ts +1 -1
  887. package/lib/models/path.model.d.ts +1 -1
  888. package/lib/models/product-version.model.d.ts +1 -1
  889. package/lib/models/public-api.d.ts +1 -1
  890. package/lib/models/request-pagination.model.d.ts +1 -1
  891. package/lib/notifications/components/notification-history.component.d.ts +1 -1
  892. package/lib/notifications/components/notification-history.component.scss +0 -1
  893. package/lib/notifications/helpers/notification.factory.d.ts +1 -1
  894. package/lib/notifications/index.d.ts +1 -1
  895. package/lib/notifications/models/notification.model.d.ts +1 -1
  896. package/lib/notifications/public-api.d.ts +1 -1
  897. package/lib/pagination/index.d.ts +1 -1
  898. package/lib/pagination/infinite-pagination.component.d.ts +1 -1
  899. package/lib/pagination/paginated-component.interface.d.ts +1 -1
  900. package/lib/pagination/pagination-component.interface.d.ts +1 -1
  901. package/lib/pagination/pagination.component.d.ts +1 -1
  902. package/lib/pagination/public-api.d.ts +1 -1
  903. package/lib/pipes/date-time.pipe.d.ts +1 -1
  904. package/lib/pipes/file-size.pipe.d.ts +1 -1
  905. package/lib/pipes/file-type.pipe.d.ts +1 -1
  906. package/lib/pipes/format-space.pipe.d.ts +1 -1
  907. package/lib/pipes/full-name.pipe.d.ts +1 -1
  908. package/lib/pipes/index.d.ts +1 -1
  909. package/lib/pipes/multi-value.pipe.d.ts +1 -1
  910. package/lib/pipes/public-api.d.ts +1 -1
  911. package/lib/pipes/text-highlight.pipe.d.ts +1 -1
  912. package/lib/pipes/time-ago.pipe.d.ts +1 -1
  913. package/lib/pipes/truncate.pipe.d.ts +1 -1
  914. package/lib/pipes/user-initial.pipe.d.ts +1 -1
  915. package/lib/pipes/user-like.interface.d.ts +1 -1
  916. package/lib/prebuilt-themes/adf-blue-orange.css +1 -1
  917. package/lib/prebuilt-themes/adf-blue-purple.css +1 -1
  918. package/lib/prebuilt-themes/adf-cyan-orange.css +1 -1
  919. package/lib/prebuilt-themes/adf-cyan-purple.css +1 -1
  920. package/lib/prebuilt-themes/adf-green-orange.css +1 -1
  921. package/lib/prebuilt-themes/adf-green-purple.css +1 -1
  922. package/lib/prebuilt-themes/adf-indigo-pink.css +1 -1
  923. package/lib/prebuilt-themes/adf-pink-bluegrey.css +1 -1
  924. package/lib/prebuilt-themes/adf-purple-green.css +1 -1
  925. package/lib/search-text/animations.d.ts +1 -1
  926. package/lib/search-text/index.d.ts +1 -1
  927. package/lib/search-text/models/search-text-input.model.d.ts +1 -1
  928. package/lib/search-text/public-api.d.ts +1 -1
  929. package/lib/snackbar-content/index.d.ts +1 -1
  930. package/lib/snackbar-content/public-api.d.ts +1 -1
  931. package/lib/snackbar-content/snack-bar-data.d.ts +1 -1
  932. package/lib/sorting-picker/index.d.ts +1 -1
  933. package/lib/sorting-picker/public-api.d.ts +1 -1
  934. package/lib/sorting-picker/sorting-picker.component.d.ts +1 -1
  935. package/lib/styles/_mat-selectors.scss +0 -2
  936. package/lib/styles/material.theme.scss +0 -4
  937. package/lib/templates/error-content/error-content.component.d.ts +1 -1
  938. package/lib/templates/index.d.ts +1 -1
  939. package/lib/templates/public-api.d.ts +1 -1
  940. package/lib/testing/index.d.ts +1 -1
  941. package/lib/testing/noop-auth.module.d.ts +1 -1
  942. package/lib/testing/unit-testing-utils.d.ts +1 -1
  943. package/lib/toolbar/index.d.ts +1 -1
  944. package/lib/toolbar/public-api.d.ts +1 -1
  945. package/lib/translation/index.d.ts +1 -1
  946. package/lib/translation/public-api.d.ts +1 -1
  947. package/lib/translation/translate-loader.service.d.ts +1 -1
  948. package/lib/translation/translation.service.d.ts +1 -1
  949. package/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.d.ts +1 -1
  950. package/lib/viewer/components/txt-viewer/txt-viewer.component.d.ts +1 -1
  951. package/lib/viewer/components/viewer-render/viewer-render.component.d.ts +1 -1
  952. package/lib/viewer/directives/viewer-extension.directive.d.ts +1 -1
  953. package/lib/viewer/index.d.ts +1 -1
  954. package/lib/viewer/models/download-prompt.actions.d.ts +1 -1
  955. package/lib/viewer/models/viewer.model.d.ts +1 -1
  956. package/lib/viewer/public-api.d.ts +1 -1
  957. package/package.json +17 -17
  958. package/public-api.d.ts +1 -1
  959. package/schematics/migrations/package.json +62 -0
  960. package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
  961. package/schematics/migrations/schematics/migrations/7_0_0/index.js +1 -1
  962. package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
  963. package/schematics/migrations/schematics/migrations/collection.json +8 -8
  964. package/shell/index.d.ts +1 -1
  965. package/shell/lib/components/shell/shell.component.d.ts +1 -1
  966. package/shell/lib/services/shell-app.service.d.ts +1 -1
  967. package/shell/lib/shell.module.d.ts +1 -1
  968. package/shell/lib/shell.routes.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -263,4 +263,4 @@ export const FORM_FIELD_VALIDATORS = [
263
263
  new FixedValueFieldValidator(),
264
264
  new DecimalFieldValidator()
265
265
  ];
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS1maWVsZC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNZLG1CQUFjLEdBQUc7WUFDckIsY0FBYyxDQUFDLElBQUk7WUFDbkIsY0FBYyxDQUFDLGNBQWM7WUFDN0IsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLE9BQU87WUFDdEIsY0FBYyxDQUFDLFNBQVM7WUFDeEIsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLGdCQUFnQjtZQUMvQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsT0FBTztZQUN0QixjQUFjLENBQUMseUJBQXlCO1NBQzNDLENBQUM7SUErQk4sQ0FBQztJQTdCRyxXQUFXLENBQUMsS0FBcUI7UUFDN0IsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkYsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxD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dCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuaW1wb3J0IHsgaXNOdW1iZXJWYWx1ZSB9IGZyb20gJy4vZm9ybS1maWVsZC11dGlscyc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuO1xuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1aXJlZEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW1xuICAgICAgICBGb3JtRmllbGRUeXBlcy5URVhULFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuTlVNQkVSLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5CT09MRUFOLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5UWVBFQUhFQUQsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLlBFT1BMRSxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuRlVOQ1RJT05BTF9HUk9VUCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuUkFESU9fQlVUVE9OUyxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuVVBMT0FELFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5BTU9VTlQsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkRZTkFNSUNfVEFCTEUsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkFUVEFDSF9GT0xERVIsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUwsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkRJU1BMQVlfRVhURVJOQUxfUFJPUEVSVFlcbiAgICBdO1xuXG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiB0aGlzLnN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmllbGQudHlwZSkgPiAtMSAmJiBmaWVsZC5yZXF1aXJlZDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLlJBRElPX0JVVFRPTlMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBmaWVsZC5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmlkID09PSBmaWVsZC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhb3B0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuVVBMT0FEKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUgJiYgZmllbGQudmFsdWUubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRZTkFNSUNfVEFCTEUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFmaWVsZC52YWx1ZSAmJiBmaWVsZC52YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5CT09MRUFOKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZmllbGQudmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZSA9PT0gbnVsbCB8fCBmaWVsZC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5OVU1CRVIsIEZvcm1GaWVsZFR5cGVzLkFNT1VOVF07XG5cbiAgICBzdGF0aWMgaXNOdW1iZXIodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOdW1iZXJWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiB0aGlzLnN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmllbGQudHlwZSkgPiAtMTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlID09PSBudWxsIHx8IGZpZWxkLnZhbHVlID09PSB1bmRlZmluZWQgfHwgZmllbGQudmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2YWx1ZVN0ciA9ICcnICsgZmllbGQudmFsdWU7XG4gICAgICAgICAgICBsZXQgcGF0dGVybiA9IG5ldyBSZWdFeHAoL14tP1xcZCskLyk7XG4gICAgICAgICAgICBpZiAoZmllbGQuZW5hYmxlRnJhY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybiA9IG5ldyBSZWdFeHAoL14tP1swLTldKyhcXC5bMC05XXsxLDJ9KT8kLyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsdWVTdHIubWF0Y2gocGF0dGVybikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9OVU1CRVInO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1pbkxlbmd0aEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRFWFQsIEZvcm1GaWVsZFR5cGVzLk1VTFRJTElORV9URVhUXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgZmllbGQubWluTGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlLmxlbmd0aCA+PSBmaWVsZC5taW5MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSBgRk9STS5GSUVMRC5WQUxJREFUT1IuQVRfTEVBU1RfTE9OR2A7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5hdHRyaWJ1dGVzLnNldCgnbWluTGVuZ3RoJywgZmllbGQubWluTGVuZ3RoLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1heExlbmd0aEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRFWFQsIEZvcm1GaWVsZFR5cGVzLk1VTFRJTElORV9URVhUXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgZmllbGQubWF4TGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlLmxlbmd0aCA8PSBmaWVsZC5tYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSBgRk9STS5GSUVMRC5WQUxJREFUT1IuTk9fTE9OR0VSX1RIQU5gO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21heExlbmd0aCcsIGZpZWxkLm1heExlbmd0aC50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaW5WYWx1ZUZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLk5VTUJFUiwgRm9ybUZpZWxkVHlwZXMuREVDSU1BTCwgRm9ybUZpZWxkVHlwZXMuQU1PVU5UXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgTnVtYmVyRmllbGRWYWxpZGF0b3IuaXNOdW1iZXIoZmllbGQubWluVmFsdWUpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1N1cHBvcnRlZChmaWVsZCkgJiYgZmllbGQudmFsdWUgJiYgZmllbGQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gK2ZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgbWluVmFsdWU6IG51bWJlciA9ICtmaWVsZC5taW5WYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlID49IG1pblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLk5PVF9MRVNTX1RIQU5gO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21pblZhbHVlJywgZmllbGQubWluVmFsdWUudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXhWYWx1ZUZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLk5VTUJFUiwgRm9ybUZpZWxkVHlwZXMuREVDSU1BTCwgRm9ybUZpZWxkVHlwZXMuQU1PVU5UXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgTnVtYmVyRmllbGRWYWxpZGF0b3IuaXNOdW1iZXIoZmllbGQubWF4VmFsdWUpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1N1cHBvcnRlZChmaWVsZCkgJiYgZmllbGQudmFsdWUgJiYgZmllbGQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gK2ZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgbWF4VmFsdWU6IG51bWJlciA9ICtmaWVsZC5tYXhWYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlIDw9IG1heFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLk5PVF9HUkVBVEVSX1RIQU5gO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21heFZhbHVlJywgZmllbGQubWF4VmFsdWUudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWdFeEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRFWFQsIEZvcm1GaWVsZFR5cGVzLk1VTFRJTElORV9URVhUXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgISFmaWVsZC5yZWdleFBhdHRlcm47XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC52YWx1ZSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZS5sZW5ndGggPiAwICYmIGZpZWxkLnZhbHVlLm1hdGNoKG5ldyBSZWdFeHAoJ14nICsgZmllbGQucmVnZXhQYXR0ZXJuICsgJyQnKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9WQUxVRSc7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRml4ZWRWYWx1ZUZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRZUEVBSEVBRF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xO1xuICAgIH1cblxuICAgIGhhc1ZhbGlkTmFtZU9yVmFsaWRJZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzVmFsaWROYW1lKGZpZWxkKSB8fCB0aGlzLmhhc1ZhbGlkSWQoZmllbGQpO1xuICAgIH1cblxuICAgIGhhc1ZhbGlkTmFtZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLm9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lICYmIGl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBmaWVsZC52YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKSA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZElkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBmaWVsZC52YWx1ZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgaGFzU3RyaW5nVmFsdWUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC52YWx1ZSAmJiB0eXBlb2YgZmllbGQudmFsdWUgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIGhhc09wdGlvbnMoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5vcHRpb25zICYmIGZpZWxkLm9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3RyaW5nVmFsdWUoZmllbGQpICYmIHRoaXMuaGFzT3B0aW9ucyhmaWVsZCkgJiYgIXRoaXMuaGFzVmFsaWROYW1lT3JWYWxpZElkKGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9WQUxVRSc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlY2ltYWxGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5ERUNJTUFMXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgISFmaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2hvdWxkVmFsaWRhdGVGaWVsZCA9IHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZTtcblxuICAgICAgICBpZiAoIXNob3VsZFZhbGlkYXRlRmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZmllbGQucHJlY2lzaW9uO1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGQudmFsdWU7XG5cbiAgICAgICAgaWYgKCFpc051bWJlclZhbHVlKGZpZWxkVmFsdWUpKSB7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfREVDSU1BTF9OVU1CRVInO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ3N0cmluZycgPyBmaWVsZFZhbHVlIDogZmllbGRWYWx1ZS50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB2YWx1ZVBhcnRzID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB2YWx1ZVBhcnRzWzFdO1xuXG4gICAgICAgIGlmIChkZWNpbWFsUGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZWNpbWFsUGFydC5sZW5ndGggPiBwcmVjaXNpb24pIHtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9ERUNJTUFMX1BSRUNJU0lPTic7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5hdHRyaWJ1dGVzLnNldCgncHJlY2lzaW9uJywgcHJlY2lzaW9uLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBGT1JNX0ZJRUxEX1ZBTElEQVRPUlMgPSBbXG4gICAgbmV3IFJlcXVpcmVkRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTnVtYmVyRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWluTGVuZ3RoRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWF4TGVuZ3RoRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWluVmFsdWVGaWVsZFZhbGlkYXRvcigpLFxuICAgIG5ldyBNYXhWYWx1ZUZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IFJlZ0V4RmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgRml4ZWRWYWx1ZUZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IERlY2ltYWxGaWVsZFZhbGlkYXRvcigpXG5dO1xuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS1maWVsZC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNZLG1CQUFjLEdBQUc7WUFDckIsY0FBYyxDQUFDLElBQUk7WUFDbkIsY0FBYyxDQUFDLGNBQWM7WUFDN0IsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLE9BQU87WUFDdEIsY0FBYyxDQUFDLFNBQVM7WUFDeEIsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLGdCQUFnQjtZQUMvQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsT0FBTztZQUN0QixjQUFjLENBQUMseUJBQXlCO1NBQzNDLENBQUM7SUErQk4sQ0FBQztJQTdCRyxXQUFXLENBQUMsS0FBcUI7UUFDN0IsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkYsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxD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SyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUU7WUFDaEMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxnREFBZ0QsQ0FBQztZQUNuRixLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFMUUsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxJQUFJLHNCQUFzQixFQUFFO0lBQzVCLElBQUksb0JBQW9CLEVBQUU7SUFDMUIsSUFBSSx1QkFBdUIsRUFBRTtJQUM3QixJQUFJLHVCQUF1QixFQUFFO0lBQzdCLElBQUksc0JBQXNCLEVBQUU7SUFDNUIsSUFBSSxzQkFBc0IsRUFBRTtJQUM1QixJQUFJLG1CQUFtQixFQUFFO0lBQ3pCLElBQUksd0JBQXdCLEVBQUU7SUFDOUIsSUFBSSxxQkFBcUIsRUFBRTtDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1GaWVsZFR5cGVzIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXR5cGVzJztcbmltcG9ydCB7IGlzTnVtYmVyVmFsdWUgfSBmcm9tICcuL2Zvcm0tZmllbGQtdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbjtcbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUmVxdWlyZWRGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuVEVYVCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuTVVMVElMSU5FX1RFWFQsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLk5VTUJFUixcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuQk9PTEVBTixcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuVFlQRUFIRUFELFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5QRU9QTEUsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkZVTkNUSU9OQUxfR1JPVVAsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLlJBRElPX0JVVFRPTlMsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLlVQTE9BRCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuQU1PVU5ULFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5EWU5BTUlDX1RBQkxFLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5BVFRBQ0hfRk9MREVSLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5ERUNJTUFMLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5ESVNQTEFZX0VYVEVSTkFMX1BST1BFUlRZXG4gICAgXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgZmllbGQucmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5SQURJT19CVVRUT05TKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZmllbGQub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiAhIW9wdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLlVQTE9BRCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIWZpZWxkLnZhbHVlICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EWU5BTUlDX1RBQkxFKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUgJiYgZmllbGQudmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiBmaWVsZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuQk9PTEVBTikge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIWZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgPT09IG51bGwgfHwgZmllbGQudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBmaWVsZC52YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTnVtYmVyRmllbGRWYWxpZGF0b3IgaW1wbGVtZW50cyBGb3JtRmllbGRWYWxpZGF0b3Ige1xuICAgIHByaXZhdGUgc3VwcG9ydGVkVHlwZXMgPSBbRm9ybUZpZWxkVHlwZXMuTlVNQkVSLCBGb3JtRmllbGRUeXBlcy5BTU9VTlRdO1xuXG4gICAgc3RhdGljIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTnVtYmVyVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTE7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZSA9PT0gbnVsbCB8fCBmaWVsZC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdmFsdWVTdHIgPSAnJyArIGZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgbGV0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKC9eLT9cXGQrJC8pO1xuICAgICAgICAgICAgaWYgKGZpZWxkLmVuYWJsZUZyYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHBhdHRlcm4gPSBuZXcgUmVnRXhwKC9eLT9bMC05XSsoXFwuWzAtOV17MSwyfSk/JC8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbHVlU3RyLm1hdGNoKHBhdHRlcm4pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfTlVNQkVSJztcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaW5MZW5ndGhGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5URVhULCBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIGZpZWxkLm1pbkxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC52YWx1ZSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZS5sZW5ndGggPj0gZmllbGQubWluTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLkFUX0xFQVNUX0xPTkdgO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21pbkxlbmd0aCcsIGZpZWxkLm1pbkxlbmd0aC50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXhMZW5ndGhGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5URVhULCBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIGZpZWxkLm1heExlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC52YWx1ZSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZS5sZW5ndGggPD0gZmllbGQubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLk5PX0xPTkdFUl9USEFOYDtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5LmF0dHJpYnV0ZXMuc2V0KCdtYXhMZW5ndGgnLCBmaWVsZC5tYXhMZW5ndGgudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWluVmFsdWVGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5OVU1CRVIsIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUwsIEZvcm1GaWVsZFR5cGVzLkFNT1VOVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIE51bWJlckZpZWxkVmFsaWRhdG9yLmlzTnVtYmVyKGZpZWxkLm1pblZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWU6IG51bWJlciA9ICtmaWVsZC52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG1pblZhbHVlOiBudW1iZXIgPSArZmllbGQubWluVmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSA+PSBtaW5WYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9IGBGT1JNLkZJRUxELlZBTElEQVRPUi5OT1RfTEVTU19USEFOYDtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5LmF0dHJpYnV0ZXMuc2V0KCdtaW5WYWx1ZScsIGZpZWxkLm1pblZhbHVlLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWF4VmFsdWVGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5OVU1CRVIsIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUwsIEZvcm1GaWVsZFR5cGVzLkFNT1VOVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIE51bWJlckZpZWxkVmFsaWRhdG9yLmlzTnVtYmVyKGZpZWxkLm1heFZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWU6IG51bWJlciA9ICtmaWVsZC52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG1heFZhbHVlOiBudW1iZXIgPSArZmllbGQubWF4VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSA8PSBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9IGBGT1JNLkZJRUxELlZBTElEQVRPUi5OT1RfR1JFQVRFUl9USEFOYDtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5LmF0dHJpYnV0ZXMuc2V0KCdtYXhWYWx1ZScsIGZpZWxkLm1heFZhbHVlLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVnRXhGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5URVhULCBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmICEhZmllbGQucmVnZXhQYXR0ZXJuO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1N1cHBvcnRlZChmaWVsZCkgJiYgZmllbGQudmFsdWUgJiYgZmllbGQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBpZiAoZmllbGQudmFsdWUubGVuZ3RoID4gMCAmJiBmaWVsZC52YWx1ZS5tYXRjaChuZXcgUmVnRXhwKCdeJyArIGZpZWxkLnJlZ2V4UGF0dGVybiArICckJykpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfVkFMVUUnO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpeGVkVmFsdWVGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5UWVBFQUhFQURdO1xuXG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiB0aGlzLnN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmllbGQudHlwZSkgPiAtMTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZE5hbWVPclZhbGlkSWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1ZhbGlkTmFtZShmaWVsZCkgfHwgdGhpcy5oYXNWYWxpZElkKGZpZWxkKTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZE5hbWUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5vcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSAmJiBpdGVtLm5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gZmllbGQudmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgaGFzVmFsaWRJZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLm9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gZmllbGQudmFsdWUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIGhhc1N0cmluZ1ZhbHVlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCkge1xuICAgICAgICByZXR1cm4gZmllbGQudmFsdWUgJiYgdHlwZW9mIGZpZWxkLnZhbHVlID09PSAnc3RyaW5nJztcbiAgICB9XG5cbiAgICBoYXNPcHRpb25zKGZpZWxkOiBGb3JtRmllbGRNb2RlbCkge1xuICAgICAgICByZXR1cm4gZmllbGQub3B0aW9ucyAmJiBmaWVsZC5vcHRpb25zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1N0cmluZ1ZhbHVlKGZpZWxkKSAmJiB0aGlzLmhhc09wdGlvbnMoZmllbGQpICYmICF0aGlzLmhhc1ZhbGlkTmFtZU9yVmFsaWRJZChmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfVkFMVUUnO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWNpbWFsRmllbGRWYWxpZGF0b3IgaW1wbGVtZW50cyBGb3JtRmllbGRWYWxpZGF0b3Ige1xuICAgIHByaXZhdGUgc3VwcG9ydGVkVHlwZXMgPSBbRm9ybUZpZWxkVHlwZXMuREVDSU1BTF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmICEhZmllbGQudmFsdWU7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNob3VsZFZhbGlkYXRlRmllbGQgPSB0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGU7XG5cbiAgICAgICAgaWYgKCFzaG91bGRWYWxpZGF0ZUZpZWxkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGZpZWxkLnByZWNpc2lvbjtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkLnZhbHVlO1xuXG4gICAgICAgIGlmICghaXNOdW1iZXJWYWx1ZShmaWVsZFZhbHVlKSkge1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9ICdGT1JNLkZJRUxELlZBTElEQVRPUi5JTlZBTElEX0RFQ0lNQUxfTlVNQkVSJztcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIGZpZWxkVmFsdWUgPT09ICdzdHJpbmcnID8gZmllbGRWYWx1ZSA6IGZpZWxkVmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdmFsdWVQYXJ0cyA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gdmFsdWVQYXJ0c1sxXTtcblxuICAgICAgICBpZiAoZGVjaW1hbFBhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVjaW1hbFBhcnQubGVuZ3RoID4gcHJlY2lzaW9uKSB7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfREVDSU1BTF9QUkVDSVNJT04nO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ3ByZWNpc2lvbicsIHByZWNpc2lvbi50b1N0cmluZygpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgRk9STV9GSUVMRF9WQUxJREFUT1JTID0gW1xuICAgIG5ldyBSZXF1aXJlZEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE51bWJlckZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE1pbkxlbmd0aEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE1heExlbmd0aEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE1pblZhbHVlRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWF4VmFsdWVGaWVsZFZhbGlkYXRvcigpLFxuICAgIG5ldyBSZWdFeEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IEZpeGVkVmFsdWVGaWVsZFZhbGlkYXRvcigpLFxuICAgIG5ldyBEZWNpbWFsRmllbGRWYWxpZGF0b3IoKVxuXTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -15,4 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export {};
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC12YXJpYWJsZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tZmllbGQtdmFyaWFibGUtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVDb25maWcge1xuICAgIHZhcmlhYmxlTmFtZTogc3RyaW5nO1xuICAgIG9wdGlvbnNQYXRoPzogc3RyaW5nO1xuICAgIG9wdGlvbnNJZD86IHN0cmluZztcbiAgICBvcHRpb25zTGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC12YXJpYWJsZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tZmllbGQtdmFyaWFibGUtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVDb25maWcge1xuICAgIHZhcmlhYmxlTmFtZTogc3RyaW5nO1xuICAgIG9wdGlvbnNQYXRoPzogc3RyaW5nO1xuICAgIG9wdGlvbnNJZD86IHN0cmluZztcbiAgICBvcHRpb25zTGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -186,7 +186,7 @@ export class FormFieldModel extends FormWidgetModel {
186
186
  }
187
187
  getDefaultDateFormat(jsonField) {
188
188
  let originalType = jsonField.type;
189
- if (FormFieldTypes.isReadOnlyType(jsonField.type) && jsonField.params?.field) {
189
+ if (FormFieldTypes.isReadOnlyType(jsonField.type) && jsonField.params && jsonField.params.field) {
190
190
  originalType = jsonField.params.field.type;
191
191
  }
192
192
  return originalType === FormFieldTypes.DATETIME ? this.defaultDateTimeFormat : this.defaultDateFormat;
@@ -474,4 +474,4 @@ export class FormFieldModel extends FormWidgetModel {
474
474
  return json.params?.field?.type === FormFieldTypes.BOOLEAN || json.type === FormFieldTypes.BOOLEAN;
475
475
  }
476
476
  }
477
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNbEQsa0NBQWtDO0FBQ2xDLE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQW9FL0MsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFNO1FBQ1osSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FB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UztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztJQUNqRyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDekcsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFTO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLGNBQWMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3ZHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcbmltcG9ydCB7IENvbnRhaW5lckNvbHVtbk1vZGVsIH0gZnJvbSAnLi9jb250YWluZXItY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZU1vZGVsIH0gZnJvbSAnLi9lcnJvci1tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZE1ldGFkYXRhIH0gZnJvbSAnLi9mb3JtLWZpZWxkLW1ldGFkYXRhJztcbmltcG9ydCB7IEZvcm1GaWVsZE9wdGlvbiB9IGZyb20gJy4vZm9ybS1maWVsZC1vcHRpb24nO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuaW1wb3J0IHsgRm9ybVdpZGdldE1vZGVsIH0gZnJvbSAnLi9mb3JtLXdpZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtRmllbGRSdWxlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXJ1bGUnO1xuaW1wb3J0IHsgUHJvY2Vzc0Zvcm1Nb2RlbCB9IGZyb20gJy4vcHJvY2Vzcy1mb3JtLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc051bWJlclZhbHVlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXV0aWxzJztcbmltcG9ydCB7IFZhcmlhYmxlQ29uZmlnIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXZhcmlhYmxlLW9wdGlvbnMnO1xuaW1wb3J0IHsgRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGF0YWJsZS9kYXRhL2RhdGEtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IERhdGVGbnNVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBpc1ZhbGlkIGFzIGlzVmFsaWREYXRlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvblR5cGUgPSAncmVzdCcgfCAnbWFudWFsJyB8ICd2YXJpYWJsZSc7XG5leHBvcnQgdHlwZSBGaWVsZFNlbGVjdGlvblR5cGUgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XG5leHBvcnQgdHlwZSBGaWVsZEFsaWdubWVudFR5cGUgPSAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuXG4vLyBNYXBzIHRvIEZvcm1GaWVsZFJlcHJlc2VudGF0aW9uXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZyA9ICdELU0tWVlZWSc7XG4gICAgcmVhZG9ubHkgZGVmYXVsdERhdGVUaW1lRm9ybWF0OiBzdHJpbmcgPSAnRC1NLVlZWVkgaGg6bW0gQSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RW1wdHlPcHRpb25JZCA9ICdlbXB0eSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RW1wdHlPcHRpb25OYW1lID0gJ0Nob29zZSBvbmUuLi4nO1xuXG4gICAgLy8gbW9kZWwgbWVtYmVyc1xuICAgIGZpZWxkVHlwZTogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvdmVycmlkZUlkOiBib29sZWFuO1xuICAgIHRhYjogc3RyaW5nO1xuICAgIHJvd3NwYW46IG51bWJlciA9IDE7XG4gICAgY29sc3BhbjogbnVtYmVyID0gMTtcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcbiAgICB0b29sdGlwOiBzdHJpbmcgPSBudWxsO1xuICAgIG1pbkxlbmd0aDogbnVtYmVyID0gMDtcbiAgICBtYXhMZW5ndGg6IG51bWJlciA9IDA7XG4gICAgbWluVmFsdWU6IHN0cmluZztcbiAgICBtYXhWYWx1ZTogc3RyaW5nO1xuICAgIG1heERhdGVSYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIG1pbkRhdGVSYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIHByZWNpc2lvbjogbnVtYmVyO1xuICAgIGR5bmFtaWNEYXRlUmFuZ2VTZWxlY3Rpb246IGJvb2xlYW47XG4gICAgcmVnZXhQYXR0ZXJuOiBzdHJpbmc7XG4gICAgb3B0aW9uczogRm9ybUZpZWxkT3B0aW9uW10gPSBbXTtcbiAgICByZXN0VXJsOiBzdHJpbmc7XG4gICAgcm9sZXM6IHN0cmluZ1tdO1xuICAgIHJlc3RSZXNwb25zZVBhdGg6IHN0cmluZztcbiAgICByZXN0SWRQcm9wZXJ0eTogc3RyaW5nO1xuICAgIHJlc3RMYWJlbFByb3BlcnR5OiBzdHJpbmc7XG4gICAgaGFzRW1wdHlWYWx1ZTogYm9vbGVhbjtcbiAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICBvcHRpb25UeXBlOiBGaWVsZE9wdGlvblR5cGU7XG4gICAgcGFyYW1zOiBGb3JtRmllbGRNZXRhZGF0YSA9IHt9O1xuICAgIGh5cGVybGlua1VybDogc3RyaW5nO1xuICAgIGRpc3BsYXlUZXh0OiBzdHJpbmc7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICB2aXNpYmlsaXR5Q29uZGl0aW9uOiBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgPSBudWxsO1xuICAgIGVuYWJsZUZyYWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGN1cnJlbmN5OiBzdHJpbmcgPSBudWxsO1xuICAgIGRhdGVEaXNwbGF5Rm9ybWF0OiBzdHJpbmcgPSB0aGlzLmRlZmF1bHREYXRlRm9ybWF0O1xuICAgIHNlbGVjdGlvblR5cGU6IEZpZWxkU2VsZWN0aW9uVHlwZTtcbiAgICBhbGlnbm1lbnRUeXBlOiBGaWVsZEFsaWdubWVudFR5cGU7XG4gICAgcnVsZT86IEZvcm1GaWVsZFJ1bGU7XG4gICAgc2VsZWN0TG9nZ2VkVXNlcjogYm9vbGVhbjtcbiAgICBncm91cHNSZXN0cmljdGlvbjogc3RyaW5nW107XG4gICAgbGVmdExhYmVsczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZhcmlhYmxlQ29uZmlnOiBWYXJpYWJsZUNvbmZpZztcbiAgICBzY2hlbWFEZWZpbml0aW9uOiBEYXRhQ29sdW1uW107XG4gICAgZXh0ZXJuYWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBzdHlsZT86IHN0cmluZztcblxuICAgIC8vIGNvbnRhaW5lciBtb2RlbCBtZW1iZXJzXG4gICAgbnVtYmVyT2ZDb2x1bW5zOiBudW1iZXIgPSAxO1xuICAgIGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXSA9IFtdO1xuICAgIGNvbHVtbnM6IENvbnRhaW5lckNvbHVtbk1vZGVsW10gPSBbXTtcblxuICAgIC8vIHV0aWwgbWVtYmVyc1xuICAgIGVtcHR5T3B0aW9uOiBGb3JtRmllbGRPcHRpb247XG4gICAgdmFsaWRhdGlvblN1bW1hcnk6IEVycm9yTWVzc2FnZU1vZGVsO1xuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0/LnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7XG4gICAgfVxuXG4gICAgc2V0IHJlYWRPbmx5KHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cblxuICAgIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc011bHRpcGxlVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25UeXBlID09PSAnbXVsdGlwbGUnO1xuICAgIH1cblxuICAgIG1hcmtBc0ludmFsaWQoKSB7XG4gICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBtYXJrQXNWYWxpZCgpIHtcbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWU7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvblN1bW1hcnkgPSBuZXcgRXJyb3JNZXNzYWdlTW9kZWwoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0ZpZWxkVmFsaWRhdGFibGUoKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuZm9ybS5maWVsZFZhbGlkYXRvcnMgfHwgW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiB2YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0b3IudmFsaWRhdGUodGhpcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faXNWYWxpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaWVsZFZhbGlkYXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgfHwgRm9ybUZpZWxkVHlwZXMuaXNWYWxpZGF0YWJsZVR5cGUodGhpcy50eXBlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihmb3JtOiBhbnksIGpzb24/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoZm9ybSwganNvbik7XG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkVHlwZSA9IGpzb24uZmllbGRUeXBlO1xuICAgICAgICAgICAgdGhpcy5pZCA9IGpzb24uaWQ7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBqc29uLm5hbWU7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSBqc29uLnR5cGU7XG4gICAgICAgICAgICB0aGlzLnJvbGVzID0ganNvbi5yb2xlcztcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID0ganNvbi5yZXF1aXJlZDtcbiAgICAgICAgICAgIHRoaXMuX3JlYWRPbmx5ID0ganNvbi5yZWFkT25seSB8fCBqc29uLnR5cGUgPT09ICdyZWFkb25seSc7XG4gICAgICAgICAgICB0aGlzLm92ZXJyaWRlSWQgPSBqc29uLm92ZXJyaWRlSWQ7XG4gICAgICAgICAgICB0aGlzLnRhYiA9IGpzb24udGFiO1xuICAgICAgICAgICAgdGhpcy5yZXN0VXJsID0ganNvbi5yZXN0VXJsO1xuICAgICAgICAgICAgdGhpcy5yZXN0UmVzcG9uc2VQYXRoID0ganNvbi5yZXN0UmVzcG9uc2VQYXRoO1xuICAgICAgICAgICAgdGhpcy5yZXN0SWRQcm9wZXJ0eSA9IGpzb24ucmVzdElkUHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLnJlc3RMYWJlbFByb3BlcnR5ID0ganNvbi5yZXN0TGFiZWxQcm9wZXJ0eTtcbiAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IGpzb24uY29sc3BhbjtcbiAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IGpzb24ucm93c3BhbjtcbiAgICAgICAgICAgIHRoaXMubWluTGVuZ3RoID0ganNvbi5taW5MZW5ndGggfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWF4TGVuZ3RoID0ganNvbi5tYXhMZW5ndGggfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWluVmFsdWUgPSBqc29uLm1pblZhbHVlO1xuICAgICAgICAgICAgdGhpcy5tYXhWYWx1ZSA9IGpzb24ubWF4VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm1pbkRhdGVSYW5nZVZhbHVlID0ganNvbi5taW5EYXRlUmFuZ2VWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubWF4RGF0ZVJhbmdlVmFsdWUgPSBqc29uLm1heERhdGVSYW5nZVZhbHVlO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljRGF0ZVJhbmdlU2VsZWN0aW9uID0ganNvbi5keW5hbWljRGF0ZVJhbmdlU2VsZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5yZWdleFBhdHRlcm4gPSBqc29uLnJlZ2V4UGF0dGVybjtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucGFyc2VPcHRpb25zKGpzb24ub3B0aW9ucywganNvbi5vcHRpb25UeXBlKTtcbiAgICAgICAgICAgIHRoaXMuZW1wdHlPcHRpb24gPSB0aGlzLmdldEVtcHR5T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmhhc0VtcHR5VmFsdWUgPSBqc29uPy5oYXNFbXB0eVZhbHVlID8/ICEhdGhpcy5lbXB0eU9wdGlvbjtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NOYW1lID0ganNvbi5jbGFzc05hbWU7XG4gICAgICAgICAgICB0aGlzLm9wdGlvblR5cGUgPSBqc29uLm9wdGlvblR5cGU7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcyA9IGpzb24ucGFyYW1zIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5oeXBlcmxpbmtVcmwgPSBqc29uLmh5cGVybGlua1VybDtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVRleHQgPSBqc29uLmRpc3BsYXlUZXh0O1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5Q29uZGl0aW9uID0ganNvbi52aXNpYmlsaXR5Q29uZGl0aW9uID8gbmV3IFdpZGdldFZpc2liaWxpdHlNb2RlbChqc29uLnZpc2liaWxpdHlDb25kaXRpb24pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVGcmFjdGlvbnMgPSBqc29uLmVuYWJsZUZyYWN0aW9ucztcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSBqc29uLmN1cnJlbmN5O1xuICAgICAgICAgICAgdGhpcy5kYXRlRGlzcGxheUZvcm1hdCA9IGpzb24uZGF0ZURpc3BsYXlGb3JtYXQgfHwgdGhpcy5nZXREZWZhdWx0RGF0ZUZvcm1hdChqc29uKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN1bW1hcnkgPSBuZXcgRXJyb3JNZXNzYWdlTW9kZWwoKTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcCA9IGpzb24udG9vbHRpcDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uVHlwZSA9IGpzb24uc2VsZWN0aW9uVHlwZTtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25tZW50VHlwZSA9IGpzb24uYWxpZ25tZW50VHlwZTtcbiAgICAgICAgICAgIHRoaXMucnVsZSA9IGpzb24ucnVsZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TG9nZ2VkVXNlciA9IGpzb24uc2VsZWN0TG9nZ2VkVXNlcjtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBzUmVzdHJpY3Rpb24gPSBqc29uLmdyb3Vwc1Jlc3RyaWN0aW9uPy5ncm91cHM7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlQ29uZmlnID0ganNvbi52YXJpYWJsZUNvbmZpZztcbiAgICAgICAgICAgIHRoaXMuc2NoZW1hRGVmaW5pdGlvbiA9IGpzb24uc2NoZW1hRGVmaW5pdGlvbjtcbiAgICAgICAgICAgIHRoaXMucHJlY2lzaW9uID0ganNvbi5wcmVjaXNpb247XG4gICAgICAgICAgICB0aGlzLmV4dGVybmFsUHJvcGVydHkgPSBqc29uLmV4dGVybmFsUHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMucGFyc2VWYWx1ZShqc29uKTtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuXG4gICAgICAgICAgICBpZiAoanNvbi5wbGFjZWhvbGRlciAmJiBqc29uLnBsYWNlaG9sZGVyICE9PSAnJyAmJiBqc29uLnBsYWNlaG9sZGVyICE9PSAnbnVsbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0ganNvbi5wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKEZvcm1GaWVsZFR5cGVzLmlzUmVhZE9ubHlUeXBlKHRoaXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJhbXM/LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVGb3JSZWFkb25seVR5cGUoZm9ybSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNDb250YWluZXJUeXBlKHRoaXMudHlwZSkgfHwgRm9ybUZpZWxkVHlwZXMuaXNTZWN0aW9uVHlwZSh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJGYWN0b3J5KGpzb24sIGZvcm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm0/Lmpzb24pIHtcbiAgICAgICAgICAgIHRoaXMubGVmdExhYmVscyA9IGZvcm0uanNvbi5sZWZ0TGFiZWxzIHx8IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbXB0eU9wdGlvbihvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSk6IEZvcm1GaWVsZE9wdGlvbiB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uPy5pZCA9PT0gdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25JZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZUZvclJlYWRvbmx5VHlwZShmb3JtOiBhbnkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFByb2Nlc3NWYXJpYWJsZVZhbHVlKHRoaXMucGFyYW1zLmZpZWxkLCBmb3JtKTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHREYXRlRm9ybWF0KGpzb25GaWVsZDogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG9yaWdpbmFsVHlwZSA9IGpzb25GaWVsZC50eXBlO1xuICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNSZWFkT25seVR5cGUoanNvbkZpZWxkLnR5cGUpICYmIGpzb25GaWVsZC5wYXJhbXM/LmZpZWxkKSB7XG4gICAgICAgICAgICBvcmlnaW5hbFR5cGUgPSBqc29uRmllbGQucGFyYW1zLmZpZWxkLnR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsVHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURVRJTUUgPyB0aGlzLmRlZmF1bHREYXRlVGltZUZvcm1hdCA6IHRoaXMuZGVmYXVsdERhdGVGb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1R5cGVhaGVhZEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICd0eXBlYWhlYWQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmllbGROYW1lV2l0aExhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBuYW1lICsgJ19MQUJFTCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzVmFyaWFibGVWYWx1ZShmaWVsZDogYW55LCBmb3JtOiBQcm9jZXNzRm9ybU1vZGVsKTogYW55IHtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9IGZpZWxkLm5hbWU7XG4gICAgICAgIGlmICh0aGlzLmlzVHlwZWFoZWFkRmllbGRUeXBlKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgPSB0aGlzLmdldEZpZWxkTmFtZVdpdGhMYWJlbChmaWVsZC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm0uZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUoZmllbGROYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRhaW5lckZhY3RvcnkoanNvbjogYW55LCBmb3JtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5udW1iZXJPZkNvbHVtbnMgPSBqc29uLm51bWJlck9mQ29sdW1ucyB8fCAxO1xuXG4gICAgICAgIHRoaXMuZmllbGRzID0ganNvbi5maWVsZHM7XG5cbiAgICAgICAgdGhpcy5yb3dzcGFuID0gMTtcbiAgICAgICAgdGhpcy5jb2xzcGFuID0gMTtcblxuICAgICAgICBpZiAoanNvbi5maWVsZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY3VycmVudEZpZWxkIGluIGpzb24uZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChqc29uLmZpZWxkcywgY3VycmVudEZpZWxkKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSBuZXcgQ29udGFpbmVyQ29sdW1uTW9kZWwoKTtcblxuICAgICAgICAgICAgICAgICAgICBjb2wuZmllbGRzID0gKGpzb24uZmllbGRzW2N1cnJlbnRGaWVsZF0gfHwgW10pLm1hcCgoZmllbGQpID0+IG5ldyBGb3JtRmllbGRNb2RlbChmb3JtLCBmaWVsZCkpO1xuICAgICAgICAgICAgICAgICAgICBjb2wucm93c3BhbiA9IGpzb24uZmllbGRzW2N1cnJlbnRGaWVsZF0ubGVuZ3RoO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbC5maWVsZHMuZm9yRWFjaCgoY29sRmllbGRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IGNvbEZpZWxkcy5jb2xzcGFuID4gdGhpcy5jb2xzcGFuID8gY29sRmllbGRzLmNvbHNwYW4gOiB0aGlzLmNvbHNwYW47XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IHRoaXMucm93c3BhbiA8IGNvbC5yb3dzcGFuID8gY29sLnJvd3NwYW4gOiB0aGlzLnJvd3NwYW47XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFyc2VWYWx1ZShqc29uOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChqc29uLCAndmFsdWUnKSAmJiBqc29uLnZhbHVlICE9PSB1bmRlZmluZWQgPyBqc29uLnZhbHVlIDogbnVsbDtcblxuICAgICAgICAvKlxuICAgICAgICAgVGhpcyBpcyBuZWVkZWQgZHVlIHRvIEFjdGl2aXRpIGlzc3VlIHJlbGF0ZWQgdG8gcmVhZGluZyBkcm9wZG93biB2YWx1ZXMgYXMgdmFsdWUgc3RyaW5nXG4gICAgICAgICBidXQgc2F2aW5nIGJhY2sgYXMgb2JqZWN0OiB7IGlkOiA8aWQ+LCBuYW1lOiA8bmFtZT4gfVxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuRFJPUERPV04pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0VtcHR5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW1wdHlPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbXB0eU9wdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLmRlZmF1bHRFbXB0eU9wdGlvbklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25OYW1lXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy51bnNoaWZ0KHRoaXMuZW1wdHlPcHRpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzRW1wdHlWYWx1ZSA9ICF2YWx1ZSB8fCBbdGhpcy5lbXB0eU9wdGlvbi5pZCwgdGhpcy5lbXB0eU9wdGlvbi5uYW1lXS5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lbXB0eU9wdGlvbi5pZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRPcHRpb24odmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRPcHRpb24oeyBpZDogdmFsdWUuaWQsIG5hbWU6IHZhbHVlLm5hbWUgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNNdWx0aXBsZVZhbHVlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkU2VsZWN0ZWRPcHRpb25zID0gKEFycmF5LmlzQXJyYXkoanNvbi52YWx1ZSkgPyBqc29uLnZhbHVlIDogW10pLmZpbHRlcigob3B0aW9uKSA9PiB0aGlzLmlzVmFsaWRPcHRpb24ob3B0aW9uKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFkZE9wdGlvbnModmFsaWRTZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZFNlbGVjdGVkT3B0aW9ucztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIGR1ZSB0byBBY3Rpdml0aSBpc3N1ZSByZWxhdGVkIHRvIHJlYWRpbmcgcmFkaW8gYnV0dG9uIHZhbHVlcyBhcyB2YWx1ZSBzdHJpbmdcbiAgICAgICAgIGJ1dCBzYXZpbmcgYmFjayBhcyBvYmplY3Q6IHsgaWQ6IDxpZD4sIG5hbWU6IDxuYW1lPiB9XG4gICAgICAgICAqL1xuICAgICAgICBpZiAoanNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5SQURJT19CVVRUT05TKSB7XG4gICAgICAgICAgICBpZiAoanNvbi52YWx1ZT8ub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucGFyc2VWYWxpZE9wdGlvbnMoanNvbi52YWx1ZS5vcHRpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0aXZpdGkgaGFzIGEgYnVnIHdpdGggZGVmYXVsdCByYWRpbyBidXR0b24gdmFsdWUgd2hlcmUgaW5pdGlhbCBzZWxlY3Rpb24gcGFzc2VkIGFzIGBuYW1lYCB2YWx1ZVxuICAgICAgICAgICAgLy8gc28gdHJ5IHJlc29sdmluZyBjdXJyZW50IG9uZSB3aXRoIGEgZmFsbGJhY2sgdG8gZmlyc3QgZW50cnkgdmlhIG5hbWUgb3IgaWRcbiAgICAgICAgICAgIC8vIFRPRE86IG5lZWRzIHRvIGJlIHJlcG9ydGVkIGFuZCBmaXhlZCBhdCBBY3Rpdml0aSBzaWRlXG4gICAgICAgICAgICBjb25zdCBtYXRjaGluZ09wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChvcHQpID0+IG9wdC5pZCA9PT0gdmFsdWUgfHwgb3B0Lm5hbWUgPT09IHZhbHVlIHx8ICh2YWx1ZSAmJiAob3B0LmlkID09PSB2YWx1ZS5pZCB8fCBvcHQubmFtZSA9PT0gdmFsdWUubmFtZSkpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hpbmdPcHRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmdPcHRpb24uaWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRPcHRpb24odmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRPcHRpb24oeyBpZDogdmFsdWUuaWQsIG5hbWU6IHZhbHVlLm5hbWUgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0RhdGVGaWVsZChqc29uKSB8fCB0aGlzLmlzRGF0ZVRpbWVGaWVsZChqc29uKSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGVWYWx1ZTogRGF0ZTtcblxuICAgICAgICAgICAgICAgIGlmIChpc051bWJlclZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlVmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVZhbHVlID0gdGhpcy5pc0RhdGVUaW1lRmllbGQoanNvbilcbiAgICAgICAgICAgICAgICAgICAgICAgID8gRGF0ZUZuc1V0aWxzLnBhcnNlRGF0ZSh2YWx1ZSwgJ1lZWVktTU0tREQgaGg6bW0gQScpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IERhdGVGbnNVdGlscy5wYXJzZURhdGUodmFsdWUuc3BsaXQoJ1QnKVswXSwgJ1lZWVktTS1EJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGVWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzQ2hlY2tib3hGaWVsZChqc29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGpzb24udmFsdWUgPT09ICd0cnVlJyB8fCBqc29uLnZhbHVlID09PSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHVwZGF0ZUZvcm0oKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5EUk9QRE9XTjoge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgVGhpcyBpcyBuZWVkZWQgZHVlIHRvIEFjdGl2aXRpIHJlYWRpbmcgZHJvcGRvd24gdmFsdWVzIGFzIHN0cmluZ1xuICAgICAgICAgICAgICAgICBidXQgc2F2aW5nIGJhY2sgYXMgb2JqZWN0OiB7IGlkOiA8aWQ+LCBuYW1lOiA8bmFtZT4gfVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnZW1wdHknIHx8IHRoaXMudmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdPcHRpb246IEZvcm1GaWVsZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG1hdGNoaW5nT3B0aW9uIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5SQURJT19CVVRUT05TOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFkaW9CdXR0b246IEZvcm1GaWVsZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25UeXBlID09PSAncmVzdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHsgLi4ucmFkaW9CdXR0b24sIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IHsgaWQ6IG51bGwsIG5hbWU6IG51bGwsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSByYWRpb0J1dHRvbiA/IHsgLi4ucmFkaW9CdXR0b24gfSA6IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLlVQTE9BRDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5oYXNVcGxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUubWFwKChlbGVtKSA9PiBlbGVtLmlkKS5qb2luKCcsJykgOiBbdGhpcy52YWx1ZV07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5UWVBFQUhFQUQ6IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlQWhlYWRFbnRyeTogRm9ybUZpZWxkT3B0aW9uW10gPSB0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSB8fCBvcHQubmFtZSA9PT0gdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVBaGVhZEVudHJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHR5cGVBaGVhZEVudHJ5WzBdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5EQVRFOiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlID09PSAndG9kYXknKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBkYXRlVmFsdWU7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVZhbHVlID0gRGF0ZUZuc1V0aWxzLnBhcnNlRGF0ZSh0aGlzLnZhbHVlLCB0aGlzLmRhdGVEaXNwbGF5Rm9ybWF0KTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSA9IG5ldyBEYXRlKCdlcnJvcicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF0ZShkYXRlVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVQYXJ0ID0gRGF0ZUZuc1V0aWxzLmZvcm1hdERhdGUoZGF0ZVZhbHVlLCAneXl5eS1NTS1kZCcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gYCR7ZGF0ZVBhcnR9VDAwOjAwOjAwLjAwMFpgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5EQVRFVElNRToge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSA9PT0gJ25vdycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRpbWVWYWx1ZSA9IHRoaXMudmFsdWUgIT09IG51bGwgPyBEYXRlRm5zVXRpbHMuZ2V0RGF0ZSh0aGlzLnZhbHVlKSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZERhdGUoZGF0ZVRpbWVWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IGRhdGVUaW1lVmFsdWUudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuTlVNQkVSOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMuZW5hYmxlRnJhY3Rpb25zID8gcGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA6IHBhcnNlSW50KHRoaXMudmFsdWUsIDEwKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuQU1PVU5UOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMuZW5hYmxlRnJhY3Rpb25zID8gcGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA6IHBhcnNlSW50KHRoaXMudmFsdWUsIDEwKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuREVDSU1BTDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBwYXJzZUZsb2F0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5CT09MRUFOOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWUgIT09IG51bGwgJiYgdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkID8gdGhpcy52YWx1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5QRU9QTEU6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5GVU5DVElPTkFMX0dST1VQOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkVXBkYXRlRm9ybVZhbHVlcyh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5vbkZvcm1GaWVsZENoYW5nZWQodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGZpZWxkIHR5cGUgaXMgaW52YWxpZCwgcmVxdWlyZXMgYSB0eXBlIHRvIGJlIGEgYGNvbnRhaW5lcmBcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIGZpZWxkIHR5cGVcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdHlwZSBpcyBhIGBjb250YWluZXJgLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzSW52YWxpZEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdjb250YWluZXInO1xuICAgIH1cblxuICAgIGdldE9wdGlvbk5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uOiBGb3JtRmllbGRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMudmFsdWUpO1xuICAgICAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLm5hbWUgOiBudWxsO1xuICAgIH1cblxuICAgIGhhc09wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgaXNFbXB0eVZhbHVlT3B0aW9uKG9wdGlvbjogRm9ybUZpZWxkT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0VtcHR5VmFsdWUgJiYgb3B0aW9uPy5pZCA9PT0gdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25JZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFVwZGF0ZUZvcm1WYWx1ZXModHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIUZvcm1GaWVsZFR5cGVzLmlzUmVhZE9ubHlUeXBlKHR5cGUpICYmICF0aGlzLmlzSW52YWxpZEZpZWxkVHlwZSh0eXBlKSAmJiAhRm9ybUZpZWxkVHlwZXMuaXNTZWN0aW9uVHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE9wdGlvbnMob3B0aW9uczogRm9ybUZpZWxkT3B0aW9uW10pIHtcbiAgICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHRoaXMuYWRkT3B0aW9uKG9wdGlvbikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkT3B0aW9uKG9wdGlvbjogRm9ybUZpZWxkT3B0aW9uKSB7XG4gICAgICAgIGNvbnN0IGFscmVhZHlFeGlzdHMgPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQ/LmlkID09PSBvcHRpb24/LmlkKTtcbiAgICAgICAgaWYgKCFhbHJlYWR5RXhpc3RzKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVZhbGlkT3B0aW9ucyhvcHRpb25zOiBhbnkpOiBGb3JtRmllbGRPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpID8gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gdGhpcy5pc1ZhbGlkT3B0aW9uKG9wdGlvbikpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZU9wdGlvbnMob3B0aW9uczogYW55LCBvcHRpb25UeXBlOiBGaWVsZE9wdGlvblR5cGUpOiBGb3JtRmllbGRPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiBvcHRpb25UeXBlID09PSAncmVzdCcgPyBbXSA6IHRoaXMucGFyc2VWYWxpZE9wdGlvbnMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkT3B0aW9uKG9wdGlvbjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShvcHRpb24pICYmIG9wdGlvbj8uaWQgJiYgb3B0aW9uPy5uYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNEYXRlRmllbGQoanNvbjogYW55KSB7XG4gICAgICAgIHJldHVybiBqc29uLnBhcmFtcz8uZmllbGQ/LnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEUgfHwganNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EQVRFO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNEYXRlVGltZUZpZWxkKGpzb246IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ganNvbi5wYXJhbXM/LmZpZWxkPy50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EQVRFVElNRSB8fCBqc29uLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEVUSU1FO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDaGVja2JveEZpZWxkKGpzb246IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ganNvbi5wYXJhbXM/LmZpZWxkPy50eXBlID09PSBGb3JtRmllbGRUeXBlcy5CT09MRUFOIHx8IGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuQk9PTEVBTjtcbiAgICB9XG59XG4iXX0=
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNbEQsa0NBQWtDO0FBQ2xDLE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQW9FL0MsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFNO1FBQ1osSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNyQixPQUFPLElB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Q0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFXO1FBQzdCLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUM7SUFDOUYsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFTO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBQ2pHLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBUztRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxjQUFjLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUN6RyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssY0FBYyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxPQUFPLENBQUM7SUFDdkcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5pbXBvcnQgeyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvd2lkZ2V0LXZpc2liaWxpdHkubW9kZWwnO1xuaW1wb3J0IHsgQ29udGFpbmVyQ29sdW1uTW9kZWwgfSBmcm9tICcuL2NvbnRhaW5lci1jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlTW9kZWwgfSBmcm9tICcuL2Vycm9yLW1lc3NhZ2UubW9kZWwnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Zvcm0tZmllbGQtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRm9ybUZpZWxkT3B0aW9uIH0gZnJvbSAnLi9mb3JtLWZpZWxkLW9wdGlvbic7XG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlcyB9IGZyb20gJy4vZm9ybS1maWVsZC10eXBlcyc7XG5pbXBvcnQgeyBGb3JtV2lkZ2V0TW9kZWwgfSBmcm9tICcuL2Zvcm0td2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZFJ1bGUgfSBmcm9tICcuL2Zvcm0tZmllbGQtcnVsZSc7XG5pbXBvcnQgeyBQcm9jZXNzRm9ybU1vZGVsIH0gZnJvbSAnLi9wcm9jZXNzLWZvcm0tbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzTnVtYmVyVmFsdWUgfSBmcm9tICcuL2Zvcm0tZmllbGQtdXRpbHMnO1xuaW1wb3J0IHsgVmFyaWFibGVDb25maWcgfSBmcm9tICcuL2Zvcm0tZmllbGQtdmFyaWFibGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBEYXRhQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YXRhYmxlL2RhdGEvZGF0YS1jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgRGF0ZUZuc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGlzVmFsaWQgYXMgaXNWYWxpZERhdGUgfSBmcm9tICdkYXRlLWZucyc7XG5cbmV4cG9ydCB0eXBlIEZpZWxkT3B0aW9uVHlwZSA9ICdyZXN0JyB8ICdtYW51YWwnIHwgJ3ZhcmlhYmxlJztcbmV4cG9ydCB0eXBlIEZpZWxkU2VsZWN0aW9uVHlwZSA9ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcbmV4cG9ydCB0eXBlIEZpZWxkQWxpZ25tZW50VHlwZSA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5cbi8vIE1hcHMgdG8gRm9ybUZpZWxkUmVwcmVzZW50YXRpb25cbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRNb2RlbCBleHRlbmRzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcbiAgICBwcml2YXRlIF9yZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBkZWZhdWx0RGF0ZUZvcm1hdDogc3RyaW5nID0gJ0QtTS1ZWVlZJztcbiAgICByZWFkb25seSBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IHN0cmluZyA9ICdELU0tWVlZWSBoaDptbSBBJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFbXB0eU9wdGlvbklkID0gJ2VtcHR5JztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFbXB0eU9wdGlvbk5hbWUgPSAnQ2hvb3NlIG9uZS4uLic7XG5cbiAgICAvLyBtb2RlbCBtZW1iZXJzXG4gICAgZmllbGRUeXBlOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG92ZXJyaWRlSWQ6IGJvb2xlYW47XG4gICAgdGFiOiBzdHJpbmc7XG4gICAgcm93c3BhbjogbnVtYmVyID0gMTtcbiAgICBjb2xzcGFuOiBudW1iZXIgPSAxO1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuICAgIHRvb2x0aXA6IHN0cmluZyA9IG51bGw7XG4gICAgbWluTGVuZ3RoOiBudW1iZXIgPSAwO1xuICAgIG1heExlbmd0aDogbnVtYmVyID0gMDtcbiAgICBtaW5WYWx1ZTogc3RyaW5nO1xuICAgIG1heFZhbHVlOiBzdHJpbmc7XG4gICAgbWF4RGF0ZVJhbmdlVmFsdWU6IG51bWJlciA9IDA7XG4gICAgbWluRGF0ZVJhbmdlVmFsdWU6IG51bWJlciA9IDA7XG4gICAgcHJlY2lzaW9uOiBudW1iZXI7XG4gICAgZHluYW1pY0RhdGVSYW5nZVNlbGVjdGlvbjogYm9vbGVhbjtcbiAgICByZWdleFBhdHRlcm46IHN0cmluZztcbiAgICBvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSA9IFtdO1xuICAgIHJlc3RVcmw6IHN0cmluZztcbiAgICByb2xlczogc3RyaW5nW107XG4gICAgcmVzdFJlc3BvbnNlUGF0aDogc3RyaW5nO1xuICAgIHJlc3RJZFByb3BlcnR5OiBzdHJpbmc7XG4gICAgcmVzdExhYmVsUHJvcGVydHk6IHN0cmluZztcbiAgICBoYXNFbXB0eVZhbHVlOiBib29sZWFuO1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIG9wdGlvblR5cGU6IEZpZWxkT3B0aW9uVHlwZTtcbiAgICBwYXJhbXM6IEZvcm1GaWVsZE1ldGFkYXRhID0ge307XG4gICAgaHlwZXJsaW5rVXJsOiBzdHJpbmc7XG4gICAgZGlzcGxheVRleHQ6IHN0cmluZztcbiAgICBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHZpc2liaWxpdHlDb25kaXRpb246IFdpZGdldFZpc2liaWxpdHlNb2RlbCA9IG51bGw7XG4gICAgZW5hYmxlRnJhY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XG4gICAgY3VycmVuY3k6IHN0cmluZyA9IG51bGw7XG4gICAgZGF0ZURpc3BsYXlGb3JtYXQ6IHN0cmluZyA9IHRoaXMuZGVmYXVsdERhdGVGb3JtYXQ7XG4gICAgc2VsZWN0aW9uVHlwZTogRmllbGRTZWxlY3Rpb25UeXBlO1xuICAgIGFsaWdubWVudFR5cGU6IEZpZWxkQWxpZ25tZW50VHlwZTtcbiAgICBydWxlPzogRm9ybUZpZWxkUnVsZTtcbiAgICBzZWxlY3RMb2dnZWRVc2VyOiBib29sZWFuO1xuICAgIGdyb3Vwc1Jlc3RyaWN0aW9uOiBzdHJpbmdbXTtcbiAgICBsZWZ0TGFiZWxzOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmFyaWFibGVDb25maWc6IFZhcmlhYmxlQ29uZmlnO1xuICAgIHNjaGVtYURlZmluaXRpb246IERhdGFDb2x1bW5bXTtcbiAgICBleHRlcm5hbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHN0eWxlPzogc3RyaW5nO1xuXG4gICAgLy8gY29udGFpbmVyIG1vZGVsIG1lbWJlcnNcbiAgICBudW1iZXJPZkNvbHVtbnM6IG51bWJlciA9IDE7XG4gICAgZmllbGRzOiBGb3JtRmllbGRNb2RlbFtdID0gW107XG4gICAgY29sdW1uczogQ29udGFpbmVyQ29sdW1uTW9kZWxbXSA9IFtdO1xuXG4gICAgLy8gdXRpbCBtZW1iZXJzXG4gICAgZW1wdHlPcHRpb246IEZvcm1GaWVsZE9wdGlvbjtcbiAgICB2YWxpZGF0aW9uU3VtbWFyeTogRXJyb3JNZXNzYWdlTW9kZWw7XG5cbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICAgICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCByZWFkT25seSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybT8ucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkT25seTtcbiAgICB9XG5cbiAgICBzZXQgcmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSByZWFkT25seTtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWYWxpZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzTXVsdGlwbGVWYWx1ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvblR5cGUgPT09ICdtdWx0aXBsZSc7XG4gICAgfVxuXG4gICAgbWFya0FzSW52YWxpZCgpIHtcbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG1hcmtBc1ZhbGlkKCkge1xuICAgICAgICB0aGlzLl9pc1ZhbGlkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uU3VtbWFyeSA9IG5ldyBFcnJvck1lc3NhZ2VNb2RlbCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRmllbGRWYWxpZGF0YWJsZSgpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5mb3JtLmZpZWxkVmFsaWRhdG9ycyB8fCBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdmFsaWRhdG9yIG9mIHZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXZhbGlkYXRvci52YWxpZGF0ZSh0aGlzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc1ZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmFsaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ZpZWxkVmFsaWRhdGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yZWFkT25seSB8fCBGb3JtRmllbGRUeXBlcy5pc1ZhbGlkYXRhYmxlVHlwZSh0aGlzLnR5cGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbj86IGFueSkge1xuICAgICAgICBzdXBlcihmb3JtLCBqc29uKTtcbiAgICAgICAgaWYgKGpzb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRUeXBlID0ganNvbi5maWVsZFR5cGU7XG4gICAgICAgICAgICB0aGlzLmlkID0ganNvbi5pZDtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IGpzb24ubmFtZTtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IGpzb24udHlwZTtcbiAgICAgICAgICAgIHRoaXMucm9sZXMgPSBqc29uLnJvbGVzO1xuICAgICAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBqc29uLnJlcXVpcmVkO1xuICAgICAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSBqc29uLnJlYWRPbmx5IHx8IGpzb24udHlwZSA9PT0gJ3JlYWRvbmx5JztcbiAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVJZCA9IGpzb24ub3ZlcnJpZGVJZDtcbiAgICAgICAgICAgIHRoaXMudGFiID0ganNvbi50YWI7XG4gICAgICAgICAgICB0aGlzLnJlc3RVcmwgPSBqc29uLnJlc3RVcmw7XG4gICAgICAgICAgICB0aGlzLnJlc3RSZXNwb25zZVBhdGggPSBqc29uLnJlc3RSZXNwb25zZVBhdGg7XG4gICAgICAgICAgICB0aGlzLnJlc3RJZFByb3BlcnR5ID0ganNvbi5yZXN0SWRQcm9wZXJ0eTtcbiAgICAgICAgICAgIHRoaXMucmVzdExhYmVsUHJvcGVydHkgPSBqc29uLnJlc3RMYWJlbFByb3BlcnR5O1xuICAgICAgICAgICAgdGhpcy5jb2xzcGFuID0ganNvbi5jb2xzcGFuO1xuICAgICAgICAgICAgdGhpcy5yb3dzcGFuID0ganNvbi5yb3dzcGFuO1xuICAgICAgICAgICAgdGhpcy5taW5MZW5ndGggPSBqc29uLm1pbkxlbmd0aCB8fCAwO1xuICAgICAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBqc29uLm1heExlbmd0aCB8fCAwO1xuICAgICAgICAgICAgdGhpcy5taW5WYWx1ZSA9IGpzb24ubWluVmFsdWU7XG4gICAgICAgICAgICB0aGlzLm1heFZhbHVlID0ganNvbi5tYXhWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubWluRGF0ZVJhbmdlVmFsdWUgPSBqc29uLm1pbkRhdGVSYW5nZVZhbHVlO1xuICAgICAgICAgICAgdGhpcy5tYXhEYXRlUmFuZ2VWYWx1ZSA9IGpzb24ubWF4RGF0ZVJhbmdlVmFsdWU7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNEYXRlUmFuZ2VTZWxlY3Rpb24gPSBqc29uLmR5bmFtaWNEYXRlUmFuZ2VTZWxlY3Rpb247XG4gICAgICAgICAgICB0aGlzLnJlZ2V4UGF0dGVybiA9IGpzb24ucmVnZXhQYXR0ZXJuO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5wYXJzZU9wdGlvbnMoanNvbi5vcHRpb25zLCBqc29uLm9wdGlvblR5cGUpO1xuICAgICAgICAgICAgdGhpcy5lbXB0eU9wdGlvbiA9IHRoaXMuZ2V0RW1wdHlPcHRpb24odGhpcy5vcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMuaGFzRW1wdHlWYWx1ZSA9IGpzb24/Lmhhc0VtcHR5VmFsdWUgPz8gISF0aGlzLmVtcHR5T3B0aW9uO1xuICAgICAgICAgICAgdGhpcy5jbGFzc05hbWUgPSBqc29uLmNsYXNzTmFtZTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uVHlwZSA9IGpzb24ub3B0aW9uVHlwZTtcbiAgICAgICAgICAgIHRoaXMucGFyYW1zID0ganNvbi5wYXJhbXMgfHwge307XG4gICAgICAgICAgICB0aGlzLmh5cGVybGlua1VybCA9IGpzb24uaHlwZXJsaW5rVXJsO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCA9IGpzb24uZGlzcGxheVRleHQ7XG4gICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlDb25kaXRpb24gPSBqc29uLnZpc2liaWxpdHlDb25kaXRpb24gPyBuZXcgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsKGpzb24udmlzaWJpbGl0eUNvbmRpdGlvbikgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZUZyYWN0aW9ucyA9IGpzb24uZW5hYmxlRnJhY3Rpb25zO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW5jeSA9IGpzb24uY3VycmVuY3k7XG4gICAgICAgICAgICB0aGlzLmRhdGVEaXNwbGF5Rm9ybWF0ID0ganNvbi5kYXRlRGlzcGxheUZvcm1hdCB8fCB0aGlzLmdldERlZmF1bHREYXRlRm9ybWF0KGpzb24pO1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uU3VtbWFyeSA9IG5ldyBFcnJvck1lc3NhZ2VNb2RlbCgpO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwID0ganNvbi50b29sdGlwO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25UeXBlID0ganNvbi5zZWxlY3Rpb25UeXBlO1xuICAgICAgICAgICAgdGhpcy5hbGlnbm1lbnRUeXBlID0ganNvbi5hbGlnbm1lbnRUeXBlO1xuICAgICAgICAgICAgdGhpcy5ydWxlID0ganNvbi5ydWxlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RMb2dnZWRVc2VyID0ganNvbi5zZWxlY3RMb2dnZWRVc2VyO1xuICAgICAgICAgICAgdGhpcy5ncm91cHNSZXN0cmljdGlvbiA9IGpzb24uZ3JvdXBzUmVzdHJpY3Rpb24/Lmdyb3VwcztcbiAgICAgICAgICAgIHRoaXMudmFyaWFibGVDb25maWcgPSBqc29uLnZhcmlhYmxlQ29uZmlnO1xuICAgICAgICAgICAgdGhpcy5zY2hlbWFEZWZpbml0aW9uID0ganNvbi5zY2hlbWFEZWZpbml0aW9uO1xuICAgICAgICAgICAgdGhpcy5wcmVjaXNpb24gPSBqc29uLnByZWNpc2lvbjtcbiAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxQcm9wZXJ0eSA9IGpzb24uZXh0ZXJuYWxQcm9wZXJ0eTtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5wYXJzZVZhbHVlKGpzb24pO1xuICAgICAgICAgICAgdGhpcy5zdHlsZSA9IGpzb24uc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChqc29uLnBsYWNlaG9sZGVyICYmIGpzb24ucGxhY2Vob2xkZXIgIT09ICcnICYmIGpzb24ucGxhY2Vob2xkZXIgIT09ICdudWxsJykge1xuICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBqc29uLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNSZWFkT25seVR5cGUodGhpcy50eXBlKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtcz8uZmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZUZvclJlYWRvbmx5VHlwZShmb3JtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChGb3JtRmllbGRUeXBlcy5pc0NvbnRhaW5lclR5cGUodGhpcy50eXBlKSB8fCBGb3JtRmllbGRUeXBlcy5pc1NlY3Rpb25UeXBlKHRoaXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lckZhY3RvcnkoanNvbiwgZm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybT8uanNvbikge1xuICAgICAgICAgICAgdGhpcy5sZWZ0TGFiZWxzID0gZm9ybS5qc29uLmxlZnRMYWJlbHMgfHwgZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVtcHR5T3B0aW9uKG9wdGlvbnM6IEZvcm1GaWVsZE9wdGlvbltdKTogRm9ybUZpZWxkT3B0aW9uIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24/LmlkID09PSB0aGlzLmRlZmF1bHRFbXB0eU9wdGlvbklkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZhbHVlRm9yUmVhZG9ubHlUeXBlKGZvcm06IGFueSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUodGhpcy5wYXJhbXMuZmllbGQsIGZvcm0pO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdERhdGVGb3JtYXQoanNvbkZpZWxkOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgb3JpZ2luYWxUeXBlID0ganNvbkZpZWxkLnR5cGU7XG4gICAgICAgIGlmIChGb3JtRmllbGRUeXBlcy5pc1JlYWRPbmx5VHlwZShqc29uRmllbGQudHlwZSkgJiYganNvbkZpZWxkLnBhcmFtcyAmJiBqc29uRmllbGQucGFyYW1zLmZpZWxkKSB7XG4gICAgICAgICAgICBvcmlnaW5hbFR5cGUgPSBqc29uRmllbGQucGFyYW1zLmZpZWxkLnR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsVHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURVRJTUUgPyB0aGlzLmRlZmF1bHREYXRlVGltZUZvcm1hdCA6IHRoaXMuZGVmYXVsdERhdGVGb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1R5cGVhaGVhZEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICd0eXBlYWhlYWQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmllbGROYW1lV2l0aExhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBuYW1lICsgJ19MQUJFTCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzVmFyaWFibGVWYWx1ZShmaWVsZDogYW55LCBmb3JtOiBQcm9jZXNzRm9ybU1vZGVsKTogYW55IHtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9IGZpZWxkLm5hbWU7XG4gICAgICAgIGlmICh0aGlzLmlzVHlwZWFoZWFkRmllbGRUeXBlKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgPSB0aGlzLmdldEZpZWxkTmFtZVdpdGhMYWJlbChmaWVsZC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm0uZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUoZmllbGROYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRhaW5lckZhY3RvcnkoanNvbjogYW55LCBmb3JtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5udW1iZXJPZkNvbHVtbnMgPSBqc29uLm51bWJlck9mQ29sdW1ucyB8fCAxO1xuXG4gICAgICAgIHRoaXMuZmllbGRzID0ganNvbi5maWVsZHM7XG5cbiAgICAgICAgdGhpcy5yb3dzcGFuID0gMTtcbiAgICAgICAgdGhpcy5jb2xzcGFuID0gMTtcblxuICAgICAgICBpZiAoanNvbi5maWVsZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY3VycmVudEZpZWxkIGluIGpzb24uZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChqc29uLmZpZWxkcywgY3VycmVudEZpZWxkKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSBuZXcgQ29udGFpbmVyQ29sdW1uTW9kZWwoKTtcblxuICAgICAgICAgICAgICAgICAgICBjb2wuZmllbGRzID0gKGpzb24uZmllbGRzW2N1cnJlbnRGaWVsZF0gfHwgW10pLm1hcCgoZmllbGQpID0+IG5ldyBGb3JtRmllbGRNb2RlbChmb3JtLCBmaWVsZCkpO1xuICAgICAgICAgICAgICAgICAgICBjb2wucm93c3BhbiA9IGpzb24uZmllbGRzW2N1cnJlbnRGaWVsZF0ubGVuZ3RoO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbC5maWVsZHMuZm9yRWFjaCgoY29sRmllbGRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IGNvbEZpZWxkcy5jb2xzcGFuID4gdGhpcy5jb2xzcGFuID8gY29sRmllbGRzLmNvbHNwYW4gOiB0aGlzLmNvbHNwYW47XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IHRoaXMucm93c3BhbiA8IGNvbC5yb3dzcGFuID8gY29sLnJvd3NwYW4gOiB0aGlzLnJvd3NwYW47XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFyc2VWYWx1ZShqc29uOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChqc29uLCAndmFsdWUnKSAmJiBqc29uLnZhbHVlICE9PSB1bmRlZmluZWQgPyBqc29uLnZhbHVlIDogbnVsbDtcblxuICAgICAgICAvKlxuICAgICAgICAgVGhpcyBpcyBuZWVkZWQgZHVlIHRvIEFjdGl2aXRpIGlzc3VlIHJlbGF0ZWQgdG8gcmVhZGluZyBkcm9wZG93biB2YWx1ZXMgYXMgdmFsdWUgc3RyaW5nXG4gICAgICAgICBidXQgc2F2aW5nIGJhY2sgYXMgb2JqZWN0OiB7IGlkOiA8aWQ+LCBuYW1lOiA8bmFtZT4gfVxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuRFJPUERPV04pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0VtcHR5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW1wdHlPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbXB0eU9wdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLmRlZmF1bHRFbXB0eU9wdGlvbklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25OYW1lXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy51bnNoaWZ0KHRoaXMuZW1wdHlPcHRpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzRW1wdHlWYWx1ZSA9ICF2YWx1ZSB8fCBbdGhpcy5lbXB0eU9wdGlvbi5pZCwgdGhpcy5lbXB0eU9wdGlvbi5uYW1lXS5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lbXB0eU9wdGlvbi5pZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRPcHRpb24odmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRPcHRpb24oeyBpZDogdmFsdWUuaWQsIG5hbWU6IHZhbHVlLm5hbWUgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNNdWx0aXBsZVZhbHVlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkU2VsZWN0ZWRPcHRpb25zID0gKEFycmF5LmlzQXJyYXkoanNvbi52YWx1ZSkgPyBqc29uLnZhbHVlIDogW10pLmZpbHRlcigob3B0aW9uKSA9PiB0aGlzLmlzVmFsaWRPcHRpb24ob3B0aW9uKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFkZE9wdGlvbnModmFsaWRTZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZFNlbGVjdGVkT3B0aW9ucztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIGR1ZSB0byBBY3Rpdml0aSBpc3N1ZSByZWxhdGVkIHRvIHJlYWRpbmcgcmFkaW8gYnV0dG9uIHZhbHVlcyBhcyB2YWx1ZSBzdHJpbmdcbiAgICAgICAgIGJ1dCBzYXZpbmcgYmFjayBhcyBvYmplY3Q6IHsgaWQ6IDxpZD4sIG5hbWU6IDxuYW1lPiB9XG4gICAgICAgICAqL1xuICAgICAgICBpZiAoanNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5SQURJT19CVVRUT05TKSB7XG4gICAgICAgICAgICBpZiAoanNvbi52YWx1ZT8ub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucGFyc2VWYWxpZE9wdGlvbnMoanNvbi52YWx1ZS5vcHRpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0aXZpdGkgaGFzIGEgYnVnIHdpdGggZGVmYXVsdCByYWRpbyBidXR0b24gdmFsdWUgd2hlcmUgaW5pdGlhbCBzZWxlY3Rpb24gcGFzc2VkIGFzIGBuYW1lYCB2YWx1ZVxuICAgICAgICAgICAgLy8gc28gdHJ5IHJlc29sdmluZyBjdXJyZW50IG9uZSB3aXRoIGEgZmFsbGJhY2sgdG8gZmlyc3QgZW50cnkgdmlhIG5hbWUgb3IgaWRcbiAgICAgICAgICAgIC8vIFRPRE86IG5lZWRzIHRvIGJlIHJlcG9ydGVkIGFuZCBmaXhlZCBhdCBBY3Rpdml0aSBzaWRlXG4gICAgICAgICAgICBjb25zdCBtYXRjaGluZ09wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChvcHQpID0+IG9wdC5pZCA9PT0gdmFsdWUgfHwgb3B0Lm5hbWUgPT09IHZhbHVlIHx8ICh2YWx1ZSAmJiAob3B0LmlkID09PSB2YWx1ZS5pZCB8fCBvcHQubmFtZSA9PT0gdmFsdWUubmFtZSkpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hpbmdPcHRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmdPcHRpb24uaWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRPcHRpb24odmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRPcHRpb24oeyBpZDogdmFsdWUuaWQsIG5hbWU6IHZhbHVlLm5hbWUgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0RhdGVGaWVsZChqc29uKSB8fCB0aGlzLmlzRGF0ZVRpbWVGaWVsZChqc29uKSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGVWYWx1ZTogRGF0ZTtcblxuICAgICAgICAgICAgICAgIGlmIChpc051bWJlclZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlVmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVZhbHVlID0gdGhpcy5pc0RhdGVUaW1lRmllbGQoanNvbilcbiAgICAgICAgICAgICAgICAgICAgICAgID8gRGF0ZUZuc1V0aWxzLnBhcnNlRGF0ZSh2YWx1ZSwgJ1lZWVktTU0tREQgaGg6bW0gQScpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IERhdGVGbnNVdGlscy5wYXJzZURhdGUodmFsdWUuc3BsaXQoJ1QnKVswXSwgJ1lZWVktTS1EJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGVWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzQ2hlY2tib3hGaWVsZChqc29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGpzb24udmFsdWUgPT09ICd0cnVlJyB8fCBqc29uLnZhbHVlID09PSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHVwZGF0ZUZvcm0oKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5EUk9QRE9XTjoge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgVGhpcyBpcyBuZWVkZWQgZHVlIHRvIEFjdGl2aXRpIHJlYWRpbmcgZHJvcGRvd24gdmFsdWVzIGFzIHN0cmluZ1xuICAgICAgICAgICAgICAgICBidXQgc2F2aW5nIGJhY2sgYXMgb2JqZWN0OiB7IGlkOiA8aWQ+LCBuYW1lOiA8bmFtZT4gfVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnZW1wdHknIHx8IHRoaXMudmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdPcHRpb246IEZvcm1GaWVsZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG1hdGNoaW5nT3B0aW9uIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5SQURJT19CVVRUT05TOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFkaW9CdXR0b246IEZvcm1GaWVsZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25UeXBlID09PSAncmVzdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHsgLi4ucmFkaW9CdXR0b24sIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IHsgaWQ6IG51bGwsIG5hbWU6IG51bGwsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSByYWRpb0J1dHRvbiA/IHsgLi4ucmFkaW9CdXR0b24gfSA6IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLlVQTE9BRDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5oYXNVcGxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUubWFwKChlbGVtKSA9PiBlbGVtLmlkKS5qb2luKCcsJykgOiBbdGhpcy52YWx1ZV07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5UWVBFQUhFQUQ6IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlQWhlYWRFbnRyeTogRm9ybUZpZWxkT3B0aW9uW10gPSB0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSB8fCBvcHQubmFtZSA9PT0gdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVBaGVhZEVudHJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHR5cGVBaGVhZEVudHJ5WzBdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5EQVRFOiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlID09PSAndG9kYXknKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBkYXRlVmFsdWU7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVZhbHVlID0gRGF0ZUZuc1V0aWxzLnBhcnNlRGF0ZSh0aGlzLnZhbHVlLCB0aGlzLmRhdGVEaXNwbGF5Rm9ybWF0KTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSA9IG5ldyBEYXRlKCdlcnJvcicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF0ZShkYXRlVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVQYXJ0ID0gRGF0ZUZuc1V0aWxzLmZvcm1hdERhdGUoZGF0ZVZhbHVlLCAneXl5eS1NTS1kZCcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gYCR7ZGF0ZVBhcnR9VDAwOjAwOjAwLjAwMFpgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5EQVRFVElNRToge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSA9PT0gJ25vdycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRpbWVWYWx1ZSA9IHRoaXMudmFsdWUgIT09IG51bGwgPyBEYXRlRm5zVXRpbHMuZ2V0RGF0ZSh0aGlzLnZhbHVlKSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZERhdGUoZGF0ZVRpbWVWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IGRhdGVUaW1lVmFsdWUudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuTlVNQkVSOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMuZW5hYmxlRnJhY3Rpb25zID8gcGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA6IHBhcnNlSW50KHRoaXMudmFsdWUsIDEwKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuQU1PVU5UOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMuZW5hYmxlRnJhY3Rpb25zID8gcGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA6IHBhcnNlSW50KHRoaXMudmFsdWUsIDEwKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuREVDSU1BTDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBwYXJzZUZsb2F0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5CT09MRUFOOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWUgIT09IG51bGwgJiYgdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkID8gdGhpcy52YWx1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5QRU9QTEU6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5GVU5DVElPTkFMX0dST1VQOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkVXBkYXRlRm9ybVZhbHVlcyh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5vbkZvcm1GaWVsZENoYW5nZWQodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGZpZWxkIHR5cGUgaXMgaW52YWxpZCwgcmVxdWlyZXMgYSB0eXBlIHRvIGJlIGEgYGNvbnRhaW5lcmBcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIGZpZWxkIHR5cGVcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdHlwZSBpcyBhIGBjb250YWluZXJgLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzSW52YWxpZEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdjb250YWluZXInO1xuICAgIH1cblxuICAgIGdldE9wdGlvbk5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uOiBGb3JtRmllbGRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMudmFsdWUpO1xuICAgICAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLm5hbWUgOiBudWxsO1xuICAgIH1cblxuICAgIGhhc09wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgaXNFbXB0eVZhbHVlT3B0aW9uKG9wdGlvbjogRm9ybUZpZWxkT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0VtcHR5VmFsdWUgJiYgb3B0aW9uPy5pZCA9PT0gdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25JZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFVwZGF0ZUZvcm1WYWx1ZXModHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIUZvcm1GaWVsZFR5cGVzLmlzUmVhZE9ubHlUeXBlKHR5cGUpICYmICF0aGlzLmlzSW52YWxpZEZpZWxkVHlwZSh0eXBlKSAmJiAhRm9ybUZpZWxkVHlwZXMuaXNTZWN0aW9uVHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE9wdGlvbnMob3B0aW9uczogRm9ybUZpZWxkT3B0aW9uW10pIHtcbiAgICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHRoaXMuYWRkT3B0aW9uKG9wdGlvbikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkT3B0aW9uKG9wdGlvbjogRm9ybUZpZWxkT3B0aW9uKSB7XG4gICAgICAgIGNvbnN0IGFscmVhZHlFeGlzdHMgPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQ/LmlkID09PSBvcHRpb24/LmlkKTtcbiAgICAgICAgaWYgKCFhbHJlYWR5RXhpc3RzKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVZhbGlkT3B0aW9ucyhvcHRpb25zOiBhbnkpOiBGb3JtRmllbGRPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpID8gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gdGhpcy5pc1ZhbGlkT3B0aW9uKG9wdGlvbikpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZU9wdGlvbnMob3B0aW9uczogYW55LCBvcHRpb25UeXBlOiBGaWVsZE9wdGlvblR5cGUpOiBGb3JtRmllbGRPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiBvcHRpb25UeXBlID09PSAncmVzdCcgPyBbXSA6IHRoaXMucGFyc2VWYWxpZE9wdGlvbnMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkT3B0aW9uKG9wdGlvbjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShvcHRpb24pICYmIG9wdGlvbj8uaWQgJiYgb3B0aW9uPy5uYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNEYXRlRmllbGQoanNvbjogYW55KSB7XG4gICAgICAgIHJldHVybiBqc29uLnBhcmFtcz8uZmllbGQ/LnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEUgfHwganNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EQVRFO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNEYXRlVGltZUZpZWxkKGpzb246IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ganNvbi5wYXJhbXM/LmZpZWxkPy50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EQVRFVElNRSB8fCBqc29uLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEVUSU1FO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDaGVja2JveEZpZWxkKGpzb246IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ganNvbi5wYXJhbXM/LmZpZWxkPy50eXBlID09PSBGb3JtRmllbGRUeXBlcy5CT09MRUFOIHx8IGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuQk9PTEVBTjtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -29,4 +29,4 @@ export class FormOutcomeEvent {
29
29
  this._defaultPrevented = true;
30
30
  }
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLWV2ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS1ldmVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSXpCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksT0FBeUI7UUFWN0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBV3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgRm9ybU91dGNvbWVNb2RlbCB9IGZyb20gJy4vZm9ybS1vdXRjb21lLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1PdXRjb21lRXZlbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX291dGNvbWU6IEZvcm1PdXRjb21lTW9kZWw7XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IG91dGNvbWUoKTogRm9ybU91dGNvbWVNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRjb21lO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKSB7XG4gICAgICAgIHRoaXMuX291dGNvbWUgPSBvdXRjb21lO1xuICAgIH1cblxuICAgIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLWV2ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS1ldmVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksT0FBeUI7UUFWN0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBV3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbiAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1PdXRjb21lTW9kZWwgfSBmcm9tICcuL2Zvcm0tb3V0Y29tZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtT3V0Y29tZUV2ZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX291dGNvbWU6IEZvcm1PdXRjb21lTW9kZWw7XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IG91dGNvbWUoKTogRm9ybU91dGNvbWVNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRjb21lO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKSB7XG4gICAgICAgIHRoaXMuX291dGNvbWUgPSBvdXRjb21lO1xuICAgIH1cblxuICAgIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -35,4 +35,4 @@ export class FormOutcomeModel extends FormWidgetModel {
35
35
  }
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO2FBQzFDLGdCQUFXLEdBQVcsTUFBTSxBQUFqQixDQUFrQixHQUFDLDhCQUE4QjthQUM1RCxvQkFBZSxHQUFXLFVBQVUsQUFBckIsQ0FBc0IsR0FBQyxrQ0FBa0M7YUFDeEUseUJBQW9CLEdBQVcsZUFBZSxBQUExQixDQUEyQixHQUFDLHVDQUF1QztJQVE5RixZQUFZLElBQVMsRUFBRSxJQUFVO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNNUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzVFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1XaWRnZXRNb2RlbCB9IGZyb20gJy4vZm9ybS13aWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1PdXRjb21lTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHN0YXRpYyBTQVZFX0FDVElPTjogc3RyaW5nID0gJ1NBVkUnOyAvLyBBY3Rpdml0aSAnU2F2ZScgYWN0aW9uIG5hbWVcbiAgICBzdGF0aWMgQ09NUExFVEVfQUNUSU9OOiBzdHJpbmcgPSAnQ09NUExFVEUnOyAvLyBBY3Rpdml0aSAnQ29tcGxldGUnIGFjdGlvbiBuYW1lXG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfQUNUSU9OOiBzdHJpbmcgPSAnU1RBUlQgUFJPQ0VTUyc7IC8vIEFjdGl2aXRpICdTdGFydCBQcm9jZXNzJyBhY3Rpb24gbmFtZVxuXG4gICAgaXNTeXN0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBza2lwVmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpc2liaWxpdHlDb25kaXRpb246IFdpZGdldFZpc2liaWxpdHlNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbj86IGFueSkge1xuICAgICAgICBzdXBlcihmb3JtLCBqc29uKTtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5pc1N5c3RlbSA9IGpzb24uaXNTeXN0ZW0gPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNraXBWYWxpZGF0aW9uID0ganNvbi5za2lwVmFsaWRhdGlvbiA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZvcm0gJiYganNvbi5uYW1lID09PSBmb3JtLnNlbGVjdGVkT3V0Y29tZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eUNvbmRpdGlvbiA9IG5ldyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwoanNvbi52aXNpYmlsaXR5Q29uZGl0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO2FBQzFDLGdCQUFXLEdBQVcsTUFBTSxBQUFqQixDQUFrQixHQUFDLDhCQUE4QjthQUM1RCxvQkFBZSxHQUFXLFVBQVUsQUFBckIsQ0FBc0IsR0FBQyxrQ0FBa0M7YUFDeEUseUJBQW9CLEdBQVcsZUFBZSxBQUExQixDQUEyQixHQUFDLHVDQUF1QztJQVE5RixZQUFZLElBQVMsRUFBRSxJQUFVO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNNUIsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM1RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUNsRjtJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgRm9ybVdpZGdldE1vZGVsIH0gZnJvbSAnLi9mb3JtLXdpZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvd2lkZ2V0LXZpc2liaWxpdHkubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRm9ybU91dGNvbWVNb2RlbCBleHRlbmRzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgc3RhdGljIFNBVkVfQUNUSU9OOiBzdHJpbmcgPSAnU0FWRSc7IC8vIEFjdGl2aXRpICdTYXZlJyBhY3Rpb24gbmFtZVxuICAgIHN0YXRpYyBDT01QTEVURV9BQ1RJT046IHN0cmluZyA9ICdDT01QTEVURSc7IC8vIEFjdGl2aXRpICdDb21wbGV0ZScgYWN0aW9uIG5hbWVcbiAgICBzdGF0aWMgU1RBUlRfUFJPQ0VTU19BQ1RJT046IHN0cmluZyA9ICdTVEFSVCBQUk9DRVNTJzsgLy8gQWN0aXZpdGkgJ1N0YXJ0IFByb2Nlc3MnIGFjdGlvbiBuYW1lXG5cbiAgICBpc1N5c3RlbTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHNraXBWYWxpZGF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmlzaWJpbGl0eUNvbmRpdGlvbjogV2lkZ2V0VmlzaWJpbGl0eU1vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoZm9ybTogYW55LCBqc29uPzogYW55KSB7XG4gICAgICAgIHN1cGVyKGZvcm0sIGpzb24pO1xuXG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICB0aGlzLmlzU3lzdGVtID0ganNvbi5pc1N5c3RlbSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2tpcFZhbGlkYXRpb24gPSBqc29uLnNraXBWYWxpZGF0aW9uID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gZm9ybSAmJiBqc29uLm5hbWUgPT09IGZvcm0uc2VsZWN0ZWRPdXRjb21lID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5Q29uZGl0aW9uID0gbmV3IFdpZGdldFZpc2liaWxpdHlNb2RlbChqc29uLnZpc2liaWxpdHlDb25kaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -15,4 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export {};
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4gLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgRm9ybUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Zvcm0tZmllbGQtbWV0YWRhdGEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WYWx1ZXMgZXh0ZW5kcyBGb3JtRmllbGRNZXRhZGF0YSB7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4gLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgRm9ybUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Zvcm0tZmllbGQtbWV0YWRhdGEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WYWx1ZXMgZXh0ZW5kcyBGb3JtRmllbGRNZXRhZGF0YSB7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -15,4 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export {};
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YXJpYWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLXZhcmlhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmFyaWFibGVNb2RlbCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YXJpYWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLXZhcmlhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmFyaWFibGVNb2RlbCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -30,4 +30,4 @@ export class FormWidgetModel {
30
30
  }
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS13aWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE1BQU0sT0FBZ0IsZUFBZTtJQVlqQyxZQUFzQixJQUFTLEVBQUUsSUFBUztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgcmVhZG9ubHkgZmllbGRUeXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRhYjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0eWxlPzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgZm9ybTogYW55O1xuICAgIHJlYWRvbmx5IGpzb246IGFueTtcbiAgICByZWFkb25seSBmaWVsZDogYW55O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbjogYW55KSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgIHRoaXMuanNvbiA9IGpzb247XG5cbiAgICAgICAgaWYgKGpzb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRUeXBlID0ganNvbi5maWVsZFR5cGU7XG4gICAgICAgICAgICB0aGlzLmlkID0ganNvbi5pZDtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IGpzb24ubmFtZTtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IGpzb24udHlwZTtcbiAgICAgICAgICAgIHRoaXMudGFiID0ganNvbi50YWI7XG4gICAgICAgICAgICB0aGlzLmZpZWxkID0ganNvbi5maWVsZDtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1XaWRnZXRNb2RlbENhY2hlPFQgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWw+IHtcbiAgICBba2V5OiBzdHJpbmddOiBUO1xufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS13aWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE1BQU0sT0FBZ0IsZUFBZTtJQVlqQyxZQUFzQixJQUFTLEVBQUUsSUFBUztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMzQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybVdpZGdldE1vZGVsIHtcbiAgICByZWFkb25seSBmaWVsZFR5cGU6IHN0cmluZztcbiAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdGFiOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3R5bGU/OiBzdHJpbmc7XG5cbiAgICByZWFkb25seSBmb3JtOiBhbnk7XG4gICAgcmVhZG9ubHkganNvbjogYW55O1xuICAgIHJlYWRvbmx5IGZpZWxkOiBhbnk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZm9ybTogYW55LCBqc29uOiBhbnkpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgdGhpcy5qc29uID0ganNvbjtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5maWVsZFR5cGUgPSBqc29uLmZpZWxkVHlwZTtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBqc29uLmlkO1xuICAgICAgICAgICAgdGhpcy5uYW1lID0ganNvbi5uYW1lO1xuICAgICAgICAgICAgdGhpcy50eXBlID0ganNvbi50eXBlO1xuICAgICAgICAgICAgdGhpcy50YWIgPSBqc29uLnRhYjtcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSBqc29uLmZpZWxkO1xuICAgICAgICAgICAgdGhpcy5zdHlsZSA9IGpzb24uc3R5bGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVdpZGdldE1vZGVsQ2FjaGU8VCBleHRlbmRzIEZvcm1XaWRnZXRNb2RlbD4ge1xuICAgIFtrZXk6IHN0cmluZ106IFQ7XG59XG4iXX0=