@acorex/platform 18.2.1 → 18.2.2

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 (337) hide show
  1. package/common/lib/app/application.types.d.ts +8 -0
  2. package/common/lib/data/entity-storage-service.d.ts +0 -1
  3. package/common/lib/layout/menu/index.d.ts +0 -1
  4. package/common/lib/layout/menu/menu.provider.d.ts +11 -4
  5. package/common/lib/layout/menu/menu.service.d.ts +8 -2
  6. package/common/lib/layout/menu/menu.types.d.ts +9 -6
  7. package/common/lib/settings/index.d.ts +2 -1
  8. package/common/lib/settings/setting-definition.provider.d.ts +19 -0
  9. package/common/lib/settings/settings.types.d.ts +42 -0
  10. package/common/lib/utils/index.d.ts +0 -1
  11. package/esm2022/common/lib/app/application.types.mjs +4 -4
  12. package/esm2022/common/lib/data/entity-storage-service.mjs +4 -4
  13. package/esm2022/common/lib/layout/menu/index.mjs +1 -2
  14. package/esm2022/common/lib/layout/menu/menu.provider.mjs +105 -24
  15. package/esm2022/common/lib/layout/menu/menu.service.mjs +42 -10
  16. package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
  17. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +2 -1
  18. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +4 -4
  19. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +2 -2
  20. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +2 -2
  21. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +2 -2
  22. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +2 -2
  23. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +22 -22
  24. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +2 -2
  25. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +2 -2
  26. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +2 -2
  27. package/esm2022/common/lib/settings/index.mjs +3 -2
  28. package/esm2022/common/lib/settings/setting-definition.provider.mjs +229 -0
  29. package/esm2022/common/lib/settings/settings.types.mjs +7 -2
  30. package/esm2022/common/lib/utils/index.mjs +1 -2
  31. package/esm2022/common/lib/workflows/common.workflow.mjs +5 -3
  32. package/esm2022/layout/builder/lib/builder/builder.service.mjs +3 -2
  33. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  34. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +7 -5
  35. package/esm2022/layout/builder/lib/builder/widget.types.mjs +8 -4
  36. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +61 -34
  37. package/esm2022/layout/designer/lib/designer/components/breadcrumbs/breadcrumbs.component.mjs +27 -32
  38. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +1 -1
  39. package/esm2022/layout/designer/lib/designer/components/grid-drawer/grid-drawer.component.mjs +2 -2
  40. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +35 -10
  41. package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +23 -23
  42. package/esm2022/layout/designer/lib/designer/components/widget-picker/widget-picker.component.mjs +3 -3
  43. package/esm2022/layout/designer/lib/designer/designer.component.mjs +10 -4
  44. package/esm2022/layout/designer/lib/designer/index.mjs +2 -1
  45. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +5 -6
  46. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +158 -61
  47. package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +1 -1
  48. package/esm2022/layout/designer/lib/designer/shared/generic-commands.types.mjs +52 -0
  49. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +32 -38
  50. package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +3 -3
  51. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +3 -3
  52. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +3 -4
  53. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +18 -14
  54. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +2 -1
  55. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +7 -5
  56. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +10 -4
  57. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +42 -32
  58. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +3 -3
  59. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +1 -2
  60. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +79 -40
  61. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +2 -2
  62. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +2 -2
  63. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +1 -1
  64. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +1 -1
  65. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +6 -5
  66. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +2 -2
  67. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +2 -2
  68. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +2 -2
  69. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +29 -9
  70. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +2 -2
  71. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +3 -3
  72. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +24 -18
  73. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +2 -2
  74. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +3 -3
  75. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +2 -2
  76. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +3 -3
  77. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +2 -4
  78. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +3 -2
  79. package/esm2022/widgets/lib/properties/editors.props.mjs +2 -2
  80. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-designer.component.mjs +2 -2
  81. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +44 -20
  82. package/esm2022/widgets/lib/widgets/editors/contact/popup-component.mjs +1 -1
  83. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +1 -2
  84. package/esm2022/widgets/lib/widgets/editors/link/link-widget-edit.component.mjs +1 -2
  85. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +18 -25
  86. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +4 -3
  87. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +9 -7
  88. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +24 -15
  89. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.mjs +14 -7
  90. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.mjs +3 -3
  91. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.mjs +29 -67
  92. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +32 -17
  93. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +1 -22
  94. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.mjs +3 -3
  95. package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +76 -78
  96. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +9 -9
  97. package/esm2022/widgets/lib/widgets/layout/template/template-picker/template-picker.component.mjs +120 -0
  98. package/esm2022/widgets/lib/widgets/layout/template/template-widget-edit.component.mjs +65 -24
  99. package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +27 -7
  100. package/esm2022/widgets/lib/widgets/layout/template/template.provider.mjs +18 -1
  101. package/fesm2022/acorex-platform-auth.mjs +1 -1
  102. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs → acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs} +2 -3
  103. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs.map → acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs.map} +1 -1
  104. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs → acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs} +2 -3
  105. package/fesm2022/acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs.map +1 -0
  106. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs → acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs} +3 -4
  107. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs.map → acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs.map} +1 -1
  108. package/fesm2022/{acorex-platform-common-change-password.component-Djd4SeNv.mjs → acorex-platform-common-change-password.component-g_GEw3IZ.mjs} +4 -4
  109. package/fesm2022/{acorex-platform-common-change-password.component-Djd4SeNv.mjs.map → acorex-platform-common-change-password.component-g_GEw3IZ.mjs.map} +1 -1
  110. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs → acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs} +2 -3
  111. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs.map → acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs.map} +1 -1
  112. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs → acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs} +3 -4
  113. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs.map +1 -0
  114. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs → acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs} +2 -3
  115. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs.map → acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs.map} +1 -1
  116. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs → acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs} +2 -3
  117. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs.map +1 -0
  118. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs → acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs} +2 -3
  119. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs.map → acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs.map} +1 -1
  120. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs → acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs} +2 -3
  121. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs.map → acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs.map} +1 -1
  122. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs → acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs} +2 -3
  123. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs.map → acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs.map} +1 -1
  124. package/fesm2022/{acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs → acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs} +2 -3
  125. package/fesm2022/acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs.map +1 -0
  126. package/fesm2022/{acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs → acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs} +2 -3
  127. package/fesm2022/{acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs.map → acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs.map} +1 -1
  128. package/fesm2022/{acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs → acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs} +1 -2
  129. package/fesm2022/{acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs.map → acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs.map} +1 -1
  130. package/fesm2022/{acorex-platform-common-file-widget-column.component-GtbElxmS.mjs → acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs} +2 -3
  131. package/fesm2022/acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs.map +1 -0
  132. package/fesm2022/{acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs → acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs} +2 -3
  133. package/fesm2022/{acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs.map → acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs.map} +1 -1
  134. package/fesm2022/{acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs → acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs} +2 -3
  135. package/fesm2022/acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs.map +1 -0
  136. package/fesm2022/{acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs → acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs} +2 -3
  137. package/fesm2022/{acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs.map → acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs.map} +1 -1
  138. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs → acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs} +2 -3
  139. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs.map → acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs.map} +1 -1
  140. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs → acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs} +2 -3
  141. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs.map +1 -0
  142. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs → acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs} +2 -3
  143. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs.map → acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs.map} +1 -1
  144. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs → acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs} +1 -2
  145. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs.map +1 -0
  146. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs → acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs} +2 -3
  147. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs.map +1 -0
  148. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs → acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs} +2 -3
  149. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs.map → acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs.map} +1 -1
  150. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs → acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs} +3 -4
  151. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs.map +1 -0
  152. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs → acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs} +2 -3
  153. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs.map +1 -0
  154. package/fesm2022/{acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs → acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs} +2 -3
  155. package/fesm2022/acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs.map +1 -0
  156. package/fesm2022/{acorex-platform-common-map-widget-view.component-Deos8gVy.mjs → acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs} +2 -3
  157. package/fesm2022/acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs.map +1 -0
  158. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs → acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs} +2 -3
  159. package/fesm2022/acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs.map +1 -0
  160. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs → acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs} +2 -3
  161. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs.map +1 -0
  162. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs → acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs} +2 -3
  163. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs.map → acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs.map} +1 -1
  164. package/fesm2022/{acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs → acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs} +2 -3
  165. package/fesm2022/acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs.map +1 -0
  166. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs → acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs} +3 -4
  167. package/fesm2022/acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs.map +1 -0
  168. package/fesm2022/{acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs → acorex-platform-common-number-widget-view.component-ROrdklif.mjs} +2 -3
  169. package/fesm2022/acorex-platform-common-number-widget-view.component-ROrdklif.mjs.map +1 -0
  170. package/fesm2022/{acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs → acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs} +2 -3
  171. package/fesm2022/{acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs.map → acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs.map} +1 -1
  172. package/fesm2022/{acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs → acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs} +2 -3
  173. package/fesm2022/acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs.map +1 -0
  174. package/fesm2022/{acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs → acorex-platform-common-password-widget-view.component-rpjAeimk.mjs} +3 -4
  175. package/fesm2022/{acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs.map → acorex-platform-common-password-widget-view.component-rpjAeimk.mjs.map} +1 -1
  176. package/fesm2022/{acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs → acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs} +2 -3
  177. package/fesm2022/{acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs.map → acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs.map} +1 -1
  178. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs → acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs} +2 -3
  179. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs.map → acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs.map} +1 -1
  180. package/fesm2022/{acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs → acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs} +2 -3
  181. package/fesm2022/{acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs.map → acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs.map} +1 -1
  182. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs → acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs} +2 -3
  183. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs.map → acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs.map} +1 -1
  184. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs → acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs} +2 -3
  185. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs.map +1 -0
  186. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs → acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs} +2 -3
  187. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs.map +1 -0
  188. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs → acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs} +2 -3
  189. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs.map → acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs.map} +1 -1
  190. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs → acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs} +3 -4
  191. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs.map +1 -0
  192. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs → acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs} +2 -3
  193. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs.map +1 -0
  194. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs → acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs} +2 -3
  195. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs.map +1 -0
  196. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs → acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs} +2 -3
  197. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs.map} +1 -1
  198. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs → acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs} +2 -3
  199. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs.map +1 -0
  200. package/fesm2022/{acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs → acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs} +3 -4
  201. package/fesm2022/acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs.map +1 -0
  202. package/fesm2022/{acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs → acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs} +2 -3
  203. package/fesm2022/{acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs.map → acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs.map} +1 -1
  204. package/fesm2022/{acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs → acorex-platform-common-text-widget-edit.component-feJTTnye.mjs} +2 -3
  205. package/fesm2022/acorex-platform-common-text-widget-edit.component-feJTTnye.mjs.map +1 -0
  206. package/fesm2022/{acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs → acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs} +2 -3
  207. package/fesm2022/{acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs.map → acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs.map} +1 -1
  208. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs → acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs} +2 -3
  209. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs.map → acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs.map} +1 -1
  210. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs → acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs} +2 -3
  211. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs.map +1 -0
  212. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs → acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs} +2 -3
  213. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs.map → acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs.map} +1 -1
  214. package/fesm2022/acorex-platform-common.mjs +489 -216
  215. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  216. package/fesm2022/acorex-platform-layout-builder.mjs +15 -7
  217. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  218. package/fesm2022/acorex-platform-layout-designer.mjs +397 -207
  219. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  220. package/fesm2022/acorex-platform-layout-entity.mjs +158 -100
  221. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  222. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs → acorex-platform-layouts-entity-create-view.component-JsGlDx_S.mjs} +3 -3
  223. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs.map → acorex-platform-layouts-entity-create-view.component-JsGlDx_S.mjs.map} +1 -1
  224. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs → acorex-platform-layouts-entity-import-view.component-9FK_Iro9.mjs} +2 -2
  225. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map → acorex-platform-layouts-entity-import-view.component-9FK_Iro9.mjs.map} +1 -1
  226. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs → acorex-platform-layouts-entity-modify-view.component-CNbc8ewu.mjs} +3 -3
  227. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs.map → acorex-platform-layouts-entity-modify-view.component-CNbc8ewu.mjs.map} +1 -1
  228. package/fesm2022/acorex-platform-layouts.mjs +14 -13
  229. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  230. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs} +4 -4
  231. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs.map} +1 -1
  232. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs +306 -0
  233. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs.map +1 -0
  234. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs → acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs} +5 -5
  235. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs.map} +1 -1
  236. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs → acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs} +7 -7
  237. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs.map +1 -0
  238. package/fesm2022/acorex-platform-themes-default.mjs +43 -24
  239. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  240. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs → acorex-platform-widgets-button-widget-designer.component-CPFA79Gx.mjs} +2 -2
  241. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs.map → acorex-platform-widgets-button-widget-designer.component-CPFA79Gx.mjs.map} +1 -1
  242. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs → acorex-platform-widgets-checkbox-widget-column.component-MInF2GVN.mjs} +2 -2
  243. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs.map → acorex-platform-widgets-checkbox-widget-column.component-MInF2GVN.mjs.map} +1 -1
  244. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs → acorex-platform-widgets-checkbox-widget-designer.component-B7Qv2aYx.mjs} +3 -3
  245. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-B7Qv2aYx.mjs.map} +1 -1
  246. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs → acorex-platform-widgets-checkbox-widget-view.component-DP4kITs-.mjs} +2 -2
  247. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-DP4kITs-.mjs.map} +1 -1
  248. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs → acorex-platform-widgets-color-box-widget-designer.component-uQBHAspe.mjs} +2 -2
  249. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs.map → acorex-platform-widgets-color-box-widget-designer.component-uQBHAspe.mjs.map} +1 -1
  250. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs → acorex-platform-widgets-contact-widget-filter.component-DnQZon-E.mjs} +2 -2
  251. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs.map → acorex-platform-widgets-contact-widget-filter.component-DnQZon-E.mjs.map} +1 -1
  252. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs → acorex-platform-widgets-page-widget-designer.component-DOulAanE.mjs} +76 -78
  253. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DOulAanE.mjs.map +1 -0
  254. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs → acorex-platform-widgets-rich-text-popup.component-C8KmObPV.mjs} +2 -2
  255. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map → acorex-platform-widgets-rich-text-popup.component-C8KmObPV.mjs.map} +1 -1
  256. package/fesm2022/acorex-platform-widgets-template-picker.component-DPlvwgbu.mjs +123 -0
  257. package/fesm2022/acorex-platform-widgets-template-picker.component-DPlvwgbu.mjs.map +1 -0
  258. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs +135 -0
  259. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs.map +1 -0
  260. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs → acorex-platform-widgets-text-block-widget-designer.component-BE6goaZc.mjs} +2 -2
  261. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs.map → acorex-platform-widgets-text-block-widget-designer.component-BE6goaZc.mjs.map} +1 -1
  262. package/fesm2022/acorex-platform-widgets.mjs +255 -239
  263. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  264. package/fesm2022/acorex-platform-workflow.mjs +1 -1
  265. package/layout/builder/lib/builder/widget.types.d.ts +3 -1
  266. package/layout/designer/lib/designer/components/board/board.component.d.ts +8 -0
  267. package/layout/designer/lib/designer/designer.component.d.ts +3 -1
  268. package/layout/designer/lib/designer/index.d.ts +1 -0
  269. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +10 -6
  270. package/layout/designer/lib/designer/shared/designer.service.d.ts +18 -3
  271. package/layout/designer/lib/designer/shared/generic-commands.types.d.ts +9 -0
  272. package/layout/designer/lib/designer/shared/widget-designer-renderer.directive.d.ts +8 -5
  273. package/layout/designer/lib/preview/preview-viewer.component.d.ts +2 -2
  274. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +2 -2
  275. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +2 -1
  276. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -3
  277. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
  278. package/layout/entity/lib/entity.viewmodel.d.ts +5 -3
  279. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +14 -12
  280. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +13 -10
  281. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +0 -1
  282. package/package.json +13 -13
  283. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +4 -1
  284. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.d.ts +1 -1
  285. package/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.d.ts +8 -2
  286. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +3 -6
  287. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +2 -0
  288. package/widgets/lib/widgets/editors/select/select-box-widget-view.component.d.ts +2 -3
  289. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +1 -1
  290. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +1 -1
  291. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.d.ts +3 -3
  292. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +1 -2
  293. package/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.d.ts +1 -1
  294. package/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.d.ts +1 -1
  295. package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +8 -9
  296. package/widgets/lib/widgets/layout/template/template-picker/template-picker.component.d.ts +30 -0
  297. package/widgets/lib/widgets/layout/template/template-widget-edit.component.d.ts +3 -0
  298. package/widgets/lib/widgets/layout/template/template-widget-view.component.d.ts +1 -0
  299. package/widgets/lib/widgets/layout/template/template.provider.d.ts +3 -0
  300. package/common/lib/layout/menu/menu.loader.d.ts +0 -17
  301. package/common/lib/utils/router-util.service.d.ts +0 -12
  302. package/esm2022/common/lib/layout/menu/menu.loader.mjs +0 -39
  303. package/esm2022/common/lib/utils/router-util.service.mjs +0 -43
  304. package/fesm2022/acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs.map +0 -1
  305. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs.map +0 -1
  306. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs.map +0 -1
  307. package/fesm2022/acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs.map +0 -1
  308. package/fesm2022/acorex-platform-common-file-widget-column.component-GtbElxmS.mjs.map +0 -1
  309. package/fesm2022/acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs.map +0 -1
  310. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs.map +0 -1
  311. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs.map +0 -1
  312. package/fesm2022/acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs.map +0 -1
  313. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs.map +0 -1
  314. package/fesm2022/acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs.map +0 -1
  315. package/fesm2022/acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs.map +0 -1
  316. package/fesm2022/acorex-platform-common-map-widget-view.component-Deos8gVy.mjs.map +0 -1
  317. package/fesm2022/acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs.map +0 -1
  318. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs.map +0 -1
  319. package/fesm2022/acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs.map +0 -1
  320. package/fesm2022/acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs.map +0 -1
  321. package/fesm2022/acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs.map +0 -1
  322. package/fesm2022/acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs.map +0 -1
  323. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs.map +0 -1
  324. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs.map +0 -1
  325. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs.map +0 -1
  326. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs.map +0 -1
  327. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs.map +0 -1
  328. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs.map +0 -1
  329. package/fesm2022/acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs.map +0 -1
  330. package/fesm2022/acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs.map +0 -1
  331. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs.map +0 -1
  332. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs +0 -299
  333. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs.map +0 -1
  334. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs.map +0 -1
  335. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs.map +0 -1
  336. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs +0 -96
  337. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs.map +0 -1
