@acorex/modules 18.1.6 → 18.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/application-management/lib/application-management.service.d.ts +1 -8
  2. package/application-management/lib/application-management.source.d.ts +1 -0
  3. package/application-management/lib/menu.provider.d.ts +1 -0
  4. package/application-management/lib/services/application-management.service.d.ts +10 -0
  5. package/application-management/lib/services/application-module-management.service.d.ts +10 -0
  6. package/application-management/lib/services/edition-management.service.d.ts +10 -0
  7. package/application-management/lib/services/entity-management.service.d.ts +10 -0
  8. package/application-management/lib/services/feature-management.service.d.ts +10 -0
  9. package/application-management/lib/services/module-management.service.d.ts +10 -0
  10. package/application-management/lib/services/permission-management.service.d.ts +10 -0
  11. package/application-management/lib/services/property-management.service.d.ts +10 -0
  12. package/auth/lib/menu.provider.d.ts +1 -1
  13. package/conversation/README.md +3 -0
  14. package/conversation/index.d.ts +14 -0
  15. package/conversation/lib/conversation.module.d.ts +11 -0
  16. package/conversation/lib/entities/chat/chat.module.d.ts +23 -0
  17. package/conversation/lib/entities/chat/chat.type.d.ts +21 -0
  18. package/conversation/lib/entities/chat/components/chat-item/chat-item.component.d.ts +16 -0
  19. package/conversation/lib/entities/chat/components/chat-item-footer/chat-item-footer.component.d.ts +5 -0
  20. package/conversation/lib/entities/chat/components/chat-item-header/chat-item-header.component.d.ts +5 -0
  21. package/conversation/lib/entities/chat/components/chat-items/chat-items.component.d.ts +6 -0
  22. package/conversation/lib/entities/chat/components/chat-preview/chat-preview.component.d.ts +28 -0
  23. package/conversation/lib/entities/chat/pages/chat/chat.component.d.ts +5 -0
  24. package/conversation/lib/entities/comments/comment.module.d.ts +25 -0
  25. package/conversation/lib/entities/comments/comments.service.d.ts +13 -0
  26. package/conversation/lib/entities/comments/comments.type.d.ts +74 -0
  27. package/conversation/lib/entities/comments/pages/comment-list-view.component.d.ts +66 -0
  28. package/conversation/lib/entities/comments/pages/comment-lookup-popup.component.d.ts +10 -0
  29. package/converstion-test/README.md +4 -0
  30. package/converstion-test/index.d.ts +1 -0
  31. package/converstion-test/lib/converstion-test.module.d.ts +6 -0
  32. package/esm2022/application-management/lib/application-management.module.mjs +46 -1
  33. package/esm2022/application-management/lib/application-management.service.mjs +2 -18
  34. package/esm2022/application-management/lib/application-management.source.mjs +2 -1
  35. package/esm2022/application-management/lib/entities/application-module.entity.mjs +10 -13
  36. package/esm2022/application-management/lib/entities/applications.entity.mjs +8 -8
  37. package/esm2022/application-management/lib/entities/edition.entity.mjs +10 -13
  38. package/esm2022/application-management/lib/entities/entity.entity.mjs +10 -13
  39. package/esm2022/application-management/lib/entities/feature.entity.mjs +10 -13
  40. package/esm2022/application-management/lib/entities/modules.entity.mjs +12 -15
  41. package/esm2022/application-management/lib/entities/permission.entity.mjs +10 -13
  42. package/esm2022/application-management/lib/entities/property.entity.mjs +10 -13
  43. package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +5 -4
  44. package/esm2022/application-management/lib/menu.provider.mjs +10 -4
  45. package/esm2022/application-management/lib/services/application-management.service.mjs +17 -0
  46. package/esm2022/application-management/lib/services/application-module-management.service.mjs +17 -0
  47. package/esm2022/application-management/lib/services/edition-management.service.mjs +17 -0
  48. package/esm2022/application-management/lib/services/entity-management.service.mjs +17 -0
  49. package/esm2022/application-management/lib/services/feature-management.service.mjs +17 -0
  50. package/esm2022/application-management/lib/services/module-management.service.mjs +17 -0
  51. package/esm2022/application-management/lib/services/permission-management.service.mjs +17 -0
  52. package/esm2022/application-management/lib/services/property-management.service.mjs +17 -0
  53. package/esm2022/auth/lib/account/account.module.mjs +6 -2
  54. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +3 -3
  55. package/esm2022/auth/lib/menu.provider.mjs +17 -14
  56. package/esm2022/conversation/acorex-modules-conversation.mjs +5 -0
  57. package/esm2022/conversation/index.mjs +15 -0
  58. package/esm2022/conversation/lib/conversation.module.mjs +22 -0
  59. package/esm2022/conversation/lib/entities/chat/chat.module.mjs +90 -0
  60. package/esm2022/conversation/lib/entities/chat/chat.type.mjs +2 -0
  61. package/esm2022/conversation/lib/entities/chat/components/chat-item/chat-item.component.mjs +35 -0
  62. package/esm2022/conversation/lib/entities/chat/components/chat-item-footer/chat-item-footer.component.mjs +13 -0
  63. package/esm2022/conversation/lib/entities/chat/components/chat-item-header/chat-item-header.component.mjs +15 -0
  64. package/esm2022/conversation/lib/entities/chat/components/chat-items/chat-items.component.mjs +15 -0
  65. package/esm2022/conversation/lib/entities/chat/components/chat-preview/chat-preview.component.mjs +237 -0
  66. package/esm2022/conversation/lib/entities/chat/pages/chat/chat.component.mjs +15 -0
  67. package/esm2022/conversation/lib/entities/comments/comment.module.mjs +100 -0
  68. package/esm2022/conversation/lib/entities/comments/comments.service.mjs +20 -0
  69. package/esm2022/conversation/lib/entities/comments/comments.type.mjs +2 -0
  70. package/esm2022/conversation/lib/entities/comments/pages/comment-list-view.component.mjs +393 -0
  71. package/esm2022/conversation/lib/entities/comments/pages/comment-lookup-popup.component.mjs +56 -0
  72. package/esm2022/converstion-test/acorex-modules-converstion-test.mjs +5 -0
  73. package/esm2022/converstion-test/index.mjs +2 -0
  74. package/esm2022/converstion-test/lib/converstion-test.module.mjs +16 -0
  75. package/esm2022/form-template-management/acorex-modules-form-template-management.mjs +5 -0
  76. package/esm2022/form-template-management/index.mjs +2 -0
  77. package/esm2022/form-template-management/lib/const.mjs +8 -0
  78. package/esm2022/form-template-management/lib/entities/category/category.entity.mjs +241 -0
  79. package/esm2022/form-template-management/lib/entities/category/category.module.mjs +28 -0
  80. package/esm2022/form-template-management/lib/entities/category/category.service.mjs +17 -0
  81. package/esm2022/form-template-management/lib/entities/category/category.types.mjs +2 -0
  82. package/esm2022/form-template-management/lib/entities/category/index.mjs +5 -0
  83. package/esm2022/form-template-management/lib/entities/template/index.mjs +5 -0
  84. package/esm2022/form-template-management/lib/entities/template/template.entity.mjs +241 -0
  85. package/esm2022/form-template-management/lib/entities/template/template.module.mjs +28 -0
  86. package/esm2022/form-template-management/lib/entities/template/template.service.mjs +17 -0
  87. package/esm2022/form-template-management/lib/entities/template/template.types.mjs +2 -0
  88. package/esm2022/form-template-management/lib/entity.provider.mjs +25 -0
  89. package/esm2022/form-template-management/lib/form-template-management.module.mjs +77 -0
  90. package/esm2022/form-template-management/lib/menu.provider.mjs +45 -0
  91. package/esm2022/form-template-management/lib/pages/designer/designer.page.mjs +24 -0
  92. package/esm2022/localization-management/acorex-modules-localization-management.mjs +5 -0
  93. package/esm2022/localization-management/index.mjs +8 -0
  94. package/esm2022/localization-management/lib/culture/culture.entity.mjs +239 -0
  95. package/esm2022/localization-management/lib/culture/culture.service.mjs +17 -0
  96. package/esm2022/localization-management/lib/culture/culture.types.mjs +2 -0
  97. package/esm2022/localization-management/lib/culture/index.mjs +4 -0
  98. package/esm2022/localization-management/lib/entity.loader.mjs +36 -0
  99. package/esm2022/localization-management/lib/language/index.mjs +4 -0
  100. package/esm2022/localization-management/lib/language/language-slot/language-slot.component.mjs +30 -0
  101. package/esm2022/localization-management/lib/language/language.entity.mjs +239 -0
  102. package/esm2022/localization-management/lib/language/language.service.mjs +17 -0
  103. package/esm2022/localization-management/lib/language/language.types.mjs +2 -0
  104. package/esm2022/localization-management/lib/localization-management.module.mjs +99 -0
  105. package/esm2022/localization-management/lib/localization-management.source.mjs +4 -0
  106. package/esm2022/localization-management/lib/localization-store.service.mjs +34 -0
  107. package/esm2022/localization-management/lib/menu.provider.mjs +46 -0
  108. package/esm2022/localization-management/lib/time-zone/index.mjs +4 -0
  109. package/esm2022/localization-management/lib/time-zone/time-zone.entity.mjs +256 -0
  110. package/esm2022/localization-management/lib/time-zone/time-zone.service.mjs +17 -0
  111. package/esm2022/localization-management/lib/time-zone/time-zone.types.mjs +2 -0
  112. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.mjs +3 -3
  113. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.mjs +3 -3
  114. package/esm2022/notification-management/lib/entities/my-notification.mjs +8 -15
  115. package/esm2022/notification-management/lib/entities/notification-channel.entity.mjs +3 -3
  116. package/esm2022/notification-management/lib/menu.provider.mjs +13 -12
  117. package/esm2022/notification-management/lib/notification-management.module.mjs +5 -5
  118. package/esm2022/platform-management/index.mjs +2 -3
  119. package/esm2022/platform-management/lib/common/common.module.mjs +65 -0
  120. package/esm2022/platform-management/lib/common/common.source.mjs +5 -0
  121. package/esm2022/platform-management/lib/common/country/country-datasource.provider.mjs +27 -0
  122. package/esm2022/platform-management/lib/common/country/country.entity.mjs +696 -0
  123. package/esm2022/platform-management/lib/common/country/country.service.mjs +17 -0
  124. package/esm2022/platform-management/lib/common/country/country.types.mjs +2 -0
  125. package/esm2022/platform-management/lib/common/country/index.mjs +4 -0
  126. package/esm2022/platform-management/lib/common/currency/currency.entity.mjs +283 -0
  127. package/esm2022/platform-management/lib/common/currency/currency.service.mjs +17 -0
  128. package/esm2022/platform-management/lib/common/currency/currency.types.mjs +2 -0
  129. package/esm2022/platform-management/lib/common/currency/index.mjs +4 -0
  130. package/esm2022/platform-management/lib/common/entity.loader.mjs +36 -0
  131. package/esm2022/platform-management/lib/common/index.mjs +5 -0
  132. package/esm2022/platform-management/lib/common/province/index.mjs +4 -0
  133. package/esm2022/platform-management/lib/common/province/province.entity.mjs +307 -0
  134. package/esm2022/platform-management/lib/common/province/province.service.mjs +17 -0
  135. package/esm2022/platform-management/lib/common/province/province.types.mjs +2 -0
  136. package/esm2022/platform-management/lib/global-variables/entities/global-variable.entity.mjs +54 -4
  137. package/esm2022/platform-management/lib/menu.provider.mjs +37 -15
  138. package/esm2022/platform-management/lib/platform-management.module.mjs +12 -33
  139. package/esm2022/template-management/index.mjs +2 -2
  140. package/esm2022/template-management/lib/entities/category.entity.mjs +34 -16
  141. package/esm2022/template-management/lib/entities/template-variable.entity.mjs +103 -102
  142. package/esm2022/template-management/lib/entities/text-template.entity.mjs +28 -2
  143. package/esm2022/template-management/lib/entity.provider.mjs +32 -0
  144. package/esm2022/template-management/lib/menu.provider.mjs +14 -8
  145. package/esm2022/template-management/lib/template-management.module.mjs +4 -4
  146. package/fesm2022/{acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs → acorex-modules-application-management-module-designer.component-CaR_HZfL.mjs} +3 -3
  147. package/fesm2022/{acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs.map → acorex-modules-application-management-module-designer.component-CaR_HZfL.mjs.map} +1 -1
  148. package/fesm2022/acorex-modules-application-management.mjs +399 -283
  149. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  150. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B0aeYVeJ.mjs → acorex-modules-auth-acorex-modules-auth-BVOt-gis.mjs} +30 -23
  151. package/fesm2022/acorex-modules-auth-acorex-modules-auth-BVOt-gis.mjs.map +1 -0
  152. package/fesm2022/{acorex-modules-auth-app-chooser.component-4b6b3ttW.mjs → acorex-modules-auth-app-chooser.component-DhPEtLuK.mjs} +2 -2
  153. package/fesm2022/{acorex-modules-auth-app-chooser.component-4b6b3ttW.mjs.map → acorex-modules-auth-app-chooser.component-DhPEtLuK.mjs.map} +1 -1
  154. package/fesm2022/{acorex-modules-auth-login.module-A7u1YYeo.mjs → acorex-modules-auth-login.module-sFVL-lYB.mjs} +4 -4
  155. package/fesm2022/{acorex-modules-auth-login.module-A7u1YYeo.mjs.map → acorex-modules-auth-login.module-sFVL-lYB.mjs.map} +1 -1
  156. package/fesm2022/{acorex-modules-auth-master.layout--UllrmW0.mjs → acorex-modules-auth-master.layout-Bnt5qiio.mjs} +2 -2
  157. package/fesm2022/{acorex-modules-auth-master.layout--UllrmW0.mjs.map → acorex-modules-auth-master.layout-Bnt5qiio.mjs.map} +1 -1
  158. package/fesm2022/{acorex-modules-auth-password.component-Dv0VXzh_.mjs → acorex-modules-auth-password.component-BXL-aLTx.mjs} +2 -2
  159. package/fesm2022/{acorex-modules-auth-password.component-Dv0VXzh_.mjs.map → acorex-modules-auth-password.component-BXL-aLTx.mjs.map} +1 -1
  160. package/fesm2022/{acorex-modules-auth-password.component-BjqQ-qVo.mjs → acorex-modules-auth-password.component-ClaRp38G.mjs} +2 -2
  161. package/fesm2022/{acorex-modules-auth-password.component-BjqQ-qVo.mjs.map → acorex-modules-auth-password.component-ClaRp38G.mjs.map} +1 -1
  162. package/fesm2022/{acorex-modules-auth-routes-C4eNPru3.mjs → acorex-modules-auth-routes-MDneFw2m.mjs} +2 -2
  163. package/fesm2022/{acorex-modules-auth-routes-C4eNPru3.mjs.map → acorex-modules-auth-routes-MDneFw2m.mjs.map} +1 -1
  164. package/fesm2022/{acorex-modules-auth-two-factor.module-C6V_pb_Q.mjs → acorex-modules-auth-two-factor.module-BHulbf0N.mjs} +2 -2
  165. package/fesm2022/{acorex-modules-auth-two-factor.module-C6V_pb_Q.mjs.map → acorex-modules-auth-two-factor.module-BHulbf0N.mjs.map} +1 -1
  166. package/fesm2022/acorex-modules-auth.mjs +1 -1
  167. package/fesm2022/acorex-modules-conversation.mjs +952 -0
  168. package/fesm2022/acorex-modules-conversation.mjs.map +1 -0
  169. package/fesm2022/acorex-modules-converstion-test.mjs +23 -0
  170. package/fesm2022/acorex-modules-converstion-test.mjs.map +1 -0
  171. package/fesm2022/{acorex-modules-form-management-designer.page-SoPH2V7i.mjs → acorex-modules-form-template-management-designer.page-DC18KFvK.mjs} +6 -6
  172. package/fesm2022/acorex-modules-form-template-management-designer.page-DC18KFvK.mjs.map +1 -0
  173. package/fesm2022/acorex-modules-form-template-management.mjs +713 -0
  174. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -0
  175. package/fesm2022/acorex-modules-localization-management.mjs +1019 -0
  176. package/fesm2022/acorex-modules-localization-management.mjs.map +1 -0
  177. package/fesm2022/acorex-modules-notification-management.mjs +29 -35
  178. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  179. package/fesm2022/acorex-modules-platform-management.mjs +1430 -214
  180. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  181. package/fesm2022/acorex-modules-template-management.mjs +187 -141
  182. package/fesm2022/acorex-modules-template-management.mjs.map +1 -1
  183. package/form-template-management/README.md +4 -0
  184. package/form-template-management/index.d.ts +1 -0
  185. package/form-template-management/lib/const.d.ts +7 -0
  186. package/form-template-management/lib/entities/category/category.entity.d.ts +3 -0
  187. package/form-template-management/lib/entities/category/category.module.d.ts +6 -0
  188. package/form-template-management/lib/entities/category/category.service.d.ts +10 -0
  189. package/form-template-management/lib/entities/category/category.types.d.ts +5 -0
  190. package/form-template-management/lib/entities/category/index.d.ts +4 -0
  191. package/form-template-management/lib/entities/template/index.d.ts +4 -0
  192. package/form-template-management/lib/entities/template/template.entity.d.ts +3 -0
  193. package/form-template-management/lib/entities/template/template.module.d.ts +6 -0
  194. package/form-template-management/lib/entities/template/template.service.d.ts +10 -0
  195. package/form-template-management/lib/entities/template/template.types.d.ts +5 -0
  196. package/form-template-management/lib/entity.provider.d.ts +9 -0
  197. package/form-template-management/lib/form-template-management.module.d.ts +10 -0
  198. package/form-template-management/lib/menu.provider.d.ts +5 -0
  199. package/form-template-management/lib/pages/designer/designer.page.d.ts +5 -0
  200. package/localization-management/README.md +4 -0
  201. package/localization-management/index.d.ts +7 -0
  202. package/localization-management/lib/culture/culture.entity.d.ts +3 -0
  203. package/localization-management/lib/culture/culture.service.d.ts +10 -0
  204. package/localization-management/lib/culture/culture.types.d.ts +12 -0
  205. package/localization-management/lib/culture/index.d.ts +3 -0
  206. package/localization-management/lib/entity.loader.d.ts +9 -0
  207. package/localization-management/lib/language/index.d.ts +3 -0
  208. package/localization-management/lib/language/language-slot/language-slot.component.d.ts +19 -0
  209. package/localization-management/lib/localization-management.module.d.ts +10 -0
  210. package/localization-management/lib/localization-management.source.d.ts +3 -0
  211. package/localization-management/lib/localization-store.service.d.ts +7 -0
  212. package/localization-management/lib/menu.provider.d.ts +5 -0
  213. package/localization-management/lib/time-zone/index.d.ts +3 -0
  214. package/localization-management/lib/time-zone/time-zone.entity.d.ts +3 -0
  215. package/localization-management/lib/time-zone/time-zone.service.d.ts +10 -0
  216. package/localization-management/lib/time-zone/time-zone.types.d.ts +9 -0
  217. package/package.json +29 -11
  218. package/platform-management/index.d.ts +1 -2
  219. package/platform-management/lib/common/common.module.d.ts +6 -0
  220. package/platform-management/lib/common/common.source.d.ts +4 -0
  221. package/platform-management/lib/common/country/country-datasource.provider.d.ts +5 -0
  222. package/platform-management/lib/common/country/country.entity.d.ts +3 -0
  223. package/platform-management/lib/common/country/country.service.d.ts +10 -0
  224. package/platform-management/lib/common/country/country.types.d.ts +18 -0
  225. package/platform-management/lib/common/country/index.d.ts +3 -0
  226. package/platform-management/lib/common/currency/currency.entity.d.ts +3 -0
  227. package/platform-management/lib/common/currency/currency.service.d.ts +10 -0
  228. package/platform-management/lib/common/currency/currency.types.d.ts +6 -0
  229. package/platform-management/lib/common/currency/index.d.ts +3 -0
  230. package/platform-management/lib/{languages → common}/entity.loader.d.ts +3 -3
  231. package/platform-management/lib/common/index.d.ts +4 -0
  232. package/platform-management/lib/common/province/index.d.ts +3 -0
  233. package/platform-management/lib/common/province/province.entity.d.ts +3 -0
  234. package/platform-management/lib/common/province/province.service.d.ts +10 -0
  235. package/platform-management/lib/common/province/province.types.d.ts +7 -0
  236. package/platform-management/lib/menu.provider.d.ts +2 -1
  237. package/platform-management/lib/platform-management.module.d.ts +2 -1
  238. package/template-management/index.d.ts +1 -1
  239. package/template-management/lib/{entity.loader.d.ts → entity.provider.d.ts} +3 -3
  240. package/template-management/lib/menu.provider.d.ts +2 -1
  241. package/esm2022/form-management/acorex-modules-form-management.mjs +0 -5
  242. package/esm2022/form-management/index.mjs +0 -2
  243. package/esm2022/form-management/lib/designer/designer.page.mjs +0 -24
  244. package/esm2022/form-management/lib/form-management.module.mjs +0 -53
  245. package/esm2022/form-management/lib/menu.provider.mjs +0 -29
  246. package/esm2022/platform-management/lib/comments/comment-management.service.mjs +0 -18
  247. package/esm2022/platform-management/lib/languages/entities/language.entity.mjs +0 -234
  248. package/esm2022/platform-management/lib/languages/entity.loader.mjs +0 -26
  249. package/esm2022/platform-management/lib/languages/index.mjs +0 -5
  250. package/esm2022/platform-management/lib/languages/language-management.service.mjs +0 -16
  251. package/esm2022/platform-management/lib/languages/language.types.mjs +0 -2
  252. package/esm2022/template-management/lib/entity.loader.mjs +0 -36
  253. package/fesm2022/acorex-modules-auth-acorex-modules-auth-B0aeYVeJ.mjs.map +0 -1
  254. package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +0 -1
  255. package/fesm2022/acorex-modules-form-management.mjs +0 -88
  256. package/fesm2022/acorex-modules-form-management.mjs.map +0 -1
  257. package/form-management/README.md +0 -4
  258. package/form-management/index.d.ts +0 -1
  259. package/form-management/lib/designer/designer.page.d.ts +0 -5
  260. package/form-management/lib/form-management.module.d.ts +0 -8
  261. package/form-management/lib/menu.provider.d.ts +0 -4
  262. package/platform-management/lib/comments/comment-management.service.d.ts +0 -10
  263. package/platform-management/lib/languages/index.d.ts +0 -4
  264. /package/{platform-management/lib/languages/entities → localization-management/lib/language}/language.entity.d.ts +0 -0
  265. /package/{platform-management/lib/languages/language-management.service.d.ts → localization-management/lib/language/language.service.d.ts} +0 -0
  266. /package/{platform-management/lib/languages → localization-management/lib/language}/language.types.d.ts +0 -0
