general-library-union 3.3.76 → 3.3.77

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 (987) hide show
  1. package/README.md +0 -0
  2. package/esm2022/public-api.mjs +4 -1
  3. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +31 -13
  4. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +11 -17
  5. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +3 -3
  6. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +3 -3
  7. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +4 -3
  8. package/esm2022/src/app/core/componentes/template-tabla-vacia/template-tabla-vacia.component.mjs +21 -0
  9. package/esm2022/src/app/core/servicios/auth.service.mjs +2 -1
  10. package/esm2022/src/app/core/servicios/click-posicion.service.mjs +20 -0
  11. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +2 -2
  12. package/esm2022/src/app/core/servicios/toast.service.mjs +2 -2
  13. package/esm2022/src/app/core/servicios/utils.service.mjs +45 -19
  14. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +10 -21
  15. package/esm2022/src/app/layout/app.layout.component.mjs +3 -4
  16. package/esm2022/src/app/layout/app.menu.component.mjs +1 -1
  17. package/esm2022/src/app/layout/app.menuitem.component.mjs +72 -13
  18. package/esm2022/src/app/layout/app.topbar.component.mjs +19 -23
  19. package/esm2022/src/app/publico/pages/login/login.page.mjs +5 -3
  20. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +3 -3
  21. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +4 -3
  22. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +3 -3
  23. package/esm2022/src/app/seguridad/modelos/CorreoOrgEmpModModel.mjs +9 -0
  24. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +1 -1
  25. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +1 -1
  26. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +2 -1
  27. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +3 -3
  28. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +4 -3
  29. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +4 -3
  30. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +30 -31
  31. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +32 -5
  32. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +8 -6
  33. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +13 -3
  34. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +4 -3
  35. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +5 -4
  36. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +4 -3
  37. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +4 -3
  38. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +3 -2
  39. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +5 -4
  40. package/esm2022/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.mjs +4 -3
  41. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +4 -3
  42. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +4 -3
  43. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +19 -8
  44. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +4 -3
  45. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +6 -1
  46. package/esm2022/src/environments/environment.mjs +2 -3
  47. package/fesm2022/general-library-union.mjs +425 -550
  48. package/fesm2022/general-library-union.mjs.map +1 -1
  49. package/package.json +5 -5
  50. package/public-api.d.ts +3 -0
  51. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +3 -1
  52. package/src/app/core/componentes/template-tabla-vacia/template-tabla-vacia.component.d.ts +9 -0
  53. package/src/app/core/servicios/click-posicion.service.d.ts +11 -0
  54. package/src/app/core/servicios/utils.service.d.ts +4 -1
  55. package/src/app/layout/app.breadcrumb.component.d.ts +1 -4
  56. package/src/app/layout/app.menuitem.component.d.ts +2 -4
  57. package/src/app/layout/app.topbar.component.d.ts +2 -3
  58. package/src/app/seguridad/modelos/CorreoOrgEmpModModel.d.ts +8 -0
  59. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +15 -15
  60. package/src/app/seguridad/modelos/TareasModel.d.ts +1 -0
  61. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +3 -1
  62. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +1 -0
  63. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +3 -0
  64. package/src/app/webcommon/services/fechaUtils.service.d.ts +1 -0
  65. package/src/assets/demo/avatar-1.png +0 -0
  66. package/src/assets/demo/customers-large.json +0 -0
  67. package/src/assets/demo/data/chat.json +0 -0
  68. package/src/assets/demo/data/countries.json +0 -0
  69. package/src/assets/demo/data/customers-large.json +0 -0
  70. package/src/assets/demo/data/customers-medium.json +0 -0
  71. package/src/assets/demo/data/customers-small.json +0 -0
  72. package/src/assets/demo/data/file-management.json +0 -0
  73. package/src/assets/demo/data/files-lazy.json +0 -0
  74. package/src/assets/demo/data/files.json +0 -0
  75. package/src/assets/demo/data/filesystem-lazy.json +0 -0
  76. package/src/assets/demo/data/filesystem.json +0 -0
  77. package/src/assets/demo/data/icons.json +0 -0
  78. package/src/assets/demo/data/kanban.json +0 -0
  79. package/src/assets/demo/data/mail.json +0 -0
  80. package/src/assets/demo/data/members.json +0 -0
  81. package/src/assets/demo/data/photos.json +0 -0
  82. package/src/assets/demo/data/products-mixed.json +0 -0
  83. package/src/assets/demo/data/products-orders-small.json +0 -0
  84. package/src/assets/demo/data/products-orders.json +0 -0
  85. package/src/assets/demo/data/products-small.json +0 -0
  86. package/src/assets/demo/data/products.json +0 -0
  87. package/src/assets/demo/data/scheduleevents.json +0 -0
  88. package/src/assets/demo/data/tasks.json +0 -0
  89. package/src/assets/demo/images/avatar/activity-1.png +0 -0
  90. package/src/assets/demo/images/avatar/activity-2.png +0 -0
  91. package/src/assets/demo/images/avatar/activity-3.png +0 -0
  92. package/src/assets/demo/images/avatar/amyelsner.png +0 -0
  93. package/src/assets/demo/images/avatar/annafali.png +0 -0
  94. package/src/assets/demo/images/avatar/asiyajavayant.png +0 -0
  95. package/src/assets/demo/images/avatar/avatar-1.png +0 -0
  96. package/src/assets/demo/images/avatar/avatar-10.png +0 -0
  97. package/src/assets/demo/images/avatar/avatar-11.png +0 -0
  98. package/src/assets/demo/images/avatar/avatar-12.png +0 -0
  99. package/src/assets/demo/images/avatar/avatar-13.png +0 -0
  100. package/src/assets/demo/images/avatar/avatar-14.png +0 -0
  101. package/src/assets/demo/images/avatar/avatar-15.png +0 -0
  102. package/src/assets/demo/images/avatar/avatar-16.png +0 -0
  103. package/src/assets/demo/images/avatar/avatar-2.png +0 -0
  104. package/src/assets/demo/images/avatar/avatar-3.png +0 -0
  105. package/src/assets/demo/images/avatar/avatar-4.png +0 -0
  106. package/src/assets/demo/images/avatar/avatar-5.png +0 -0
  107. package/src/assets/demo/images/avatar/avatar-6.png +0 -0
  108. package/src/assets/demo/images/avatar/avatar-7.png +0 -0
  109. package/src/assets/demo/images/avatar/avatar-8.png +0 -0
  110. package/src/assets/demo/images/avatar/avatar-9.png +0 -0
  111. package/src/assets/demo/images/avatar/bernardodominic.png +0 -0
  112. package/src/assets/demo/images/avatar/circle/avatar-f-1.png +0 -0
  113. package/src/assets/demo/images/avatar/circle/avatar-f-10.png +0 -0
  114. package/src/assets/demo/images/avatar/circle/avatar-f-10@2x.png +0 -0
  115. package/src/assets/demo/images/avatar/circle/avatar-f-11.png +0 -0
  116. package/src/assets/demo/images/avatar/circle/avatar-f-11@2x.png +0 -0
  117. package/src/assets/demo/images/avatar/circle/avatar-f-12.png +0 -0
  118. package/src/assets/demo/images/avatar/circle/avatar-f-12@2x.png +0 -0
  119. package/src/assets/demo/images/avatar/circle/avatar-f-1@2x.png +0 -0
  120. package/src/assets/demo/images/avatar/circle/avatar-f-2.png +0 -0
  121. package/src/assets/demo/images/avatar/circle/avatar-f-2@2x.png +0 -0
  122. package/src/assets/demo/images/avatar/circle/avatar-f-3.png +0 -0
  123. package/src/assets/demo/images/avatar/circle/avatar-f-3@2x.png +0 -0
  124. package/src/assets/demo/images/avatar/circle/avatar-f-4.png +0 -0
  125. package/src/assets/demo/images/avatar/circle/avatar-f-4@2x.png +0 -0
  126. package/src/assets/demo/images/avatar/circle/avatar-f-5.png +0 -0
  127. package/src/assets/demo/images/avatar/circle/avatar-f-5@2x.png +0 -0
  128. package/src/assets/demo/images/avatar/circle/avatar-f-6.png +0 -0
  129. package/src/assets/demo/images/avatar/circle/avatar-f-6@2x.png +0 -0
  130. package/src/assets/demo/images/avatar/circle/avatar-f-7.png +0 -0
  131. package/src/assets/demo/images/avatar/circle/avatar-f-7@2x.png +0 -0
  132. package/src/assets/demo/images/avatar/circle/avatar-f-8.png +0 -0
  133. package/src/assets/demo/images/avatar/circle/avatar-f-8@2x.png +0 -0
  134. package/src/assets/demo/images/avatar/circle/avatar-f-9.png +0 -0
  135. package/src/assets/demo/images/avatar/circle/avatar-f-9@2x.png +0 -0
  136. package/src/assets/demo/images/avatar/circle/avatar-m-1.png +0 -0
  137. package/src/assets/demo/images/avatar/circle/avatar-m-10.png +0 -0
  138. package/src/assets/demo/images/avatar/circle/avatar-m-10@2x.png +0 -0
  139. package/src/assets/demo/images/avatar/circle/avatar-m-11.png +0 -0
  140. package/src/assets/demo/images/avatar/circle/avatar-m-11@2x.png +0 -0
  141. package/src/assets/demo/images/avatar/circle/avatar-m-12.png +0 -0
  142. package/src/assets/demo/images/avatar/circle/avatar-m-12@2x.png +0 -0
  143. package/src/assets/demo/images/avatar/circle/avatar-m-1@2x.png +0 -0
  144. package/src/assets/demo/images/avatar/circle/avatar-m-2.png +0 -0
  145. package/src/assets/demo/images/avatar/circle/avatar-m-2@2x.png +0 -0
  146. package/src/assets/demo/images/avatar/circle/avatar-m-3.png +0 -0
  147. package/src/assets/demo/images/avatar/circle/avatar-m-3@2x.png +0 -0
  148. package/src/assets/demo/images/avatar/circle/avatar-m-4.png +0 -0
  149. package/src/assets/demo/images/avatar/circle/avatar-m-4@2x.png +0 -0
  150. package/src/assets/demo/images/avatar/circle/avatar-m-5.png +0 -0
  151. package/src/assets/demo/images/avatar/circle/avatar-m-5@2x.png +0 -0
  152. package/src/assets/demo/images/avatar/circle/avatar-m-6.png +0 -0
  153. package/src/assets/demo/images/avatar/circle/avatar-m-6@2x.png +0 -0
  154. package/src/assets/demo/images/avatar/circle/avatar-m-7-1.png +0 -0
  155. package/src/assets/demo/images/avatar/circle/avatar-m-7.png +0 -0
  156. package/src/assets/demo/images/avatar/circle/avatar-m-7@2x-1.png +0 -0
  157. package/src/assets/demo/images/avatar/circle/avatar-m-7@2x.png +0 -0
  158. package/src/assets/demo/images/avatar/circle/avatar-m-8.png +0 -0
  159. package/src/assets/demo/images/avatar/circle/avatar-m-8@2x.png +0 -0
  160. package/src/assets/demo/images/avatar/circle/avatar-m-9.png +0 -0
  161. package/src/assets/demo/images/avatar/circle/avatar-m-9@2x.png +0 -0
  162. package/src/assets/demo/images/avatar/circle-big/avatar-f-1.png +0 -0
  163. package/src/assets/demo/images/avatar/circle-big/avatar-f-1@2x.png +0 -0
  164. package/src/assets/demo/images/avatar/circle-big/avatar-f-2.png +0 -0
  165. package/src/assets/demo/images/avatar/circle-big/avatar-f-2@2x.png +0 -0
  166. package/src/assets/demo/images/avatar/circle-big/avatar-f-3.png +0 -0
  167. package/src/assets/demo/images/avatar/circle-big/avatar-f-3@2x.png +0 -0
  168. package/src/assets/demo/images/avatar/circle-big/avatar-m-1.png +0 -0
  169. package/src/assets/demo/images/avatar/circle-big/avatar-m-1@2x.png +0 -0
  170. package/src/assets/demo/images/avatar/circle-big/avatar-m-2.png +0 -0
  171. package/src/assets/demo/images/avatar/circle-big/avatar-m-2@2x.png +0 -0
  172. package/src/assets/demo/images/avatar/circle-big/avatar-m-3.png +0 -0
  173. package/src/assets/demo/images/avatar/circle-big/avatar-m-3@2x.png +0 -0
  174. package/src/assets/demo/images/avatar/elwinsharvill.png +0 -0
  175. package/src/assets/demo/images/avatar/ionibowcher.png +0 -0
  176. package/src/assets/demo/images/avatar/ivanmagalhaes.png +0 -0
  177. package/src/assets/demo/images/avatar/onyamalimba.png +0 -0
  178. package/src/assets/demo/images/avatar/profile.jpg +0 -0
  179. package/src/assets/demo/images/avatar/square/avatar-f-1.jpg +0 -0
  180. package/src/assets/demo/images/avatar/square/avatar-f-1@2x.jpg +0 -0
  181. package/src/assets/demo/images/avatar/square/avatar-f-2.jpg +0 -0
  182. package/src/assets/demo/images/avatar/square/avatar-f-2@2x.jpg +0 -0
  183. package/src/assets/demo/images/avatar/square/avatar-m-1.jpg +0 -0
  184. package/src/assets/demo/images/avatar/square/avatar-m-1@2x.jpg +0 -0
  185. package/src/assets/demo/images/avatar/stephenshaw.png +0 -0
  186. package/src/assets/demo/images/avatar/xuxuefeng.png +0 -0
  187. package/src/assets/demo/images/blocks/about/about-1.png +0 -0
  188. package/src/assets/demo/images/blocks/ad/icon-blocks.svg +0 -0
  189. package/src/assets/demo/images/blocks/hero/hero-1.png +0 -0
  190. package/src/assets/demo/images/blocks/logos/hyper.svg +0 -0
  191. package/src/assets/demo/images/blocks/logos/visa.png +0 -0
  192. package/src/assets/demo/images/blocks/team/team-1.png +0 -0
  193. package/src/assets/demo/images/blocks/team/team-2.png +0 -0
  194. package/src/assets/demo/images/blocks/team/team-3.png +0 -0
  195. package/src/assets/demo/images/blocks/team/team-4.png +0 -0
  196. package/src/assets/demo/images/blog/blog-1.png +0 -0
  197. package/src/assets/demo/images/blog/blog-2.png +0 -0
  198. package/src/assets/demo/images/blog/blog-3.png +0 -0
  199. package/src/assets/demo/images/blog/blog-4.png +0 -0
  200. package/src/assets/demo/images/blog/blog-5.png +0 -0
  201. package/src/assets/demo/images/blog/blog-6.png +0 -0
  202. package/src/assets/demo/images/blog/blogdetail.png +0 -0
  203. package/src/assets/demo/images/contact/map-dark.svg +0 -0
  204. package/src/assets/demo/images/contact/map-light.svg +0 -0
  205. package/src/assets/demo/images/ecommerce/order-history/orderhistory-1.png +0 -0
  206. package/src/assets/demo/images/ecommerce/order-history/orderhistory-2.png +0 -0
  207. package/src/assets/demo/images/ecommerce/order-history/orderhistory-3.png +0 -0
  208. package/src/assets/demo/images/ecommerce/order-history/orderhistory-4.png +0 -0
  209. package/src/assets/demo/images/ecommerce/order-history/orderhistory-5.png +0 -0
  210. package/src/assets/demo/images/ecommerce/order-history/orderhistory-6.png +0 -0
  211. package/src/assets/demo/images/ecommerce/ordersummary/order-summary-1-1.png +0 -0
  212. package/src/assets/demo/images/ecommerce/ordersummary/order-summary-1-2.png +0 -0
  213. package/src/assets/demo/images/ecommerce/ordersummary/order-summary-2-1.png +0 -0
  214. package/src/assets/demo/images/ecommerce/ordersummary/visa.png +0 -0
  215. package/src/assets/demo/images/ecommerce/product-list/product-list-2-1.png +0 -0
  216. package/src/assets/demo/images/ecommerce/product-list/product-list-2-2.png +0 -0
  217. package/src/assets/demo/images/ecommerce/product-list/product-list-2-3.png +0 -0
  218. package/src/assets/demo/images/ecommerce/product-list/product-list-2-4.png +0 -0
  219. package/src/assets/demo/images/ecommerce/product-list/product-list-4-1.png +0 -0
  220. package/src/assets/demo/images/ecommerce/product-list/product-list-4-2.png +0 -0
  221. package/src/assets/demo/images/ecommerce/product-list/product-list-4-3.png +0 -0
  222. package/src/assets/demo/images/ecommerce/product-list/product-list-4-4.png +0 -0
  223. package/src/assets/demo/images/ecommerce/product-list/product-list-4-5.png +0 -0
  224. package/src/assets/demo/images/ecommerce/product-list/product-list-4-6.png +0 -0
  225. package/src/assets/demo/images/ecommerce/productoverview/product-overview-1-1.png +0 -0
  226. package/src/assets/demo/images/ecommerce/productoverview/product-overview-1-2.png +0 -0
  227. package/src/assets/demo/images/ecommerce/productoverview/product-overview-1-3.png +0 -0
  228. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-1.png +0 -0
  229. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-2.png +0 -0
  230. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-3.png +0 -0
  231. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-4.png +0 -0
  232. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-1.png +0 -0
  233. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-2.png +0 -0
  234. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-3.png +0 -0
  235. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-4.png +0 -0
  236. package/src/assets/demo/images/ecommerce/productoverview/product-overview-4-1.png +0 -0
  237. package/src/assets/demo/images/ecommerce/productoverview/product-overview-4-2.png +0 -0
  238. package/src/assets/demo/images/ecommerce/productoverview/product-overview-4-3.png +0 -0
  239. package/src/assets/demo/images/ecommerce/productoverview/product-suggestion.png +0 -0
  240. package/src/assets/demo/images/ecommerce/shop/flag.png +0 -0
  241. package/src/assets/demo/images/ecommerce/shop/shop-1.png +0 -0
  242. package/src/assets/demo/images/ecommerce/shop/shop-2.png +0 -0
  243. package/src/assets/demo/images/ecommerce/shop/shop-3.png +0 -0
  244. package/src/assets/demo/images/ecommerce/shop/shop-4.png +0 -0
  245. package/src/assets/demo/images/ecommerce/shop/shop-5.png +0 -0
  246. package/src/assets/demo/images/ecommerce/shop/shop-6.png +0 -0
  247. package/src/assets/demo/images/ecommerce/shopping-cart/shopping-cart-2-1.png +0 -0
  248. package/src/assets/demo/images/ecommerce/shopping-cart/shopping-cart-2-2.png +0 -0
  249. package/src/assets/demo/images/flag/flag_placeholder.png +0 -0
  250. package/src/assets/demo/images/galleria/galleria1.jpg +0 -0
  251. package/src/assets/demo/images/galleria/galleria10.jpg +0 -0
  252. package/src/assets/demo/images/galleria/galleria10s.jpg +0 -0
  253. package/src/assets/demo/images/galleria/galleria11.jpg +0 -0
  254. package/src/assets/demo/images/galleria/galleria11s.jpg +0 -0
  255. package/src/assets/demo/images/galleria/galleria12.jpg +0 -0
  256. package/src/assets/demo/images/galleria/galleria12s.jpg +0 -0
  257. package/src/assets/demo/images/galleria/galleria13.jpg +0 -0
  258. package/src/assets/demo/images/galleria/galleria13s.jpg +0 -0
  259. package/src/assets/demo/images/galleria/galleria14.jpg +0 -0
  260. package/src/assets/demo/images/galleria/galleria14s.jpg +0 -0
  261. package/src/assets/demo/images/galleria/galleria15.jpg +0 -0
  262. package/src/assets/demo/images/galleria/galleria15s.jpg +0 -0
  263. package/src/assets/demo/images/galleria/galleria1s.jpg +0 -0
  264. package/src/assets/demo/images/galleria/galleria2.jpg +0 -0
  265. package/src/assets/demo/images/galleria/galleria2s.jpg +0 -0
  266. package/src/assets/demo/images/galleria/galleria3.jpg +0 -0
  267. package/src/assets/demo/images/galleria/galleria3s.jpg +0 -0
  268. package/src/assets/demo/images/galleria/galleria4.jpg +0 -0
  269. package/src/assets/demo/images/galleria/galleria4s.jpg +0 -0
  270. package/src/assets/demo/images/galleria/galleria5.jpg +0 -0
  271. package/src/assets/demo/images/galleria/galleria5s.jpg +0 -0
  272. package/src/assets/demo/images/galleria/galleria6.jpg +0 -0
  273. package/src/assets/demo/images/galleria/galleria6s.jpg +0 -0
  274. package/src/assets/demo/images/galleria/galleria7.jpg +0 -0
  275. package/src/assets/demo/images/galleria/galleria7s.jpg +0 -0
  276. package/src/assets/demo/images/galleria/galleria8.jpg +0 -0
  277. package/src/assets/demo/images/galleria/galleria8s.jpg +0 -0
  278. package/src/assets/demo/images/galleria/galleria9.jpg +0 -0
  279. package/src/assets/demo/images/galleria/galleria9s.jpg +0 -0
  280. package/src/assets/demo/images/landing/chat-dark.png +0 -0
  281. package/src/assets/demo/images/landing/chat-light.png +0 -0
  282. package/src/assets/demo/images/landing/dashboard-dark.png +0 -0
  283. package/src/assets/demo/images/landing/dashboard-light.png +0 -0
  284. package/src/assets/demo/images/landing/icon-accessibility.svg +0 -0
  285. package/src/assets/demo/images/landing/icon-community.svg +0 -0
  286. package/src/assets/demo/images/landing/icon-components.svg +0 -0
  287. package/src/assets/demo/images/landing/icon-mobile.svg +0 -0
  288. package/src/assets/demo/images/landing/icon-productivity.svg +0 -0
  289. package/src/assets/demo/images/landing/icon-support.svg +0 -0
  290. package/src/assets/demo/images/landing/icon-theme.svg +0 -0
  291. package/src/assets/demo/images/landing/icon-ts.svg +0 -0
  292. package/src/assets/demo/images/landing/kanban-dark.png +0 -0
  293. package/src/assets/demo/images/landing/kanban-light.png +0 -0
  294. package/src/assets/demo/images/landing/mail-dark.png +0 -0
  295. package/src/assets/demo/images/landing/mail-light.png +0 -0
  296. package/src/assets/demo/images/nature/nature1.jpg +0 -0
  297. package/src/assets/demo/images/nature/nature10.jpg +0 -0
  298. package/src/assets/demo/images/nature/nature11.jpg +0 -0
  299. package/src/assets/demo/images/nature/nature12.jpg +0 -0
  300. package/src/assets/demo/images/nature/nature2.jpg +0 -0
  301. package/src/assets/demo/images/nature/nature3.jpg +0 -0
  302. package/src/assets/demo/images/nature/nature4.jpg +0 -0
  303. package/src/assets/demo/images/nature/nature5.jpg +0 -0
  304. package/src/assets/demo/images/nature/nature6.jpg +0 -0
  305. package/src/assets/demo/images/nature/nature7.jpg +0 -0
  306. package/src/assets/demo/images/nature/nature8.jpg +0 -0
  307. package/src/assets/demo/images/nature/nature9.jpg +0 -0
  308. package/src/assets/demo/images/product/bamboo-watch.jpg +0 -0
  309. package/src/assets/demo/images/product/black-watch.jpg +0 -0
  310. package/src/assets/demo/images/product/blue-band.jpg +0 -0
  311. package/src/assets/demo/images/product/blue-t-shirt.jpg +0 -0
  312. package/src/assets/demo/images/product/bracelet.jpg +0 -0
  313. package/src/assets/demo/images/product/brown-purse.jpg +0 -0
  314. package/src/assets/demo/images/product/chakra-bracelet.jpg +0 -0
  315. package/src/assets/demo/images/product/galaxy-earrings.jpg +0 -0
  316. package/src/assets/demo/images/product/game-controller.jpg +0 -0
  317. package/src/assets/demo/images/product/gaming-set.jpg +0 -0
  318. package/src/assets/demo/images/product/gold-phone-case.jpg +0 -0
  319. package/src/assets/demo/images/product/green-earbuds.jpg +0 -0
  320. package/src/assets/demo/images/product/green-t-shirt.jpg +0 -0
  321. package/src/assets/demo/images/product/grey-t-shirt.jpg +0 -0
  322. package/src/assets/demo/images/product/headphones.jpg +0 -0
  323. package/src/assets/demo/images/product/light-green-t-shirt.jpg +0 -0
  324. package/src/assets/demo/images/product/lime-band.jpg +0 -0
  325. package/src/assets/demo/images/product/mini-speakers.jpg +0 -0
  326. package/src/assets/demo/images/product/painted-phone-case.jpg +0 -0
  327. package/src/assets/demo/images/product/pink-band.jpg +0 -0
  328. package/src/assets/demo/images/product/pink-purse.jpg +0 -0
  329. package/src/assets/demo/images/product/product-placeholder.svg +0 -0
  330. package/src/assets/demo/images/product/purple-band.jpg +0 -0
  331. package/src/assets/demo/images/product/purple-gemstone-necklace.jpg +0 -0
  332. package/src/assets/demo/images/product/purple-t-shirt.jpg +0 -0
  333. package/src/assets/demo/images/product/shoes.jpg +0 -0
  334. package/src/assets/demo/images/product/sneakers.jpg +0 -0
  335. package/src/assets/demo/images/product/teal-t-shirt.jpg +0 -0
  336. package/src/assets/demo/images/product/yellow-earbuds.jpg +0 -0
  337. package/src/assets/demo/images/product/yoga-mat.jpg +0 -0
  338. package/src/assets/demo/images/product/yoga-set.jpg +0 -0
  339. package/src/assets/demo/styles/badges.css +0 -0
  340. package/src/assets/demo/styles/badges.scss +0 -0
  341. package/src/assets/demo/styles/code.css +0 -0
  342. package/src/assets/demo/styles/code.scss +0 -0
  343. package/src/assets/demo/styles/flags/flags.css +0 -0
  344. package/src/assets/demo/styles/flags/flags_responsive.png +0 -0
  345. package/src/assets/glyphicons/css/boton-icon.css +0 -0
  346. package/src/assets/glyphicons/css/glyphicons-basic.css +0 -0
  347. package/src/assets/glyphicons/css/glyphicons-filetypes.css +0 -0
  348. package/src/assets/glyphicons/css/glyphicons-halflings.css +0 -0
  349. package/src/assets/glyphicons/css/glyphicons-social.css +0 -0
  350. package/src/assets/glyphicons/css/glyphicons.css +0 -0
  351. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.eot +0 -0
  352. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.svg +0 -0
  353. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.ttf +0 -0
  354. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.woff +0 -0
  355. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.woff2 +0 -0
  356. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.eot +0 -0
  357. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.svg +0 -0
  358. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.ttf +0 -0
  359. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.woff +0 -0
  360. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.woff2 +0 -0
  361. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.eot +0 -0
  362. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.svg +0 -0
  363. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.ttf +0 -0
  364. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.woff +0 -0
  365. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.woff2 +0 -0
  366. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.eot +0 -0
  367. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.svg +0 -0
  368. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.ttf +0 -0
  369. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.woff +0 -0
  370. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.woff2 +0 -0
  371. package/src/assets/images/LogoUS.png +0 -0
  372. package/src/assets/images/Robot.png +0 -0
  373. package/src/assets/images/favicon.ico +0 -0
  374. package/src/assets/images/fdNoFound.png +0 -0
  375. package/src/assets/images/fd_timeOut.png +0 -0
  376. package/src/assets/images/imagen-principal-sam.png +0 -0
  377. package/src/assets/images/imagen-principal-samanta.png +0 -0
  378. package/src/assets/images/imagen-principal-sara.png +0 -0
  379. package/src/assets/images/imagen-principal-seguridad.png +0 -0
  380. package/src/assets/images/imagen_login.png +0 -0
  381. package/src/assets/images/logo-aps-descomprimido.png +0 -0
  382. package/src/assets/images/logo-aps.png +0 -0
  383. package/src/assets/images/logo-icono-aps.png +0 -0
  384. package/src/assets/images/logo-icono-sam.png +0 -0
  385. package/src/assets/images/logo-icono-samanta.png +0 -0
  386. package/src/assets/images/logo-icono-sara.png +0 -0
  387. package/src/assets/images/logo-icono-seguridad.png +0 -0
  388. package/src/assets/images/logo-sam-descomprimido.png +0 -0
  389. package/src/assets/images/logo-sam.png +0 -0
  390. package/src/assets/images/logo-samanta-descomprimido.png +0 -0
  391. package/src/assets/images/logo-samanta.png +0 -0
  392. package/src/assets/images/logo-sara-descomprimido.png +0 -0
  393. package/src/assets/images/logo-sara.png +0 -0
  394. package/src/assets/images/logo-seguridad-descomprimido.png +0 -0
  395. package/src/assets/images/logo-seguridad.png +0 -0
  396. package/src/assets/images/logo-union-simple.png +0 -0
  397. package/src/assets/images/logo-union-soluciones-logo.png +0 -0
  398. package/src/assets/images/logous-blanco.png +0 -0
  399. package/src/assets/images/modulos/icono-activos-fijos.png +0 -0
  400. package/src/assets/images/modulos/icono-administracion.png +0 -0
  401. package/src/assets/images/modulos/icono-compras.png +0 -0
  402. package/src/assets/images/modulos/icono-control.png +0 -0
  403. package/src/assets/images/modulos/icono-cotizacion.png +0 -0
  404. package/src/assets/images/modulos/icono-inventarios.png +0 -0
  405. package/src/assets/images/modulos/icono-presupuesto.png +0 -0
  406. package/src/assets/images/modulos/icono-produccion.png +0 -0
  407. package/src/assets/images/modulos/icono-requisicion.png +0 -0
  408. package/src/assets/images/navegador-chrome.png +0 -0
  409. package/src/assets/images/navegador-edge.png +0 -0
  410. package/src/assets/images/navegador-explorer.png +0 -0
  411. package/src/assets/images/navegador-firefox.png +0 -0
  412. package/src/assets/images/not-found-fondo.png +0 -0
  413. package/src/assets/images/not-found.png +0 -0
  414. package/src/assets/images/not-found.webp +0 -0
  415. package/src/assets/images/personaje.png +0 -0
  416. package/src/assets/images/robotZ.png +0 -0
  417. package/src/assets/images/temaClaro/no-info.webp +0 -0
  418. package/src/assets/images/temaOscuro/no-info.webp +0 -0
  419. package/src/assets/images/texto-union-soluciones.png +0 -0
  420. package/src/assets/images/time-out.webp +0 -0
  421. package/src/assets/images/timeout.png +0 -0
  422. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  423. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  424. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  425. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  426. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  427. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  428. package/src/assets/layout/images/401.svg +0 -0
  429. package/src/assets/layout/images/404-2x.png +0 -0
  430. package/src/assets/layout/images/dashboard/saas-card.png +0 -0
  431. package/src/assets/layout/images/doc/breadcrumb-doc.jpg +0 -0
  432. package/src/assets/layout/images/doc/inlinemenu-doc.jpg +0 -0
  433. package/src/assets/layout/images/doc/rightmenu-doc.jpg +0 -0
  434. package/src/assets/layout/images/doc/topbar-doc.jpg +0 -0
  435. package/src/assets/layout/images/extensions/asset-amex.svg +0 -0
  436. package/src/assets/layout/images/extensions/asset-mastercard.svg +0 -0
  437. package/src/assets/layout/images/extensions/asset-paypal.svg +0 -0
  438. package/src/assets/layout/images/extensions/asset-visa.svg +0 -0
  439. package/src/assets/layout/images/extensions/background@2x.jpg +0 -0
  440. package/src/assets/layout/images/extensions/flag-us@2x.png +0 -0
  441. package/src/assets/layout/images/extensions/help-header@2x.jpg +0 -0
  442. package/src/assets/layout/images/extensions/prime-logo.svg +0 -0
  443. package/src/assets/layout/images/favicon.png +0 -0
  444. package/src/assets/layout/images/footer-ultima-dark.svg +0 -0
  445. package/src/assets/layout/images/footer-ultima.svg +0 -0
  446. package/src/assets/layout/images/landing/collaboration-image.png +0 -0
  447. package/src/assets/layout/images/landing/easyfollow-image.png +0 -0
  448. package/src/assets/layout/images/landing/landing-ellipse.png +0 -0
  449. package/src/assets/layout/images/landing/landing-ellipse2.png +0 -0
  450. package/src/assets/layout/images/landing/landing-hero-image.jpg +0 -0
  451. package/src/assets/layout/images/landing/landing-logo1.png +0 -0
  452. package/src/assets/layout/images/landing/landing-logo2.png +0 -0
  453. package/src/assets/layout/images/landing/landing-logo3.png +0 -0
  454. package/src/assets/layout/images/landing/landing-logo4.png +0 -0
  455. package/src/assets/layout/images/landing/layer-0-opt.jpg +0 -0
  456. package/src/assets/layout/images/landing/layer-1-opt.png +0 -0
  457. package/src/assets/layout/images/landing/layer-2-opt.png +0 -0
  458. package/src/assets/layout/images/logo-ultima.svg +0 -0
  459. package/src/assets/layout/images/logo.png +0 -0
  460. package/src/assets/layout/images/logo2x.png +0 -0
  461. package/src/assets/layout/images/pages/404-bg.jpg +0 -0
  462. package/src/assets/layout/images/pages/404.png +0 -0
  463. package/src/assets/layout/images/pages/accessDenied-bg.jpg +0 -0
  464. package/src/assets/layout/images/pages/accessDenied.png +0 -0
  465. package/src/assets/layout/images/pages/error-bg.jpg +0 -0
  466. package/src/assets/layout/images/pages/error.png +0 -0
  467. package/src/assets/layout/images/pages/error2.png +0 -0
  468. package/src/assets/layout/images/pages/login-bg.jpg +0 -0
  469. package/src/assets/layout/images/vector_logo.png +0 -0
  470. package/src/assets/layout/images/widgets/asset-profile.png +0 -0
  471. package/src/assets/layout/images/widgets/feature-faq.svg +0 -0
  472. package/src/assets/layout/images/widgets/feature-onboarding.svg +0 -0
  473. package/src/assets/layout/images/widgets/feature-security.svg +0 -0
  474. package/src/assets/layout/images/widgets/image-blog.jpg +0 -0
  475. package/src/assets/layout/images/widgets/map.jpg +0 -0
  476. package/src/assets/layout/styles/layout/_animation.scss +0 -0
  477. package/src/assets/layout/styles/layout/_breadcrumb.scss +0 -0
  478. package/src/assets/layout/styles/layout/_config.scss +0 -0
  479. package/src/assets/layout/styles/layout/_content.scss +0 -0
  480. package/src/assets/layout/styles/layout/_fonts.scss +0 -0
  481. package/src/assets/layout/styles/layout/_footer.scss +0 -0
  482. package/src/assets/layout/styles/layout/_invoice.scss +0 -0
  483. package/src/assets/layout/styles/layout/_landing.scss +0 -0
  484. package/src/assets/layout/styles/layout/_main.scss +0 -0
  485. package/src/assets/layout/styles/layout/_megamenu.scss +0 -0
  486. package/src/assets/layout/styles/layout/_menuprofile.scss +0 -0
  487. package/src/assets/layout/styles/layout/_responsive.scss +0 -0
  488. package/src/assets/layout/styles/layout/_rightmenu.scss +0 -0
  489. package/src/assets/layout/styles/layout/_typography.scss +0 -0
  490. package/src/assets/layout/styles/layout/_utils.scss +0 -0
  491. package/src/assets/layout/styles/layout/layout.css +0 -0
  492. package/src/assets/layout/styles/layout/layout.scss +0 -0
  493. package/src/assets/layout/styles/layout/preloading.css +0 -0
  494. package/src/assets/layout/styles/layout/preloading.scss +0 -0
  495. package/src/assets/layout/styles/layout/sidebar/_sidebar.scss +0 -0
  496. package/src/assets/layout/styles/layout/sidebar/_sidebar_drawer.scss +0 -0
  497. package/src/assets/layout/styles/layout/sidebar/_sidebar_horizontal.scss +0 -0
  498. package/src/assets/layout/styles/layout/sidebar/_sidebar_reveal.scss +0 -0
  499. package/src/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +0 -0
  500. package/src/assets/layout/styles/layout/sidebar/_sidebar_slim_plus.scss +0 -0
  501. package/src/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +0 -0
  502. package/src/assets/layout/styles/layout/sidebar/themes/_menu_bluegrey.scss +0 -0
  503. package/src/assets/layout/styles/layout/sidebar/themes/_menu_brown.scss +0 -0
  504. package/src/assets/layout/styles/layout/sidebar/themes/_menu_cyan.scss +0 -0
  505. package/src/assets/layout/styles/layout/sidebar/themes/_menu_dark.scss +0 -0
  506. package/src/assets/layout/styles/layout/sidebar/themes/_menu_deeporange.scss +0 -0
  507. package/src/assets/layout/styles/layout/sidebar/themes/_menu_deeppurple.scss +0 -0
  508. package/src/assets/layout/styles/layout/sidebar/themes/_menu_green.scss +0 -0
  509. package/src/assets/layout/styles/layout/sidebar/themes/_menu_indigo.scss +0 -0
  510. package/src/assets/layout/styles/layout/sidebar/themes/_menu_light.scss +0 -0
  511. package/src/assets/layout/styles/layout/sidebar/themes/_menu_pink.scss +0 -0
  512. package/src/assets/layout/styles/layout/sidebar/themes/_menu_purple.scss +0 -0
  513. package/src/assets/layout/styles/layout/sidebar/themes/_menu_teal.scss +0 -0
  514. package/src/assets/layout/styles/layout/topbar/_topbar.scss +0 -0
  515. package/src/assets/layout/styles/layout/topbar/_topbar_main.scss +0 -0
  516. package/src/assets/layout/styles/layout/topbar/themes/_topbar_amber.scss +0 -0
  517. package/src/assets/layout/styles/layout/topbar/themes/_topbar_blue.scss +0 -0
  518. package/src/assets/layout/styles/layout/topbar/themes/_topbar_bluegrey.scss +0 -0
  519. package/src/assets/layout/styles/layout/topbar/themes/_topbar_brown.scss +0 -0
  520. package/src/assets/layout/styles/layout/topbar/themes/_topbar_cyan.scss +0 -0
  521. package/src/assets/layout/styles/layout/topbar/themes/_topbar_dark.scss +0 -0
  522. package/src/assets/layout/styles/layout/topbar/themes/_topbar_deeporange.scss +0 -0
  523. package/src/assets/layout/styles/layout/topbar/themes/_topbar_deeppurple.scss +0 -0
  524. package/src/assets/layout/styles/layout/topbar/themes/_topbar_green.scss +0 -0
  525. package/src/assets/layout/styles/layout/topbar/themes/_topbar_grey.scss +0 -0
  526. package/src/assets/layout/styles/layout/topbar/themes/_topbar_indigo.scss +0 -0
  527. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lightblue.scss +0 -0
  528. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lightgreen.scss +0 -0
  529. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lime.scss +0 -0
  530. package/src/assets/layout/styles/layout/topbar/themes/_topbar_orange.scss +0 -0
  531. package/src/assets/layout/styles/layout/topbar/themes/_topbar_pink.scss +0 -0
  532. package/src/assets/layout/styles/layout/topbar/themes/_topbar_purple.scss +0 -0
  533. package/src/assets/layout/styles/layout/topbar/themes/_topbar_teal.scss +0 -0
  534. package/src/assets/layout/styles/layout/topbar/themes/_topbar_white.scss +0 -0
  535. package/src/assets/layout/styles/layout/topbar/themes/_topbar_yellow.scss +0 -0
  536. package/src/assets/layout/styles/theme/_compact.scss +0 -0
  537. package/src/assets/layout/styles/theme/designer/_colors.scss +0 -0
  538. package/src/assets/layout/styles/theme/designer/_common.scss +0 -0
  539. package/src/assets/layout/styles/theme/designer/_components.scss +0 -0
  540. package/src/assets/layout/styles/theme/designer/_mixins.scss +0 -0
  541. package/src/assets/layout/styles/theme/designer/components/button/_button.scss +0 -0
  542. package/src/assets/layout/styles/theme/designer/components/button/_speeddial.scss +0 -0
  543. package/src/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +0 -0
  544. package/src/assets/layout/styles/theme/designer/components/data/_carousel.scss +0 -0
  545. package/src/assets/layout/styles/theme/designer/components/data/_datatable.scss +0 -0
  546. package/src/assets/layout/styles/theme/designer/components/data/_dataview.scss +0 -0
  547. package/src/assets/layout/styles/theme/designer/components/data/_filter.scss +0 -0
  548. package/src/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +0 -0
  549. package/src/assets/layout/styles/theme/designer/components/data/_orderlist.scss +0 -0
  550. package/src/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +0 -0
  551. package/src/assets/layout/styles/theme/designer/components/data/_paginator.scss +0 -0
  552. package/src/assets/layout/styles/theme/designer/components/data/_picklist.scss +0 -0
  553. package/src/assets/layout/styles/theme/designer/components/data/_timeline.scss +0 -0
  554. package/src/assets/layout/styles/theme/designer/components/data/_tree.scss +0 -0
  555. package/src/assets/layout/styles/theme/designer/components/data/_treetable.scss +0 -0
  556. package/src/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +0 -0
  557. package/src/assets/layout/styles/theme/designer/components/file/_fileupload.scss +0 -0
  558. package/src/assets/layout/styles/theme/designer/components/input/_autocomplete.scss +0 -0
  559. package/src/assets/layout/styles/theme/designer/components/input/_calendar.scss +0 -0
  560. package/src/assets/layout/styles/theme/designer/components/input/_cascadeselect.scss +0 -0
  561. package/src/assets/layout/styles/theme/designer/components/input/_checkbox.scss +0 -0
  562. package/src/assets/layout/styles/theme/designer/components/input/_chips.scss +0 -0
  563. package/src/assets/layout/styles/theme/designer/components/input/_colorpicker.scss +0 -0
  564. package/src/assets/layout/styles/theme/designer/components/input/_dropdown.scss +0 -0
  565. package/src/assets/layout/styles/theme/designer/components/input/_editor.scss +0 -0
  566. package/src/assets/layout/styles/theme/designer/components/input/_inputgroup.scss +0 -0
  567. package/src/assets/layout/styles/theme/designer/components/input/_inputmask.scss +0 -0
  568. package/src/assets/layout/styles/theme/designer/components/input/_inputnumber.scss +0 -0
  569. package/src/assets/layout/styles/theme/designer/components/input/_inputswitch.scss +0 -0
  570. package/src/assets/layout/styles/theme/designer/components/input/_inputtext.scss +0 -0
  571. package/src/assets/layout/styles/theme/designer/components/input/_listbox.scss +0 -0
  572. package/src/assets/layout/styles/theme/designer/components/input/_multiselect.scss +0 -0
  573. package/src/assets/layout/styles/theme/designer/components/input/_password.scss +0 -0
  574. package/src/assets/layout/styles/theme/designer/components/input/_radiobutton.scss +0 -0
  575. package/src/assets/layout/styles/theme/designer/components/input/_rating.scss +0 -0
  576. package/src/assets/layout/styles/theme/designer/components/input/_selectbutton.scss +0 -0
  577. package/src/assets/layout/styles/theme/designer/components/input/_slider.scss +0 -0
  578. package/src/assets/layout/styles/theme/designer/components/input/_togglebutton.scss +0 -0
  579. package/src/assets/layout/styles/theme/designer/components/input/_treeselect.scss +0 -0
  580. package/src/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +0 -0
  581. package/src/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +0 -0
  582. package/src/assets/layout/styles/theme/designer/components/menu/_dock.scss +0 -0
  583. package/src/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +0 -0
  584. package/src/assets/layout/styles/theme/designer/components/menu/_menu.scss +0 -0
  585. package/src/assets/layout/styles/theme/designer/components/menu/_menubar.scss +0 -0
  586. package/src/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +0 -0
  587. package/src/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +0 -0
  588. package/src/assets/layout/styles/theme/designer/components/menu/_steps.scss +0 -0
  589. package/src/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +0 -0
  590. package/src/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +0 -0
  591. package/src/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +0 -0
  592. package/src/assets/layout/styles/theme/designer/components/messages/_message.scss +0 -0
  593. package/src/assets/layout/styles/theme/designer/components/messages/_toast.scss +0 -0
  594. package/src/assets/layout/styles/theme/designer/components/misc/_avatar.scss +0 -0
  595. package/src/assets/layout/styles/theme/designer/components/misc/_badge.scss +0 -0
  596. package/src/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  597. package/src/assets/layout/styles/theme/designer/components/misc/_chip.scss +0 -0
  598. package/src/assets/layout/styles/theme/designer/components/misc/_inplace.scss +0 -0
  599. package/src/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +0 -0
  600. package/src/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +0 -0
  601. package/src/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +0 -0
  602. package/src/assets/layout/styles/theme/designer/components/misc/_tag.scss +0 -0
  603. package/src/assets/layout/styles/theme/designer/components/misc/_terminal.scss +0 -0
  604. package/src/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +0 -0
  605. package/src/assets/layout/styles/theme/designer/components/multimedia/_image.scss +0 -0
  606. package/src/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +0 -0
  607. package/src/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +0 -0
  608. package/src/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +0 -0
  609. package/src/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +0 -0
  610. package/src/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +0 -0
  611. package/src/assets/layout/styles/theme/designer/components/panel/_accordion.scss +0 -0
  612. package/src/assets/layout/styles/theme/designer/components/panel/_card.scss +0 -0
  613. package/src/assets/layout/styles/theme/designer/components/panel/_divider.scss +0 -0
  614. package/src/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +0 -0
  615. package/src/assets/layout/styles/theme/designer/components/panel/_panel.scss +0 -0
  616. package/src/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +0 -0
  617. package/src/assets/layout/styles/theme/designer/components/panel/_splitter.scss +0 -0
  618. package/src/assets/layout/styles/theme/designer/components/panel/_tabview.scss +0 -0
  619. package/src/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +0 -0
  620. package/src/assets/layout/styles/theme/extensions/_accordion.scss +0 -0
  621. package/src/assets/layout/styles/theme/extensions/_autocomplete.scss +0 -0
  622. package/src/assets/layout/styles/theme/extensions/_breadcrumb.scss +0 -0
  623. package/src/assets/layout/styles/theme/extensions/_button.scss +0 -0
  624. package/src/assets/layout/styles/theme/extensions/_calendar.scss +0 -0
  625. package/src/assets/layout/styles/theme/extensions/_carousel.scss +0 -0
  626. package/src/assets/layout/styles/theme/extensions/_cascadeselect.scss +0 -0
  627. package/src/assets/layout/styles/theme/extensions/_checkbox.scss +0 -0
  628. package/src/assets/layout/styles/theme/extensions/_chips.scss +0 -0
  629. package/src/assets/layout/styles/theme/extensions/_datatable.scss +0 -0
  630. package/src/assets/layout/styles/theme/extensions/_dropdown.scss +0 -0
  631. package/src/assets/layout/styles/theme/extensions/_fieldset.scss +0 -0
  632. package/src/assets/layout/styles/theme/extensions/_float_label.scss +0 -0
  633. package/src/assets/layout/styles/theme/extensions/_fullcalendar.scss +0 -0
  634. package/src/assets/layout/styles/theme/extensions/_galleria.scss +0 -0
  635. package/src/assets/layout/styles/theme/extensions/_input.scss +0 -0
  636. package/src/assets/layout/styles/theme/extensions/_inputgroup.scss +0 -0
  637. package/src/assets/layout/styles/theme/extensions/_inputmask.scss +0 -0
  638. package/src/assets/layout/styles/theme/extensions/_inputnumber.scss +0 -0
  639. package/src/assets/layout/styles/theme/extensions/_inputswitch.scss +0 -0
  640. package/src/assets/layout/styles/theme/extensions/_listbox.scss +0 -0
  641. package/src/assets/layout/styles/theme/extensions/_megamenu.scss +0 -0
  642. package/src/assets/layout/styles/theme/extensions/_menu.scss +0 -0
  643. package/src/assets/layout/styles/theme/extensions/_menubar.scss +0 -0
  644. package/src/assets/layout/styles/theme/extensions/_mixins.scss +0 -0
  645. package/src/assets/layout/styles/theme/extensions/_multiselect.scss +0 -0
  646. package/src/assets/layout/styles/theme/extensions/_orderlist.scss +0 -0
  647. package/src/assets/layout/styles/theme/extensions/_overlaypanel.scss +0 -0
  648. package/src/assets/layout/styles/theme/extensions/_paginator.scss +0 -0
  649. package/src/assets/layout/styles/theme/extensions/_panel.scss +0 -0
  650. package/src/assets/layout/styles/theme/extensions/_panelmenu.scss +0 -0
  651. package/src/assets/layout/styles/theme/extensions/_picklist.scss +0 -0
  652. package/src/assets/layout/styles/theme/extensions/_progressbar.scss +0 -0
  653. package/src/assets/layout/styles/theme/extensions/_radiobutton.scss +0 -0
  654. package/src/assets/layout/styles/theme/extensions/_rating.scss +0 -0
  655. package/src/assets/layout/styles/theme/extensions/_selectbutton.scss +0 -0
  656. package/src/assets/layout/styles/theme/extensions/_slidemenu.scss +0 -0
  657. package/src/assets/layout/styles/theme/extensions/_slider.scss +0 -0
  658. package/src/assets/layout/styles/theme/extensions/_steps.scss +0 -0
  659. package/src/assets/layout/styles/theme/extensions/_tabmenu.scss +0 -0
  660. package/src/assets/layout/styles/theme/extensions/_tabview.scss +0 -0
  661. package/src/assets/layout/styles/theme/extensions/_tieredmenu.scss +0 -0
  662. package/src/assets/layout/styles/theme/extensions/_timeline.scss +0 -0
  663. package/src/assets/layout/styles/theme/extensions/_togglebutton.scss +0 -0
  664. package/src/assets/layout/styles/theme/extensions/_toolbar.scss +0 -0
  665. package/src/assets/layout/styles/theme/extensions/_tooltip.scss +0 -0
  666. package/src/assets/layout/styles/theme/extensions/_tree.scss +0 -0
  667. package/src/assets/layout/styles/theme/extensions/_treeselect.scss +0 -0
  668. package/src/assets/layout/styles/theme/extensions/_treetable.scss +0 -0
  669. package/src/assets/layout/styles/theme/extensions/_vendor_extensions.scss +0 -0
  670. package/src/assets/layout/styles/theme/theme-dark/_variables.scss +0 -0
  671. package/src/assets/layout/styles/theme/theme-dark/amber/theme.css +0 -0
  672. package/src/assets/layout/styles/theme/theme-dark/amber/theme.scss +0 -0
  673. package/src/assets/layout/styles/theme/theme-dark/blue/theme.css +0 -0
  674. package/src/assets/layout/styles/theme/theme-dark/blue/theme.scss +0 -0
  675. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.css +0 -0
  676. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.scss +0 -0
  677. package/src/assets/layout/styles/theme/theme-dark/brown/theme.css +0 -0
  678. package/src/assets/layout/styles/theme/theme-dark/brown/theme.scss +0 -0
  679. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.css +0 -0
  680. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.scss +0 -0
  681. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.css +0 -0
  682. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.scss +0 -0
  683. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +0 -0
  684. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +0 -0
  685. package/src/assets/layout/styles/theme/theme-dark/green/theme.css +0 -0
  686. package/src/assets/layout/styles/theme/theme-dark/green/theme.scss +0 -0
  687. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.css +0 -0
  688. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.scss +0 -0
  689. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.css +0 -0
  690. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.scss +0 -0
  691. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.css +0 -0
  692. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.scss +0 -0
  693. package/src/assets/layout/styles/theme/theme-dark/lime/theme.css +0 -0
  694. package/src/assets/layout/styles/theme/theme-dark/lime/theme.scss +0 -0
  695. package/src/assets/layout/styles/theme/theme-dark/orange/theme.css +0 -0
  696. package/src/assets/layout/styles/theme/theme-dark/orange/theme.scss +0 -0
  697. package/src/assets/layout/styles/theme/theme-dark/pink/theme.css +0 -0
  698. package/src/assets/layout/styles/theme/theme-dark/pink/theme.scss +0 -0
  699. package/src/assets/layout/styles/theme/theme-dark/purple/theme.css +0 -0
  700. package/src/assets/layout/styles/theme/theme-dark/purple/theme.scss +0 -0
  701. package/src/assets/layout/styles/theme/theme-dark/teal/theme.css +0 -0
  702. package/src/assets/layout/styles/theme/theme-dark/teal/theme.scss +0 -0
  703. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.css +0 -0
  704. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.scss +0 -0
  705. package/src/assets/layout/styles/theme/theme-light/_variables.scss +0 -0
  706. package/src/assets/layout/styles/theme/theme-light/amber/theme.css +0 -0
  707. package/src/assets/layout/styles/theme/theme-light/amber/theme.scss +0 -0
  708. package/src/assets/layout/styles/theme/theme-light/blue/theme.css +0 -0
  709. package/src/assets/layout/styles/theme/theme-light/blue/theme.scss +0 -0
  710. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.css +0 -0
  711. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.scss +0 -0
  712. package/src/assets/layout/styles/theme/theme-light/brown/theme.css +0 -0
  713. package/src/assets/layout/styles/theme/theme-light/brown/theme.scss +0 -0
  714. package/src/assets/layout/styles/theme/theme-light/cyan/theme.css +0 -0
  715. package/src/assets/layout/styles/theme/theme-light/cyan/theme.scss +0 -0
  716. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.css +0 -0
  717. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.scss +0 -0
  718. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.css +0 -0
  719. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +0 -0
  720. package/src/assets/layout/styles/theme/theme-light/green/theme.css +0 -0
  721. package/src/assets/layout/styles/theme/theme-light/green/theme.scss +0 -0
  722. package/src/assets/layout/styles/theme/theme-light/indigo/theme.css +0 -0
  723. package/src/assets/layout/styles/theme/theme-light/indigo/theme.scss +0 -0
  724. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.css +0 -0
  725. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.scss +0 -0
  726. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.css +0 -0
  727. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.scss +0 -0
  728. package/src/assets/layout/styles/theme/theme-light/lime/theme.css +0 -0
  729. package/src/assets/layout/styles/theme/theme-light/lime/theme.scss +0 -0
  730. package/src/assets/layout/styles/theme/theme-light/orange/theme.css +0 -0
  731. package/src/assets/layout/styles/theme/theme-light/orange/theme.scss +0 -0
  732. package/src/assets/layout/styles/theme/theme-light/pink/theme.css +0 -0
  733. package/src/assets/layout/styles/theme/theme-light/pink/theme.scss +0 -0
  734. package/src/assets/layout/styles/theme/theme-light/purple/theme.css +0 -0
  735. package/src/assets/layout/styles/theme/theme-light/purple/theme.scss +0 -0
  736. package/src/assets/layout/styles/theme/theme-light/teal/theme.css +0 -0
  737. package/src/assets/layout/styles/theme/theme-light/teal/theme.scss +0 -0
  738. package/src/assets/layout/styles/theme/theme-light/yellow/theme.css +0 -0
  739. package/src/assets/layout/styles/theme/theme-light/yellow/theme.scss +0 -0
  740. package/src/assets/theme/uniondinamic/layout-light.css +0 -0
  741. package/src/assets/theme/uniondinamic/theme-light.css +0 -0
  742. package/src/styles/primeflex/primeflex.scss +0 -0
  743. package/src/styles/primeng/layout/fonts/poppins-v20-latin-300.woff +0 -0
  744. package/src/styles/primeng/layout/fonts/poppins-v20-latin-300.woff2 +0 -0
  745. package/src/styles/primeng/layout/fonts/poppins-v20-latin-500.woff +0 -0
  746. package/src/styles/primeng/layout/fonts/poppins-v20-latin-500.woff2 +0 -0
  747. package/src/styles/primeng/layout/fonts/poppins-v20-latin-600.woff +0 -0
  748. package/src/styles/primeng/layout/fonts/poppins-v20-latin-600.woff2 +0 -0
  749. package/src/styles/primeng/layout/fonts/poppins-v20-latin-700.woff +0 -0
  750. package/src/styles/primeng/layout/fonts/poppins-v20-latin-700.woff2 +0 -0
  751. package/src/styles/primeng/layout/fonts/poppins-v20-latin-regular.woff +0 -0
  752. package/src/styles/primeng/layout/fonts/poppins-v20-latin-regular.woff2 +0 -0
  753. package/src/styles/primeng/layout/layout-dark.scss +0 -0
  754. package/src/styles/primeng/layout/layout-light.scss +0 -0
  755. package/src/styles/primeng/sass/_fonts.scss +0 -0
  756. package/src/styles/primeng/sass/layout/_animation.scss +0 -0
  757. package/src/styles/primeng/sass/layout/_breadcrumb.scss +0 -0
  758. package/src/styles/primeng/sass/layout/_config.scss +0 -0
  759. package/src/styles/primeng/sass/layout/_dashboard.scss +0 -0
  760. package/src/styles/primeng/sass/layout/_footer.scss +0 -0
  761. package/src/styles/primeng/sass/layout/_help.scss +0 -0
  762. package/src/styles/primeng/sass/layout/_invoice.scss +0 -0
  763. package/src/styles/primeng/sass/layout/_landing.scss +0 -0
  764. package/src/styles/primeng/sass/layout/_loader.scss +0 -0
  765. package/src/styles/primeng/sass/layout/_main.scss +0 -0
  766. package/src/styles/primeng/sass/layout/_megamenu.scss +0 -0
  767. package/src/styles/primeng/sass/layout/_mixins.scss +0 -0
  768. package/src/styles/primeng/sass/layout/_pages.scss +0 -0
  769. package/src/styles/primeng/sass/layout/_rightmenu.scss +0 -0
  770. package/src/styles/primeng/sass/layout/_rtl.scss +0 -0
  771. package/src/styles/primeng/sass/layout/_typography.scss +0 -0
  772. package/src/styles/primeng/sass/layout/_utils.scss +0 -0
  773. package/src/styles/primeng/sass/layout/_widgets.scss +0 -0
  774. package/src/styles/primeng/sass/layout/_wizard.scss +0 -0
  775. package/src/styles/primeng/sass/layout/core/_layout.scss +0 -0
  776. package/src/styles/primeng/sass/layout/core/_layout_dark.scss +0 -0
  777. package/src/styles/primeng/sass/layout/core/_layout_light.scss +0 -0
  778. package/src/styles/primeng/sass/layout/menu/_inline_menu.scss +0 -0
  779. package/src/styles/primeng/sass/layout/menu/_menu.scss +0 -0
  780. package/src/styles/primeng/sass/layout/menu/_menu_common.scss +0 -0
  781. package/src/styles/primeng/sass/layout/menu/_menu_exports.scss +0 -0
  782. package/src/styles/primeng/sass/layout/menu/_menu_horizontal.scss +0 -0
  783. package/src/styles/primeng/sass/layout/menu/_menu_overlay.scss +0 -0
  784. package/src/styles/primeng/sass/layout/menu/_menu_responsive.scss +0 -0
  785. package/src/styles/primeng/sass/layout/menu/_menu_slim.scss +0 -0
  786. package/src/styles/primeng/sass/layout/menu/_menu_static.scss +0 -0
  787. package/src/styles/primeng/sass/layout/menu/_menu_theme.scss +0 -0
  788. package/src/styles/primeng/sass/layout/menu/_rtl_menu.scss +0 -0
  789. package/src/styles/primeng/sass/layout/menu/themes/_menu_bluegrey.scss +0 -0
  790. package/src/styles/primeng/sass/layout/menu/themes/_menu_brown.scss +0 -0
  791. package/src/styles/primeng/sass/layout/menu/themes/_menu_cyan.scss +0 -0
  792. package/src/styles/primeng/sass/layout/menu/themes/_menu_dark.scss +0 -0
  793. package/src/styles/primeng/sass/layout/menu/themes/_menu_deeporange.scss +0 -0
  794. package/src/styles/primeng/sass/layout/menu/themes/_menu_deeppurple.scss +0 -0
  795. package/src/styles/primeng/sass/layout/menu/themes/_menu_green.scss +0 -0
  796. package/src/styles/primeng/sass/layout/menu/themes/_menu_indigo.scss +0 -0
  797. package/src/styles/primeng/sass/layout/menu/themes/_menu_light.scss +0 -0
  798. package/src/styles/primeng/sass/layout/menu/themes/_menu_pink.scss +0 -0
  799. package/src/styles/primeng/sass/layout/menu/themes/_menu_purple.scss +0 -0
  800. package/src/styles/primeng/sass/layout/menu/themes/_menu_teal.scss +0 -0
  801. package/src/styles/primeng/sass/layout/topbar/_rtl_topbar.scss +0 -0
  802. package/src/styles/primeng/sass/layout/topbar/_topbar.scss +0 -0
  803. package/src/styles/primeng/sass/layout/topbar/_topbar_common.scss +0 -0
  804. package/src/styles/primeng/sass/layout/topbar/_topbar_exports.scss +0 -0
  805. package/src/styles/primeng/sass/layout/topbar/_topbar_responsive.scss +0 -0
  806. package/src/styles/primeng/sass/layout/topbar/_topbar_theme.scss +0 -0
  807. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_amber.scss +0 -0
  808. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_blue.scss +0 -0
  809. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_bluegrey.scss +0 -0
  810. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_brown.scss +0 -0
  811. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_custom.scss +0 -0
  812. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_cyan.scss +0 -0
  813. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_dark.scss +0 -0
  814. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_deeporange.scss +0 -0
  815. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_deeppurple.scss +0 -0
  816. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_green.scss +0 -0
  817. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_grey.scss +0 -0
  818. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_indigo.scss +0 -0
  819. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lightblue.scss +0 -0
  820. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lightgreen.scss +0 -0
  821. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lime.scss +0 -0
  822. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_orange.scss +0 -0
  823. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_pink.scss +0 -0
  824. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_purple.scss +0 -0
  825. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_teal.scss +0 -0
  826. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_white.scss +0 -0
  827. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_yellow.scss +0 -0
  828. package/src/styles/primeng/sass/overrides/_layout_styles.scss +0 -0
  829. package/src/styles/primeng/sass/overrides/_layout_variables.scss +0 -0
  830. package/src/styles/primeng/sass/overrides/_theme_styles.scss +139 -81
  831. package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +237 -96
  832. package/src/styles/primeng/sass/overrides/_theme_variables.scss +0 -0
  833. package/src/styles/primeng/sass/theme/_compact.scss +0 -0
  834. package/src/styles/primeng/sass/theme/_theme_dark.scss +0 -0
  835. package/src/styles/primeng/sass/theme/_theme_light.scss +0 -0
  836. package/src/styles/primeng/sass/theme/designer/_colors.scss +0 -0
  837. package/src/styles/primeng/sass/theme/designer/_common.scss +0 -0
  838. package/src/styles/primeng/sass/theme/designer/_components.scss +0 -0
  839. package/src/styles/primeng/sass/theme/designer/_mixins.scss +0 -0
  840. package/src/styles/primeng/sass/theme/designer/components/button/_button.scss +0 -0
  841. package/src/styles/primeng/sass/theme/designer/components/button/_speeddial.scss +0 -0
  842. package/src/styles/primeng/sass/theme/designer/components/button/_splitbutton.scss +0 -0
  843. package/src/styles/primeng/sass/theme/designer/components/data/_carousel.scss +0 -0
  844. package/src/styles/primeng/sass/theme/designer/components/data/_datatable.scss +0 -0
  845. package/src/styles/primeng/sass/theme/designer/components/data/_dataview.scss +0 -0
  846. package/src/styles/primeng/sass/theme/designer/components/data/_filter.scss +0 -0
  847. package/src/styles/primeng/sass/theme/designer/components/data/_fullcalendar.scss +0 -0
  848. package/src/styles/primeng/sass/theme/designer/components/data/_orderlist.scss +0 -0
  849. package/src/styles/primeng/sass/theme/designer/components/data/_organizationchart.scss +0 -0
  850. package/src/styles/primeng/sass/theme/designer/components/data/_paginator.scss +0 -0
  851. package/src/styles/primeng/sass/theme/designer/components/data/_picklist.scss +0 -0
  852. package/src/styles/primeng/sass/theme/designer/components/data/_timeline.scss +0 -0
  853. package/src/styles/primeng/sass/theme/designer/components/data/_tree.scss +0 -0
  854. package/src/styles/primeng/sass/theme/designer/components/data/_treetable.scss +0 -0
  855. package/src/styles/primeng/sass/theme/designer/components/data/_virtualscroller.scss +0 -0
  856. package/src/styles/primeng/sass/theme/designer/components/file/_fileupload.scss +0 -0
  857. package/src/styles/primeng/sass/theme/designer/components/input/_autocomplete.scss +0 -0
  858. package/src/styles/primeng/sass/theme/designer/components/input/_calendar.scss +0 -0
  859. package/src/styles/primeng/sass/theme/designer/components/input/_cascadeselect.scss +0 -0
  860. package/src/styles/primeng/sass/theme/designer/components/input/_checkbox.scss +0 -0
  861. package/src/styles/primeng/sass/theme/designer/components/input/_chips.scss +0 -0
  862. package/src/styles/primeng/sass/theme/designer/components/input/_colorpicker.scss +0 -0
  863. package/src/styles/primeng/sass/theme/designer/components/input/_dropdown.scss +0 -0
  864. package/src/styles/primeng/sass/theme/designer/components/input/_editor.scss +0 -0
  865. package/src/styles/primeng/sass/theme/designer/components/input/_inputgroup.scss +0 -0
  866. package/src/styles/primeng/sass/theme/designer/components/input/_inputmask.scss +0 -0
  867. package/src/styles/primeng/sass/theme/designer/components/input/_inputnumber.scss +0 -0
  868. package/src/styles/primeng/sass/theme/designer/components/input/_inputswitch.scss +0 -0
  869. package/src/styles/primeng/sass/theme/designer/components/input/_inputtext.scss +0 -0
  870. package/src/styles/primeng/sass/theme/designer/components/input/_listbox.scss +0 -0
  871. package/src/styles/primeng/sass/theme/designer/components/input/_multiselect.scss +0 -0
  872. package/src/styles/primeng/sass/theme/designer/components/input/_password.scss +0 -0
  873. package/src/styles/primeng/sass/theme/designer/components/input/_radiobutton.scss +0 -0
  874. package/src/styles/primeng/sass/theme/designer/components/input/_rating.scss +0 -0
  875. package/src/styles/primeng/sass/theme/designer/components/input/_selectbutton.scss +0 -0
  876. package/src/styles/primeng/sass/theme/designer/components/input/_slider.scss +0 -0
  877. package/src/styles/primeng/sass/theme/designer/components/input/_togglebutton.scss +0 -0
  878. package/src/styles/primeng/sass/theme/designer/components/input/_treeselect.scss +0 -0
  879. package/src/styles/primeng/sass/theme/designer/components/menu/_breadcrumb.scss +0 -0
  880. package/src/styles/primeng/sass/theme/designer/components/menu/_contextmenu.scss +0 -0
  881. package/src/styles/primeng/sass/theme/designer/components/menu/_dock.scss +0 -0
  882. package/src/styles/primeng/sass/theme/designer/components/menu/_megamenu.scss +0 -0
  883. package/src/styles/primeng/sass/theme/designer/components/menu/_menu.scss +0 -0
  884. package/src/styles/primeng/sass/theme/designer/components/menu/_menubar.scss +0 -0
  885. package/src/styles/primeng/sass/theme/designer/components/menu/_panelmenu.scss +0 -0
  886. package/src/styles/primeng/sass/theme/designer/components/menu/_slidemenu.scss +0 -0
  887. package/src/styles/primeng/sass/theme/designer/components/menu/_steps.scss +0 -0
  888. package/src/styles/primeng/sass/theme/designer/components/menu/_tabmenu.scss +0 -0
  889. package/src/styles/primeng/sass/theme/designer/components/menu/_tieredmenu.scss +0 -0
  890. package/src/styles/primeng/sass/theme/designer/components/messages/_inlinemessage.scss +0 -0
  891. package/src/styles/primeng/sass/theme/designer/components/messages/_message.scss +0 -0
  892. package/src/styles/primeng/sass/theme/designer/components/messages/_toast.scss +0 -0
  893. package/src/styles/primeng/sass/theme/designer/components/misc/_avatar.scss +0 -0
  894. package/src/styles/primeng/sass/theme/designer/components/misc/_badge.scss +0 -0
  895. package/src/styles/primeng/sass/theme/designer/components/misc/_blockui.scss +0 -0
  896. package/src/styles/primeng/sass/theme/designer/components/misc/_chip.scss +0 -0
  897. package/src/styles/primeng/sass/theme/designer/components/misc/_inplace.scss +0 -0
  898. package/src/styles/primeng/sass/theme/designer/components/misc/_progressbar.scss +0 -0
  899. package/src/styles/primeng/sass/theme/designer/components/misc/_scrolltop.scss +0 -0
  900. package/src/styles/primeng/sass/theme/designer/components/misc/_skeleton.scss +0 -0
  901. package/src/styles/primeng/sass/theme/designer/components/misc/_tag.scss +0 -0
  902. package/src/styles/primeng/sass/theme/designer/components/misc/_terminal.scss +0 -0
  903. package/src/styles/primeng/sass/theme/designer/components/multimedia/_galleria.scss +0 -0
  904. package/src/styles/primeng/sass/theme/designer/components/multimedia/_image.scss +0 -0
  905. package/src/styles/primeng/sass/theme/designer/components/overlay/_confirmpopup.scss +0 -0
  906. package/src/styles/primeng/sass/theme/designer/components/overlay/_dialog.scss +0 -0
  907. package/src/styles/primeng/sass/theme/designer/components/overlay/_overlaypanel.scss +0 -0
  908. package/src/styles/primeng/sass/theme/designer/components/overlay/_sidebar.scss +0 -0
  909. package/src/styles/primeng/sass/theme/designer/components/overlay/_tooltip.scss +0 -0
  910. package/src/styles/primeng/sass/theme/designer/components/panel/_accordion.scss +0 -0
  911. package/src/styles/primeng/sass/theme/designer/components/panel/_card.scss +0 -0
  912. package/src/styles/primeng/sass/theme/designer/components/panel/_divider.scss +0 -0
  913. package/src/styles/primeng/sass/theme/designer/components/panel/_fieldset.scss +0 -0
  914. package/src/styles/primeng/sass/theme/designer/components/panel/_panel.scss +0 -0
  915. package/src/styles/primeng/sass/theme/designer/components/panel/_scrollpanel.scss +0 -0
  916. package/src/styles/primeng/sass/theme/designer/components/panel/_splitter.scss +0 -0
  917. package/src/styles/primeng/sass/theme/designer/components/panel/_tabview.scss +0 -0
  918. package/src/styles/primeng/sass/theme/designer/components/panel/_toolbar.scss +0 -0
  919. package/src/styles/primeng/sass/theme/extensions/_accordion.scss +0 -0
  920. package/src/styles/primeng/sass/theme/extensions/_autocomplete.scss +0 -0
  921. package/src/styles/primeng/sass/theme/extensions/_breadcrumb.scss +0 -0
  922. package/src/styles/primeng/sass/theme/extensions/_button.scss +0 -0
  923. package/src/styles/primeng/sass/theme/extensions/_calendar.scss +0 -0
  924. package/src/styles/primeng/sass/theme/extensions/_carousel.scss +0 -0
  925. package/src/styles/primeng/sass/theme/extensions/_cascadeselect.scss +0 -0
  926. package/src/styles/primeng/sass/theme/extensions/_checkbox.scss +0 -0
  927. package/src/styles/primeng/sass/theme/extensions/_chips.scss +0 -0
  928. package/src/styles/primeng/sass/theme/extensions/_datatable.scss +0 -0
  929. package/src/styles/primeng/sass/theme/extensions/_dropdown.scss +0 -0
  930. package/src/styles/primeng/sass/theme/extensions/_fieldset.scss +0 -0
  931. package/src/styles/primeng/sass/theme/extensions/_float_label.scss +0 -0
  932. package/src/styles/primeng/sass/theme/extensions/_fullcalendar.scss +0 -0
  933. package/src/styles/primeng/sass/theme/extensions/_galleria.scss +0 -0
  934. package/src/styles/primeng/sass/theme/extensions/_input.scss +0 -0
  935. package/src/styles/primeng/sass/theme/extensions/_inputgroup.scss +0 -0
  936. package/src/styles/primeng/sass/theme/extensions/_inputmask.scss +0 -0
  937. package/src/styles/primeng/sass/theme/extensions/_inputnumber.scss +0 -0
  938. package/src/styles/primeng/sass/theme/extensions/_inputswitch.scss +0 -0
  939. package/src/styles/primeng/sass/theme/extensions/_listbox.scss +0 -0
  940. package/src/styles/primeng/sass/theme/extensions/_megamenu.scss +0 -0
  941. package/src/styles/primeng/sass/theme/extensions/_menu.scss +0 -0
  942. package/src/styles/primeng/sass/theme/extensions/_menubar.scss +0 -0
  943. package/src/styles/primeng/sass/theme/extensions/_mixins.scss +0 -0
  944. package/src/styles/primeng/sass/theme/extensions/_multiselect.scss +0 -0
  945. package/src/styles/primeng/sass/theme/extensions/_orderlist.scss +0 -0
  946. package/src/styles/primeng/sass/theme/extensions/_overlaypanel.scss +0 -0
  947. package/src/styles/primeng/sass/theme/extensions/_paginator.scss +0 -0
  948. package/src/styles/primeng/sass/theme/extensions/_panel.scss +0 -0
  949. package/src/styles/primeng/sass/theme/extensions/_panelmenu.scss +0 -0
  950. package/src/styles/primeng/sass/theme/extensions/_picklist.scss +0 -0
  951. package/src/styles/primeng/sass/theme/extensions/_progressbar.scss +0 -0
  952. package/src/styles/primeng/sass/theme/extensions/_radiobutton.scss +0 -0
  953. package/src/styles/primeng/sass/theme/extensions/_rating.scss +0 -0
  954. package/src/styles/primeng/sass/theme/extensions/_selectbutton.scss +0 -0
  955. package/src/styles/primeng/sass/theme/extensions/_slidemenu.scss +0 -0
  956. package/src/styles/primeng/sass/theme/extensions/_slider.scss +0 -0
  957. package/src/styles/primeng/sass/theme/extensions/_steps.scss +0 -0
  958. package/src/styles/primeng/sass/theme/extensions/_tabmenu.scss +0 -0
  959. package/src/styles/primeng/sass/theme/extensions/_tabview.scss +0 -0
  960. package/src/styles/primeng/sass/theme/extensions/_tieredmenu.scss +0 -0
  961. package/src/styles/primeng/sass/theme/extensions/_timeline.scss +0 -0
  962. package/src/styles/primeng/sass/theme/extensions/_togglebutton.scss +0 -0
  963. package/src/styles/primeng/sass/theme/extensions/_toolbar.scss +0 -0
  964. package/src/styles/primeng/sass/theme/extensions/_tooltip.scss +0 -0
  965. package/src/styles/primeng/sass/theme/extensions/_tree.scss +0 -0
  966. package/src/styles/primeng/sass/theme/extensions/_treeselect.scss +0 -0
  967. package/src/styles/primeng/sass/theme/extensions/_treetable.scss +0 -0
  968. package/src/styles/primeng/sass/theme/extensions/_vendor_extensions.scss +0 -0
  969. package/src/styles/primeng/sass/variables/layout/_layout_common.scss +0 -0
  970. package/src/styles/primeng/sass/variables/layout/_layout_dark.scss +0 -0
  971. package/src/styles/primeng/sass/variables/layout/_layout_light.scss +0 -0
  972. package/src/styles/primeng/sass/variables/theme/_theme_dark.scss +0 -0
  973. package/src/styles/primeng/sass/variables/theme/_theme_light.scss +0 -0
  974. package/src/styles/primeng/theme/theme-dark.scss +0 -0
  975. package/src/styles/primeng/theme/theme-light.scss +0 -0
  976. package/src/styles/sass/_mixins.scss +0 -0
  977. package/src/styles/sass/_variables.scss +0 -0
  978. package/src/styles/sass/mixins/_breakpoints.scss +0 -0
  979. package/src/styles/sass/mixins/_colors.scss +0 -0
  980. package/src/styles/sass/pages/_general.scss +0 -0
  981. package/src/styles/sass/pages/_listado.scss +0 -0
  982. package/src/styles-dark.scss +0 -0
  983. package/src/styles.scss +1 -1
  984. package/esm2022/src/app/core/componentes/tabs-multiples/tabs-multiples.component.mjs +0 -232
  985. package/esm2022/src/app/core/servicios/tabs-multiples.service.mjs +0 -89
  986. package/src/app/core/componentes/tabs-multiples/tabs-multiples.component.d.ts +0 -53
  987. package/src/app/core/servicios/tabs-multiples.service.d.ts +0 -27