@@ -89,7 +89,7 @@ export class AXPEntityCreateViewComponent extends AXBasePageComponent {
89
89
  }
90
90
  }
91
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityCreateViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\"\n [stickyParent]=\"'.ax-popup-body-container'\"\n >\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count= $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n >\n {{ index + 1 }}\n </span>\n <p\n class=\"ax-font-normal\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\"\n >\n {{ section.title }}\n </p>\n\n <i\n *ngIf=\"!last\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"\n ></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field\n class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{ prop.layout?.positions?.default?.span || 12 }} lg:ax-col-start-{{\n prop.layout?.positions?.default?.start || 1\n }} ax-flex ax-flex-col\"\n >\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\" [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" [text]=\"'save' | translate | async\" look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' & ' + ('create-new' | translate | async)\" (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'continue' | translate | async\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i6.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i8.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "translate" }, { kind: "directive", type:
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityCreateViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\"\n [stickyParent]=\"'.ax-popup-body-container'\"\n >\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count= $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n >\n {{ index + 1 }}\n </span>\n <p\n class=\"ax-font-normal\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\"\n >\n {{ section.title }}\n </p>\n\n <i\n *ngIf=\"!last\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"\n ></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field\n class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{ prop.layout?.positions?.default?.span || 12 }} lg:ax-col-start-{{\n prop.layout?.positions?.default?.start || 1\n }} ax-flex ax-flex-col\"\n >\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\" [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" [text]=\"'save' | translate | async\" look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' & ' + ('create-new' | translate | async)\" (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'continue' | translate | async\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i6.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i8.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "translate" }, { kind: "directive", type:
93
93
  //