@@ -0,0 +1,696 @@
1
+ import { AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
2
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
3
+ import { AXMCountryService } from './country.service';
4
+ export async function countryEntityFactory(injector) {
5
+ const dataService = injector.get(AXMCountryService);
6
+ const entityDef = {
7
+ module: 'localization-management',
8
+ name: 'country',
9
+ source: 'localizationManagement.country',
10
+ title: 'Country',
11
+ formats: {
12
+ individual: 'Country',
13
+ plural: 'Countries',
14
+ },
15
+ relatedEntities: [
16
+ {
17
+ entity: 'common.province',
18
+ title: '#common.provinces',
19
+ columns: ['title'],
20
+ conditions: [
21
+ {
22
+ name: 'countryId',
23
+ operator: {
24
+ type: 'equal',
25
+ },
26
+ value: '${id}',
27
+ },
28
+ ],
29
+ },
30
+ ],
31
+ groups: [
32
+ {
33
+ id: 'country',
34
+ title: 'Country',
35
+ },
36
+ {
37
+ id: 'extra',
38
+ title: 'Global',
39
+ },
40
+ {
41
+ id: 'geo',
42
+ title: 'Geo',
43
+ },
44
+ ],
45
+ properties: [
46
+ {
47
+ name: 'title',
48
+ title: 'Title',
49
+ groupId: 'country',
50
+ schema: {
51
+ dataType: 'string',
52
+ interface: {
53
+ type: AXPWidgetsCatalog.text,
54
+ },
55
+ },
56
+ validations: [
57
+ {
58
+ rule: 'required',
59
+ },
60
+ ],
61
+ },
62
+ {
63
+ name: 'iso3',
64
+ title: 'ISO3 Code',
65
+ groupId: 'country',
66
+ schema: {
67
+ dataType: 'string',
68
+ interface: {
69
+ type: AXPWidgetsCatalog.text,
70
+ },
71
+ },
72
+ validations: [
73
+ {
74
+ rule: 'required',
75
+ },
76
+ ],
77
+ },
78
+ {
79
+ name: 'iso2',
80
+ title: 'ISO2 Code',
81
+ groupId: 'country',
82
+ schema: {
83
+ dataType: 'string',
84
+ interface: {
85
+ type: AXPWidgetsCatalog.text,
86
+ },
87
+ },
88
+ validations: [
89
+ {
90
+ rule: 'required',
91
+ },
92
+ ],
93
+ },
94
+ {
95
+ name: 'numericCode',
96
+ title: 'Numeric Code',
97
+ groupId: 'country',
98
+ schema: {
99
+ dataType: 'string',
100
+ interface: {
101
+ type: AXPWidgetsCatalog.text,
102
+ },
103
+ },
104
+ validations: [
105
+ {
106
+ rule: 'required',
107
+ },
108
+ ],
109
+ },
110
+ {
111
+ name: 'nativeName',
112
+ title: 'Native Name',
113
+ groupId: 'geo',
114
+ schema: {
115
+ dataType: 'string',
116
+ interface: {
117
+ type: AXPWidgetsCatalog.text,
118
+ },
119
+ },
120
+ validations: [
121
+ {
122
+ rule: 'required',
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ name: 'region',
128
+ title: 'Region',
129
+ groupId: 'geo',
130
+ schema: {
131
+ dataType: 'string',
132
+ interface: {
133
+ type: AXPWidgetsCatalog.text,
134
+ },
135
+ },
136
+ validations: [
137
+ {
138
+ rule: 'required',
139
+ },
140
+ ],
141
+ },
142
+ {
143
+ name: 'subregion',
144
+ title: 'SubRegion',
145
+ groupId: 'geo',
146
+ schema: {
147
+ dataType: 'string',
148
+ interface: {
149
+ type: AXPWidgetsCatalog.text,
150
+ },
151
+ },
152
+ validations: [
153
+ {
154
+ rule: 'required',
155
+ },
156
+ ],
157
+ },
158
+ {
159
+ name: 'nationality',
160
+ title: 'Nationality',
161
+ groupId: 'geo',
162
+ schema: {
163
+ dataType: 'string',
164
+ interface: {
165
+ type: AXPWidgetsCatalog.text,
166
+ },
167
+ },
168
+ validations: [
169
+ {
170
+ rule: 'required',
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ name: 'geo.latitude',
176
+ title: 'Latitude',
177
+ groupId: 'geo',
178
+ schema: {
179
+ dataType: 'string',
180
+ interface: {
181
+ type: AXPWidgetsCatalog.text,
182
+ },
183
+ },
184
+ validations: [
185
+ {
186
+ rule: 'required',
187
+ },
188
+ ],
189
+ },
190
+ {
191
+ name: 'geo.longitude',
192
+ title: 'Longitude',
193
+ groupId: 'geo',
194
+ schema: {
195
+ dataType: 'string',
196
+ interface: {
197
+ type: AXPWidgetsCatalog.text,
198
+ },
199
+ },
200
+ validations: [
201
+ {
202
+ rule: 'required',
203
+ },
204
+ ],
205
+ },
206
+ {
207
+ name: 'capital',
208
+ title: 'Capital',
209
+ groupId: 'extra',
210
+ schema: {
211
+ dataType: 'string',
212
+ interface: {
213
+ type: AXPWidgetsCatalog.text,
214
+ },
215
+ },
216
+ validations: [
217
+ {
218
+ rule: 'required',
219
+ },
220
+ ],
221
+ },
222
+ {
223
+ name: 'tld',
224
+ title: 'Top Level Domain',
225
+ groupId: 'extra',
226
+ schema: {
227
+ dataType: 'string',
228
+ interface: {
229
+ type: AXPWidgetsCatalog.text,
230
+ },
231
+ },
232
+ validations: [
233
+ {
234
+ rule: 'required',
235
+ },
236
+ ],
237
+ },
238
+ ],
239
+ columns: [{ name: 'title' }, { name: 'iso2' }, { name: 'nativeName' }, { name: 'region' }],
240
+ commands: {
241
+ create: {
242
+ execute: async (data) => {
243
+ return Promise.resolve({ id: await dataService.insertOne(data) });
244
+ },
245
+ },
246
+ delete: {
247
+ execute: async (id) => {
248
+ await dataService.deleteOne(id);
249
+ return Promise.resolve();
250
+ },
251
+ },
252
+ update: {
253
+ execute: async (data) => {
254
+ return new Promise((resolve) => {
255
+ setTimeout(async () => {
256
+ await dataService.updateOne(data.id, data);
257
+ resolve(data);
258
+ }, 1000);
259
+ });
260
+ },
261
+ },
262
+ },
263
+ queries: {
264
+ byKey: {
265
+ execute: async (id) => {
266
+ return new Promise((resolve) => {
267
+ setTimeout(async () => {
268
+ const entity = await dataService.getOne(id);
269
+ resolve(entity);
270
+ }, 500);
271
+ });
272
+ },
273
+ type: AXPEntityQueryType.Single,
274
+ },
275
+ list: {
276
+ execute: async (e) => {
277
+ return dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
278
+ },
279
+ type: AXPEntityQueryType.List,
280
+ },
281
+ },
282
+ interfaces: {
283
+ master: {
284
+ create: {
285
+ sections: [
286
+ {
287
+ id: 'country',
288
+ },
289
+ ],
290
+ properties: [
291
+ {
292
+ name: 'title',
293
+ layout: {
294
+ positions: {
295
+ lg: {
296
+ colSpan: 6,
297
+ },
298
+ },
299
+ },
300
+ },
301
+ {
302
+ name: 'nativeName',
303
+ layout: {
304
+ positions: {
305
+ lg: {
306
+ colSpan: 6,
307
+ },
308
+ },
309
+ },
310
+ },
311
+ {
312
+ name: 'iso3',
313
+ layout: {
314
+ positions: {
315
+ lg: {
316
+ colSpan: 4,
317
+ },
318
+ },
319
+ },
320
+ },
321
+ {
322
+ name: 'iso2',
323
+ layout: {
324
+ positions: {
325
+ lg: {
326
+ colSpan: 4,
327
+ },
328
+ },
329
+ },
330
+ },
331
+ {
332
+ name: 'numericCode',
333
+ layout: {
334
+ positions: {
335
+ lg: {
336
+ colSpan: 4,
337
+ },
338
+ },
339
+ },
340
+ },
341
+ {
342
+ name: 'region',
343
+ layout: {
344
+ positions: {
345
+ lg: {
346
+ colSpan: 6,
347
+ },
348
+ },
349
+ },
350
+ },
351
+ {
352
+ name: 'subregion',
353
+ layout: {
354
+ positions: {
355
+ lg: {
356
+ colSpan: 6,
357
+ },
358
+ },
359
+ },
360
+ },
361
+ {
362
+ name: 'Nationality',
363
+ layout: {
364
+ positions: {
365
+ lg: {
366
+ colSpan: 6,
367
+ },
368
+ },
369
+ },
370
+ },
371
+ {
372
+ name: 'geo.latitude',
373
+ layout: {
374
+ positions: {
375
+ lg: {
376
+ colSpan: 3,
377
+ },
378
+ },
379
+ },
380
+ },
381
+ {
382
+ name: 'geo.longitude',
383
+ layout: {
384
+ positions: {
385
+ lg: {
386
+ colSpan: 3,
387
+ },
388
+ },
389
+ },
390
+ },
391
+ {
392
+ name: 'capital',
393
+ layout: {
394
+ positions: {
395
+ lg: {
396
+ colSpan: 6,
397
+ },
398
+ },
399
+ },
400
+ },
401
+ {
402
+ name: 'tld',
403
+ layout: {
404
+ positions: {
405
+ lg: {
406
+ colSpan: 6,
407
+ },
408
+ },
409
+ },
410
+ },
411
+ ],
412
+ },
413
+ update: {
414
+ sections: [
415
+ {
416
+ id: 'country',
417
+ },
418
+ ],
419
+ properties: [
420
+ {
421
+ name: 'title',
422
+ layout: {
423
+ positions: {
424
+ lg: {
425
+ colSpan: 6,
426
+ },
427
+ },
428
+ },
429
+ },
430
+ {
431
+ name: 'nativeName',
432
+ layout: {
433
+ positions: {
434
+ lg: {
435
+ colSpan: 6,
436
+ },
437
+ },
438
+ },
439
+ },
440
+ {
441
+ name: 'iso3',
442
+ layout: {
443
+ positions: {
444
+ lg: {
445
+ colSpan: 4,
446
+ },
447
+ },
448
+ },
449
+ },
450
+ {
451
+ name: 'iso2',
452
+ layout: {
453
+ positions: {
454
+ lg: {
455
+ colSpan: 4,
456
+ },
457
+ },
458
+ },
459
+ },
460
+ {
461
+ name: 'numericCode',
462
+ layout: {
463
+ positions: {
464
+ lg: {
465
+ colSpan: 4,
466
+ },
467
+ },
468
+ },
469
+ },
470
+ {
471
+ name: 'region',
472
+ layout: {
473
+ positions: {
474
+ lg: {
475
+ colSpan: 6,
476
+ },
477
+ },
478
+ },
479
+ },
480
+ {
481
+ name: 'subregion',
482
+ layout: {
483
+ positions: {
484
+ lg: {
485
+ colSpan: 6,
486
+ },
487
+ },
488
+ },
489
+ },
490
+ {
491
+ name: 'nationality',
492
+ layout: {
493
+ positions: {
494
+ lg: {
495
+ colSpan: 6,
496
+ },
497
+ },
498
+ },
499
+ },
500
+ {
501
+ name: 'geo.latitude',
502
+ layout: {
503
+ positions: {
504
+ lg: {
505
+ colSpan: 3,
506
+ },
507
+ },
508
+ },
509
+ },
510
+ {
511
+ name: 'geo.longitude',
512
+ layout: {
513
+ positions: {
514
+ lg: {
515
+ colSpan: 3,
516
+ },
517
+ },
518
+ },
519
+ },
520
+ {
521
+ name: 'capital',
522
+ layout: {
523
+ positions: {
524
+ lg: {
525
+ colSpan: 6,
526
+ },
527
+ },
528
+ },
529
+ },
530
+ {
531
+ name: 'tld',
532
+ layout: {
533
+ positions: {
534
+ lg: {
535
+ colSpan: 6,
536
+ },
537
+ },
538
+ },
539
+ },
540
+ ],
541
+ },
542
+ single: {
543
+ title: '{{title}}',
544
+ sections: [
545
+ {
546
+ id: 'country',
547
+ },
548
+ {
549
+ id: 'extra',
550
+ },
551
+ {
552
+ id: 'geo',
553
+ },
554
+ ],
555
+ properties: [
556
+ {
557
+ name: 'title',
558
+ layout: {
559
+ positions: {
560
+ lg: {
561
+ colSpan: 5,
562
+ },
563
+ },
564
+ },
565
+ },
566
+ {
567
+ name: 'iso2',
568
+ layout: {
569
+ positions: {
570
+ lg: {
571
+ colSpan: 2,
572
+ },
573
+ },
574
+ },
575
+ },
576
+ {
577
+ name: 'iso3',
578
+ layout: {
579
+ positions: {
580
+ lg: {
581
+ colSpan: 2,
582
+ },
583
+ },
584
+ },
585
+ },
586
+ {
587
+ name: 'numericCode',
588
+ layout: {
589
+ positions: {
590
+ lg: {
591
+ colSpan: 3,
592
+ },
593
+ },
594
+ },
595
+ },
596
+ {
597
+ name: 'nativeName',
598
+ layout: {
599
+ positions: {
600
+ lg: {
601
+ colSpan: 6,
602
+ },
603
+ },
604
+ },
605
+ },
606
+ {
607
+ name: 'nationality',
608
+ layout: {
609
+ positions: {
610
+ lg: {
611
+ colSpan: 6,
612
+ },
613
+ },
614
+ },
615
+ },
616
+ {
617
+ name: 'region',
618
+ layout: {
619
+ positions: {
620
+ lg: {
621
+ colSpan: 6,
622
+ },
623
+ },
624
+ },
625
+ },
626
+ {
627
+ name: 'subRegion',
628
+ layout: {
629
+ positions: {
630
+ lg: {
631
+ colSpan: 6,
632
+ },
633
+ },
634
+ },
635
+ },
636
+ {
637
+ name: 'geo.latitude',
638
+ layout: {
639
+ positions: {
640
+ lg: {
641
+ colSpan: 6,
642
+ },
643
+ },
644
+ },
645
+ },
646
+ ],
647
+ actions: [],
648
+ },
649
+ list: {
650
+ actions: [
651
+ {
652
+ title: 'Create New',
653
+ command: 'create-entity',
654
+ priority: 'primary',
655
+ type: 'create',
656
+ scope: AXPEntityCommandScope.TypeLevel,
657
+ },
658
+ {
659
+ title: 'Delete Items',
660
+ command: 'delete-entity',
661
+ priority: 'primary',
662
+ type: 'delete',
663
+ scope: AXPEntityCommandScope.Selected,
664
+ },
665
+ {
666
+ title: 'Details',
667
+ command: 'open-entity',
668
+ priority: 'secondary',
669
+ type: 'view',
670
+ scope: AXPEntityCommandScope.Individual,
671
+ },
672
+ {
673
+ title: 'Delete',
674
+ command: 'delete-entity',
675
+ priority: 'secondary',
676
+ type: 'delete',
677
+ scope: AXPEntityCommandScope.Individual,
678
+ },
679
+ ],
680
+ views: [
681
+ {
682
+ name: 'all',
683
+ title: 'All Items',
684
+ fixed: true,
685
+ columns: [],
686
+ conditions: [],
687
+ sorts: [],
688
+ },
689
+ ],
690
+ },
691
+ },
692
+ },
693
+ };
694
+ return entityDef;
695
+ }
696
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcGxhdGZvcm0tbWFuYWdlbWVudC9zcmMvbGliL2NvbW1vbi9jb3VudHJ5L2NvdW50cnkuZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxLQUFLLFVBQVUsb0JBQW9CLENBQUMsUUFBa0I7SUFDM0QsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXBELE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsZ0NBQWdDO1FBQ3hDLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE9BQU8sRUFBRTtZQUNQLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLE1BQU0sRUFBRSxXQUFXO1NBQ3BCO1FBQ0QsZUFBZSxFQUFFO1lBQ2Y7Z0JBQ0UsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2dCQUNsQixVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLFFBQVEsRUFBRTs0QkFDUixJQUFJLEVBQUUsT0FBTzt5QkFDZDt3QkFDRCxLQUFLLEVBQUUsT0FBTztxQkFDZjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxFQUFFLEVBQUUsU0FBUztnQkFDYixLQUFLLEVBQUUsU0FB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O3lCQUN0Qzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsU0FBUzs0QkFDaEIsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFFBQVEsRUFBRSxXQUFXOzRCQUNyQixJQUFJLEVBQUUsTUFBTTs0QkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLFFBQVE7NEJBQ2YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxXQUFXOzRCQUNyQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7cUJBQ0Y7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMOzRCQUNFLElBQUksRUFBRSxLQUFLOzRCQUNYLEtBQUssRUFBRSxXQUFXOzRCQUNsQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsRUFBRTs0QkFDWCxVQUFVLEVBQUUsRUFBRTs0QkFDZCxLQUFLLEVBQUUsRUFBRTt5QkFDVjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTUNvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi9jb3VudHJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY291bnRyeUVudGl0eUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTUNvdW50cnlTZXJ2aWNlKTtcblxuICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICBtb2R1bGU6ICdsb2NhbGl6YXRpb24tbWFuYWdlbWVudCcsXG4gICAgbmFtZTogJ2NvdW50cnknLFxuICAgIHNvdXJjZTogJ2xvY2FsaXphdGlvbk1hbmFnZW1lbnQuY291bnRyeScsXG4gICAgdGl0bGU6ICdDb3VudHJ5JyxcbiAgICBmb3JtYXRzOiB7XG4gICAgICBpbmRpdmlkdWFsOiAnQ291bnRyeScsXG4gICAgICBwbHVyYWw6ICdDb3VudHJpZXMnLFxuICAgIH0sXG4gICAgcmVsYXRlZEVudGl0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIGVudGl0eTogJ2NvbW1vbi5wcm92aW5jZScsXG4gICAgICAgIHRpdGxlOiAnI2NvbW1vbi5wcm92aW5jZXMnLFxuICAgICAgICBjb2x1bW5zOiBbJ3RpdGxlJ10sXG4gICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnY291bnRyeUlkJyxcbiAgICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdlcXVhbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmFsdWU6ICcke2lkfScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdjb3VudHJ5JyxcbiAgICAgICAgdGl0bGU6ICdDb3VudHJ5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnZXh0cmEnLFxuICAgICAgICB0aXRsZTogJ0dsb2JhbCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2dlbycsXG4gICAgICAgIHRpdGxlOiAnR2VvJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgIHRpdGxlOiAnVGl0bGUnLFxuICAgICAgICBncm91cElkOiAnY291bnRyeScsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaXNvMycsXG4gICAgICAgIHRpdGxlOiAnSVNPMyBDb2RlJyxcbiAgICAgICAgZ3JvdXBJZDogJ2NvdW50cnknLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2lzbzInLFxuICAgICAgICB0aXRsZTogJ0lTTzIgQ29kZScsXG4gICAgICAgIGdyb3VwSWQ6ICdjb3VudHJ5JyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdudW1lcmljQ29kZScsXG4gICAgICAgIHRpdGxlOiAnTnVtZXJpYyBDb2RlJyxcbiAgICAgICAgZ3JvdXBJZDogJ2NvdW50cnknLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ25hdGl2ZU5hbWUnLFxuICAgICAgICB0aXRsZTogJ05hdGl2ZSBOYW1lJyxcbiAgICAgICAgZ3JvdXBJZDogJ2dlbycsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmVnaW9uJyxcbiAgICAgICAgdGl0bGU6ICdSZWdpb24nLFxuICAgICAgICBncm91cElkOiAnZ2VvJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdWJyZWdpb24nLFxuICAgICAgICB0aXRsZTogJ1N1YlJlZ2lvbicsXG4gICAgICAgIGdyb3VwSWQ6ICdnZW8nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ25hdGlvbmFsaXR5JyxcbiAgICAgICAgdGl0bGU6ICdOYXRpb25hbGl0eScsXG4gICAgICAgIGdyb3VwSWQ6ICdnZW8nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2dlby5sYXRpdHVkZScsXG4gICAgICAgIHRpdGxlOiAnTGF0aXR1ZGUnLFxuICAgICAgICBncm91cElkOiAnZ2VvJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdnZW8ubG9uZ2l0dWRlJyxcbiAgICAgICAgdGl0bGU6ICdMb25naXR1ZGUnLFxuICAgICAgICBncm91cElkOiAnZ2VvJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjYXBpdGFsJyxcbiAgICAgICAgdGl0bGU6ICdDYXBpdGFsJyxcbiAgICAgICAgZ3JvdXBJZDogJ2V4dHJhJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0bGQnLFxuICAgICAgICB0aXRsZTogJ1RvcCBMZXZlbCBEb21haW4nLFxuICAgICAgICBncm91cElkOiAnZXh0cmEnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICd0aXRsZScgfSwgeyBuYW1lOiAnaXNvMicgfSwgeyBuYW1lOiAnbmF0aXZlTmFtZScgfSwgeyBuYW1lOiAncmVnaW9uJyB9XSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgaWQ6IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKSB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IHtcbiAgICAgICAgICBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKGlkKTtcbiAgICAgICAgICAgICAgcmVzb2x2ZShlbnRpdHkpO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZGF0YVNlcnZpY2UucXVlcnkoeyBza2lwOiBlLnNraXAsIHRha2U6IGUudGFrZSwgZmlsdGVyOiBlLmZpbHRlciB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnY291bnRyeScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmF0aXZlTmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpc28zJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA0LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2lzbzInLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbnVtZXJpY0NvZGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmVnaW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3N1YnJlZ2lvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdOYXRpb25hbGl0eScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdnZW8ubGF0aXR1ZGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZ2VvLmxvbmdpdHVkZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdjYXBpdGFsJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RsZCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdjb3VudHJ5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYXRpdmVOYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2lzbzMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnaXNvMicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdudW1lcmljQ29kZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZWdpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnc3VicmVnaW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hdGlvbmFsaXR5JyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2dlby5sYXRpdHVkZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdnZW8ubG9uZ2l0dWRlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NhcGl0YWwnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGxkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogJ3t7dGl0bGV9fScsXG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdjb3VudHJ5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZXh0cmEnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdnZW8nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2lzbzInLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnaXNvMycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdudW1lcmljQ29kZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYXRpdmVOYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hdGlvbmFsaXR5JyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3JlZ2lvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdzdWJSZWdpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZ2VvLmxhdGl0dWRlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBOZXcnLFxuICAgICAgICAgICAgICBjb21tYW5kOiAnY3JlYXRlLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdjcmVhdGUnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlIEl0ZW1zJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdvcGVuLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdkZWxldGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdhbGwnLFxuICAgICAgICAgICAgICB0aXRsZTogJ0FsbCBJdGVtcycsXG4gICAgICAgICAgICAgIGZpeGVkOiB0cnVlLFxuICAgICAgICAgICAgICBjb2x1bW5zOiBbXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgIHNvcnRzOiBbXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19