@@ -2,14 +2,17 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "ngx-cookie-service";
5
+ import * as i2 from "./click-posicion.service";
5
6
  export class UtilsService {
6
7
  cookieService;
7
8
  document;
9
+ clickPositionService;
8
10
  RESERVADAS_SQL_NOPUEDECONTENER = [';'];
9
11
  reservadas = ['ALTER', 'DELETE', 'DROP', 'MODIFY', 'CREATE', 'DATABASE', 'TABLE', 'UPDATE', 'TRIGGER', 'GRANT', 'REVOKE', 'CALL', 'INSERT', 'TRUNCATE', 'USE', '--'];
10
- constructor(cookieService, document) {
12
+ constructor(cookieService, document, clickPositionService) {
11
13
  this.cookieService = cookieService;
12
14
  this.document = document;
15
+ this.clickPositionService = clickPositionService;
13
16
  }
14
17
  generarLlave() {
15
18
  let result = '';
@@ -215,7 +218,6 @@ export class UtilsService {
215
218
  ifrm.style.height = tamanio + "px";
216
219
  }
217
220
  getDocHeight(doc) {
218
- console.log('getDocHeight');
219
221
  let navegador = this.obtenerNavegador().toLowerCase();
220
222
  var height = 0;
221
223
  doc = doc || document;
@@ -224,13 +226,24 @@ export class UtilsService {
224
226
  if (swalPopup) {
225
227
  return swalPopup.offsetHeight + 40;
226
228
  }
229
+ //Si existe un dialog desplegado y el tamaño es mayor al iframe, se hace
230
+ //resize con estas medidas
231
+ const dialog = document.querySelector('.p-dialog-content');
232
+ const dialog2 = document.querySelector('.p-dialog-header');
233
+ if (dialog && dialog2) {
234
+ const alturaPopupContent = dialog.scrollHeight;
235
+ const alturaPopupHeader = dialog.offsetHeight;
236
+ const sumatoriaPopup = alturaPopupContent + alturaPopupHeader;
237
+ height = appRoot.offsetHeight;
238
+ if (height < sumatoriaPopup) {
239
+ height = sumatoriaPopup + 100;
240
+ return height;
241
+ }
242
+ }
227
243
  // Si encuentra el elemento <app-root>, retorna su altura
228
244
  if (appRoot) {
229
245
  return appRoot.offsetHeight;
230
246
  }
231
- //var body = doc.body, html = doc.documentElement;
232
- //height = Math.max( body.scrollHeight, body.offsetHeight,
233
- //html.clientHeight, html.scrollHeight, html.offsetHeight );
234
247
  if (navegador.indexOf('firefox') !== -1) {
235
248
  if (doc.formDetalleConvocatoria) {
236
249
  let cantidadMiles = height / 1000;
@@ -302,18 +315,20 @@ export class UtilsService {
302
315
  linkTema.href = `${tema}.css`;
303
316
  }
304
317
  calcularPosicionDialog() {
305
- var parentWindow = window.parent;
306
- var obj = window.frameElement;
307
- var ifrm = obj;
308
- if (ifrm) {
309
- const scrollTop = parentWindow.pageYOffset || parentWindow.document.documentElement.scrollTop || parentWindow.document.body.scrollTop || 0;
310
- const dialog = document.querySelector('.p-dialog');
311
- if (dialog) {
312
- const scrollHeight = parentWindow.document.documentElement.scrollHeight;
313
- const mitadScrollHeight = scrollHeight / 2;
314
- const inicio = -mitadScrollHeight;
315
- dialog.style.top = `${inicio + 50 + (scrollTop)}px`;
318
+ const { x, y } = this.clickPositionService.getClickPosition();
319
+ var ifrm = window.frameElement;
320
+ var doc = ifrm.contentDocument ? ifrm.contentDocument : ifrm.contentWindow.document;
321
+ var tamanio = this.getDocHeight(doc) + 40;
322
+ const iframeOffsetTop = tamanio ? -(tamanio / 2) : 0;
323
+ const dialog = document.querySelector('.p-dialog');
324
+ if (dialog) {
325
+ var topPosition = iframeOffsetTop + y;
326
+ const calculoPosicionPopup = y + (dialog.offsetHeight / 2);
327
+ if (calculoPosicionPopup > tamanio) {
328
+ var diferencia = calculoPosicionPopup - tamanio;
329
+ topPosition = topPosition - diferencia - 10;
316
330
  }
331
+ dialog.style.top = `${topPosition}px`;
317
332
  }
318
333
  }
319
334
  validarPalabra(texto) {
@@ -323,7 +338,18 @@ export class UtilsService {
323
338
  isNumeric(value) {
324
339
  return !isNaN(Number(value));
325
340
  }
326
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i1.CookieService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
341
+ validarEntero(valor, obligatorio, longitud, campo) {
342
+ if (obligatorio && valor == null) {
343
+ return (campo == null ? "" : "El campo \"" + campo + "\" es ") + "Obligatorio ";
344
+ }
345
+ if (valor != null) {
346
+ if (Math.trunc(valor).toString().length > longitud) {
347
+ return "Longitud maxima de " + longitud + (campo == null ? "" : (" para el campo (" + campo + ") "));
348
+ }
349
+ }
350
+ return null;
351
+ }
352
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i1.CookieService }, { token: DOCUMENT }, { token: i2.ClickPosicionService }], target: i0.ɵɵFactoryTarget.Injectable });
327
353
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
328
354
  }
329
355
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, decorators: [{
@@ -334,5 +360,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
334
360
  }], ctorParameters: () => [{ type: i1.CookieService }, { type: Document, decorators: [{
335
361
  type: Inject,
336
362
  args: [DOCUMENT]
337
- }] }] });
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUtIO0lBQXdEO0lBSHBFLDhCQUE4QixHQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsVUFBVSxHQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFbkwsWUFBb0IsYUFBNEIsRUFBNEIsUUFBa0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsZ0VBQWdFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxP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RCxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7dUdBcFdVLFlBQVksK0NBS21DLFFBQVE7MkdBTHZELFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTW9ELE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBSRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVI6IGFueVtdID0gWyc7J11cbiAgcHJpdmF0ZSByZXNlcnZhZGFzOiBhbnlbXSA9IFsnQUxURVInLCAnREVMRVRFJywgJ0RST1AnLCAnTU9ESUZZJywgJ0NSRUFURScsICdEQVRBQkFTRScsICdUQUJMRScsICdVUERBVEUnLCAnVFJJR0dFUicsICdHUkFOVCcsICdSRVZPS0UnLCAnQ0FMTCcsICdJTlNFUlQnLCAnVFJVTkNBVEUnLCAnVVNFJywgJy0tJ11cbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsKXtcbiAgfVxuICBcbiAgcHVibGljIGdlbmVyYXJMbGF2ZSgpIHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IDMyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hhcmFjdGVyc0xlbmd0aDsgaSsrKSB7XG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgZ2VuZXJhclBpbihjYW50aWRhZDogbnVtYmVyKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FudGlkYWQ7IGkrKykge1xuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNhbnRpZGFkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcmlnaHRwYWQoc3RyLCBsZW5ndGgsIGNoYXIpIHtcbiAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0xvcyBhcmd1bWVudG9zIGRlYmVuIHNlciB1bmEgY2FkZW5hIHkgdW4gbsO6bWVyby4nKTtcbiAgICB9XG5cbiAgICBpZiAoc3RyLmxlbmd0aCA+PSBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuXG4gICAgY2hhciA9IGNoYXIgfHwgJyAnOyAvLyBVdGlsaXphIHVuIGVzcGFjaW8gY29tbyBjYXLDoWN0ZXIgZGUgcmVsbGVubyBzaSBubyBzZSBwcm9wb3JjaW9uYSB1bm9cblxuICAgIHZhciBwYWRMZW5ndGggPSBsZW5ndGggLSBzdHIubGVuZ3RoO1xuICAgIHZhciBwYWRkaW5nID0gY2hhci5yZXBlYXQocGFkTGVuZ3RoKTtcblxuICAgIHJldHVybiBzdHIgKyBwYWRkaW5nO1xuICB9XG5cbiAgdmFsaWRhckNhbXBvTnVtZXJpY28oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgIGNvbnN0IHJlZ2V4ID0gL1teMC05XS9naTtcbiAgICBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnJlcGxhY2UocmVnZXgsICcnKTtcbiAgfVxuXG4gIGlzTm90Qmxhbmsoc3RyOiBzdHJpbmcgfCBTdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0ciAhPSBudWxsICYmIHN0ci50cmltKCkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGlzQmxhbmsoc3RyOiBzdHJpbmcgfCBTdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0ciA9PSBudWxsIHx8IHN0cj8udHJpbSgpID09PSAnJztcbiAgfVxuXG4gIHZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHZhbG9yKTogYm9vbGVhbiB7XG4gICAgLy8gVmVyaWZpY2FyIHNpIGVsIHZhbG9yIG5vIGVzIG51bGwgbmkgdW5kZWZpbmVkXG4gICAgaWYgKHZhbG9yICE9PSBudWxsICYmIHZhbG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1bmEgY2FkZW5hIHZhY8OtYSAoZW4gY2FzbyBkZSBzZXIgdW5hIGNhZGVuYSlcbiAgICAgIGlmICh0eXBlb2YgdmFsb3IgPT09ICdzdHJpbmcnICYmIHZhbG9yLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIHZhbG9yIG5vIGVzIHVuIGFycmVnbG8gdmFjw61vIChlbiBjYXNvIGRlIHNlciB1biBhcnJlZ2xvKVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsb3IpICYmIHZhbG9yLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvKmlmICh0eXBlb2YgdmFsb3IgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbG9yKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSovXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY2FwaXRhbGl6ZUZ1bGx5KGlucHV0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaW5wdXRTdHJpbmcpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgd29yZHMgPSBpbnB1dFN0cmluZy5zcGxpdCgnICcpO1xuICAgIGNvbnN0IGNhcGl0YWxpemVkV29yZHMgPSB3b3Jkcy5tYXAod29yZCA9PiB7XG4gICAgICBpZiAod29yZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhcGl0YWxpemVkV29yZHMuam9pbignICcpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBvcmRlbmFyU2VsZWN0SXRlbXNBbGZhYmV0aWNhbWVudGUoYXJyYXlEZU9iamV0b3M6IGFueVtdKTogYW55W10ge1xuICAgIGFycmF5RGVPYmpldG9zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5vbWJyZUEgPSBhLmxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBub21icmVCID0gYi5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBpZiAobm9tYnJlQSA8IG5vbWJyZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKG5vbWJyZUEgPiBub21icmVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFycmF5RGVPYmpldG9zO1xuICB9XG5cbiAgb2J0ZW5lclBhcmFtZXRyb0RlVVJMKHVybFN0cmluZzogc3RyaW5nLCBwYXJhbWV0cm86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodXJsU3RyaW5nKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zZWFyY2gpO1xuICAgIHJldHVybiBzZWFyY2hQYXJhbXMuZ2V0KHBhcmFtZXRybyk7XG4gIH1cblxuICB2YWxpZGFyRW1haWwoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhdHJvbkVtYWlsID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsfSQvO1xuICAgIHJldHVybiBwYXRyb25FbWFpbC50ZXN0KGVtYWlsKTtcbiAgfVxuXG4gIG9idGVuZXJCYXNlKCk6IChzdHJpbmcgfCBudWxsKSB7XG5cbiAgICB2YXIgYmFzZVBvcnRhbDogc3RyaW5nID0gbnVsbDtcbiAgICB2YXIgcGFnaW5hQWN0dWFsOiBhbnkgPSB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIHZhciB1cmwgPSBuZXcgVVJMKHBhZ2luYUFjdHVhbCk7XG4gICAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XG4gICAgaWYgKHBhZ2luYUFjdHVhbC50b1N0cmluZygpLmluY2x1ZGVzKCdQb3J0YWxTYXJhJykpIHtcbiAgICAgIGZvciAodmFyIG1hdGNoIG9mIHBhZ2luYUFjdHVhbC5tYXRjaEFsbCgvKD88aW5pY2lvPi4qKVxcLyg/PHNlZ3VyaWRhZD4uKilcXC8oPzxzaXRpbz4uKilcXC8oPzxwYWdpbmE+LiopL2cpKSB7XG4gICAgICAgIGJhc2VQb3J0YWwgPSBtYXRjaC5ncm91cHM/LnNlZ3VyaWRhZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhcmFtcz8uZ2V0KCd1c19pZCcpKSB7XG4gICAgICBwYWdpbmFBY3R1YWwgPSB3aW5kb3cucGFyZW50LmxvY2F0aW9uLmhyZWY7XG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2guZ3JvdXBzPy5zZWd1cmlkYWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL14uKj9cXC9cXC8uKj9cXC8oLio/KVxcLy9nOyAvLyBFeHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBvYnRlbmVyIGxhIHByaW1lcmEgcGFydGUgZGUgbGEgVVJMXG4gICAgICBjb25zdCBtYXRjaCA9IEFycmF5LmZyb20ocGFnaW5hQWN0dWFsLm1hdGNoQWxsKHJlZ2V4KSk7XG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMF0gJiYgbWF0Y2hbMF1bMV0pIHtcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoWzBdWzFdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYmFzZVBvcnRhbDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhckVzcGFjaW8oY2FyYWN0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL1xccy87IC8vIExhIGV4cHJlc2nDs24gcmVndWxhciBwYXJhIGVzcGFjaW9zIGVuIGJsYW5jb1xuICAgIHJldHVybiByZWdleC50ZXN0KGNhcmFjdGVyKTsgLy8gRGV2dWVsdmUgdHJ1ZSBzaSBlbCBjYXLDoWN0ZXIgZXMgdW4gZXNwYWNpbyBlbiBibGFuY29cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGFyVGV4dG9TUUwodmFsb3I6IHN0cmluZywgb2JsaWdhdG9yaW86IGJvb2xlYW4sIHNlbGVjdDogYm9vbGVhbiwgbG9uZ2l0dWQ6IG51bWJlciwgdmFsaWRhclNlbnRlbmNpYTogYm9vbGVhbik6IChzdHJpbmcgfCBudWxsKSB7XG4gICAgLy8gVmVyaWZpY2Egb2JsaWdhdG9yaWVkYWRcbiAgICBpZiAob2JsaWdhdG9yaW8gJiYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpKSB7XG4gICAgICByZXR1cm4gJ09ibGlnYXRvcmlvJztcbiAgICB9XG4gICAgLy8gVmVyaWZpY2EgbG9uZ2l0dWQgbcOheGltYVxuICAgIGlmIChsb25naXR1ZCA+IDApIHtcbiAgICAgIGlmICh2YWxvciAhPSBudWxsICYmIHZhbG9yICE9ICctLScgJiYgdmFsb3IubGVuZ3RoID4gbG9uZ2l0dWQpIHtcbiAgICAgICAgcmV0dXJuICdMb25naXR1ZCBtYXhpbWEgZGUgJyArIGxvbmdpdHVkO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBSZWFsaXphIGxhcyBkZW3DoXMgdmFsaWRhY2lvbiBzb2xvIGVuIGVsIGNhc28gZGUgcXVlIGxhIGNhZGVuYSBTUUwvdmFsb3Igbm8gc2VhIHZhY2lhXG4gICAgaWYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGlmICh2YWxpZGFyU2VudGVuY2lhKSB7XG4gICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgIGlmICghdmFsb3IudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKCdTRUxFQ1QnKSkge1xuICAgICAgICAgIHJldHVybiAnRWwgdGV4dG8gZGViZSBpbmljaWFyIGNvbiBsYSBwYWxhYnJhIFNlbGVjdCc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWxvci50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdTRUxFQ1QnKSkge1xuICAgICAgICAgIHJldHVybiAnTm8gcHVlZGUgY29udGVuZXIgbGEgcGFsYWJyYSBTZWxlY3QnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBpbmRpY2U6IG51bWJlcjtcbiAgICB2YXIgbWVuc2FqZTogc3RyaW5nO1xuICAgIHRoaXMuUkVTRVJWQURBU19TUUxfTk9QVUVERUNPTlRFTkVSLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsb3IuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMucmVzZXJ2YWRhcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoaXRlbS50b1VwcGVyQ2FzZSgpKSkge1xuICAgICAgICBpbmRpY2UgPSAodmFsb3IudG9VcHBlckNhc2UoKS5pbmRleE9mKGl0ZW0udG9VcHBlckNhc2UoKSkpO1xuICAgICAgICBpZiAoaW5kaWNlID09IDAgfHwgKHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGluZGljZSAtIDEpKSAmJiB0aGlzLnZhbGlkYXJFc3BhY2lvKHZhbG9yLmNoYXJBdChpdGVtLmxlbmd0aCArIGluZGljZSkpKSkge1xuICAgICAgICAgIG1lbnNhamUgPSAnTm8gcHVlZGUgY29udGVuZXIgJyArIGl0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBtZW5zYWplO1xuICB9XG5cbiAgc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuICB9XG5cbiAgdmFsaWRhclRleHRvQXJjaGl2b0phc3Blcih0ZXh0bzogc3RyaW5nKTogKHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAodGV4dG8udHJpbSgpID09ICcnIHx8IHRleHRvID09IG51bGwpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGVzdGFyIHZhY2lvXCI7XG4gICAgfVxuICAgIGlmICh0ZXh0by5tYXRjaChcIl5bXlxcXFxEXS4qXCIpKSB7XG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBudW1lcm9zXCI7XG4gICAgfVxuICAgIGlmICh0ZXh0by5tYXRjaChcIl5bXlxcXFxTXS4qXCIpKSB7XG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBjYXJhY3RlcmVzIGVuIGJsYW5jb1wiO1xuICAgIH1cbiAgICBpZiAoIXRleHRvLm1hdGNoKFwiXlteXFxcXFddLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIGNhcmFjdGVyZXMgZXNwZWNpYWxlc1wiO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlc2l6ZVdpbmRvd0lGcmFtZSgpIHtcblx0XHRpZiAoIHdpbmRvdy5mcmFtZUVsZW1lbnQgIT0gbnVsbCkge1xuXHRcdFx0dGhpcy5yZXNpemVJZnJhbWVLZWVwUG9zaXRpb24od2luZG93LmZyYW1lRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cdFxuXHQvKipcblx0ICogRnVuY2lvbiBwYXJhIG1hbnRlbmVyIGxhIHBvc2ljacOzbiBhY3R1YWwgZW4gZWwgaWZyYW1lLlxuXHQgKiBAcGFyYW0gb2JqIGVzIHVuIFwiRnJhbWVFbGVtZW50XCJcblx0ICovXG5cdHByaXZhdGUgcmVzaXplSWZyYW1lS2VlcFBvc2l0aW9uKG9iaikge1xuXHRcdFxuXHRcdHZhciBpZnJtID0gb2JqO1xuXHRcdHZhciBkb2MgPSBpZnJtLmNvbnRlbnREb2N1bWVudCA/IGlmcm0uY29udGVudERvY3VtZW50OiBpZnJtLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgdmFyIHRhbWFuaW86IG51bWJlcj0gIHRoaXMuZ2V0RG9jSGVpZ2h0KCBkb2MgKSAgKyA0MFxuXHRcdGlmcm0uc3R5bGUuaGVpZ2h0ID0gdGFtYW5pbyArIFwicHhcIjtcblx0fVxuXG5cdHByaXZhdGUgZ2V0RG9jSGVpZ2h0KGRvYyl7XG4gICAgY29uc29sZS5sb2coJ2dldERvY0hlaWdodCcpXG5cdFx0bGV0IG5hdmVnYWRvciA9IHRoaXMub2J0ZW5lck5hdmVnYWRvcigpLnRvTG93ZXJDYXNlKCk7XG5cdFx0dmFyIGhlaWdodCA9IDA7XG5cdFx0ZG9jID0gZG9jIHx8IGRvY3VtZW50O1xuICAgIGNvbnN0IGFwcFJvb3QgPSBkb2MucXVlcnlTZWxlY3RvcignYXBwLXJvb3QnKTtcblxuICAgIGNvbnN0IHN3YWxQb3B1cCA9IGRvYy5xdWVyeVNlbGVjdG9yKCcuc3dhbDItcG9wdXAnKTtcbiAgICBpZiAoc3dhbFBvcHVwKSB7XG4gICAgICAgIHJldHVybiBzd2FsUG9wdXAub2Zmc2V0SGVpZ2h0ICsgNDA7XG4gICAgfVxuXG4gICAgLy8gU2kgZW5jdWVudHJhIGVsIGVsZW1lbnRvIDxhcHAtcm9vdD4sIHJldG9ybmEgc3UgYWx0dXJhXG4gICAgaWYgKGFwcFJvb3QpIHtcbiAgICAgICAgcmV0dXJuIGFwcFJvb3Qub2Zmc2V0SGVpZ2h0O1xuICAgIH1cblx0XHQvL3ZhciBib2R5ID0gZG9jLmJvZHksIGh0bWwgPSBkb2MuZG9jdW1lbnRFbGVtZW50O1xuXHRcdC8vaGVpZ2h0ID0gTWF0aC5tYXgoIGJvZHkuc2Nyb2xsSGVpZ2h0LCBib2R5Lm9mZnNldEhlaWdodCwgXG5cdFx0Ly9odG1sLmNsaWVudEhlaWdodCwgaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwub2Zmc2V0SGVpZ2h0ICk7XG5cdFx0XG5cdFx0aWYgKG5hdmVnYWRvci5pbmRleE9mKCdmaXJlZm94JykgIT09IC0xKXtcblx0XHRcdGlmKGRvYy5mb3JtRGV0YWxsZUNvbnZvY2F0b3JpYSl7XG5cdFx0XHRcdGxldCBjYW50aWRhZE1pbGVzID0gaGVpZ2h0IC8gMTAwMDtcblx0XHRcdFx0aGVpZ2h0ID0gaGVpZ2h0ICsgNjAwICsgKGNhbnRpZGFkTWlsZXMqNDApXG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHQvL1x0Y29uc29sZS53YXJuKCdGQ08gOiBsbGFtYSBhIGdldERvY0hlaWdodCcpO1xuXHRcblx0XHRyZXR1cm4gaGVpZ2h0O1xuXHR9XG5cblx0b2J0ZW5lck5hdmVnYWRvcigpe1xuXHRcdHZhciB1YT0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdGVtLCBcblx0XHRNPSB1YS5tYXRjaCgvKG9wZXJhfGNocm9tZXxzYWZhcml8ZmlyZWZveHxtc2llfHRyaWRlbnQoPz1cXC8pKVxcLz9cXHMqKFxcZCspL2kpIHx8IFtdO1xuXHRcdGlmKC90cmlkZW50L2kudGVzdChNWzFdKSl7XG5cdFx0XHR0ZW09ICAvXFxicnZbIDpdKyhcXGQrKS9nLmV4ZWModWEpIHx8IFtdO1xuXHRcdFx0cmV0dXJuICdJRSAnKyh0ZW1bMV0gfHwgJycpO1xuXHRcdH1cblx0XHRpZihNWzFdPT09ICdDaHJvbWUnKXtcblx0XHRcdHRlbT0gdWEubWF0Y2goL1xcYihPUFJ8RWRnZSlcXC8oXFxkKykvKTtcblx0XHRcdGlmKHRlbSE9IG51bGwpIHJldHVybiB0ZW0uc2xpY2UoMSkuam9pbignICcpLnJlcGxhY2UoJ09QUicsICdPcGVyYScpO1xuXHRcdH1cblx0XHRNPSBNWzJdPyBbTVsxXSwgTVsyXV06IFtuYXZpZ2F0b3IuYXBwTmFtZSwgbmF2aWdhdG9yLmFwcFZlcnNpb24sICctPyddO1xuXHRcdGlmKCh0ZW09IHVhLm1hdGNoKC92ZXJzaW9uXFwvKFxcZCspL2kpKSE9IG51bGwpIE0uc3BsaWNlKDEsIDEsIHRlbVsxXSk7XG5cdFx0cmV0dXJuIE0uam9pbignICcpO1xuXHR9XG5cbiAgb2J0ZW5lclVybEFwaSh1cmxhcGk/OiBzdHJpbmcgKTogc3RyaW5nIHtcbiAgICBpZiAodXJsYXBpKXtcbiAgICAgIHJldHVybiB1cmxhcGk7XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpKSB7XG4gICAgICBjYXNlICcxJzpcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgY2FzZSAnMTMnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICcxMCc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGlzYXJhJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGlzYXJhJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgICAgLy9yZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGknXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgY2FzZSAnNzcnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYWFwcyddID8gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYWFwcyddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gIHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9rZW5LZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGVjb2RlVG9rZW4oKTtcbiAgICAgIHJldHVybiBkYXRhW2tleV0udG9TdHJpbmcoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZWNvZGVUb2tlbigpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0SXRlbSgndG9rZW4nLCAnJyk7XG4gICAgICBjb25zdCBkYXRhID0gdG9rZW4uc3BsaXQoJy4nKVsxXTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICBnZXRJdGVtKGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyAga2V5KSA/PyBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBjYW1iaWFyVGVtYSh0ZW1hIDogKCd0ZW1hQ2xhcm8nIHwgJ3RlbWFPc2N1cm8nKSl7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5vYnRlbmVyQmFzZSgpICsgJ18nICsndGVtYScsIHRlbWEpO1xuICAgIGxldCBsaW5rVGVtYSA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbWFBcHAnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XG4gICAgbGlua1RlbWEuaHJlZiA9IGAke3RlbWF9LmNzc2BcbiAgfVxuXG4gIGNhbGN1bGFyUG9zaWNpb25EaWFsb2coKSB7XG4gICAgdmFyIHBhcmVudFdpbmRvdzogV2luZG93ID0gd2luZG93LnBhcmVudDtcbiAgICB2YXIgb2JqOiBhbnkgPSB3aW5kb3cuZnJhbWVFbGVtZW50IDtcbiAgICB2YXIgaWZybSA9IG9iajtcbiAgICBpZiAoaWZybSkge1xuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gcGFyZW50V2luZG93LnBhZ2VZT2Zmc2V0IHx8IHBhcmVudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IHBhcmVudFdpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCAwO1xuICAgICAgY29uc3QgZGlhbG9nID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoZGlhbG9nKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHBhcmVudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgICAgIGNvbnN0IG1pdGFkU2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsSGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaW5pY2lvID0gLW1pdGFkU2Nyb2xsSGVpZ2h0O1xuICAgICAgICBkaWFsb2cuc3R5bGUudG9wID0gYCR7aW5pY2lvICsgNTAgKyAoc2Nyb2xsVG9wICkgfXB4YDsgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhclBhbGFicmEodGV4dG86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBsZXRyYXMgPSAvXlthLXpBLVpdWzAtOWEtekEtWl0qJC87XG4gICAgcmV0dXJuIHBsZXRyYXMudGVzdCh0ZXh0byk7XG4gIH1cblxuICBpc051bWVyaWModmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNOYU4oTnVtYmVyKHZhbHVlKSk7XG4gIH1cbiAgXG59Il19
363
+ }] }, { type: i2.ClickPosicionService }] });
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNM0MsTUFBTSxPQUFPLFlBQVk7SUFLSDtJQUF3RDtJQUE0QjtJQUhoRyw4QkFBOEIsR0FBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzdDLFVBQVUsR0FBVSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBRW5MLFlBQW9CLGFBQTRCLEVBQTRCLFFBQWtCLEVBQVUsb0JBQTBDO1FBQTlILGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQTRCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2xKLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLFVBQVUsR0FBRyxnRUFBZ0UsQ0FBQztRQUNwRixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFN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QUMsR0FBRyxjQUFjLENBQUM7UUFDbEYsQ0FBQztRQUNELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUM7Z0JBQ3BELE9BQU8scUJBQXFCLEdBQUcsUUFBUSxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO3VHQW5ZVyxZQUFZLCtDQUttQyxRQUFROzJHQUx2RCxZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1vRCxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2xpY2tQb3NpY2lvblNlcnZpY2UgfSBmcm9tICcuL2NsaWNrLXBvc2ljaW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgUkVTRVJWQURBU19TUUxfTk9QVUVERUNPTlRFTkVSOiBhbnlbXSA9IFsnOyddXG4gIHByaXZhdGUgcmVzZXJ2YWRhczogYW55W10gPSBbJ0FMVEVSJywgJ0RFTEVURScsICdEUk9QJywgJ01PRElGWScsICdDUkVBVEUnLCAnREFUQUJBU0UnLCAnVEFCTEUnLCAnVVBEQVRFJywgJ1RSSUdHRVInLCAnR1JBTlQnLCAnUkVWT0tFJywgJ0NBTEwnLCAnSU5TRVJUJywgJ1RSVU5DQVRFJywgJ1VTRScsICctLSddXG4gIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIGNsaWNrUG9zaXRpb25TZXJ2aWNlOiBDbGlja1Bvc2ljaW9uU2VydmljZSl7XG4gIH1cbiAgXG4gIHB1YmxpYyBnZW5lcmFyTGxhdmUoKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIGNvbnN0IGNoYXJhY3RlcnNMZW5ndGggPSAzMjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoYXJhY3RlcnNMZW5ndGg7IGkrKykge1xuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0LnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuXG5cbiAgcHVibGljIGdlbmVyYXJQaW4oY2FudGlkYWQ6IG51bWJlcikge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbnRpZGFkOyBpKyspIHtcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjYW50aWRhZCkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHJpZ2h0cGFkKHN0ciwgbGVuZ3RoLCBjaGFyKSB7XG4gICAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBsZW5ndGggIT09ICdudW1iZXInKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdMb3MgYXJndW1lbnRvcyBkZWJlbiBzZXIgdW5hIGNhZGVuYSB5IHVuIG7Dum1lcm8uJyk7XG4gICAgfVxuXG4gICAgaWYgKHN0ci5sZW5ndGggPj0gbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIGNoYXIgPSBjaGFyIHx8ICcgJzsgLy8gVXRpbGl6YSB1biBlc3BhY2lvIGNvbW8gY2Fyw6FjdGVyIGRlIHJlbGxlbm8gc2kgbm8gc2UgcHJvcG9yY2lvbmEgdW5vXG5cbiAgICB2YXIgcGFkTGVuZ3RoID0gbGVuZ3RoIC0gc3RyLmxlbmd0aDtcbiAgICB2YXIgcGFkZGluZyA9IGNoYXIucmVwZWF0KHBhZExlbmd0aCk7XG5cbiAgICByZXR1cm4gc3RyICsgcGFkZGluZztcbiAgfVxuXG4gIHZhbGlkYXJDYW1wb051bWVyaWNvKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldDtcbiAgICBjb25zdCByZWdleCA9IC9bXjAtOV0vZ2k7XG4gICAgaW5wdXQudmFsdWUgPSBpbnB1dC52YWx1ZS5yZXBsYWNlKHJlZ2V4LCAnJyk7XG4gIH1cblxuICBpc05vdEJsYW5rKHN0cjogc3RyaW5nIHwgU3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdHIgIT0gbnVsbCAmJiBzdHIudHJpbSgpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBpc0JsYW5rKHN0cjogc3RyaW5nIHwgU3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdHIgPT0gbnVsbCB8fCBzdHI/LnRyaW0oKSA9PT0gJyc7XG4gIH1cblxuICB2YWxpZGFyQ2FtcG9PYmxpZ2F0b3Jpbyh2YWxvcik6IGJvb2xlYW4ge1xuICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyBudWxsIG5pIHVuZGVmaW5lZFxuICAgIGlmICh2YWxvciAhPT0gbnVsbCAmJiB2YWxvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBWZXJpZmljYXIgc2kgZWwgdmFsb3Igbm8gZXMgdW5hIGNhZGVuYSB2YWPDrWEgKGVuIGNhc28gZGUgc2VyIHVuYSBjYWRlbmEpXG4gICAgICBpZiAodHlwZW9mIHZhbG9yID09PSAnc3RyaW5nJyAmJiB2YWxvci50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1biBhcnJlZ2xvIHZhY8OtbyAoZW4gY2FzbyBkZSBzZXIgdW4gYXJyZWdsbylcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbG9yKSAmJiB2YWxvci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLyppZiAodHlwZW9mIHZhbG9yID09PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cyh2YWxvcikubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0qL1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNhcGl0YWxpemVGdWxseShpbnB1dFN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWlucHV0U3RyaW5nKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHdvcmRzID0gaW5wdXRTdHJpbmcuc3BsaXQoJyAnKTtcbiAgICBjb25zdCBjYXBpdGFsaXplZFdvcmRzID0gd29yZHMubWFwKHdvcmQgPT4ge1xuICAgICAgaWYgKHdvcmQubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBjYXBpdGFsaXplZFdvcmRzLmpvaW4oJyAnKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgb3JkZW5hclNlbGVjdEl0ZW1zQWxmYWJldGljYW1lbnRlKGFycmF5RGVPYmpldG9zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBhcnJheURlT2JqZXRvcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBub21icmVBID0gYS5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3Qgbm9tYnJlQiA9IGIubGFiZWwudG9Mb3dlckNhc2UoKTtcblxuICAgICAgaWYgKG5vbWJyZUEgPCBub21icmVCKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGlmIChub21icmVBID4gbm9tYnJlQikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheURlT2JqZXRvcztcbiAgfVxuXG4gIG9idGVuZXJQYXJhbWV0cm9EZVVSTCh1cmxTdHJpbmc6IHN0cmluZywgcGFyYW1ldHJvOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFN0cmluZyk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmwuc2VhcmNoKTtcbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLmdldChwYXJhbWV0cm8pO1xuICB9XG5cbiAgdmFsaWRhckVtYWlsKGVtYWlsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXRyb25FbWFpbCA9IC9eW2EtekEtWjAtOS5fJSstXStAW2EtekEtWjAtOS4tXStcXC5bYS16QS1aXXsyLH0kLztcbiAgICByZXR1cm4gcGF0cm9uRW1haWwudGVzdChlbWFpbCk7XG4gIH1cblxuICBvYnRlbmVyQmFzZSgpOiAoc3RyaW5nIHwgbnVsbCkge1xuXG4gICAgdmFyIGJhc2VQb3J0YWw6IHN0cmluZyA9IG51bGw7XG4gICAgdmFyIHBhZ2luYUFjdHVhbDogYW55ID0gd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICB2YXIgdXJsID0gbmV3IFVSTChwYWdpbmFBY3R1YWwpO1xuICAgIHZhciBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zZWFyY2gpO1xuICAgIGlmIChwYWdpbmFBY3R1YWwudG9TdHJpbmcoKS5pbmNsdWRlcygnUG9ydGFsU2FyYScpKSB7XG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2guZ3JvdXBzPy5zZWd1cmlkYWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwYXJhbXM/LmdldCgndXNfaWQnKSkge1xuICAgICAgcGFnaW5hQWN0dWFsID0gd2luZG93LnBhcmVudC5sb2NhdGlvbi5ocmVmO1xuICAgICAgZm9yICh2YXIgbWF0Y2ggb2YgcGFnaW5hQWN0dWFsLm1hdGNoQWxsKC8oPzxpbmljaW8+LiopXFwvKD88c2VndXJpZGFkPi4qKVxcLyg/PHNpdGlvPi4qKVxcLyg/PHBhZ2luYT4uKikvZykpIHtcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoLmdyb3Vwcz8uc2VndXJpZGFkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWdleCA9IC9eLio/XFwvXFwvLio/XFwvKC4qPylcXC8vZzsgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgb2J0ZW5lciBsYSBwcmltZXJhIHBhcnRlIGRlIGxhIFVSTFxuICAgICAgY29uc3QgbWF0Y2ggPSBBcnJheS5mcm9tKHBhZ2luYUFjdHVhbC5tYXRjaEFsbChyZWdleCkpO1xuXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMF0gJiYgbWF0Y2hbMF1bMV0pIHtcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoWzBdWzFdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYmFzZVBvcnRhbDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhckVzcGFjaW8oY2FyYWN0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL1xccy87IC8vIExhIGV4cHJlc2nDs24gcmVndWxhciBwYXJhIGVzcGFjaW9zIGVuIGJsYW5jb1xuICAgIHJldHVybiByZWdleC50ZXN0KGNhcmFjdGVyKTsgLy8gRGV2dWVsdmUgdHJ1ZSBzaSBlbCBjYXLDoWN0ZXIgZXMgdW4gZXNwYWNpbyBlbiBibGFuY29cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGFyVGV4dG9TUUwodmFsb3I6IHN0cmluZywgb2JsaWdhdG9yaW86IGJvb2xlYW4sIHNlbGVjdDogYm9vbGVhbiwgbG9uZ2l0dWQ6IG51bWJlciwgdmFsaWRhclNlbnRlbmNpYTogYm9vbGVhbik6IChzdHJpbmcgfCBudWxsKSB7XG4gICAgLy8gVmVyaWZpY2Egb2JsaWdhdG9yaWVkYWRcbiAgICBpZiAob2JsaWdhdG9yaW8gJiYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpKSB7XG4gICAgICByZXR1cm4gJ09ibGlnYXRvcmlvJztcbiAgICB9XG4gICAgLy8gVmVyaWZpY2EgbG9uZ2l0dWQgbcOheGltYVxuICAgIGlmIChsb25naXR1ZCA+IDApIHtcbiAgICAgIGlmICh2YWxvciAhPSBudWxsICYmIHZhbG9yICE9ICctLScgJiYgdmFsb3IubGVuZ3RoID4gbG9uZ2l0dWQpIHtcbiAgICAgICAgcmV0dXJuICdMb25naXR1ZCBtYXhpbWEgZGUgJyArIGxvbmdpdHVkO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBSZWFsaXphIGxhcyBkZW3DoXMgdmFsaWRhY2lvbiBzb2xvIGVuIGVsIGNhc28gZGUgcXVlIGxhIGNhZGVuYSBTUUwvdmFsb3Igbm8gc2VhIHZhY2lhXG4gICAgaWYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGlmICh2YWxpZGFyU2VudGVuY2lhKSB7XG4gICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgIGlmICghdmFsb3IudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKCdTRUxFQ1QnKSkge1xuICAgICAgICAgIHJldHVybiAnRWwgdGV4dG8gZGViZSBpbmljaWFyIGNvbiBsYSBwYWxhYnJhIFNlbGVjdCc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWxvci50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdTRUxFQ1QnKSkge1xuICAgICAgICAgIHJldHVybiAnTm8gcHVlZGUgY29udGVuZXIgbGEgcGFsYWJyYSBTZWxlY3QnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBpbmRpY2U6IG51bWJlcjtcbiAgICB2YXIgbWVuc2FqZTogc3RyaW5nO1xuICAgIHRoaXMuUkVTRVJWQURBU19TUUxfTk9QVUVERUNPTlRFTkVSLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsb3IuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMucmVzZXJ2YWRhcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoaXRlbS50b1VwcGVyQ2FzZSgpKSkge1xuICAgICAgICBpbmRpY2UgPSAodmFsb3IudG9VcHBlckNhc2UoKS5pbmRleE9mKGl0ZW0udG9VcHBlckNhc2UoKSkpO1xuICAgICAgICBpZiAoaW5kaWNlID09IDAgfHwgKHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGluZGljZSAtIDEpKSAmJiB0aGlzLnZhbGlkYXJFc3BhY2lvKHZhbG9yLmNoYXJBdChpdGVtLmxlbmd0aCArIGluZGljZSkpKSkge1xuICAgICAgICAgIG1lbnNhamUgPSAnTm8gcHVlZGUgY29udGVuZXIgJyArIGl0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBtZW5zYWplO1xuICB9XG5cbiAgc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuICB9XG5cbiAgdmFsaWRhclRleHRvQXJjaGl2b0phc3Blcih0ZXh0bzogc3RyaW5nKTogKHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAodGV4dG8udHJpbSgpID09ICcnIHx8IHRleHRvID09IG51bGwpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGVzdGFyIHZhY2lvXCI7XG4gICAgfVxuICAgIGlmICh0ZXh0by5tYXRjaChcIl5bXlxcXFxEXS4qXCIpKSB7XG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBudW1lcm9zXCI7XG4gICAgfVxuICAgIGlmICh0ZXh0by5tYXRjaChcIl5bXlxcXFxTXS4qXCIpKSB7XG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBjYXJhY3RlcmVzIGVuIGJsYW5jb1wiO1xuICAgIH1cbiAgICBpZiAoIXRleHRvLm1hdGNoKFwiXlteXFxcXFddLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIGNhcmFjdGVyZXMgZXNwZWNpYWxlc1wiO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlc2l6ZVdpbmRvd0lGcmFtZSgpIHtcblx0XHRpZiAoIHdpbmRvdy5mcmFtZUVsZW1lbnQgIT0gbnVsbCkge1xuXHRcdFx0dGhpcy5yZXNpemVJZnJhbWVLZWVwUG9zaXRpb24od2luZG93LmZyYW1lRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cdFxuXHQvKipcblx0ICogRnVuY2lvbiBwYXJhIG1hbnRlbmVyIGxhIHBvc2ljacOzbiBhY3R1YWwgZW4gZWwgaWZyYW1lLlxuXHQgKiBAcGFyYW0gb2JqIGVzIHVuIFwiRnJhbWVFbGVtZW50XCJcblx0ICovXG5cdHByaXZhdGUgcmVzaXplSWZyYW1lS2VlcFBvc2l0aW9uKG9iaikge1xuXHRcdFxuXHRcdHZhciBpZnJtID0gb2JqO1xuXHRcdHZhciBkb2MgPSBpZnJtLmNvbnRlbnREb2N1bWVudCA/IGlmcm0uY29udGVudERvY3VtZW50OiBpZnJtLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgdmFyIHRhbWFuaW86IG51bWJlcj0gIHRoaXMuZ2V0RG9jSGVpZ2h0KCBkb2MgKSAgKyA0MFxuXHRcdGlmcm0uc3R5bGUuaGVpZ2h0ID0gdGFtYW5pbyArIFwicHhcIjtcblx0fVxuXG4gIHByaXZhdGUgZ2V0RG9jSGVpZ2h0KGRvYyl7XG5cdFx0bGV0IG5hdmVnYWRvciA9IHRoaXMub2J0ZW5lck5hdmVnYWRvcigpLnRvTG93ZXJDYXNlKCk7XG5cdFx0dmFyIGhlaWdodCA9IDA7XG5cdFx0ZG9jID0gZG9jIHx8IGRvY3VtZW50O1xuICAgIGNvbnN0IGFwcFJvb3QgPSBkb2MucXVlcnlTZWxlY3RvcignYXBwLXJvb3QnKTtcblxuICAgIGNvbnN0IHN3YWxQb3B1cCA9IGRvYy5xdWVyeVNlbGVjdG9yKCcuc3dhbDItcG9wdXAnKTtcbiAgICBpZiAoc3dhbFBvcHVwKSB7XG4gICAgICAgIHJldHVybiBzd2FsUG9wdXAub2Zmc2V0SGVpZ2h0ICsgNDA7XG4gICAgfVxuXG4gICAgLy9TaSBleGlzdGUgdW4gZGlhbG9nIGRlc3BsZWdhZG8geSBlbCB0YW1hw7FvIGVzIG1heW9yIGFsIGlmcmFtZSwgc2UgaGFjZVxuICAgIC8vcmVzaXplIGNvbiBlc3RhcyBtZWRpZGFzXG4gICAgY29uc3QgZGlhbG9nID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nLWNvbnRlbnQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBkaWFsb2cyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nLWhlYWRlcicpIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKGRpYWxvZyAmJiBkaWFsb2cyKSB7XG4gICAgICBjb25zdCBhbHR1cmFQb3B1cENvbnRlbnQgPSBkaWFsb2cuc2Nyb2xsSGVpZ2h0O1xuICAgICAgY29uc3QgYWx0dXJhUG9wdXBIZWFkZXIgPSBkaWFsb2cub2Zmc2V0SGVpZ2h0O1xuICAgICAgY29uc3Qgc3VtYXRvcmlhUG9wdXAgPSBhbHR1cmFQb3B1cENvbnRlbnQgKyBhbHR1cmFQb3B1cEhlYWRlcjtcbiAgICAgIGhlaWdodCA9IGFwcFJvb3Qub2Zmc2V0SGVpZ2h0O1xuICAgICAgaWYgKGhlaWdodCA8IHN1bWF0b3JpYVBvcHVwKSB7XG4gICAgICAgIGhlaWdodCA9IHN1bWF0b3JpYVBvcHVwICsgMTAwO1xuICAgICAgICByZXR1cm4gaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpIGVuY3VlbnRyYSBlbCBlbGVtZW50byA8YXBwLXJvb3Q+LCByZXRvcm5hIHN1IGFsdHVyYVxuICAgIGlmIChhcHBSb290KSB7XG4gICAgICAgIHJldHVybiBhcHBSb290Lm9mZnNldEhlaWdodDtcbiAgICB9IFxuXHRcdFxuXHRcdGlmIChuYXZlZ2Fkb3IuaW5kZXhPZignZmlyZWZveCcpICE9PSAtMSl7XG5cdFx0XHRpZihkb2MuZm9ybURldGFsbGVDb252b2NhdG9yaWEpe1xuXHRcdFx0XHRsZXQgY2FudGlkYWRNaWxlcyA9IGhlaWdodCAvIDEwMDA7XG5cdFx0XHRcdGhlaWdodCA9IGhlaWdodCArIDYwMCArIChjYW50aWRhZE1pbGVzKjQwKVxuXHRcdFx0fVxuXHRcdH1cbiAgICAgIFxuICAgXG5cdC8vXHRjb25zb2xlLndhcm4oJ0ZDTyA6IGxsYW1hIGEgZ2V0RG9jSGVpZ2h0Jyk7XG5cdFxuXHRcdHJldHVybiBoZWlnaHQ7XG5cdH1cblxuXHRvYnRlbmVyTmF2ZWdhZG9yKCl7XG5cdFx0dmFyIHVhPSBuYXZpZ2F0b3IudXNlckFnZW50LCB0ZW0sIFxuXHRcdE09IHVhLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWV8dHJpZGVudCg/PVxcLykpXFwvP1xccyooXFxkKykvaSkgfHwgW107XG5cdFx0aWYoL3RyaWRlbnQvaS50ZXN0KE1bMV0pKXtcblx0XHRcdHRlbT0gIC9cXGJydlsgOl0rKFxcZCspL2cuZXhlYyh1YSkgfHwgW107XG5cdFx0XHRyZXR1cm4gJ0lFICcrKHRlbVsxXSB8fCAnJyk7XG5cdFx0fVxuXHRcdGlmKE1bMV09PT0gJ0Nocm9tZScpe1xuXHRcdFx0dGVtPSB1YS5tYXRjaCgvXFxiKE9QUnxFZGdlKVxcLyhcXGQrKS8pO1xuXHRcdFx0aWYodGVtIT0gbnVsbCkgcmV0dXJuIHRlbS5zbGljZSgxKS5qb2luKCcgJykucmVwbGFjZSgnT1BSJywgJ09wZXJhJyk7XG5cdFx0fVxuXHRcdE09IE1bMl0/IFtNWzFdLCBNWzJdXTogW25hdmlnYXRvci5hcHBOYW1lLCBuYXZpZ2F0b3IuYXBwVmVyc2lvbiwgJy0/J107XG5cdFx0aWYoKHRlbT0gdWEubWF0Y2goL3ZlcnNpb25cXC8oXFxkKykvaSkpIT0gbnVsbCkgTS5zcGxpY2UoMSwgMSwgdGVtWzFdKTtcblx0XHRyZXR1cm4gTS5qb2luKCcgJyk7XG5cdH1cblxuICBvYnRlbmVyVXJsQXBpKHVybGFwaT86IHN0cmluZyApOiBzdHJpbmcge1xuICAgIGlmICh1cmxhcGkpe1xuICAgICAgcmV0dXJuIHVybGFwaTtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykpIHtcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICcxMyc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgIGNhc2UgJzEwJzpcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgICAvL3JldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGknXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICc3Nyc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAgdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb2tlbktleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xuICAgICAgcmV0dXJuIGRhdGFba2V5XS50b1N0cmluZygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlY29kZVRva2VuKCk6IGFueSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRJdGVtKCd0b2tlbicsICcnKTtcbiAgICAgIGNvbnN0IGRhdGEgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW0oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMub2J0ZW5lckJhc2UoKSArICdfJyArICBrZXkpID8/IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIGNhbWJpYXJUZW1hKHRlbWEgOiAoJ3RlbWFDbGFybycgfCAndGVtYU9zY3VybycpKXtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyd0ZW1hJywgdGVtYSk7XG4gICAgbGV0IGxpbmtUZW1hID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtYUFwcCcpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICBsaW5rVGVtYS5ocmVmID0gYCR7dGVtYX0uY3NzYFxuICB9XG5cbiAgY2FsY3VsYXJQb3NpY2lvbkRpYWxvZygpIHtcbiAgICBjb25zdCB7IHgsIHkgfSA9IHRoaXMuY2xpY2tQb3NpdGlvblNlcnZpY2UuZ2V0Q2xpY2tQb3NpdGlvbigpO1xuICAgIHZhciBpZnJtOiBhbnkgPSB3aW5kb3cuZnJhbWVFbGVtZW50O1xuXHRcdHZhciBkb2MgPSBpZnJtLmNvbnRlbnREb2N1bWVudCA/IGlmcm0uY29udGVudERvY3VtZW50OiBpZnJtLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgdmFyIHRhbWFuaW86IG51bWJlcj0gIHRoaXMuZ2V0RG9jSGVpZ2h0KCBkb2MgKSAgKyA0MFxuICAgIGNvbnN0IGlmcmFtZU9mZnNldFRvcCA9IHRhbWFuaW8gPyAtKHRhbWFuaW8vMikgOiAwO1xuXG4gICAgY29uc3QgZGlhbG9nID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nJykgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoZGlhbG9nKSB7XG4gICAgICB2YXIgdG9wUG9zaXRpb24gPSBpZnJhbWVPZmZzZXRUb3AgKyB5O1xuICAgICAgY29uc3QgY2FsY3Vsb1Bvc2ljaW9uUG9wdXAgPSB5ICsgKGRpYWxvZy5vZmZzZXRIZWlnaHQvMilcbiAgICAgIGlmIChjYWxjdWxvUG9zaWNpb25Qb3B1cCA+IHRhbWFuaW8pIHtcbiAgICAgICAgdmFyIGRpZmVyZW5jaWEgPSBjYWxjdWxvUG9zaWNpb25Qb3B1cCAtIHRhbWFuaW87XG4gICAgICAgIHRvcFBvc2l0aW9uID0gdG9wUG9zaXRpb24gLSBkaWZlcmVuY2lhIC0gMTA7XG4gICAgICB9XG4gICAgICBkaWFsb2cuc3R5bGUudG9wID0gYCR7dG9wUG9zaXRpb259cHhgO1xuICAgIH1cbiAgfVxuICBcbiAgdmFsaWRhclBhbGFicmEodGV4dG86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBsZXRyYXMgPSAvXlthLXpBLVpdWzAtOWEtekEtWl0qJC87XG4gICAgcmV0dXJuIHBsZXRyYXMudGVzdCh0ZXh0byk7XG4gIH1cblxuICBpc051bWVyaWModmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNOYU4oTnVtYmVyKHZhbHVlKSk7XG4gIH1cblxuICB2YWxpZGFyRW50ZXJvKHZhbG9yOiBudW1iZXIsIG9ibGlnYXRvcmlvOiBib29sZWFuLCBsb25naXR1ZDogbnVtYmVyLCBjYW1wbzogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAob2JsaWdhdG9yaW8gJiYgdmFsb3IgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIChjYW1wbyA9PSBudWxsID8gXCJcIiA6IFwiRWwgY2FtcG8gIFxcXCJcIiArIGNhbXBvICsgXCJcXFwiIGVzIFwiKSArIFwiT2JsaWdhdG9yaW8gXCI7XHRcdFx0XG5cdFx0fVxuXHRcdGlmICh2YWxvciAhPSBudWxsKSB7XG5cdFx0XHRpZiAoTWF0aC50cnVuYyh2YWxvcikudG9TdHJpbmcoKS5sZW5ndGggPiBsb25naXR1ZCkge1xuXHRcdFx0XHRyZXR1cm4gXCJMb25naXR1ZCBtYXhpbWEgZGUgXCIgKyBsb25naXR1ZCArIChjYW1wbyA9PSBudWxsID8gXCJcIiA6IChcIiBwYXJhIGVsIGNhbXBvIChcIiArIGNhbXBvICsgXCIpIFwiKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG4gIFxufSJdfQ==
@@ -7,37 +7,35 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/router";
8
8
  import * as i2 from "../core/servicios/menu.service";