94
94
  AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
95
95
  }
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
116
116
  AXPStickyDirective,
117
117
  ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\"\n [stickyParent]=\"'.ax-popup-body-container'\"\n >\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count= $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n >\n {{ index + 1 }}\n </span>\n <p\n class=\"ax-font-normal\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\"\n >\n {{ section.title }}\n </p>\n\n <i\n *ngIf=\"!last\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"\n ></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field\n class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{ prop.layout?.positions?.default?.span || 12 }} lg:ax-col-start-{{\n prop.layout?.positions?.default?.start || 1\n }} ax-flex ax-flex-col\"\n >\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\" [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" [text]=\"'save' | translate | async\" look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' & ' + ('create-new' | translate | async)\" (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'continue' | translate | async\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n" }]
118
118
  }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1jcmVhdGUtdmlldy9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7QUEyQi9ELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBbUI7SUF6QnJFOztRQTRCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsa0JBQWEsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBMkRsRTtJQXpEVyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVTLEtBQUssQ0FBQyxlQUFlO1FBQzdCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFxQjtRQUNuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXFCO1FBQ25ELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDeEQsSUFBSSxDQUFDO29CQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ25FLElBQUksTUFBTSxFQUFFLENBQUM7d0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDdkYsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsQ0FBQztnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMscUJBQXFCLENBQUMsSUFBcUI7UUFDekQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQztvQkFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNuRSxJQUFJLE1BQU0sRUFBRSxDQUFDO3dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUNuRSxDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixDQUFDO2dCQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7Z0JBQ3JDLE9BQU8sRUFBRTtvQkFDUCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDakMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUk7aUJBQ2hDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBOURVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLCtGQ2hEekMsNnZJQXdGQSwyQ0Q5REksWUFBWSx1TEFDWixXQUFXLDhCQUNYLFlBQVksMFNBQ1osaUJBQWlCLHNQQUVqQixjQUFjLDh2QkFDZCxjQUFjLDhCQUNkLGVBQWUsOEtBQ2YsWUFBWSw4QkFDWixlQUFlLDBLQUNmLGVBQWUsOEJBQ2Ysa0JBQWtCLDhCQUNsQixhQUFhLGdLQUNiLGdCQUFnQiw4QkFDaEIsc0JBQXNCLHdUQUN0QixtQkFBbUI7Z0JBQ25CLEVBQUU7Z0JBQ0Ysa0JBQWtCOzsyRkFLVCw0QkFBNEI7a0JBekJ4QyxTQUFTOzhCQUVDO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixrQkFBa0I7cUJBQ25CLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q29uZmlnLCBBWFBTY2hlbWFNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgV3JpdGFibGVTaWduYWwsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUEVudGl0eUNyZWF0ZVZpZXdMb2FkZXIgfSBmcm9tICcuL2VudGl0eS1jcmVhdGUtdmlldy5jb25maWcnO1xuXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFBTY2hlbWFNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYVmFsaWRhdGlvbk1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgbG9hZGVyITogQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlcjtcbiAgcHJvdGVjdGVkIGVudGl0eSE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBzdWJtaXRMb2FkaW5nOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUJhY2tDbGljaygpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWRlci5iYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZW50aXR5LmFjdGlvbnM/LlsnY3JlYXRlJ10ub3B0aW9ucztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBvcHRpb25zPy5yZWRpcmVjdCA/PyB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1taW4taC1bMjV2aF1cIj5cbiAgQGlmKChsb2FkZXIuaGFzU2VjdGlvbnMkIHwgYXN5bmMpKSB7XG4gIDxvbFxuICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtdy1mdWxsIGF4LXNwYWNlLXgtMiBheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtY2VudGVyIGF4LXRleHQtZ3JheS01MDAgYXgtYmctd2hpdGUgZGFyazpheC10ZXh0LWdyYXktNDAwIHNtOmF4LXRleHQtYmFzZSBheC1wLTQgc206YXgtc3BhY2UteC00IHJ0bDpheC1zcGFjZS14LXJldmVyc2UgYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotMTBcIlxuICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtZHJvcC1zaGFkb3ctbGcnXCJcbiAgICBbc3RpY2t5UGFyZW50XT1cIicuYXgtcG9wdXAtYm9keS1jb250YWluZXInXCJcbiAgPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb25zJCB8IGFzeW5jKTsgdHJhY2sgc2VjdGlvbi5uYW1lO2xldCBpbmRleCA9ICRpbmRleDtsZXQgbGFzdCA9ICRsYXN0O2xldCBjb3VudD0gJGNvdW50KSB7XG4gICAgPGxpIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtdy01IGF4LWgtNSBheC1tZS0yIGF4LXRleHQteHMgYXgtdGV4dC13aGl0ZSBheC1iZy1uZXV0cmFsLTUwMCBheC1yb3VuZGVkLWZ1bGwgYXgtc2hyaW5rLTBcIlxuICAgICAgICBbY2xhc3MuIWF4LWJnLXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtYmctc3VjY2Vzcy01MDBdPVwiaW5kZXggPCAoKGxvYWRlci5jdXJyZW50SW5kZXgkIHwgYXN5bmMpIHx8IDApXCJcbiAgICAgID5cbiAgICAgICAge3sgaW5kZXggKyAxIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cImF4LWZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBbY2xhc3MuIWF4LWZvbnQtc2VtaWJvbGRdPVwiKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKSA9PSBzZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTUwMCBmYS1zb2xpZCBmYS1jaGV2cm9ucy1yaWdodCBheC1tcy0yIHNtOmF4LW1zLTQgcnRsOmF4LXJvdGF0ZS0xODBcIlxuICAgICAgPjwvaT5cbiAgICA8L2xpPlxuICAgIH1cbiAgPC9vbD5cbiAgfVxuXG4gIDxheC1mb3JtIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC1wLTRcIiAjZm9ybSBbbWVzc2FnZVN0eWxlXT1cIidib3R0b20nXCIgW3VwZGF0ZU9uXT1cIidibHVyJ1wiPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lOykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LXBiLTRcIj5cbiAgICAgIEBpZigoKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKT8uc2VjdGlvbnM/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1wYi00XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1ib2xkIGF4LXRleHQtMnhsXCI+e3sgc2VjdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgQGlmKHNlY3Rpb24uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LXNtIGF4LXRleHQtZ3JheS01MDBcIj57eyBzZWN0aW9uLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNCBheC1weS0yIGZpcnN0OmF4LXB0LTAgbGFzdDpheC1wYi0wXCI+XG4gICAgICAgIEBmb3IobmFtZSBvZiBzZWN0aW9uLnByb3BlcnRpZXM7IHRyYWNrIG5hbWUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlci5nZXRQcm9wKG5hbWUpIGFzIHByb3BcIj5cbiAgICAgICAgICA8IS0tIGxnOmF4LWNvbC1zcGFuLTYgLS0+XG4gICAgICAgICAgPCEtLSBsZzpheC1jb2wtc3RhcnQtMSAtLT5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1jb2wtc3RhcnQtMSBsZzpheC1jb2wtc3Bhbi17eyBwcm9wLmxheW91dD8ucG9zaXRpb25zPy5kZWZhdWx0Py5zcGFuIHx8IDEyIH19ICBsZzpheC1jb2wtc3RhcnQte3tcbiAgICAgICAgICAgICAgcHJvcC5sYXlvdXQ/LnBvc2l0aW9ucz8uZGVmYXVsdD8uc3RhcnQgfHwgMVxuICAgICAgICAgICAgfX0gYXgtZmxleCBheC1mbGV4LWNvbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImxvYWRlci5pc1JlcXVpcmVkKG5hbWUpXCI+e3sgcHJvcC50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW3Byb3BdPVwicHJvcFwiIFttb2RlXT1cIidlZGl0J1wiIFtjb250ZXh0XT1cImxvYWRlci5kYXRhXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9heC1mb3JtPlxuICA8YXgtZm9vdGVyPlxuICAgIDxheC1wcmVmaXg+IDwvYXgtcHJlZml4PlxuICAgIDxheC1zdWZmaXg+XG4gICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSAmJiAhKGxvYWRlci5pc0ZpcnN0JHwgYXN5bmMpKSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQmFja1wiIChvbkNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiBbdGV4dF09XCInY2FuY2VsJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYoKGxvYWRlci5pc0xhc3QkIHwgYXN5bmMpKSB7XG4gICAgICA8YXgtZHJvcGRvd24tYnV0dG9uIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJzb2xpZFwiIChvbkNsaWNrKT1cImhhbmRsZVNhdmVDbGljayhmb3JtKVwiPlxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cInN1Ym1pdExvYWRpbmcoKVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIignc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luYykgKyAnICYgJyArICgnY3JlYXRlLW5ldycgfCB0cmFuc2xhdGUgfCBhc3luYylcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQW5kTmV3Q2xpY2soZm9ybSlcIj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIidjb250aW51ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZU5leHRDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj5cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1jcmVhdGUtdmlldy9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFP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O3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixrQkFBa0I7cUJBQ25CLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q29uZmlnLCBBWFBTY2hlbWFNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgV3JpdGFibGVTaWduYWwsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUEVudGl0eUNyZWF0ZVZpZXdMb2FkZXIgfSBmcm9tICcuL2VudGl0eS1jcmVhdGUtdmlldy5jb25maWcnO1xuXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFBTY2hlbWFNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYVmFsaWRhdGlvbk1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgbG9hZGVyITogQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlcjtcbiAgcHJvdGVjdGVkIGVudGl0eSE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBzdWJtaXRMb2FkaW5nOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUJhY2tDbGljaygpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWRlci5iYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZW50aXR5LmFjdGlvbnM/LlsnY3JlYXRlJ10ub3B0aW9ucztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBvcHRpb25zPy5yZWRpcmVjdCA/PyB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1taW4taC1bMjV2aF1cIj5cbiAgQGlmKChsb2FkZXIuaGFzU2VjdGlvbnMkIHwgYXN5bmMpKSB7XG4gIDxvbFxuICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtdy1mdWxsIGF4LXNwYWNlLXgtMiBheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtY2VudGVyIGF4LXRleHQtZ3JheS01MDAgYXgtYmctd2hpdGUgZGFyazpheC10ZXh0LWdyYXktNDAwIHNtOmF4LXRleHQtYmFzZSBheC1wLTQgc206YXgtc3BhY2UteC00IHJ0bDpheC1zcGFjZS14LXJldmVyc2UgYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotMTBcIlxuICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtZHJvcC1zaGFkb3ctbGcnXCJcbiAgICBbc3RpY2t5UGFyZW50XT1cIicuYXgtcG9wdXAtYm9keS1jb250YWluZXInXCJcbiAgPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb25zJCB8IGFzeW5jKTsgdHJhY2sgc2VjdGlvbi5uYW1lO2xldCBpbmRleCA9ICRpbmRleDtsZXQgbGFzdCA9ICRsYXN0O2xldCBjb3VudD0gJGNvdW50KSB7XG4gICAgPGxpIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtdy01IGF4LWgtNSBheC1tZS0yIGF4LXRleHQteHMgYXgtdGV4dC13aGl0ZSBheC1iZy1uZXV0cmFsLTUwMCBheC1yb3VuZGVkLWZ1bGwgYXgtc2hyaW5rLTBcIlxuICAgICAgICBbY2xhc3MuIWF4LWJnLXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtYmctc3VjY2Vzcy01MDBdPVwiaW5kZXggPCAoKGxvYWRlci5jdXJyZW50SW5kZXgkIHwgYXN5bmMpIHx8IDApXCJcbiAgICAgID5cbiAgICAgICAge3sgaW5kZXggKyAxIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cImF4LWZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBbY2xhc3MuIWF4LWZvbnQtc2VtaWJvbGRdPVwiKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKSA9PSBzZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTUwMCBmYS1zb2xpZCBmYS1jaGV2cm9ucy1yaWdodCBheC1tcy0yIHNtOmF4LW1zLTQgcnRsOmF4LXJvdGF0ZS0xODBcIlxuICAgICAgPjwvaT5cbiAgICA8L2xpPlxuICAgIH1cbiAgPC9vbD5cbiAgfVxuXG4gIDxheC1mb3JtIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC1wLTRcIiAjZm9ybSBbbWVzc2FnZVN0eWxlXT1cIidib3R0b20nXCIgW3VwZGF0ZU9uXT1cIidibHVyJ1wiPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lOykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LXBiLTRcIj5cbiAgICAgIEBpZigoKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKT8uc2VjdGlvbnM/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1wYi00XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1ib2xkIGF4LXRleHQtMnhsXCI+e3sgc2VjdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgQGlmKHNlY3Rpb24uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LXNtIGF4LXRleHQtZ3JheS01MDBcIj57eyBzZWN0aW9uLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNCBheC1weS0yIGZpcnN0OmF4LXB0LTAgbGFzdDpheC1wYi0wXCI+XG4gICAgICAgIEBmb3IobmFtZSBvZiBzZWN0aW9uLnByb3BlcnRpZXM7IHRyYWNrIG5hbWUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlci5nZXRQcm9wKG5hbWUpIGFzIHByb3BcIj5cbiAgICAgICAgICA8IS0tIGxnOmF4LWNvbC1zcGFuLTYgLS0+XG4gICAgICAgICAgPCEtLSBsZzpheC1jb2wtc3RhcnQtMSAtLT5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1jb2wtc3RhcnQtMSBsZzpheC1jb2wtc3Bhbi17eyBwcm9wLmxheW91dD8ucG9zaXRpb25zPy5kZWZhdWx0Py5zcGFuIHx8IDEyIH19ICBsZzpheC1jb2wtc3RhcnQte3tcbiAgICAgICAgICAgICAgcHJvcC5sYXlvdXQ/LnBvc2l0aW9ucz8uZGVmYXVsdD8uc3RhcnQgfHwgMVxuICAgICAgICAgICAgfX0gYXgtZmxleCBheC1mbGV4LWNvbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImxvYWRlci5pc1JlcXVpcmVkKG5hbWUpXCI+e3sgcHJvcC50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW3Byb3BdPVwicHJvcFwiIFttb2RlXT1cIidlZGl0J1wiIFtjb250ZXh0XT1cImxvYWRlci5kYXRhXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9heC1mb3JtPlxuICA8YXgtZm9vdGVyPlxuICAgIDxheC1wcmVmaXg+IDwvYXgtcHJlZml4PlxuICAgIDxheC1zdWZmaXg+XG4gICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSAmJiAhKGxvYWRlci5pc0ZpcnN0JHwgYXN5bmMpKSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQmFja1wiIChvbkNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiBbdGV4dF09XCInY2FuY2VsJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYoKGxvYWRlci5pc0xhc3QkIHwgYXN5bmMpKSB7XG4gICAgICA8YXgtZHJvcGRvd24tYnV0dG9uIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJzb2xpZFwiIChvbkNsaWNrKT1cImhhbmRsZVNhdmVDbGljayhmb3JtKVwiPlxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cInN1Ym1pdExvYWRpbmcoKVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIignc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luYykgKyAnICYgJyArICgnY3JlYXRlLW5ldycgfCB0cmFuc2xhdGUgfCBhc3luYylcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQW5kTmV3Q2xpY2soZm9ybSlcIj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIidjb250aW51ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZU5leHRDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj5cbiJdfQ==