9
9
  import * as i3 from "../core/servicios/utils.service";
10
- import * as i4 from "../core/servicios/tabs-multiples.service";
11
- import * as i5 from "primeng/breadcrumb";
10
+ import * as i4 from "primeng/breadcrumb";
12
11
  export class AppBreadcrumbComponent {
13
12
  router;
14
13
  menuService;
15
14
  utilsService;
16
15
  cd;
17
- tabsMultiplesService;
18
16
  subscription = new Subscription();
19
17
  items = [];
20
18
  home;
21
19
  _breadcrumbs$ = new BehaviorSubject([]);
22
20
  breadcrumbs$ = this._breadcrumbs$.asObservable();
23
- constructor(router, menuService, utilsService, cd, tabsMultiplesService) {
21
+ constructor(router, menuService, utilsService, cd // Importando ChangeDetectorRef
22
+ ) {
24
23
  this.router = router;
25
24
  this.menuService = menuService;
26
25
  this.utilsService = utilsService;
27
26
  this.cd = cd;
28
- this.tabsMultiplesService = tabsMultiplesService;
29
27
  this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
30
28
  const root = this.router.routerState.snapshot.root;
31
29
  const breadcrumbs = [];
32
30
  this.addBreadcrumb(root, [], breadcrumbs);
33
31
  this._breadcrumbs$.next(breadcrumbs);
34
- this.cd.detectChanges();
32
+ this.cd.detectChanges(); // Marcando para detección de cambios
35
33
  });
36
34
  }
37
35
  ngOnInit() {
38
36
  this.subscription.add(this.menuService.breadcrumb.subscribe(items => {
39
37
  this.items = items;
40
- this.cd.detectChanges();
38
+ this.cd.detectChanges(); // Marcando para detección de cambios
41
39
  }));
42
40
  if (window.location.href.toString().includes('admonPortal')) {
43
41
  this.home = { icon: 'pi pi-home', routerLink: '/' + this.utilsService.obtenerBase() + '/admonPortal/inicio' };
@@ -45,7 +43,6 @@ export class AppBreadcrumbComponent {
45
43
  else {
46
44
  this.home = { icon: 'pi pi-home', routerLink: '/' + this.utilsService.obtenerBase() + '/inicio' };
47
45
  }
48
- this.validateGoHome();
49
46
  }
50
47
  ngOnDestroy() {
51
48
  this.subscription.unsubscribe();
@@ -64,19 +61,11 @@ export class AppBreadcrumbComponent {
64
61
  this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
65
62
  }
66
63
  }
67
- validateGoHome() {
68
- this.home = {
69
- icon: 'pi pi-home',
70
- command: () => {
71
- this.tabsMultiplesService.goHome();
72
- },
73
- };
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.Router }, { token: i2.MenuService }, { token: i3.UtilsService }, { token: i0.ChangeDetectorRef }, { token: i4.TabsMultiplesService }], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <nav class=\"layout-breadcrumb\">\n <ol>\n <p-breadcrumb [model]=\"items\" [home]=\"home\" styleClass=\"layout-breadcrumb pl-4 py-2\"></p-breadcrumb>\n <div class=\"layout-breadcrumb-buttons flex align-items-center pr-3\">\n </div>\n </ol>\n </nav>\n</div>\n", dependencies: [{ kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i5.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }] });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.Router }, { token: i2.MenuService }, { token: i3.UtilsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <nav class=\"layout-breadcrumb\">\n <ol>\n <!-- <li><i class=\"pi pi-home\"></i></li>\n <ng-template ngFor let-item let-last=\"last\" [ngForOf]=\"breadcrumbs$ | async\">\n <li><i class=\"pi pi-angle-right\"></i></li>\n <li><span>{{item.label}}</span></li>\n </ng-template> -->\n <p-breadcrumb [model]=\"items\" [home]=\"home\" styleClass=\"layout-breadcrumb pl-4 py-2\"></p-breadcrumb>\n <div class=\"layout-breadcrumb-buttons flex align-items-center pr-3\">\n <!-- <button pButton pRipple type=\"button\" icon=\"pi pi-power-off\" class=\"p-button-rounded p-button-text p-button-plain mr-1\"></button> -->\n </div>\n </ol>\n </nav>\n <!-- <div class=\"layout-breadcrumb-buttons\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-cloud-upload\" class=\"p-button-rounded p-button-text p-button-plain\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-bookmark\" class=\"p-button-rounded p-button-text p-button-plain\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-power-off\" class=\"p-button-rounded p-button-text p-button-plain\"></button>\n </div> -->\n</div>\n", dependencies: [{ kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i4.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }] });
77
66
  }