@@ -139,7 +139,7 @@ export class AXPEntityDetailsViewComponent {
139
139
  }
140
140
  }
141
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityDetailsViewComponent, deps: [{ token: i1.Actions }, { token: i2.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityDetailsViewComponent, isStandalone: true, selector: "ng-component", providers: [AXUnsubscriber], viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\n <ax-tabs look=\"with-line\" location=\"start\">\n @for(tab of (loader.sections$ | async); track tab.name)\n {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\n [disabled]=\"editForm.context\">\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer> -->\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <!-- <ax-button class=\"lg:ax-hidden\">\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-button> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ loader.title }}</div>\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n <a>Home</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n <a>{{ loader.entity.title }}</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\n {{ loader.title }}\n </ax-breadcrumbs-item>\n </ax-breadcrumbs> -->\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @if(canCreate || canUpdate) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\n </ax-prefix>\n </ax-button-item> \n <ax-divider></ax-divider>-->\n @if(canCreate) {\n <ax-button-item [text]=\"('create-new' | translate | async) ?? ' '\"\n class=\"ax-font-semibold ax-text-primary\" (onClick)=\"handleCommandClick('create')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @if(canDelete) {\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\"\n (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Section Tab Items -->\n @if((loader.hasSections$| async)) {\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\n @for(tab of (loader.sections$ | async); track tab.name) {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\"\n class=\"first:!ax-ms-0\"> </ax-tab-item>\n }\n </ax-tabs>\n }\n <!-- Finish Section Tab Items -->\n </div>\n @for(section of (loader.section$ | async)?.sections; track section.name) {\n <ax-form #form>\n <div class=\"ax-card ax-shadow-md\">\n <div class=\"ax-card-header\">\n <p>{{ section.title }}</p>\n @if(canUpdate) {\n <ax-button text=\"{{ 'entity.modify' | translate | async }}\" class=\"ax-sm\" color=\"primary\"\n (onClick)=\"handleSectionEdit(section)\">\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\n <ng-container *ngFor=\"let name of section.properties\">\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\n @if(section.options?.showPropTitle!=false){\n <div\n class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-items-start\">\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\n <!-- @if(prop.description) {\n <i\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\n [axTooltip]=\"prop.description\"\n [axTooltipPlacement]=\"'end'\"\n ></i>\n } -->\n @if(prop.description) {\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\n }\n </div>\n </div>\n }\n <div\n [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\"\n [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ax-form>\n }\n </div>\n </ax-content>\n</ax-drawer-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i7.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i8.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i10.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type:
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityDetailsViewComponent, isStandalone: true, selector: "ng-component", providers: [AXUnsubscriber], viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\n <ax-tabs look=\"with-line\" location=\"start\">\n @for(tab of (loader.sections$ | async); track tab.name)\n {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\n [disabled]=\"editForm.context\">\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer> -->\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <!-- <ax-button class=\"lg:ax-hidden\">\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-button> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ loader.title }}</div>\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n <a>Home</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n <a>{{ loader.entity.title }}</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\n {{ loader.title }}\n </ax-breadcrumbs-item>\n </ax-breadcrumbs> -->\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @if(canCreate || canUpdate) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\n </ax-prefix>\n </ax-button-item> \n <ax-divider></ax-divider>-->\n @if(canCreate) {\n <ax-button-item [text]=\"('create-new' | translate | async) ?? ' '\"\n class=\"ax-font-semibold ax-text-primary\" (onClick)=\"handleCommandClick('create')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @if(canDelete) {\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\"\n (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Section Tab Items -->\n @if((loader.hasSections$| async)) {\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\n @for(tab of (loader.sections$ | async); track tab.name) {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\"\n class=\"first:!ax-ms-0\"> </ax-tab-item>\n }\n </ax-tabs>\n }\n <!-- Finish Section Tab Items -->\n </div>\n @for(section of (loader.section$ | async)?.sections; track section.name) {\n <ax-form #form>\n <div class=\"ax-card ax-shadow-md\">\n <div class=\"ax-card-header\">\n <p>{{ section.title }}</p>\n @if(canUpdate) {\n <ax-button text=\"{{ 'entity.modify' | translate | async }}\" class=\"ax-sm\" color=\"primary\"\n (onClick)=\"handleSectionEdit(section)\">\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\n <ng-container *ngFor=\"let name of section.properties\">\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\n @if(section.options?.showPropTitle!=false){\n <div\n class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-items-start\">\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\n <!-- @if(prop.description) {\n <i\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\n [axTooltip]=\"prop.description\"\n [axTooltipPlacement]=\"'end'\"\n ></i>\n } -->\n @if(prop.description) {\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\n }\n </div>\n </div>\n }\n <div\n [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\"\n [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ax-form>\n }\n </div>\n </ax-content>\n</ax-drawer-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i7.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i8.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i10.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type:
143
143
  //
144
144
  AXPCommonWidgetModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
145
  }
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
176
176
  type: ViewChild,
177
177
  args: ['drawer']
178
178
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0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QUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixxQkFBcUI7d0JBQ3JCLGtCQUFrQjtxQkFDbkIsY0FDVyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLENBQUM7eUdBY04sTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhBY3Rpb25TaGVldE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQnO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEh0bWxFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERpYWxvZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhEcmF3ZXJDb21wb25lbnQsIEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYSW1hZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhTd2l0Y2hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQge1xuICBBWFBBZG1pbkxheW91dFN0YXRlLFxuICBBWFBDb21tb25XaWRnZXRNb2R1bGUsXG4gIEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWcsXG4gIEFYUExheW91dENoaWxkRHJhd2VyQ2xvc2UsXG4gIEFYUExheW91dENoaWxkRHJhd2VyVG9nZ2xlLFxuICBBWFBTY2hlbWFNb2R1bGUsXG4gIEFYUFN0aWNreURpcmVjdGl2ZSxcbiAgZ2V0Q2hpbGREcmF3ZXIsXG4gIGlzU21hbGxTY3JlZW4sXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgVmlld0NoaWxkLCBXcml0YWJsZVNpZ25hbCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWxldGVkRXZlbnQsIEFYUEVudGl0eU1vZGlmeUV2ZW50IH0gZnJvbSAnLi4vd29ya2Zsb3dzJztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXIgfSBmcm9tICcuL2RldGFpbC12aWV3LmNvbmZpZyc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1kZXRhaWxzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWEltYWdlTW9kdWxlLFxuICAgIEFYQWN0aW9uU2hlZXRNb2R1bGUsXG4gICAgQVhTd2l0Y2hNb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYU3dpdGNoTW9kdWxlLFxuICAgIEFYUFNjaGVtYU1vZHVsZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQQ29tbW9uV2lkZ2V0TW9kdWxlLFxuICAgIEFYUFN0aWNreURpcmVjdGl2ZSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0FYVW5zdWJzY3JpYmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQge1xuICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIGFjdGl2ZVJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBsb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybSA9IGluamVjdChBWFBsYXRmb3JtKTtcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBsb2FkZXIgPSB0aGlzLmFjdGl2ZVJvdXRlLnNuYXBzaG90LmRhdGFbJ2xvYWRlciddIGFzIEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXI7XG5cbiAgQFZpZXdDaGlsZCgnZHJhd2VyJykgZHJhd2VyITogQVhEcmF3ZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZTxBWFBBZG1pbkxheW91dFN0YXRlPik7XG4gIHByb3RlY3RlZCBpc1NNID0gdGhpcy5zdG9yZS5zZWxlY3QoaXNTbWFsbFNjcmVlbigpKTtcbiAgcHJvdGVjdGVkIGlzT3BlbiA9IHRoaXMuc3RvcmUuc2VsZWN0KGdldENoaWxkRHJhd2VyKCkpO1xuICAvL1xuICBwcm90ZWN0ZWQgY2FuRGVsZXRlID0gdGhpcy5sb2FkZXIuZW50aXR5LmVkaXRPcHRpb25zPy5kZWxldGUgPz8gdHJ1ZTtcbiAgcHJvdGVjdGVkIGNhbkNyZWF0ZSA9IHRoaXMubG9hZGVyLmVudGl0eS5lZGl0T3B0aW9ucz8uY3JlYXRlID8/IHRydWU7XG4gIHByb3RlY3RlZCBjYW5VcGRhdGUgPSB0aGlzLmxvYWRlci5lbnRpdHkuZWRpdE9wdGlvbnM/LnVwZGF0ZSA/PyB0cnVlO1xuICAvL1xuXG4gIHByb3RlY3RlZCBjb250ZXh0OiBXcml0YWJsZVNpZ25hbDxhbnk+ID0gc2lnbmFsKGNsb25lRGVlcCh0aGlzLmxvYWRlci5kYXRhKSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSB1bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVSb3V0ZS5wYXJhbU1hcC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5zZXRTZWN0aW9uKGMuZ2V0KCdzZWN0aW9uJykgYXMgc3RyaW5nKTtcbiAgICB9KTtcbiAgICAvL1xuICAgIHRoaXMud29ya2Zsb3cuZXZlbnRzJC5waXBlKG9mVHlwZShBWFBFbnRpdHlEZWxldGVkRXZlbnQpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnBheWxvYWQuZW50aXR5ID09IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lICYmXG4gICAgICAgIGV2ZW50LnBheWxvYWQubW9kdWxlID09IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUgJiZcbiAgICAgICAgZXZlbnQucGF5bG9hZC5pZC5pbmNsdWRlcyh0aGlzLmxvYWRlci5kYXRhLmlkKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnc2hvdy1saXN0LXZpZXcnLCB7XG4gICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLndvcmtmbG93LmV2ZW50cyQucGlwZShvZlR5cGUoQVhQRW50aXR5TW9kaWZ5RXZlbnQpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnBheWxvYWQuZW50aXR5ID09IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lICYmXG4gICAgICAgIGV2ZW50LnBheWxvYWQubW9kdWxlID09IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUgJiZcbiAgICAgICAgZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMuaWQgPT09IHRoaXMubG9hZGVyLmRhdGEuaWRcbiAgICAgICkge1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRlci51cGRhdGUoZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMpO1xuICAgICAgICB0aGlzLmNvbnRleHQuc2V0KGNsb25lRGVlcCh0aGlzLmxvYWRlci5kYXRhKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlTWVudUNsaWNrKGU6IEFYSHRtbEV2ZW50LCBpdGVtOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5sb2FkZXIuZW50aXR5O1xuICAgIGNvbnN0IHBhdGggPSBgLyR7dGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZX0vJHtlbnRpdHkubW9kdWxlfS9lLyR7ZW50aXR5Lm5hbWV9LyR7dGhpcy5sb2FkZXIuZGF0YT8uaWR9L3ZpZXcvJHtpdGVtLm5hbWV9YDtcbiAgICB0aGlzLmxvY2F0aW9uLmdvKHBhdGgpO1xuICAgIHRoaXMuc2V0U2VjdGlvbihpdGVtLm5hbWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNvbGxhcHNlZENoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkgdGhpcy5zdG9yZS5kaXNwYXRjaChBWFBMYXlvdXRDaGlsZERyYXdlckNsb3NlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURyYXdlckNsaWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQVhQTGF5b3V0Q2hpbGREcmF3ZXJUb2dnbGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkZXIuc2V0U2VjdGlvbihuYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTZWN0aW9uRWRpdChzZWN0aW9uOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XG4gICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdtb2RpZnktZW50aXR5Jywge1xuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXG4gICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgIGlkOiB0aGlzLmxvYWRlci5kYXRhLmlkLFxuICAgICAgICBzZWN0aW9uOiBzZWN0aW9uLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0FjdGl2ZShpdGVtOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XG4gICAgcmV0dXJuIGl0ZW0ubmFtZSA9PSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDb21tYW5kQ2xpY2soY29tbWFuZDogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2RlbGV0ZS1lbnRpdHknLCB7XG4gICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgICAgaWRzOiBbdGhpcy5sb2FkZXIuZGF0YS5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHtcbiAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xuICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgIG1vZHVsZTogdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSxcbiAgICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iLCI8YXgtZHJhd2VyLWNvbnRhaW5lcj5cbiAgPCEtLSA8YXgtZHJhd2VyICNkcmF3ZXIgbG9jYXRpb249XCJzdGFydFwiIFtjb2xsYXBzZWRdPVwiIShpc09wZW4gfCBhc3luYylcIiBbbW9kZV09XCIgKGlzU00gfCBhc3luYykgPyAnb3ZlcmxheScgOiAncHVzaCdcIlxuICAgICpuZ0lmPVwibG9hZGVyLmhhc1NlY3Rpb25zJCB8IGFzeW5jXCIgKGNvbGxhcHNlZENoYW5nZSk9XCJoYW5kbGVDb2xsYXBzZWRDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxheC1jb250ZW50IGNsYXNzPVwiYXgtYm9yZGVyLWUgYXgtcC02IGF4LXctNjRcIj5cbiAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC14bCBheC1mb250LWJvbGQgYXgtbWItNlwiPnt7bG9hZGVyLnNlY3Rpb25UaXRsZX19PC9wPlxuICAgICAgPGF4LXRhYnMgbG9vaz1cIndpdGgtbGluZVwiIGxvY2F0aW9uPVwic3RhcnRcIj5cbiAgICAgICAgQGZvcih0YWIgb2YgKGxvYWRlci5zZWN0aW9ucyQgfCBhc3luYyk7IHRyYWNrIHRhYi5uYW1lKVxuICAgICAgICB7XG4gICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJ0YWIudGl0bGVcIiBbYWN0aXZlXT1cImlzQWN0aXZlKHRhYilcIiAob25DbGljayk9XCJoYW5kbGVNZW51Q2xpY2soJGV2ZW50LHRhYilcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJlZGl0Rm9ybS5jb250ZXh0XCI+XG4gICAgICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgICAgIH1cbiAgICAgIDwvYXgtdGFicz5cbiAgICA8L2F4LWNvbnRlbnQ+XG4gIDwvYXgtZHJhd2VyPiAtLT5cbiAgPGF4LWNvbnRlbnQgI2NvbnRlbnQgY2xhc3M9XCJheC1vdmVyZmxvdy14LWhpZGRlblwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1taW4taC1mdWxsIGF4LXB4LTQgYXgtcGItNCBtZDpheC1weC02IGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWIgbWQ6YXgtYm9yZGVyLTAgbWQ6YXgtYmctZGVmYXVsdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcHQtNCBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMCBheC10cmFuc2l0aW9uLWFsbFwiICNzdGlja3k9XCJheHBTdGlja3lcIlxuICAgICAgICBbYXhwU3RpY2t5XT1cIidheC1iZy1zdXJmYWNlIGF4LXB4LTYgYXgtcHktMyAtYXgtbXgtNiBheC1zaGFkb3cteGwnXCIgW3N0aWNreVBhcmVudF09XCJjb250ZW50LmdldEhvc3RFbGVtZW50KClcIj5cbiAgICAgICAgPCEtLS0tLS0tLSBCZWdpbiBUb29sYmFyICAtLS0tLS0tLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDwhLS0tLS0tLS0gQmVnaW4gVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0xIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPCEtLSA8YXgtYnV0dG9uIGNsYXNzPVwibGc6YXgtaGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1sZWZ0XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24+IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQteGwgbWQ6YXgtdGV4dC0yeGwgYXgtZm9udC1ib2xkXCI+e3sgbG9hZGVyLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwhLS0gPGF4LWJyZWFkY3J1bWJzIGNsYXNzPVwiY2hpbGQ6YXgtZm9udC1ub3JtYWwgY2hpbGQ6YXgtdGV4dC1uZXV0cmFsLTQwMFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1yaWdodCBheC10ZXh0LXhzIGF4LW14LTJcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8YXgtYnJlYWRjcnVtYnMtaXRlbT5cbiAgICAgICAgICAgICAgICAgIDxhPkhvbWU8L2E+XG4gICAgICAgICAgICAgICAgPC9heC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICAgIDxheC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICAgICAgPGE+e3sgbG9hZGVyLmVudGl0eS50aXRsZSB9fTwvYT5cbiAgICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0gW2FjdGl2ZV09XCJ0cnVlXCIgY2xhc3M9XCIhYXgtZm9udC1zZW1pYm9sZCAhYXgtdGV4dC1uZXV0cmFsLTYwMFwiPlxuICAgICAgICAgICAgICAgICAge3sgbG9hZGVyLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPC9heC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzPiAtLT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0tLS0tLS0gRmluaXNoIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgICA8IS0tIEJlZ2luIEFjdGlvbiBNZW51ICAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIj5cbiAgICAgICAgICAgIEBpZihjYW5DcmVhdGUgfHwgY2FuVXBkYXRlKSB7XG4gICAgICAgICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIihpc1NNIHwgYXN5bmMpID8gbnVsbCA6ICdBY3Rpb25zJ1wiIGNvbG9yPVwiZ2hvc3RcIj5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgPCEtLSA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIlNoYXJlXCIgY2xhc3M9XCJheC1mb250LXNlbWlib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXNoYXJlXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPiBcbiAgICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj4tLT5cbiAgICAgICAgICAgICAgICAgIEBpZihjYW5DcmVhdGUpIHtcbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbdGV4dF09XCIoJ2NyZWF0ZS1uZXcnIHwgdHJhbnNsYXRlIHwgYXN5bmMpID8/ICcgJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXByaW1hcnlcIiAob25DbGljayk9XCJoYW5kbGVDb21tYW5kQ2xpY2soJ2NyZWF0ZScpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLWFkZFwiPiA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgICAgIH0gQGlmKGNhbkRlbGV0ZSkge1xuICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJEZWxldGVcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDb21tYW5kQ2xpY2soJ2RlbGV0ZScpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXRyYXNoXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gRmluaXNoIEFjdGlvbiBNZW51ICAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0tLS0gRmluaXNoIFRvb2xiYXIgIC0tLS0tPlxuICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgPCEtLSBCZWdpbiBTZWN0aW9uIFRhYiBJdGVtcyAgLS0+XG4gICAgICAgIEBpZigobG9hZGVyLmhhc1NlY3Rpb25zJHwgYXN5bmMpKSB7XG4gICAgICAgIDxheC10YWJzIGxvb2s9XCJ3aXRoLWxpbmVcIiBsb2NhdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiYXgtbXQtMlwiPlxuICAgICAgICAgIEBmb3IodGFiIG9mIChsb2FkZXIuc2VjdGlvbnMkIHwgYXN5bmMpOyB0cmFjayB0YWIubmFtZSkge1xuICAgICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJ0YWIudGl0bGVcIiBbYWN0aXZlXT1cImlzQWN0aXZlKHRhYilcIiAob25DbGljayk9XCJoYW5kbGVNZW51Q2xpY2soJGV2ZW50LCB0YWIpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmlyc3Q6IWF4LW1zLTBcIj4gPC9heC10YWItaXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYXgtdGFicz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZpbmlzaCBTZWN0aW9uIFRhYiBJdGVtcyAgLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lKSB7XG4gICAgICA8YXgtZm9ybSAjZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQgYXgtc2hhZG93LW1kXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8cD57eyBzZWN0aW9uLnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgQGlmKGNhblVwZGF0ZSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwie3sgJ2VudGl0eS5tb2RpZnknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cIiBjbGFzcz1cImF4LXNtXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlU2VjdGlvbkVkaXQoc2VjdGlvbilcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wZW5cIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtYm9keSBheC1kaXZpZGUteSBheC1kaXZpZGUtZ3JheS0xMDAgZGFyazpheC1kaXZpZGUtZ3JheS03MDAgIWF4LWdhcC0wXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBuYW1lIG9mIHNlY3Rpb24ucHJvcGVydGllc1wiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVyLmdldFByb3AobmFtZSkgYXMgcHJvcFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIG1kOmF4LWdyaWQtY29scy0xMiBheC1nYXAtMiBheC1weS00IGZpcnN0OmF4LXB0LTAgbGFzdDpheC1wYi0wXCI+XG4gICAgICAgICAgICAgICAgICBAaWYoc2VjdGlvbi5vcHRpb25zPy5zaG93UHJvcFRpdGxlIT1mYWxzZSl7XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXNwYW4tMTIgbWQ6YXgtY29sLXNwYW4tMyBsZzpheC1jb2wtc3Bhbi0yIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIG1kOmF4LWl0ZW1zLXN0YXJ0IGF4LWp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IHByb3AudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBAaWYocHJvcC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1pbmZvIGZhLXNtIGF4LXRleHQtbmV1dHJhbC01MDAgZGFyazpheC10ZXh0LW5ldXRyYWwtNDAwIGF4LWN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtheFRvb2x0aXBdPVwicHJvcC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXhUb29sdGlwUGxhY2VtZW50XT1cIidlbmQnXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIH0gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgQGlmKHByb3AuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC01MDAgYXgtdGV4dC14c1wiPnt7IHByb3AuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwic2VjdGlvbi5vcHRpb25zPy5zaG93UHJvcFRpdGxlID09IGZhbHNlID8gJ2F4LWNvbC1zcGFuLTEyJyA6ICdheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi05IGxnOmF4LWNvbC1zcGFuLTEwJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW2NvbnRleHRdPVwiY29udGV4dCgpXCIgW3Byb3BdPVwicHJvcFwiXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ3ZpZXcnXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1mb3JtPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2F4LWNvbnRlbnQ+XG48L2F4LWRyYXdlci1jb250YWluZXI+Il19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0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QUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixxQkFBcUI7d0JBQ3JCLGtCQUFrQjtxQkFDbkIsY0FDVyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLENBQUM7eUdBY04sTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhBY3Rpb25TaGVldE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQnO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEh0bWxFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERpYWxvZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhEcmF3ZXJDb21wb25lbnQsIEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYSW1hZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhTd2l0Y2hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQge1xuICBBWFBBZG1pbkxheW91dFN0YXRlLFxuICBBWFBDb21tb25XaWRnZXRNb2R1bGUsXG4gIEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWcsXG4gIEFYUExheW91dENoaWxkRHJhd2VyQ2xvc2UsXG4gIEFYUExheW91dENoaWxkRHJhd2VyVG9nZ2xlLFxuICBBWFBTY2hlbWFNb2R1bGUsXG4gIEFYUFN0aWNreURpcmVjdGl2ZSxcbiAgZ2V0Q2hpbGREcmF3ZXIsXG4gIGlzU21hbGxTY3JlZW4sXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgVmlld0NoaWxkLCBXcml0YWJsZVNpZ25hbCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWxldGVkRXZlbnQsIEFYUEVudGl0eU1vZGlmeUV2ZW50IH0gZnJvbSAnLi4vd29ya2Zsb3dzJztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXIgfSBmcm9tICcuL2RldGFpbC12aWV3LmNvbmZpZyc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1kZXRhaWxzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWEltYWdlTW9kdWxlLFxuICAgIEFYQWN0aW9uU2hlZXRNb2R1bGUsXG4gICAgQVhTd2l0Y2hNb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYU3dpdGNoTW9kdWxlLFxuICAgIEFYUFNjaGVtYU1vZHVsZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQQ29tbW9uV2lkZ2V0TW9kdWxlLFxuICAgIEFYUFN0aWNreURpcmVjdGl2ZSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0FYVW5zdWJzY3JpYmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQge1xuICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIGFjdGl2ZVJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBsb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybSA9IGluamVjdChBWFBsYXRmb3JtKTtcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBsb2FkZXIgPSB0aGlzLmFjdGl2ZVJvdXRlLnNuYXBzaG90LmRhdGFbJ2xvYWRlciddIGFzIEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXI7XG5cbiAgQFZpZXdDaGlsZCgnZHJhd2VyJykgZHJhd2VyITogQVhEcmF3ZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZTxBWFBBZG1pbkxheW91dFN0YXRlPik7XG4gIHByb3RlY3RlZCBpc1NNID0gdGhpcy5zdG9yZS5zZWxlY3QoaXNTbWFsbFNjcmVlbigpKTtcbiAgcHJvdGVjdGVkIGlzT3BlbiA9IHRoaXMuc3RvcmUuc2VsZWN0KGdldENoaWxkRHJhd2VyKCkpO1xuICAvL1xuICBwcm90ZWN0ZWQgY2FuRGVsZXRlID0gdGhpcy5sb2FkZXIuZW50aXR5LmVkaXRPcHRpb25zPy5kZWxldGUgPz8gdHJ1ZTtcbiAgcHJvdGVjdGVkIGNhbkNyZWF0ZSA9IHRoaXMubG9hZGVyLmVudGl0eS5lZGl0T3B0aW9ucz8uY3JlYXRlID8/IHRydWU7XG4gIHByb3RlY3RlZCBjYW5VcGRhdGUgPSB0aGlzLmxvYWRlci5lbnRpdHkuZWRpdE9wdGlvbnM/LnVwZGF0ZSA/PyB0cnVlO1xuICAvL1xuXG4gIHByb3RlY3RlZCBjb250ZXh0OiBXcml0YWJsZVNpZ25hbDxhbnk+ID0gc2lnbmFsKGNsb25lRGVlcCh0aGlzLmxvYWRlci5kYXRhKSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSB1bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVSb3V0ZS5wYXJhbU1hcC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5zZXRTZWN0aW9uKGMuZ2V0KCdzZWN0aW9uJykgYXMgc3RyaW5nKTtcbiAgICB9KTtcbiAgICAvL1xuICAgIHRoaXMud29ya2Zsb3cuZXZlbnRzJC5waXBlKG9mVHlwZShBWFBFbnRpdHlEZWxldGVkRXZlbnQpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnBheWxvYWQuZW50aXR5ID09IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lICYmXG4gICAgICAgIGV2ZW50LnBheWxvYWQubW9kdWxlID09IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUgJiZcbiAgICAgICAgZXZlbnQucGF5bG9hZC5pZC5pbmNsdWRlcyh0aGlzLmxvYWRlci5kYXRhLmlkKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnc2hvdy1saXN0LXZpZXcnLCB7XG4gICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLndvcmtmbG93LmV2ZW50cyQucGlwZShvZlR5cGUoQVhQRW50aXR5TW9kaWZ5RXZlbnQpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnBheWxvYWQuZW50aXR5ID09IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lICYmXG4gICAgICAgIGV2ZW50LnBheWxvYWQubW9kdWxlID09IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUgJiZcbiAgICAgICAgZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMuaWQgPT09IHRoaXMubG9hZGVyLmRhdGEuaWRcbiAgICAgICkge1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRlci51cGRhdGUoZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMpO1xuICAgICAgICB0aGlzLmNvbnRleHQuc2V0KGNsb25lRGVlcCh0aGlzLmxvYWRlci5kYXRhKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlTWVudUNsaWNrKGU6IEFYSHRtbEV2ZW50LCBpdGVtOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5sb2FkZXIuZW50aXR5O1xuICAgIGNvbnN0IHBhdGggPSBgLyR7dGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZX0vJHtlbnRpdHkubW9kdWxlfS9lLyR7ZW50aXR5Lm5hbWV9LyR7dGhpcy5sb2FkZXIuZGF0YT8uaWR9L3ZpZXcvJHtpdGVtLm5hbWV9YDtcbiAgICB0aGlzLmxvY2F0aW9uLmdvKHBhdGgpO1xuICAgIHRoaXMuc2V0U2VjdGlvbihpdGVtLm5hbWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNvbGxhcHNlZENoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkgdGhpcy5zdG9yZS5kaXNwYXRjaChBWFBMYXlvdXRDaGlsZERyYXdlckNsb3NlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURyYXdlckNsaWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQVhQTGF5b3V0Q2hpbGREcmF3ZXJUb2dnbGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkZXIuc2V0U2VjdGlvbihuYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTZWN0aW9uRWRpdChzZWN0aW9uOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XG4gICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdtb2RpZnktZW50aXR5Jywge1xuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXG4gICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgIGlkOiB0aGlzLmxvYWRlci5kYXRhLmlkLFxuICAgICAgICBzZWN0aW9uOiBzZWN0aW9uLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0FjdGl2ZShpdGVtOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XG4gICAgcmV0dXJuIGl0ZW0ubmFtZSA9PSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDb21tYW5kQ2xpY2soY29tbWFuZDogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2RlbGV0ZS1lbnRpdHknLCB7XG4gICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgICAgaWRzOiBbdGhpcy5sb2FkZXIuZGF0YS5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHtcbiAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xuICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgIG1vZHVsZTogdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSxcbiAgICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iLCI8YXgtZHJhd2VyLWNvbnRhaW5lcj5cbiAgPCEtLSA8YXgtZHJhd2VyICNkcmF3ZXIgbG9jYXRpb249XCJzdGFydFwiIFtjb2xsYXBzZWRdPVwiIShpc09wZW4gfCBhc3luYylcIiBbbW9kZV09XCIgKGlzU00gfCBhc3luYykgPyAnb3ZlcmxheScgOiAncHVzaCdcIlxuICAgICpuZ0lmPVwibG9hZGVyLmhhc1NlY3Rpb25zJCB8IGFzeW5jXCIgKGNvbGxhcHNlZENoYW5nZSk9XCJoYW5kbGVDb2xsYXBzZWRDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxheC1jb250ZW50IGNsYXNzPVwiYXgtYm9yZGVyLWUgYXgtcC02IGF4LXctNjRcIj5cbiAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC14bCBheC1mb250LWJvbGQgYXgtbWItNlwiPnt7bG9hZGVyLnNlY3Rpb25UaXRsZX19PC9wPlxuICAgICAgPGF4LXRhYnMgbG9vaz1cIndpdGgtbGluZVwiIGxvY2F0aW9uPVwic3RhcnRcIj5cbiAgICAgICAgQGZvcih0YWIgb2YgKGxvYWRlci5zZWN0aW9ucyQgfCBhc3luYyk7IHRyYWNrIHRhYi5uYW1lKVxuICAgICAgICB7XG4gICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJ0YWIudGl0bGVcIiBbYWN0aXZlXT1cImlzQWN0aXZlKHRhYilcIiAob25DbGljayk9XCJoYW5kbGVNZW51Q2xpY2soJGV2ZW50LHRhYilcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJlZGl0Rm9ybS5jb250ZXh0XCI+XG4gICAgICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgICAgIH1cbiAgICAgIDwvYXgtdGFicz5cbiAgICA8L2F4LWNvbnRlbnQ+XG4gIDwvYXgtZHJhd2VyPiAtLT5cbiAgPGF4LWNvbnRlbnQgI2NvbnRlbnQgY2xhc3M9XCJheC1vdmVyZmxvdy14LWhpZGRlblwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1taW4taC1mdWxsIGF4LXB4LTQgYXgtcGItNCBtZDpheC1weC02IGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWIgbWQ6YXgtYm9yZGVyLTAgbWQ6YXgtYmctZGVmYXVsdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcHQtNCBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMCBheC10cmFuc2l0aW9uLWFsbFwiICNzdGlja3k9XCJheHBTdGlja3lcIlxuICAgICAgICBbYXhwU3RpY2t5XT1cIidheC1iZy1zdXJmYWNlIGF4LXB4LTYgYXgtcHktMyAtYXgtbXgtNiBheC1zaGFkb3cteGwnXCIgW3N0aWNreVBhcmVudF09XCJjb250ZW50LmdldEhvc3RFbGVtZW50KClcIj5cbiAgICAgICAgPCEtLS0tLS0tLSBCZWdpbiBUb29sYmFyICAtLS0tLS0tLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDwhLS0tLS0tLS0gQmVnaW4gVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0xIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPCEtLSA8YXgtYnV0dG9uIGNsYXNzPVwibGc6YXgtaGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1sZWZ0XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24+IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQteGwgbWQ6YXgtdGV4dC0yeGwgYXgtZm9udC1ib2xkXCI+e3sgbG9hZGVyLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwhLS0gPGF4LWJyZWFkY3J1bWJzIGNsYXNzPVwiY2hpbGQ6YXgtZm9udC1ub3JtYWwgY2hpbGQ6YXgtdGV4dC1uZXV0cmFsLTQwMFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1yaWdodCBheC10ZXh0LXhzIGF4LW14LTJcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8YXgtYnJlYWRjcnVtYnMtaXRlbT5cbiAgICAgICAgICAgICAgICAgIDxhPkhvbWU8L2E+XG4gICAgICAgICAgICAgICAgPC9heC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICAgIDxheC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICAgICAgPGE+e3sgbG9hZGVyLmVudGl0eS50aXRsZSB9fTwvYT5cbiAgICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0gW2FjdGl2ZV09XCJ0cnVlXCIgY2xhc3M9XCIhYXgtZm9udC1zZW1pYm9sZCAhYXgtdGV4dC1uZXV0cmFsLTYwMFwiPlxuICAgICAgICAgICAgICAgICAge3sgbG9hZGVyLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPC9heC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzPiAtLT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0tLS0tLS0gRmluaXNoIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgICA8IS0tIEJlZ2luIEFjdGlvbiBNZW51ICAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIj5cbiAgICAgICAgICAgIEBpZihjYW5DcmVhdGUgfHwgY2FuVXBkYXRlKSB7XG4gICAgICAgICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIihpc1NNIHwgYXN5bmMpID8gbnVsbCA6ICdBY3Rpb25zJ1wiIGNvbG9yPVwiZ2hvc3RcIj5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgPCEtLSA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIlNoYXJlXCIgY2xhc3M9XCJheC1mb250LXNlbWlib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXNoYXJlXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPiBcbiAgICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj4tLT5cbiAgICAgICAgICAgICAgICAgIEBpZihjYW5DcmVhdGUpIHtcbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbdGV4dF09XCIoJ2NyZWF0ZS1uZXcnIHwgdHJhbnNsYXRlIHwgYXN5bmMpID8/ICcgJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXByaW1hcnlcIiAob25DbGljayk9XCJoYW5kbGVDb21tYW5kQ2xpY2soJ2NyZWF0ZScpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLWFkZFwiPiA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgICAgIH0gQGlmKGNhbkRlbGV0ZSkge1xuICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJEZWxldGVcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDb21tYW5kQ2xpY2soJ2RlbGV0ZScpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXRyYXNoXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gRmluaXNoIEFjdGlvbiBNZW51ICAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0tLS0gRmluaXNoIFRvb2xiYXIgIC0tLS0tPlxuICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgPCEtLSBCZWdpbiBTZWN0aW9uIFRhYiBJdGVtcyAgLS0+XG4gICAgICAgIEBpZigobG9hZGVyLmhhc1NlY3Rpb25zJHwgYXN5bmMpKSB7XG4gICAgICAgIDxheC10YWJzIGxvb2s9XCJ3aXRoLWxpbmVcIiBsb2NhdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiYXgtbXQtMlwiPlxuICAgICAgICAgIEBmb3IodGFiIG9mIChsb2FkZXIuc2VjdGlvbnMkIHwgYXN5bmMpOyB0cmFjayB0YWIubmFtZSkge1xuICAgICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJ0YWIudGl0bGVcIiBbYWN0aXZlXT1cImlzQWN0aXZlKHRhYilcIiAob25DbGljayk9XCJoYW5kbGVNZW51Q2xpY2soJGV2ZW50LCB0YWIpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmlyc3Q6IWF4LW1zLTBcIj4gPC9heC10YWItaXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYXgtdGFicz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZpbmlzaCBTZWN0aW9uIFRhYiBJdGVtcyAgLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lKSB7XG4gICAgICA8YXgtZm9ybSAjZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQgYXgtc2hhZG93LW1kXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8cD57eyBzZWN0aW9uLnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgQGlmKGNhblVwZGF0ZSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwie3sgJ2VudGl0eS5tb2RpZnknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cIiBjbGFzcz1cImF4LXNtXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlU2VjdGlvbkVkaXQoc2VjdGlvbilcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wZW5cIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtYm9keSBheC1kaXZpZGUteSBheC1kaXZpZGUtZ3JheS0xMDAgZGFyazpheC1kaXZpZGUtZ3JheS03MDAgIWF4LWdhcC0wXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBuYW1lIG9mIHNlY3Rpb24ucHJvcGVydGllc1wiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVyLmdldFByb3AobmFtZSkgYXMgcHJvcFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIG1kOmF4LWdyaWQtY29scy0xMiBheC1nYXAtMiBheC1weS00IGZpcnN0OmF4LXB0LTAgbGFzdDpheC1wYi0wXCI+XG4gICAgICAgICAgICAgICAgICBAaWYoc2VjdGlvbi5vcHRpb25zPy5zaG93UHJvcFRpdGxlIT1mYWxzZSl7XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXNwYW4tMTIgbWQ6YXgtY29sLXNwYW4tMyBsZzpheC1jb2wtc3Bhbi0yIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIG1kOmF4LWl0ZW1zLXN0YXJ0IGF4LWp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IHByb3AudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBAaWYocHJvcC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1pbmZvIGZhLXNtIGF4LXRleHQtbmV1dHJhbC01MDAgZGFyazpheC10ZXh0LW5ldXRyYWwtNDAwIGF4LWN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtheFRvb2x0aXBdPVwicHJvcC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXhUb29sdGlwUGxhY2VtZW50XT1cIidlbmQnXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIH0gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgQGlmKHByb3AuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC01MDAgYXgtdGV4dC14c1wiPnt7IHByb3AuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwic2VjdGlvbi5vcHRpb25zPy5zaG93UHJvcFRpdGxlID09IGZhbHNlID8gJ2F4LWNvbC1zcGFuLTEyJyA6ICdheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi05IGxnOmF4LWNvbC1zcGFuLTEwJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW2NvbnRleHRdPVwiY29udGV4dCgpXCIgW3Byb3BdPVwicHJvcFwiXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ3ZpZXcnXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1mb3JtPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2F4LWNvbnRlbnQ+XG48L2F4LWRyYXdlci1jb250YWluZXI+Il19
@@ -182,7 +182,7 @@ export class AXPEntityCreateCustomViewComponent extends AXBasePageComponent {
182
182
  {
183
183
  provide: AXUnsubscriber,
184
184
  },
185
- ], usesInheritance: true, ngImport: i0, template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item [text]=\"('entity.columns' | translate | async) ?? 'Columns'\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\" cdkDropList (cdkDropListDropped)=\"drop('columns', $event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch class=\"ax-sm\" [(ngModel)]=\"item.visible\" (onValueChanged)=\"updateColumnItem($event, item.name)\"></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge class=\"ax-text-xs\" color=\"primary\" [look]=\"'twotone'\" [text]=\"getOperatorTitle(item.name, item.operator)\"></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"addCondition(); conditionsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\"> </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">{{ 'entity.no-sort' | translate | async }}</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">{{ 'entity.ask-sort' | translate | async }}</span>\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\"> </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon [class.ax-text-primary]=\"item.dir == 'asc'\" class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"></ax-icon>\n <ax-icon [class.ax-text-primary]=\"item.dir == 'desc'\" class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button [text]=\"'discard' | translate | async\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item [text]=\"('reset' | translate | async) ?? ' '\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button [text]=\"'cancel' | translate | async\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button [text]=\"mode === 'create' ? ('save' | translate | async) : ('save-changes' | translate | async)\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i6.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i8.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i9.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i10.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i11.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i12.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i13.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: i14.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type: i15.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i15.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i15.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i16.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i17.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
+ ], usesInheritance: true, ngImport: i0, template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item [text]=\"('entity.columns' | translate | async) ?? 'Columns'\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\" cdkDropList (cdkDropListDropped)=\"drop('columns', $event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch class=\"ax-sm\" [(ngModel)]=\"item.visible\" (onValueChanged)=\"updateColumnItem($event, item.name)\"></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge class=\"ax-text-xs\" color=\"primary\" [look]=\"'twotone'\" [text]=\"getOperatorTitle(item.name, item.operator)\"></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"addCondition(); conditionsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\"> </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">{{ 'entity.no-sort' | translate | async }}</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">{{ 'entity.ask-sort' | translate | async }}</span>\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\"> </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon [class.ax-text-primary]=\"item.dir == 'asc'\" class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"></ax-icon>\n <ax-icon [class.ax-text-primary]=\"item.dir == 'desc'\" class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button [text]=\"'discard' | translate | async\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item [text]=\"('reset' | translate | async) ?? ' '\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button [text]=\"'cancel' | translate | async\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button [text]=\"mode === 'create' ? ('save' | translate | async) : ('save-changes' | translate | async)\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i6.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i8.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i9.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i10.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i11.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i12.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i13.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: i14.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type: i15.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i15.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i15.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i16.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i17.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
186
186
  }