78
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
79
68
  type: Component,
80
- args: [{ selector: 'app-breadcrumb', imports: [BreadcrumbModule], standalone: true, template: "<div class=\"layout-breadcrumb-container\">\n <nav class=\"layout-breadcrumb\">\n <ol>\n <p-breadcrumb [model]=\"items\" [home]=\"home\" styleClass=\"layout-breadcrumb pl-4 py-2\"></p-breadcrumb>\n <div class=\"layout-breadcrumb-buttons flex align-items-center pr-3\">\n </div>\n </ol>\n </nav>\n</div>\n" }]
81
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.MenuService }, { type: i3.UtilsService }, { type: i0.ChangeDetectorRef }, { type: i4.TabsMultiplesService }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUEwQixhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFjdEQsTUFBTSxPQUFPLHNCQUFzQjtJQVN2QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBWkYsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUMsS0FBSyxHQUFlLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQVc7SUFFRSxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQWUsRUFBRSxDQUFDLENBQUM7SUFDOUQsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFMUQsWUFDVSxNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsRUFBcUIsRUFDckIsb0JBQTBDO1FBSjFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBRWxELElBQUksQ0FBQyxNQUFNLENB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QUFFLFlBQVk7WUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO3VHQW5FVSxzQkFBc0I7MkZBQXRCLHNCQUFzQiwwRUNyQm5DLHlWQVNBLDJDRFFjLGdCQUFnQjs7MkZBSWpCLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxnQkFBZ0IsV0FDakIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnJlYWRjcnVtYic7XG5pbXBvcnQgeyBUYWJzTXVsdGlwbGVzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL3RhYnMtbXVsdGlwbGVzLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgQnJlYWRjcnVtYiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWJyZWFkY3J1bWInLFxuICAgIGltcG9ydHM6IFtCcmVhZGNydW1iTW9kdWxlXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAuYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIGhvbWU6IE1lbnVJdGVtO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2JyZWFkY3J1bWJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWRjcnVtYltdPihbXSk7XG4gIHJlYWRvbmx5IGJyZWFkY3J1bWJzJCA9IHRoaXMuX2JyZWFkY3J1bWJzJC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0YWJzTXVsdGlwbGVzU2VydmljZTogVGFic011bHRpcGxlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCByb290ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdDtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10gPSBbXTtcbiAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb290LCBbXSwgYnJlYWRjcnVtYnMpO1xuICAgICAgdGhpcy5fYnJlYWRjcnVtYnMkLm5leHQoYnJlYWRjcnVtYnMpO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLmJyZWFkY3J1bWIuc3Vic2NyaWJlKGl0ZW1zID0+IHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgdGhpcy5ob21lID0geyBpY29uOiAncGkgcGktaG9tZScsIHJvdXRlckxpbms6ICcvJysgdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvYWRtb25Qb3J0YWwvaW5pY2lvJyB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvbWUgPSB7IGljb246ICdwaSBwaS1ob21lJywgcm91dGVyTGluazogJy8nKyB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9pbmljaW8nIH07XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVHb0hvbWUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZEJyZWFkY3J1bWIocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHBhcmVudFVybDogc3RyaW5nW10sIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10pIHtcbiAgICBjb25zdCByb3V0ZVVybCA9IHBhcmVudFVybC5jb25jYXQocm91dGUudXJsLm1hcCh1cmwgPT4gdXJsLnBhdGgpKTtcbiAgICBjb25zdCBicmVhZGNydW1iID0gcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddO1xuICAgIGNvbnN0IHBhcmVudEJyZWFkY3J1bWIgPSByb3V0ZS5wYXJlbnQgJiYgcm91dGUucGFyZW50LmRhdGEgPyByb3V0ZS5wYXJlbnQuZGF0YVsnYnJlYWRjcnVtYiddIDogbnVsbDtcblxuICAgIGlmIChicmVhZGNydW1iICYmIGJyZWFkY3J1bWIgIT09IHBhcmVudEJyZWFkY3J1bWIpIHtcbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICBsYWJlbDogcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddLFxuICAgICAgICB1cmw6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChyb3V0ZS5maXJzdENoaWxkKSB7XG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUdvSG9tZSgpIHtcbiAgICB0aGlzLmhvbWUgPSB7XG4gICAgICBpY29uOiAncGkgcGktaG9tZScsXG4gICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudGFic011bHRpcGxlc1NlcnZpY2UuZ29Ib21lKCk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYi1jb250YWluZXJcIj5cbiAgPG5hdiBjbGFzcz1cImxheW91dC1icmVhZGNydW1iXCI+XG4gICAgICA8b2w+XG4gICAgICAgICAgPHAtYnJlYWRjcnVtYiBbbW9kZWxdPVwiaXRlbXNcIiBbaG9tZV09XCJob21lXCIgc3R5bGVDbGFzcz1cImxheW91dC1icmVhZGNydW1iIHBsLTQgcHktMlwiPjwvcC1icmVhZGNydW1iPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYi1idXR0b25zIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIHByLTNcIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvb2w+XG4gIDwvbmF2PlxuPC9kaXY+XG4iXX0=
69
+ args: [{ selector: 'app-breadcrumb', imports: [BreadcrumbModule], standalone: true, template: "<div class=\"layout-breadcrumb-container\">\n <nav class=\"layout-breadcrumb\">\n <ol>\n <!-- <li><i class=\"pi pi-home\"></i></li>\n <ng-template ngFor let-item let-last=\"last\" [ngForOf]=\"breadcrumbs$ | async\">\n <li><i class=\"pi pi-angle-right\"></i></li>\n <li><span>{{item.label}}</span></li>\n </ng-template> -->\n <p-breadcrumb [model]=\"items\" [home]=\"home\" styleClass=\"layout-breadcrumb pl-4 py-2\"></p-breadcrumb>\n <div class=\"layout-breadcrumb-buttons flex align-items-center pr-3\">\n <!-- <button pButton pRipple type=\"button\" icon=\"pi pi-power-off\" class=\"p-button-rounded p-button-text p-button-plain mr-1\"></button> -->\n </div>\n </ol>\n </nav>\n <!-- <div class=\"layout-breadcrumb-buttons\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-cloud-upload\" class=\"p-button-rounded p-button-text p-button-plain\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-bookmark\" class=\"p-button-rounded p-button-text p-button-plain\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-power-off\" class=\"p-button-rounded p-button-text p-button-plain\"></button>\n </div> -->\n</div>\n" }]
70
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.MenuService }, { type: i3.UtilsService }, { type: i0.ChangeDetectorRef }] });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUEwQixhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQWF0RCxNQUFNLE9BQU8sc0JBQXNCO0lBU3ZCO0lBQ0E7SUFDQTtJQUNBO0lBWEYsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUMsS0FBSyxHQUFlLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQVc7SUFFRSxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQWUsRUFBRSxDQUFDLENBQUM7SUFDOUQsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFMUQsWUFDVSxNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsRUFBcUIsQ0FBQywrQkFBK0I7O1FBSHJELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUU3QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUss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QkFBZ0IsV0FDakIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnJlYWRjcnVtYic7XG5cbmludGVyZmFjZSBCcmVhZGNydW1iIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtYnJlYWRjcnVtYicsXG4gICAgaW1wb3J0czogW0JyZWFkY3J1bWJNb2R1bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcC5icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBcHBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgaXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcbiAgaG9tZTogTWVudUl0ZW07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYnJlYWRjcnVtYnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCcmVhZGNydW1iW10+KFtdKTtcbiAgcmVhZG9ubHkgYnJlYWRjcnVtYnMkID0gdGhpcy5fYnJlYWRjcnVtYnMkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiAvLyBJbXBvcnRhbmRvIENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgICBjb25zdCBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm9vdCwgW10sIGJyZWFkY3J1bWJzKTtcbiAgICAgIHRoaXMuX2JyZWFkY3J1bWJzJC5uZXh0KGJyZWFkY3J1bWJzKTtcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyAvLyBNYXJjYW5kbyBwYXJhIGRldGVjY2nDs24gZGUgY2FtYmlvc1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5tZW51U2VydmljZS5icmVhZGNydW1iLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IC8vIE1hcmNhbmRvIHBhcmEgZGV0ZWNjacOzbiBkZSBjYW1iaW9zXG4gICAgICB9KVxuICAgICk7XG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykpIHtcbiAgICAgIHRoaXMuaG9tZSA9IHsgaWNvbjogJ3BpIHBpLWhvbWUnLCByb3V0ZXJMaW5rOiAnLycrIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2FkbW9uUG9ydGFsL2luaWNpbycgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob21lID0geyBpY29uOiAncGkgcGktaG9tZScsIHJvdXRlckxpbms6ICcvJysgdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvaW5pY2lvJyB9O1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZEJyZWFkY3J1bWIocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHBhcmVudFVybDogc3RyaW5nW10sIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10pIHtcbiAgICBjb25zdCByb3V0ZVVybCA9IHBhcmVudFVybC5jb25jYXQocm91dGUudXJsLm1hcCh1cmwgPT4gdXJsLnBhdGgpKTtcbiAgICBjb25zdCBicmVhZGNydW1iID0gcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddO1xuICAgIGNvbnN0IHBhcmVudEJyZWFkY3J1bWIgPSByb3V0ZS5wYXJlbnQgJiYgcm91dGUucGFyZW50LmRhdGEgPyByb3V0ZS5wYXJlbnQuZGF0YVsnYnJlYWRjcnVtYiddIDogbnVsbDtcblxuICAgIGlmIChicmVhZGNydW1iICYmIGJyZWFkY3J1bWIgIT09IHBhcmVudEJyZWFkY3J1bWIpIHtcbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICBsYWJlbDogcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddLFxuICAgICAgICB1cmw6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChyb3V0ZS5maXJzdENoaWxkKSB7XG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYi1jb250YWluZXJcIj5cbiAgPG5hdiBjbGFzcz1cImxheW91dC1icmVhZGNydW1iXCI+XG4gICAgICA8b2w+XG4gICAgICAgICAgPCEtLSA8bGk+PGkgY2xhc3M9XCJwaSBwaS1ob21lXCI+PC9pPjwvbGk+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIGxldC1sYXN0PVwibGFzdFwiIFtuZ0Zvck9mXT1cImJyZWFkY3J1bWJzJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgIDxsaT48aSBjbGFzcz1cInBpIHBpLWFuZ2xlLXJpZ2h0XCI+PC9pPjwvbGk+XG4gICAgICAgICAgICAgIDxsaT48c3Bhbj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgICAgICAgIDxwLWJyZWFkY3J1bWIgW21vZGVsXT1cIml0ZW1zXCIgW2hvbWVdPVwiaG9tZVwiIHN0eWxlQ2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYiBwbC00IHB5LTJcIj48L3AtYnJlYWRjcnVtYj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWItYnV0dG9ucyBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwci0zXCI+XG4gICAgICAgICAgICA8IS0tIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktcG93ZXItb2ZmXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC1idXR0b24tcGxhaW4gbXItMVwiPjwvYnV0dG9uPiAtLT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvb2w+XG4gIDwvbmF2PlxuICA8IS0tIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYi1idXR0b25zXCI+XG4gICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLWNsb3VkLXVwbG9hZFwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXBsYWluXCI+PC9idXR0b24+XG4gICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLWJvb2ttYXJrXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC1idXR0b24tcGxhaW5cIj48L2J1dHRvbj5cbiAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktcG93ZXItb2ZmXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC1idXR0b24tcGxhaW5cIj48L2J1dHRvbj5cbiAgPC9kaXY+IC0tPlxuPC9kaXY+XG4iXX0=
@@ -8,7 +8,6 @@ import { AppRightMenuComponent } from './app.rightmenu.component';
8
8
  import { AppBreadcrumbComponent } from './app.breadcrumb.component';
9
9
  import { FormsModule } from '@angular/forms';
10
10
  import { CommonModule } from '@angular/common';
11
- import { TabsMultiplesComponent } from "../core/componentes/tabs-multiples/tabs-multiples.component";
12
11
  import * as i0 from "@angular/core";
13
12
  import * as i1 from "./app.menu.service";
14
13
  import * as i2 from "./service/app.layout.service";
@@ -174,11 +173,11 @@ export class AppLayoutComponent {
174
173
  }
175
174
  }
176
175
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppLayoutComponent, deps: [{ token: i1.MenuService }, { token: i2.LayoutService }, { token: i0.Renderer2 }, { token: i3.Router }, { token: i0.ChangeDetectorRef }, { token: i4.AuthService }], target: i0.ɵɵFactoryTarget.Component });
177
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-tabs-multiples></app-tabs-multiples>\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: AppFooterComponent, selector: "app-footer" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppRightMenuComponent, selector: "app-rightmenu" }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabsMultiplesComponent, selector: "app-tabs-multiples" }] });
176
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: AppFooterComponent, selector: "app-footer" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppRightMenuComponent, selector: "app-rightmenu" }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
178
177
  }
179
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppLayoutComponent, decorators: [{
180
179
  type: Component,
181
- args: [{ selector: 'app-layout', standalone: true, imports: [RouterOutlet, RouterModule, AppFooterComponent, AppTopbarComponent, AppRightMenuComponent, AppSidebarComponent, AppBreadcrumbComponent, FormsModule, CommonModule, TabsMultiplesComponent], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-tabs-multiples></app-tabs-multiples>\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n" }]
180
+ args: [{ selector: 'app-layout', standalone: true, imports: [RouterOutlet, RouterModule, AppFooterComponent, AppTopbarComponent, AppRightMenuComponent, AppSidebarComponent, AppBreadcrumbComponent, FormsModule, CommonModule,], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n" }]
182
181
  }], ctorParameters: () => [{ type: i1.MenuService }, { type: i2.LayoutService }, { type: i0.Renderer2 }, { type: i3.Router }, { type: i0.ChangeDetectorRef }, { type: i4.AuthService }], propDecorators: { appSidebar: [{
183
182
  type: ViewChild,
184
183
  args: [AppSidebarComponent]
@@ -186,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
186
185
  type: ViewChild,
187
186
  args: [AppTopbarComponent]
188
187
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFVLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7Ozs7O0FBUXJHLE1BQU0sT0FBTyxrQkFBa0I7SUFzQlA7SUFBaUM7SUFBcUM7SUFBNEI7SUFBd0I7SUFBK0I7SUFwQjdLLDJCQUEyQixDQUFlO0lBRTFDLDBCQUEwQixDQUFlO0lBRXpDLDJCQUEyQixDQUFlO0lBRTFDLHdCQUF3QixDQUFNO0lBRTlCLGtCQUFrQixDQUFNO0lBRXhCLDhCQUE4QixDQUFNO0lBRXBDLCtCQUErQixDQUFNO0lBRUwsVUFBVSxDQUF1QjtJQUVsQyxTQUFTLENBQXNCO0lBRTlELFlBQVksR0FBWSxLQUFLLENBQUM7SUFFOUIsWUFBb0IsV0FBd0IsRUFBUyxhQUE0QixFQUFTLFFBQW1CLEVBQVMsTUFBYyxFQUFVLEVBQXFCLEVBQVUsV0FBd0I7UUFBakwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNqTSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtRQUNuRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzlFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzsyQkFDeEksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDM0ksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3BCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDbkksSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO3dCQUNqQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3BCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDOzJCQUN0SSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDdkosSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQzFCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDckYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN6SyxJQUFJLGdCQUFnQixFQUFFLENBQUM7d0JBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDM0IsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDbkUsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEQsQ0FBQzthQUNJLENBQUM7WUFDRixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQztRQUNqRCxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxDQUFDO2FBQ0ksQ0FBQztZQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTO2dCQUMxRSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxJQUFJLFVBQVUsR0FBeUI7WUFDbkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFDbEUsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQ2hFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTTtZQUM1RCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssV0FBVztZQUN0RSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssWUFBWTtZQUN4RSxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDaEUsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQ2hFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRO1lBQ25FLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUN0RCx3QkFBd0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssUUFBUTtZQUMvSCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDbkUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCO1lBQ3ZFLDJCQUEyQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtZQUN0RSw0QkFBNEIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDeEUsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYTtZQUMvRCx5QkFBeUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRO1NBQy9ELENBQUM7UUFFRixVQUFVLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzVFLFVBQVUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3hFLFVBQVUsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMxRixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO3VHQWpMUSxrQkFBa0I7MkZBQWxCLGtCQUFrQixrSEFnQmhCLG1CQUFtQiw0RUFFbkIsa0JBQWtCLGdEQ3ZDakMsMHVCQXFCQSw0Q0RIYyxZQUFZLDBKQUFFLFlBQVksK0JBQUUsa0JBQWtCLHVEQUFFLGtCQUFrQix1REFBRSxxQkFBcUIsMERBQUUsbUJBQW1CLHdEQUFFLHNCQUFzQiwwREFBRSxXQUFXLDhCQUFFLFlBQVksaU9BQUUsc0JBQXNCOzsyRkFHMUwsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLENBQUM7bU5BbUJwSyxVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFQyxTQUFTO3NCQUF2QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9hcHAubWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2FwcC5zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuL2FwcC50b3BiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYXBwLmxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLmZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwUmlnaHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hcHAucmlnaHRtZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAuYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFic011bHRpcGxlc0NvbXBvbmVudCB9IGZyb20gXCIuLi9jb3JlL2NvbXBvbmVudGVzL3RhYnMtbXVsdGlwbGVzL3RhYnMtbXVsdGlwbGVzLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1sYXlvdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JvdXRlck91dGxldCwgUm91dGVyTW9kdWxlLCBBcHBGb290ZXJDb21wb25lbnQsIEFwcFRvcGJhckNvbXBvbmVudCwgQXBwUmlnaHRNZW51Q29tcG9uZW50LCBBcHBTaWRlYmFyQ29tcG9uZW50LCBBcHBCcmVhZGNydW1iQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBUYWJzTXVsdGlwbGVzQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLmxheW91dC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIG92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgdG9wYmFyTWVudU9wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIG1lbnVQcm9maWxlT3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XG5cbiAgICBtZW51U2Nyb2xsTGlzdGVuZXI6IGFueTtcblxuICAgIHRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgbWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgQFZpZXdDaGlsZChBcHBTaWRlYmFyQ29tcG9uZW50KSBhcHBTaWRlYmFyITogQXBwU2lkZWJhckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoQXBwVG9wYmFyQ29tcG9uZW50KSBhcHBUb3BiYXIhOiBBcHBUb3BiYXJDb21wb25lbnQ7XG5cbiAgICBhdXRvU2VydmljaW86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLCBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuYXV0b1NlcnZpY2lvID0gKGF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykgPT0gJzEwJylcbiAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2Uub3ZlcmxheU9wZW4kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGVUb3BiYXJNZW51KCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICghdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEodGhpcy5hcHBTaWRlYmFyLmVsLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgdGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpICYmICF0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5hcHBTaWRlYmFyLm1lbnVDb250YWluZXIubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudG9wYmFyTWVudU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2UudG9wYmFyTWVudU9wZW4kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3BiYXJNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwVG9wYmFyLmVsLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwVG9wYmFyLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgdGhpcy5hcHBUb3BiYXIubW9iaWxlTWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFRvcGJhci5tb2JpbGVNZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc091dHNpZGVDbGlja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVUb3BiYXJNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tZW51UHJvZmlsZU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2UubWVudVByb2ZpbGVPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEodGhpcy5hcHBTaWRlYmFyLm1lbnVQcm9maWxlLmVsLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwU2lkZWJhci5tZW51UHJvZmlsZS5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVUb3BiYXJNZW51KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Jsb2NrZWQtc2Nyb2xsJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArPSAnIGJsb2NrZWQtc2Nyb2xsJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmxvY2tlZC1zY3JvbGwnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCcoXnxcXFxcYiknICtcbiAgICAgICAgICAgICAgICAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLCAnICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU1lbnUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5vdmVybGF5TWVudUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgaGlkZVRvcGJhck1lbnUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS50b3BiYXJNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy50b3BiYXJNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLnRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlTWVudVByb2ZpbGUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51UHJvZmlsZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51UHJvZmlsZU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICBsZXQgc3R5bGVDbGFzczoge1trZXk6IHN0cmluZ106IGFueX0gPSB7XG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXknOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnb3ZlcmxheScsXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYyc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1zbGltJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3NsaW0nLFxuICAgICAgICAgICAgJ2xheW91dC1zbGltLXBsdXMnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnc2xpbS1wbHVzJyxcbiAgICAgICAgICAgICdsYXlvdXQtaG9yaXpvbnRhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdob3Jpem9udGFsJyxcbiAgICAgICAgICAgICdsYXlvdXQtcmV2ZWFsJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3JldmVhbCcsXG4gICAgICAgICAgICAnbGF5b3V0LWRyYXdlcic6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdkcmF3ZXInLFxuICAgICAgICAgICAgJ3AtaW5wdXQtZmlsbGVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5pbnB1dFN0eWxlID09PSAnZmlsbGVkJyxcbiAgICAgICAgICAgICdwLXJpcHBsZS1kaXNhYmxlZCc6ICF0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnJpcHBsZSxcbiAgICAgICAgICAgICdsYXlvdXQtc3RhdGljLWluYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmUgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1tb2JpbGUtYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUsXG4gICAgICAgICAgICAnbGF5b3V0LXRvcGJhci1tZW51LWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS50b3BiYXJNZW51QWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1tZW51LXByb2ZpbGUtYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVQcm9maWxlQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaWRlYmFyQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFuY2hvcmVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLmFuY2hvcmVkXG4gICAgICAgIH07XG5cbiAgICAgICAgc3R5bGVDbGFzc1snbGF5b3V0LXRvcGJhci0nICsgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy50b3BiYXJUaGVtZV0gPSB0cnVlO1xuICAgICAgICBzdHlsZUNsYXNzWydsYXlvdXQtbWVudS0nICsgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51VGhlbWVdID0gdHJ1ZTtcbiAgICAgICAgc3R5bGVDbGFzc1snbGF5b3V0LW1lbnUtcHJvZmlsZS0nICsgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51UHJvZmlsZVBvc2l0aW9uXSA9IHRydWU7XG4gICAgICAgIHJldHVybiBzdHlsZUNsYXNzO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cblxuICA8YXBwLXRvcGJhciAqbmdJZj1cIiFhdXRvU2VydmljaW9cIj48L2FwcC10b3BiYXI+XG4gIDxhcHAtcmlnaHRtZW51ICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLXJpZ2h0bWVudT5cbiAgPGFwcC1zaWRlYmFyICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLXNpZGViYXI+XG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgIDxhcHAtdGFicy1tdWx0aXBsZXM+PC9hcHAtdGFicy1tdWx0aXBsZXM+XG4gICAgICA8YXBwLWJyZWFkY3J1bWIgKm5nSWY9XCIhYXV0b1NlcnZpY2lvXCI+PC9hcHAtYnJlYWRjcnVtYj5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50XCI+XG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZm9vdGVyICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLWZvb3Rlcj5cbiAgPC9kaXY+XG4gIDwhLS0gU2UgZXNjb25kZSBlbCBtb2R1bG8gZGUgY29uZmlndXJhY2lvbiAtLT5cbiAgPCEtLSA8YXBwLWNvbmZpZz48L2FwcC1jb25maWc+IC0tPlxuXG4gIDxkaXYgKm5nSWY9XCJsYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmVcIiBjbGFzcz1cImxheW91dC1tYXNrXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFVLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyxrQkFBa0I7SUFzQlA7SUFBaUM7SUFBcUM7SUFBNEI7SUFBd0I7SUFBK0I7SUFwQjdLLDJCQUEyQixDQUFlO0lBRTFDLDBCQUEwQixDQUFlO0lBRXpDLDJCQUEyQixDQUFlO0lBRTFDLHdCQUF3QixDQUFNO0lBRTlCLGtCQUFrQixDQUFNO0lBRXhCLDhCQUE4QixDQUFNO0lBRXBDLCtCQUErQixDQUFNO0lBRUwsVUFBVSxDQUF1QjtJQUVsQyxTQUFTLENB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RSxxQkFBcUIsMERBQUUsbUJBQW1CLHdEQUFFLHNCQUFzQiwwREFBRSxXQUFXLDhCQUFFLFlBQVk7OzJGQUdsSyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRTttTkFtQjdJLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVDLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuL2FwcC5tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLnNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcFRvcGJhckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLnRvcGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAuZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBSaWdodE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2FwcC5yaWdodG1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2FwcC5icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWxheW91dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0LCBSb3V0ZXJNb2R1bGUsIEFwcEZvb3RlckNvbXBvbmVudCwgQXBwVG9wYmFyQ29tcG9uZW50LCBBcHBSaWdodE1lbnVDb21wb25lbnQsIEFwcFNpZGViYXJDb21wb25lbnQsIEFwcEJyZWFkY3J1bWJDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLmxheW91dC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIG92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgdG9wYmFyTWVudU9wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIG1lbnVQcm9maWxlT3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XG5cbiAgICBtZW51U2Nyb2xsTGlzdGVuZXI6IGFueTtcblxuICAgIHRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgbWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgQFZpZXdDaGlsZChBcHBTaWRlYmFyQ29tcG9uZW50KSBhcHBTaWRlYmFyITogQXBwU2lkZWJhckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoQXBwVG9wYmFyQ29tcG9uZW50KSBhcHBUb3BiYXIhOiBBcHBUb3BiYXJDb21wb25lbnQ7XG5cbiAgICBhdXRvU2VydmljaW86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLCBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuYXV0b1NlcnZpY2lvID0gKGF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykgPT0gJzEwJylcbiAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm92ZXJsYXlPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9wYmFyTWVudSgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFNpZGViYXIuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoKHRoaXMubGF5b3V0U2VydmljZS5pc0hvcml6b250YWwoKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCl8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSAmJiAhdGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuYXBwU2lkZWJhci5tZW51Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNEZXNrdG9wKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRvcGJhck1lbnVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLnRvcGJhck1lbnVPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVDbGlja2VkID0gISh0aGlzLmFwcFRvcGJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFRvcGJhci5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuYXBwVG9wYmFyLm1vYmlsZU1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgdGhpcy5hcHBUb3BiYXIubW9iaWxlTWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVG9wYmFyTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubWVudVByb2ZpbGVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm1lbnVQcm9maWxlT3BlbiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwU2lkZWJhci5tZW51UHJvZmlsZS5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFNpZGViYXIubWVudVByb2ZpbGUuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnVQcm9maWxlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZW51KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlVG9wYmFyTWVudSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnVQcm9maWxlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBibG9ja0JvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibG9ja2VkLXNjcm9sbCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgKz0gJyBibG9ja2VkLXNjcm9sbCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2Jsb2NrZWQtc2Nyb2xsJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArXG4gICAgICAgICAgICAgICAgJ2Jsb2NrZWQtc2Nyb2xsJy5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSwgJyAnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVNZW51KCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUub3ZlcmxheU1lbnVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bmJsb2NrQm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIGhpZGVUb3BiYXJNZW51KCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudG9wYmFyTWVudUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy50b3BiYXJNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU1lbnVQcm9maWxlKCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudVByb2ZpbGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5tZW51UHJvZmlsZU91dHNpZGVDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgbGV0IHN0eWxlQ2xhc3M6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge1xuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxuICAgICAgICAgICAgJ2xheW91dC1zdGF0aWMnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnc3RhdGljJyxcbiAgICAgICAgICAgICdsYXlvdXQtc2xpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdzbGltJyxcbiAgICAgICAgICAgICdsYXlvdXQtc2xpbS1wbHVzJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3NsaW0tcGx1cycsXG4gICAgICAgICAgICAnbGF5b3V0LWhvcml6b250YWwnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICAnbGF5b3V0LXJldmVhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdyZXZlYWwnLFxuICAgICAgICAgICAgJ2xheW91dC1kcmF3ZXInOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnZHJhd2VyJyxcbiAgICAgICAgICAgICdwLWlucHV0LWZpbGxlZCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuaW5wdXRTdHlsZSA9PT0gJ2ZpbGxlZCcsXG4gICAgICAgICAgICAncC1yaXBwbGUtZGlzYWJsZWQnOiAhdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5yaXBwbGUsXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5vdmVybGF5TWVudUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC10b3BiYXItbWVudS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudG9wYmFyTWVudUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtbWVudS1wcm9maWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51UHJvZmlsZUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtc2lkZWJhci1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2lkZWJhckFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtc2lkZWJhci1hbmNob3JlZCc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5hbmNob3JlZFxuICAgICAgICB9O1xuXG4gICAgICAgIHN0eWxlQ2xhc3NbJ2xheW91dC10b3BiYXItJyArIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudG9wYmFyVGhlbWVdID0gdHJ1ZTtcbiAgICAgICAgc3R5bGVDbGFzc1snbGF5b3V0LW1lbnUtJyArIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudVRoZW1lXSA9IHRydWU7XG4gICAgICAgIHN0eWxlQ2xhc3NbJ2xheW91dC1tZW51LXByb2ZpbGUtJyArIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudVByb2ZpbGVQb3NpdGlvbl0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gc3R5bGVDbGFzcztcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCI+XG5cbiAgPGFwcC10b3BiYXIgKm5nSWY9XCIhYXV0b1NlcnZpY2lvXCI+PC9hcHAtdG9wYmFyPlxuICA8YXBwLXJpZ2h0bWVudSAqbmdJZj1cIiFhdXRvU2VydmljaW9cIj48L2FwcC1yaWdodG1lbnU+XG4gIDxhcHAtc2lkZWJhciAqbmdJZj1cIiFhdXRvU2VydmljaW9cIj48L2FwcC1zaWRlYmFyPlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudC13cmFwcGVyXCI+XG4gICAgICA8YXBwLWJyZWFkY3J1bWIgKm5nSWY9XCIhYXV0b1NlcnZpY2lvXCI+PC9hcHAtYnJlYWRjcnVtYj5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50XCI+XG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZm9vdGVyICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLWZvb3Rlcj5cbiAgPC9kaXY+XG4gIDwhLS0gU2UgZXNjb25kZSBlbCBtb2R1bG8gZGUgY29uZmlndXJhY2lvbiAtLT5cbiAgPCEtLSA8YXBwLWNvbmZpZz48L2FwcC1jb25maWc+IC0tPlxuXG4gIDxkaXYgKm5nSWY9XCJsYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmVcIiBjbGFzcz1cImxheW91dC1tYXNrXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
48
48
  type: Component,
49
49
  args: [{ selector: 'app-menu', imports: [CommonModule, AppMenuitemComponent], standalone: true, template: "<ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of model; let i = index;\">\n <li app-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n</ul>" }]
50
50
  }], ctorParameters: () => [{ type: i1.MenuService }, { type: i2.UtilsService }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBUWhFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPUDtJQUFrQztJQU50RCxXQUFXLENBQWU7SUFDMUIsS0FBSyxDQUFZO0lBRWpCOztPQUVHO0lBQ0gsWUFBb0IsV0FBd0IsRUFBVSxZQUEwQjtRQUE1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hGLENBQUM7SUFFQyxRQUFRO1FBQ04sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLHFCQUFxQjtvQkFDbkUsT0FBTyxFQUFFLElBQUk7b0JBQ2IsS0FBSyxFQUFFLEVBQUU7aUJBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVM7b0JBQ3ZELE9BQU8sRUFBRSxJQUFJO29CQUNiLEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBaENRLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLG9FQ2Y3QixzU0FLSywyQ0RNUyxZQUFZLGdRQUFFLG9CQUFvQjs7MkZBSW5DLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxVQUFVLFdBQ1gsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsY0FDakMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXBwTWVudWl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FwcC5tZW51aXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcHBNZW51aXRlbUNvbXBvbmVudF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBtb2RlbDogTWVudUl0ZW1bXVxuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHtcbiAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgICB0aGlzLm1vZGVsID0gW3tcbiAgICAgICAgICBsYWJlbDogXCJJbmljaW9cIixcbiAgICAgICAgICBpY29uOiBcInBpIHBpLWhvbWVcIixcbiAgICAgICAgICByb3V0ZXJMaW5rOiB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgXCIvYWRtb25Qb3J0YWwvaW5pY2lvXCIsXG4gICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICBpdGVtczogW10sXG4gICAgICAgIH1dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IFt7XG4gICAgICAgICAgbGFiZWw6IFwiSW5pY2lvXCIsXG4gICAgICAgICAgaWNvbjogXCJwaSBwaS1ob21lXCIsXG4gICAgICAgICAgcm91dGVyTGluazogdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArIFwiL2luaWNpb1wiLFxuICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICB9XTtcbiAgICAgIH0gICAgICBcbiAgICAgICAgdGhpcy5zdWJjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UubWVudS5zdWJzY3JpYmUoKG1lbnUpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGVsWzBdLmxhYmVsID0gbWVudS5sYWJlbDtcbiAgICAgICAgICB0aGlzLm1vZGVsWzBdLml0ZW1zID0gbWVudS5pdGVtcztcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWw7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgIDxsaSBhcHAtbWVudWl0ZW0gKm5nSWY9XCIhaXRlbS5zZXBhcmF0b3JcIiBbaXRlbV09XCJpdGVtXCIgW2luZGV4XT1cImlcIiBbcm9vdF09XCJ0cnVlXCI+PC9saT5cbiAgICAgICAgPGxpICpuZ0lmPVwiaXRlbS5zZXBhcmF0b3JcIiBjbGFzcz1cIm1lbnUtc2VwYXJhdG9yXCI+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdWw+Il19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBUWhFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPUDtJQUFrQztJQU50RCxXQUFXLENBQWU7SUFDMUIsS0FBSyxDQUFZO0lBRWpCOztPQUVHO0lBQ0gsWUFBb0IsV0FBd0IsRUFBVSxZQUEwQjtRQUE1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hGLENBQUM7SUFFQyxRQUFRO1FBQ04sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLHFCQUFxQjtvQkFDbkUsT0FBTyxFQUFFLElBQUk7b0JBQ2IsS0FBSyxFQUFFLEVBQUU7aUJBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVM7b0JBQ3ZELE9BQU8sRUFBRSxJQUFJO29CQUNiLEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBakNRLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLG9FQ2Y3QixzU0FLSywyQ0RNUyxZQUFZLGdRQUFFLG9CQUFvQjs7MkZBSW5DLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxVQUFVLFdBQ1gsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsY0FDakMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXBwTWVudWl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FwcC5tZW51aXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcHBNZW51aXRlbUNvbXBvbmVudF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBtb2RlbDogTWVudUl0ZW1bXVxuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHtcbiAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgICB0aGlzLm1vZGVsID0gW3tcbiAgICAgICAgICBsYWJlbDogXCJJbmljaW9cIixcbiAgICAgICAgICBpY29uOiBcInBpIHBpLWhvbWVcIixcbiAgICAgICAgICByb3V0ZXJMaW5rOiB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgXCIvYWRtb25Qb3J0YWwvaW5pY2lvXCIsXG4gICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICBpdGVtczogW10sXG4gICAgICAgIH1dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IFt7XG4gICAgICAgICAgbGFiZWw6IFwiSW5pY2lvXCIsXG4gICAgICAgICAgaWNvbjogXCJwaSBwaS1ob21lXCIsXG4gICAgICAgICAgcm91dGVyTGluazogdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArIFwiL2luaWNpb1wiLFxuICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgICB0aGlzLnN1YmNyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5tZW51LnN1YnNjcmliZSgobWVudSkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kZWxbMF0ubGFiZWwgPSBtZW51LmxhYmVsO1xuICAgICAgICAgIHRoaXMubW9kZWxbMF0uaXRlbXMgPSBtZW51Lml0ZW1zO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbiIsIjx1bCBjbGFzcz1cImxheW91dC1tZW51XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb2RlbDsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgPGxpIGFwcC1tZW51aXRlbSAqbmdJZj1cIiFpdGVtLnNlcGFyYXRvclwiIFtpdGVtXT1cIml0ZW1cIiBbaW5kZXhdPVwiaVwiIFtyb290XT1cInRydWVcIj48L2xpPlxuICAgICAgICA8bGkgKm5nSWY9XCJpdGVtLnNlcGFyYXRvclwiIGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj48L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC91bD4iXX0=