187
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityCreateCustomViewComponent, decorators: [{
188
188
  type: Component,
@@ -93,7 +93,7 @@ export class AXPListViewOptionConditionsComponent {
93
93
  this.onClosed.emit();
94
94
  }
95
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPListViewOptionConditionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPListViewOptionConditionsComponent, selector: "axp-list-view-option-conditions", inputs: { loader: "loader" }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Filters</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div\n class=\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-py-4 ax-select-none\"\n [class.ax-h-[calc(100vh-310px)]]=\"!(conditions$ | async)?.length\"\n>\n @if(!(conditions$ | async)?.length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-max-h-[calc(100vh-310px)] ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions$ | async; track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <!-- <ax-text-box [(ngModel)]=\"item.value\"></ax-text-box> -->\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"handleRemoveCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if((conditions$ | async)?.length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n </div>\n <ax-popover\n #fieldsPopover\n [target]=\"addField\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n [offsetX]=\"15\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-72 2xl:ax-max-h-80 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedFieldNames\"\n [direction]=\"'vertical'\"\n [items]=\"props\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"onConfirmFields(); fieldsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\">\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i6.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i8.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i9.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i10.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPListViewOptionConditionsComponent, selector: "axp-list-view-option-conditions", inputs: { loader: "loader" }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Filters</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div\n class=\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-py-4 ax-select-none\"\n [class.ax-h-[calc(100vh-310px)]]=\"!(conditions$ | async)?.length\"\n>\n @if(!(conditions$ | async)?.length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-max-h-[calc(100vh-310px)] ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions$ | async; track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <!-- <ax-text-box [(ngModel)]=\"item.value\"></ax-text-box> -->\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"handleRemoveCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if((conditions$ | async)?.length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n </div>\n <ax-popover\n #fieldsPopover\n [target]=\"addField\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n [offsetX]=\"15\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-72 2xl:ax-max-h-80 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedFieldNames\"\n [direction]=\"'vertical'\"\n [items]=\"props\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"onConfirmFields(); fieldsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\">\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i6.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i8.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i9.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i10.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
97
  }
98
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPListViewOptionConditionsComponent, decorators: [{
99
99
  type: Component,