@manticore-labs/nest 0.0.117 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/.idea/workspace.xml +71 -33
  2. package/README.md +1 -0
  3. package/build/main/index.d.ts +21 -0
  4. package/build/main/index.js +84 -29
  5. package/build/main/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +11 -4
  6. package/build/main/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +11 -4
  7. package/build/main/lib/auth0/auth0.controller.js +51 -13
  8. package/build/main/lib/auth0/auth0.service.d.ts +8 -4
  9. package/build/main/lib/auth0/auth0.service.js +30 -4
  10. package/build/main/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +11 -4
  11. package/build/main/lib/auth0/seguridad-jwt-moviles/check-jwt.js +2 -1
  12. package/build/main/lib/auth0/seguridad-jwt-moviles/tiene-token-valido-seguridad-web.js +2 -1
  13. package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  14. package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.js +39 -0
  15. package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  16. package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.js +3 -0
  17. package/build/main/lib/decoradores/mlab-swagger/constantes.d.ts +6 -0
  18. package/build/main/lib/decoradores/mlab-swagger/constantes.js +24 -0
  19. package/build/main/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.d.ts +5 -0
  20. package/build/main/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.js +20 -0
  21. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-helpers.d.ts +8 -0
  22. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-helpers.js +40 -0
  23. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.d.ts +13 -0
  24. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.js +89 -0
  25. package/build/main/lib/decoradores/mlab-swagger/interfaces.d.ts +71 -0
  26. package/build/main/lib/decoradores/mlab-swagger/interfaces.js +3 -0
  27. package/build/main/lib/decoradores/mlab-swagger/mlab-swagger.d.ts +2 -0
  28. package/build/main/lib/decoradores/mlab-swagger/mlab-swagger.js +49 -0
  29. package/build/main/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.d.ts +2 -0
  30. package/build/main/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.js +14 -0
  31. package/build/main/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.d.ts +2 -0
  32. package/build/main/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.js +26 -0
  33. package/build/main/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.d.ts +14 -0
  34. package/build/main/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.js +3 -0
  35. package/build/main/lib/expresiones-regulares/letras-espacios-tildes-enie.js +2 -1
  36. package/build/main/lib/funciones-util/buscar-registro.js +3 -2
  37. package/build/main/lib/funciones-util/buscar-un-registro-por-id.js +2 -1
  38. package/build/main/lib/funciones-util/buscar-where-or.js +2 -1
  39. package/build/main/lib/funciones-util/contar-registros.js +2 -1
  40. package/build/main/lib/funciones-util/crear-un-registro.js +2 -1
  41. package/build/main/lib/funciones-util/editar-un-registro.js +2 -1
  42. package/build/main/lib/funciones-util/eliminar-uno.js +2 -1
  43. package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +3 -2
  44. package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.js +2 -1
  45. package/build/main/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +2 -1
  46. package/build/main/lib/funciones-util/funciones-busqueda/verificar-campo.js +2 -1
  47. package/build/main/lib/funciones-util/funciones-edicion-varias-tablas/editar-campos.js +2 -1
  48. package/build/main/lib/funciones-util/funciones-edicion-varias-tablas/editar-varias-tablas.js +2 -1
  49. package/build/main/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +2 -1
  50. package/build/main/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +8 -2
  51. package/build/main/lib/google-cloud/google-cloud-storage.service.js +7 -2
  52. package/build/main/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  53. package/build/main/lib/google-cloud/google-cloud-vision-api/constants.js +5 -0
  54. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  55. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +55 -0
  56. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  57. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +9 -0
  58. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  59. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +29 -0
  60. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  61. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +91 -0
  62. package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  63. package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +3 -0
  64. package/build/main/lib/interfaces-util/campos-a-buscar.js +2 -1
  65. package/build/main/lib/menu/entities/menu-entity.js +31 -12
  66. package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  67. package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.js +71 -0
  68. package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  69. package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.js +154 -0
  70. package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  71. package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.js +30 -0
  72. package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  73. package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.js +114 -0
  74. package/build/main/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  75. package/build/main/lib/modulos-configuracion/base-datos/constantes.js +6 -0
  76. package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  77. package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +22 -0
  78. package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  79. package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +13 -0
  80. package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  81. package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +11 -0
  82. package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  83. package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +34 -0
  84. package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  85. package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +3 -0
  86. package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  87. package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +3 -0
  88. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  89. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +3 -0
  90. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  91. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +3 -0
  92. package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  93. package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +3 -0
  94. package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  95. package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +3 -0
  96. package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  97. package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +14 -0
  98. package/build/main/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  99. package/build/main/lib/mongo-configuracion-indice.interface.js +3 -0
  100. package/build/main/lib/one-signal/one-signal.controller.js +35 -9
  101. package/build/main/lib/one-signal/one-signal.service.js +7 -2
  102. package/build/main/lib/politicas/revisar-si-tiene-nombre-permiso.js +2 -1
  103. package/build/main/lib/politicas/revisar-si-tiene-rol.js +2 -1
  104. package/build/main/lib/principal-mongo.controller.d.ts +11 -0
  105. package/build/main/lib/principal-mongo.controller.js +82 -0
  106. package/build/main/lib/principal-mongo.service.d.ts +10 -0
  107. package/build/main/lib/principal-mongo.service.js +45 -0
  108. package/build/main/lib/principal.controller.d.ts +13 -11
  109. package/build/main/lib/principal.controller.js +33 -8
  110. package/build/main/lib/principal.dto.js +11 -4
  111. package/build/main/lib/principal.entity.js +19 -6
  112. package/build/main/lib/principal.find-many-options.js +25 -11
  113. package/build/main/lib/principal.find-many-where-or.js +13 -5
  114. package/build/main/lib/principal.gateway.js +37 -9
  115. package/build/main/lib/principal.http.service.d.ts +13 -0
  116. package/build/main/lib/principal.http.service.js +26 -0
  117. package/build/main/lib/principal.id.js +7 -2
  118. package/build/main/lib/principal.resolver.js +33 -8
  119. package/build/main/lib/principal.service.d.ts +18 -7
  120. package/build/main/lib/principal.service.js +90 -4
  121. package/build/main/lib/seguridad/aplicar-politicas-de-seguridad.js +2 -1
  122. package/build/main/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +2 -1
  123. package/build/main/lib/seguridad/funciones/index.js +7 -6
  124. package/build/main/lib/seguridad/funciones/obtener-reflector-seguridad.js +2 -1
  125. package/build/main/lib/seguridad/funciones/obtener-request.js +2 -1
  126. package/build/main/lib/seguridad/funciones/obtener-response.js +2 -1
  127. package/build/main/lib/seguridad/funciones/tiene-acceso-permitido.js +2 -1
  128. package/build/main/lib/seguridad/seguridad.decorator.d.ts +1 -1
  129. package/build/main/lib/seguridad/seguridad.decorator.js +3 -2
  130. package/build/module/index.d.ts +21 -0
  131. package/build/module/index.js +49 -1
  132. package/build/module/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +10 -4
  133. package/build/module/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +10 -4
  134. package/build/module/lib/auth0/auth0.controller.js +50 -13
  135. package/build/module/lib/auth0/auth0.service.d.ts +8 -4
  136. package/build/module/lib/auth0/auth0.service.js +29 -4
  137. package/build/module/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +10 -4
  138. package/build/module/lib/auth0/seguridad-jwt-moviles/check-jwt.js +1 -1
  139. package/build/module/lib/auth0/seguridad-jwt-moviles/tiene-token-valido-seguridad-web.js +1 -1
  140. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  141. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.js +35 -0
  142. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  143. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.js +1 -0
  144. package/build/module/lib/decoradores/mlab-swagger/constantes.d.ts +6 -0
  145. package/build/module/lib/decoradores/mlab-swagger/constantes.js +21 -0
  146. package/build/module/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.d.ts +5 -0
  147. package/build/module/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.js +16 -0
  148. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-helpers.d.ts +8 -0
  149. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-helpers.js +48 -0
  150. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.d.ts +13 -0
  151. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.js +93 -0
  152. package/build/module/lib/decoradores/mlab-swagger/interfaces.d.ts +71 -0
  153. package/build/module/lib/decoradores/mlab-swagger/interfaces.js +1 -0
  154. package/build/module/lib/decoradores/mlab-swagger/mlab-swagger.d.ts +2 -0
  155. package/build/module/lib/decoradores/mlab-swagger/mlab-swagger.js +45 -0
  156. package/build/module/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.d.ts +2 -0
  157. package/build/module/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.js +10 -0
  158. package/build/module/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.d.ts +2 -0
  159. package/build/module/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.js +22 -0
  160. package/build/module/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.d.ts +14 -0
  161. package/build/module/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.js +1 -0
  162. package/build/module/lib/funciones-util/buscar-registro.js +1 -1
  163. package/build/module/lib/funciones-util/buscar-un-registro-por-id.js +1 -1
  164. package/build/module/lib/funciones-util/buscar-where-or.js +1 -1
  165. package/build/module/lib/funciones-util/contar-registros.js +1 -1
  166. package/build/module/lib/funciones-util/crear-un-registro.js +1 -1
  167. package/build/module/lib/funciones-util/editar-un-registro.js +1 -1
  168. package/build/module/lib/funciones-util/eliminar-uno.js +1 -1
  169. package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +1 -1
  170. package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.js +1 -1
  171. package/build/module/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +1 -1
  172. package/build/module/lib/funciones-util/funciones-busqueda/verificar-campo.js +1 -1
  173. package/build/module/lib/funciones-util/funciones-edicion-varias-tablas/editar-campos.js +1 -1
  174. package/build/module/lib/funciones-util/funciones-edicion-varias-tablas/editar-varias-tablas.js +1 -1
  175. package/build/module/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +1 -1
  176. package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +7 -2
  177. package/build/module/lib/google-cloud/google-cloud-storage.service.js +6 -2
  178. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  179. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.js +2 -0
  180. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  181. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +52 -0
  182. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  183. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +5 -0
  184. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  185. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +26 -0
  186. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  187. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +88 -0
  188. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  189. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +1 -0
  190. package/build/module/lib/interfaces-util/campos-a-buscar.js +1 -1
  191. package/build/module/lib/menu/entities/menu-entity.js +30 -12
  192. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  193. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.js +68 -0
  194. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  195. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.js +150 -0
  196. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  197. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.js +27 -0
  198. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  199. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.js +111 -0
  200. package/build/module/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  201. package/build/module/lib/modulos-configuracion/base-datos/constantes.js +3 -0
  202. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  203. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +18 -0
  204. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  205. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +9 -0
  206. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  207. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +7 -0
  208. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  209. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +30 -0
  210. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  211. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +1 -0
  212. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  213. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +1 -0
  214. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  215. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +1 -0
  216. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  217. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +1 -0
  218. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  219. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +1 -0
  220. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  221. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +1 -0
  222. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  223. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +10 -0
  224. package/build/module/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  225. package/build/module/lib/mongo-configuracion-indice.interface.js +1 -0
  226. package/build/module/lib/one-signal/one-signal.controller.js +34 -9
  227. package/build/module/lib/one-signal/one-signal.service.js +7 -3
  228. package/build/module/lib/politicas/revisar-si-tiene-nombre-permiso.js +1 -1
  229. package/build/module/lib/politicas/revisar-si-tiene-rol.js +1 -1
  230. package/build/module/lib/principal-mongo.controller.d.ts +11 -0
  231. package/build/module/lib/principal-mongo.controller.js +78 -0
  232. package/build/module/lib/principal-mongo.service.d.ts +10 -0
  233. package/build/module/lib/principal-mongo.service.js +41 -0
  234. package/build/module/lib/principal.controller.d.ts +13 -11
  235. package/build/module/lib/principal.controller.js +32 -8
  236. package/build/module/lib/principal.dto.js +10 -4
  237. package/build/module/lib/principal.entity.js +18 -6
  238. package/build/module/lib/principal.find-many-options.js +24 -11
  239. package/build/module/lib/principal.find-many-where-or.js +12 -5
  240. package/build/module/lib/principal.gateway.js +37 -10
  241. package/build/module/lib/principal.http.service.d.ts +13 -0
  242. package/build/module/lib/principal.http.service.js +22 -0
  243. package/build/module/lib/principal.id.js +6 -2
  244. package/build/module/lib/principal.resolver.js +32 -8
  245. package/build/module/lib/principal.service.d.ts +18 -7
  246. package/build/module/lib/principal.service.js +89 -4
  247. package/build/module/lib/seguridad/aplicar-politicas-de-seguridad.js +1 -1
  248. package/build/module/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +1 -1
  249. package/build/module/lib/seguridad/funciones/obtener-reflector-seguridad.js +1 -1
  250. package/build/module/lib/seguridad/funciones/obtener-request.js +1 -1
  251. package/build/module/lib/seguridad/funciones/obtener-response.js +1 -1
  252. package/build/module/lib/seguridad/funciones/tiene-acceso-permitido.js +1 -1
  253. package/build/module/lib/seguridad/seguridad.decorator.d.ts +1 -1
  254. package/build/module/lib/seguridad/seguridad.decorator.js +3 -3
  255. package/package.json +18 -10
@@ -5,10 +5,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
9
12
  return function (target, key) { decorator(target, key, paramIndex); }
10
13
  };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PrincipalAuth0Controller = void 0;
12
16
  const actualizar_usuario_cuenta_dto_1 = require("./actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto");
13
17
  const common_1 = require("@nestjs/common");
14
18
  const class_validator_1 = require("class-validator");
@@ -470,12 +474,18 @@ let PrincipalAuth0Controller = class PrincipalAuth0Controller {
470
474
  __decorate([
471
475
  common_1.HttpCode(200),
472
476
  common_1.Post('refreshToken'),
473
- __param(0, common_1.Body('refreshToken'))
477
+ __param(0, common_1.Body('refreshToken')),
478
+ __metadata("design:type", Function),
479
+ __metadata("design:paramtypes", [Object]),
480
+ __metadata("design:returntype", void 0)
474
481
  ], PrincipalAuth0Controller.prototype, "refreshToken", null);
475
482
  __decorate([
476
483
  common_1.HttpCode(200),
477
484
  common_1.Post('revokeToken'),
478
- __param(0, common_1.Body('refreshToken'))
485
+ __param(0, common_1.Body('refreshToken')),
486
+ __metadata("design:type", Function),
487
+ __metadata("design:paramtypes", [Object]),
488
+ __metadata("design:returntype", void 0)
479
489
  ], PrincipalAuth0Controller.prototype, "revokeToken", null);
480
490
  __decorate([
481
491
  common_1.HttpCode(200),
@@ -484,7 +494,10 @@ __decorate([
484
494
  __param(1, common_1.Body('name')),
485
495
  __param(2, common_1.Body('user_id')),
486
496
  __param(3, common_1.Request()),
487
- __param(4, common_1.Response())
497
+ __param(4, common_1.Response()),
498
+ __metadata("design:type", Function),
499
+ __metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
500
+ __metadata("design:returntype", Promise)
488
501
  ], PrincipalAuth0Controller.prototype, "actualizarUsuarioPorPrimeraVez", null);
489
502
  __decorate([
490
503
  common_1.HttpCode(200),
@@ -493,14 +506,20 @@ __decorate([
493
506
  __param(1, common_1.Body('name')),
494
507
  __param(2, common_1.Body('user_id')),
495
508
  __param(3, common_1.Request()),
496
- __param(4, common_1.Response())
509
+ __param(4, common_1.Response()),
510
+ __metadata("design:type", Function),
511
+ __metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
512
+ __metadata("design:returntype", Promise)
497
513
  ], PrincipalAuth0Controller.prototype, "actualizarCuenta", null);
498
514
  __decorate([
499
515
  common_1.HttpCode(200),
500
516
  common_1.Get(''),
501
517
  __param(0, common_1.Query('criterioBusqueda')),
502
518
  __param(1, common_1.Request()),
503
- __param(2, common_1.Response())
519
+ __param(2, common_1.Response()),
520
+ __metadata("design:type", Function),
521
+ __metadata("design:paramtypes", [String, Object, Object]),
522
+ __metadata("design:returntype", Promise)
504
523
  ], PrincipalAuth0Controller.prototype, "findAll", null);
505
524
  __decorate([
506
525
  common_1.HttpCode(200),
@@ -508,39 +527,58 @@ __decorate([
508
527
  __param(0, common_1.Body('datosAuth0')),
509
528
  __param(1, common_1.Body('datosUsuario')),
510
529
  __param(2, common_1.Request()),
511
- __param(3, common_1.Response())
530
+ __param(3, common_1.Response()),
531
+ __metadata("design:type", Function),
532
+ __metadata("design:paramtypes", [crear_usuario_dto_1.CrearUsuarioDto, Object, Object, Object]),
533
+ __metadata("design:returntype", Promise)
512
534
  ], PrincipalAuth0Controller.prototype, "createOne", null);
513
535
  __decorate([
514
536
  common_1.Get('findWhereOrDatosUsuario'),
515
537
  __param(0, common_1.Query('criterioBusqueda')),
516
538
  __param(1, common_1.Request()),
517
- __param(2, common_1.Response())
539
+ __param(2, common_1.Response()),
540
+ __metadata("design:type", Function),
541
+ __metadata("design:paramtypes", [String, Object, Object]),
542
+ __metadata("design:returntype", void 0)
518
543
  ], PrincipalAuth0Controller.prototype, "findWhereOr", null);
519
544
  __decorate([
520
545
  common_1.Get('findAllDatosUsuario'),
521
546
  __param(0, common_1.Query('criterioBusqueda')),
522
547
  __param(1, common_1.Request()),
523
- __param(2, common_1.Response())
548
+ __param(2, common_1.Response()),
549
+ __metadata("design:type", Function),
550
+ __metadata("design:paramtypes", [Object, Object, Object]),
551
+ __metadata("design:returntype", void 0)
524
552
  ], PrincipalAuth0Controller.prototype, "findAllDatosUsuario", null);
525
553
  __decorate([
526
554
  common_1.HttpCode(200),
527
555
  common_1.Get(':id'),
528
556
  __param(0, common_1.Param('id')),
529
557
  __param(1, common_1.Request()),
530
- __param(2, common_1.Response())
558
+ __param(2, common_1.Response()),
559
+ __metadata("design:type", Function),
560
+ __metadata("design:paramtypes", [Object, Object, Object]),
561
+ __metadata("design:returntype", Promise)
531
562
  ], PrincipalAuth0Controller.prototype, "findOneById", null);
532
563
  __decorate([
533
564
  common_1.Post('login'),
534
565
  __param(0, common_1.Body('username')),
535
- __param(1, common_1.Body('password'))
566
+ __param(1, common_1.Body('password')),
567
+ __metadata("design:type", Function),
568
+ __metadata("design:paramtypes", [Object, Object]),
569
+ __metadata("design:returntype", void 0)
536
570
  ], PrincipalAuth0Controller.prototype, "login", null);
537
571
  __decorate([
538
572
  common_1.Post('requestChangePasswordByEmail'),
539
573
  __param(0, common_1.Body('email')),
540
- __param(1, common_1.Body('connection'))
574
+ __param(1, common_1.Body('connection')),
575
+ __metadata("design:type", Function),
576
+ __metadata("design:paramtypes", [Object, Object]),
577
+ __metadata("design:returntype", void 0)
541
578
  ], PrincipalAuth0Controller.prototype, "requestChangePasswordByEmail", null);
542
579
  PrincipalAuth0Controller = __decorate([
543
- common_1.Controller('auth0')
580
+ common_1.Controller('auth0'),
581
+ __metadata("design:paramtypes", [Object, Object, Object, Boolean, Number, Number, Object])
544
582
  ], PrincipalAuth0Controller);
545
583
  exports.PrincipalAuth0Controller = PrincipalAuth0Controller;
546
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLGlIQUEyRztBQUMzRywyQ0FPd0I7QUFDeEIscURBQTJDO0FBQzNDLDRGQUF1RjtBQU12RixnR0FBMEY7QUFDMUYsOENBQTBDO0FBQzFDLCtCQUFnQztBQUNoQyw2RUFBd0U7QUFPeEUsSUFBc0Isd0JBQXdCLEdBQTlDO0lBQ0UsWUFDbUIsbUJBQTRDLEVBQzVDLGFBQTBDLEVBQzFDLFlBQXNDO1FBQ3JELHFCQUFxQixFQUFFLDBDQUEwQztRQUNqRSx3QkFBd0IsRUFBRSxxQkFBcUI7UUFDL0MsK0JBQStCLEVBQUUsK0RBQStEO0tBQ2pHLEVBQ2dCLFFBQWlCLElBQUksRUFDckIsT0FBZSxDQUFDLEVBQ2hCLE9BQWUsRUFBRSxFQUN4QixRQUFhO1FBVk4sd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQUM1QyxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7UUFDMUMsY0FBUyxHQUFULFNBQVMsQ0FJekI7UUFDZ0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQUs7SUFDekIsQ0FBQztJQUtELFlBQVksQ0FDWSxZQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUlELFdBQVcsQ0FDYSxZQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUtELEtBQUssQ0FBQyw4QkFBOEIsQ0FBZ0IsS0FBSyxFQUNOLElBQUksRUFDRCxPQUFPLEVBQ2IsT0FB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
584
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpSEFBMkc7QUFDM0csMkNBT3dCO0FBQ3hCLHFEQUEyQztBQUMzQyw0RkFBdUY7QUFNdkYsZ0dBQTBGO0FBQzFGLDhDQUEwQztBQUMxQywrQkFBZ0M7QUFDaEMsNkVBQXdFO0FBT3hFLElBQXNCLHdCQUF3QixHQUE5QyxNQUFzQix3QkFBd0I7SUFDNUMsWUFDbUIsbUJBQTRDLEVBQzVDLGFBQTBDLEVBQzFDLFlBQXNDO1FBQ3JELHFCQUFxQixFQUFFLDBDQUEwQztRQUNqRSx3QkFBd0IsRUFBRSxxQkFBcUI7UUFDL0MsK0JBQStCLEVBQUUsK0RBQStEO0tBQ2pHLEVBQ2dCLFFBQWlCLElBQUksRUFDckIsT0FBZSxDQUFDLEVBQ2hCLE9BQWUsRUFBRSxFQUN4QixRQUFhO1FBVk4sd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQUM1QyxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7UUFDMUMsY0FBUyxHQUFULFNBQVMsQ0FJekI7UUFDZ0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQUs7SUFDekIsQ0FBQztJQUtELFlBQVksQ0FDWSxZQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUlELFdBQVcsQ0FDYSxZQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUtELEtBQUssQ0FBQyw4QkFBOEIsQ0FBZ0IsS0FBSyxFQUNOLElBQUks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
@@ -1,5 +1,5 @@
1
- import { ObjectID, FindManyOptions } from 'typeorm';
2
- import { UserData } from 'auth0';
1
+ import { FindManyOptions, ObjectID } from 'typeorm';
2
+ import { AuthenticationClient, UpdateUserData, UserData } from 'auth0';
3
3
  import { ErrorServicioInterface } from '../principal.service';
4
4
  import { CamposABuscarInterface } from '../interfaces-util/campos-a-buscar';
5
5
  import { Auth0Config } from './interfaces/auth0-config';
@@ -12,12 +12,12 @@ export declare abstract class PrincipalAuth0Service {
12
12
  private readonly sort;
13
13
  private readonly debug;
14
14
  managementClient: any;
15
- authenticationClient: any;
15
+ authenticationClient: AuthenticationClient;
16
16
  constructor(AUTH0_CONFIG: Auth0Config, _datosUsuarioService?: any, datosUsuarioDto?: any, AUTH0_CONFIG_PASSWORD?: any, search_engine?: string, sort?: string, debug?: boolean);
17
17
  findOne(id?: string | number | Date | ObjectID): Promise<UsuarioEntity | ErrorServicioInterface>;
18
18
  create(registro: UsuarioEntity): Promise<UserData | ErrorServicioInterface>;
19
19
  find(criterioBusqueda?: FindManyOptions<UsuarioEntity>): Promise<UsuarioEntity[] | ErrorServicioInterface>;
20
- findBy(arregloCamposABuscar: string[], busqueda: string): Promise<{}>;
20
+ findBy(arregloCamposABuscar: string[], busqueda: string): Promise<unknown>;
21
21
  findOneByIdAndUpdate(id: string | number | Date | ObjectID, datosAActualizar: UsuarioEntity): Promise<UsuarioEntity | ErrorServicioInterface>;
22
22
  sendEmailVerification(id: string): Promise<{
23
23
  mensaje: string;
@@ -43,6 +43,10 @@ export declare abstract class PrincipalAuth0Service {
43
43
  findAll(criterioBusqueda: FindManyOptions<any>, skip: number, take: number): Promise<[UsuarioEntity[], number] | ErrorServicioInterface>;
44
44
  login(username: string, password: string): Promise<RespuestaLoginPassword | ErrorServicioInterface>;
45
45
  requestChangePasswordByEmail(email: string, connection?: string): Promise<ErrorServicioInterface>;
46
+ restablecerCorreo(id: any, correo: string): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
47
+ bloquearUsuario(id: any): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
48
+ updateOne(id: any, datos: UpdateUserData): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
49
+ reenviarCorreo(id: string): Promise<import("auth0").VerificationEmailJob>;
46
50
  }
47
51
  export interface UsuarioEntity extends UserData {
48
52
  user_metadata?: any;
@@ -5,17 +5,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
13
  };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PrincipalAuth0Service = void 0;
12
16
  const common_1 = require("@nestjs/common");
13
17
  const auth0_1 = require("auth0");
14
18
  const buscar_registro_1 = require("../funciones-util/buscar-registro");
15
19
  const principal_find_many_options_1 = require("../principal.find-many-options");
16
20
  const axios_1 = __importDefault(require("axios"));
17
21
  const axios = axios_1.default;
18
- const ManagementClient = require('auth0').ManagementClient;
19
22
  let PrincipalAuth0Service = class PrincipalAuth0Service {
20
23
  constructor(AUTH0_CONFIG, _datosUsuarioService, datosUsuarioDto, AUTH0_CONFIG_PASSWORD, search_engine = 'v3', sort = 'created_at:-1', debug = true) {
21
24
  this.AUTH0_CONFIG = AUTH0_CONFIG;
@@ -25,7 +28,7 @@ let PrincipalAuth0Service = class PrincipalAuth0Service {
25
28
  this.search_engine = search_engine;
26
29
  this.sort = sort;
27
30
  this.debug = debug;
28
- this.managementClient = new ManagementClient({
31
+ this.managementClient = new auth0_1.ManagementClient({
29
32
  domain: `${this.AUTH0_CONFIG.CUENTA}.auth0.com`,
30
33
  clientId: `${this.AUTH0_CONFIG.CLIENT_ID}`,
31
34
  clientSecret: `${this.AUTH0_CONFIG.SECRET}`,
@@ -595,9 +598,32 @@ let PrincipalAuth0Service = class PrincipalAuth0Service {
595
598
  });
596
599
  });
597
600
  }
601
+ async restablecerCorreo(id, correo) {
602
+ const cliente = this.managementClient;
603
+ const datos = {
604
+ email: correo
605
+ };
606
+ return await cliente.updateUser({ id }, datos);
607
+ }
608
+ async bloquearUsuario(id) {
609
+ const cliente = this.managementClient;
610
+ const datos = {
611
+ blocked: true
612
+ };
613
+ return await cliente.updateUser({ id }, datos);
614
+ }
615
+ async updateOne(id, datos) {
616
+ const cliente = this.managementClient;
617
+ return await cliente.updateUser({ id }, datos);
618
+ }
619
+ async reenviarCorreo(id) {
620
+ const cliente = this.managementClient;
621
+ return await cliente.sendEmailVerification({ user_id: id });
622
+ }
598
623
  };
599
624
  PrincipalAuth0Service = __decorate([
600
- common_1.Injectable()
625
+ common_1.Injectable(),
626
+ __metadata("design:paramtypes", [Object, Object, Object, Object, String, String, Boolean])
601
627
  ], PrincipalAuth0Service);
602
628
  exports.PrincipalAuth0Service = PrincipalAuth0Service;
603
629
  function obtenerPrimerOrder(order) {
@@ -640,4 +666,4 @@ function elaborarUserMetadataAActualizar(user_metadata, user_metadataAActualizar
640
666
  });
641
667
  return user_metadataClonado;
642
668
  }
643
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLDJDQUE0QztBQUU1QyxpQ0FBdUQ7QUFHdkQsdUVBQTBFO0FBQzFFLGdGQUEwRTtBQUMxRSxrREFBeUI7QUFHekIsTUFBTSxLQUFLLEdBQVEsZUFBSSxDQUFDO0FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0FBRzNELElBQXNCLHFCQUFxQixHQUEzQztJQUlFLFlBQTZCLFlBQXlCLEVBQzFCLG9CQUEwQixFQUMxQixlQUFxQixFQUNwQixxQkFBMkIsRUFDM0IsZ0JBQXdCLElBQUksRUFDNUIsT0FBZSxlQUFlLEVBQzlCLFFBQWlCLElBQUk7UUFOckIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFNO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFNO1FBQ3BCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBTTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUEwQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUMzQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWTtZQUMvQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUMxQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLEVBQUUsMkRBQTJEO1NBQ25FLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLDRCQUFvQixDQUFDO1lBQ25ELE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxNQUFNLFlBQVk7WUFDMUMsUUFBUSxFQUFFLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRTtTQUN0QyxDQUFDLENBQUM7SUFFTCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFzQztRQUVsRCxJQUFJLEVBQUUsRUFBRTtZQUNOLE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxNQUFNLFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCO3FCQUNsQixLQUFLO3FCQUNMLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLEVBQUUsaUJBQTJCLEVBQUUsRUFBRTtvQkFDbkQsSUFBSSxHQUFHLEVBQUU7d0JBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFOzRCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3lCQUMvQjt3QkFDRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7d0JBQ2hCLElBQUksT0FBTyxHQUFHLHdCQUF3QixDQUFDO3dCQUN2QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFOzRCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzs0QkFDdkIsT0FBTyxHQUFHLG1CQUFtQixDQUFDO3lCQUMvQjt3QkFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztxQkFFN0I7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7cUJBQzVCO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBRVAsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEY7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUF1QjtRQUNsQyxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQixLQUFLO2lCQUNMLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksR0FBRyxFQUFFO29CQUNQLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDL0I7b0JBQ0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO29CQUNoQixJQUFJLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztvQkFDdEMsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztxQkFDbkM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztxQkFDOUI7b0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDeEI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWlEO1FBQzFELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25DLElBQUksTUFBTSxDQUFDO1lBQ1gsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7aUJBQy9DO2dCQUNELE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLEdBQUc7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM1RCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtvQkFDakMsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLElBQUk7aUJBQ0wsQ0FBQztnQkFDRixJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtvQkFDMUIsTUFBTSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7aUJBQ25DO2dCQUNELElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO29CQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN4RTthQUNGO2lCQUFNO2dCQUNMLE1BQU0sR0FBRztvQkFDUCxRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEVBQUUsQ0FBQztvQkFDUCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7b0JBQ2pDLGNBQWMsRUFBRSxJQUFJO29CQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7aUJBQ2hCLENBQUM7YUFDSDtZQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNyQztZQUVELElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLEtBQUs7aUJBQ0wsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxpQkFBc0IsRUFBRSxFQUFFO2dCQUMzQyxJQUFJLEdBQUcsRUFBRTtvQkFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7d0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQy9CO29CQUNELElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQztvQkFDaEIsSUFBSSxPQUFPLEdBQUcseUJBQXlCLENBQUM7b0JBQ3hDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUU7d0JBQzFCLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO3dCQUN2QixPQUFPLEdBQUcscUJBQXFCLENBQUM7cUJBQ2pDO29CQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUU3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUk7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxvQkFBOEIsRUFBRSxRQUFnQjtRQUMzRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxNQUFNLEdBQUc7Z0JBQ1gsQ0FBQyxFQUFFLEVBQUU7YUFDTixDQUFDO1lBQ0YsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2Ysb0JBQW9CO2lCQUNqQixPQUFPLENBQ04sQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDUixJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7b0JBQ2hCLEtBQUssR0FBRyxHQUFHLEtBQUssS0FBSyxRQUFRLEdBQUcsQ0FBQztpQkFDbEM7cUJBQU07b0JBQ0wsS0FBSyxHQUFHLEtBQUssR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLEdBQUcsQ0FBQztpQkFDOUM7WUFDSCxDQUFDLENBQ0YsQ0FBQztZQUNKLE1BQU0sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLEtBQUs7aUJBQ0wsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBd0IsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLEdBQUcsRUFBRTtvQkFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7d0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQy9CO29CQUNELElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQztvQkFDaEIsSUFBSSxPQUFPLEdBQUcseUJBQXlCLENBQUM7b0JBQ3hDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUU7d0JBQzFCLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO3dCQUN2QixPQUFPLEdBQUcscUJBQXFCLENBQUM7cUJBQ2pDO29CQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFxQyxFQUNyQyxnQkFBK0I7UUFDeEQsTUFBTSxPQUFPLEdBQVEsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUVuQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLE9BQU8sQ0FBQyxDQUFDO2lCQUNyRDtnQkFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEI7WUFFRCxJQUFJLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtnQkFDbEMsZ0JBQWdCLENBQUMsYUFBYSxHQUFHLCtCQUErQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDekg7WUFFRCxJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQixLQUFLO2lCQUNMLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixFQUFFLEVBQUU7Z0JBQzdELElBQUksR0FBRyxFQUFFO29CQUNQLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDL0I7b0JBQ0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO29CQUNoQixJQUFJLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQztvQkFDM0MsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztxQkFDOUI7b0JBQ0QsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztxQkFDbkM7b0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBRTdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBVTtRQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGdCQUFnQjtpQkFDbEIscUJBQXFCLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxFQUFFO2FBQ1osQ0FBQztpQkFDRCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2dCQUNELE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUNGO2lCQUNBLEtBQUssQ0FDSixDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FDRixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFlBQW9CO1FBQy9CLE9BQU8sSUFBSSxPQUFPLENBQ2hCLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxPQUFPLEdBQUcsV0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWSxDQUFDO1lBQ2hFLE1BQU0sZ0NBQWdDLEdBQUc7Z0JBQ3ZDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxPQUFPLEdBQUcsY0FBYztnQkFDN0IsSUFBSSxFQUFFO29CQUNKLFVBQVUsRUFBRSxlQUFlO29CQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUI7b0JBQ3BELGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQjtvQkFDckQsYUFBYSxFQUFFLFlBQVk7aUJBQzVCO2FBQ0YsQ0FBQztZQUNGLElBQUk7Z0JBQ0YsTUFBTSxjQUFjLEdBQUcsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztnQkFDckUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ1osS0FBSztvQkFDTCxPQUFPLEVBQUUsZ0NBQWdDO2lCQUMxQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxDQUFDO29CQUNMLEtBQUssRUFBRSxHQUFHO29CQUNWLE9BQU8sRUFBRSxvQkFBb0I7aUJBQzlCLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLFlBQW9CO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQ2hCLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxPQUFPLEdBQUcsV0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWSxDQUFDO1lBQ2hFLE1BQU0sZ0NBQWdDLEdBQUc7Z0JBQ3ZDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxPQUFPLEdBQUcsZUFBZTtnQkFDOUIsSUFBSSxFQUFFO29CQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QjtvQkFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CO29CQUNyRCxLQUFLLEVBQUUsWUFBWTtpQkFDcEI7YUFDRixDQUFDO1lBQ0YsSUFBSTtnQkFDRixNQUFNLGNBQWMsR0FBRyxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlCO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDWixLQUFLO29CQUNMLE9BQU8sRUFBRSxnQ0FBZ0M7aUJBQzFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLENBQUM7b0JBQ0wsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsT0FBTyxFQUFFLG9CQUFvQjtpQkFDOUIsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYSxFQUFFLFVBQVUsR0FBRyxrQ0FBa0M7UUFDM0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxvQkFBb0I7aUJBQ3RCLDBCQUEwQixDQUFDO2dCQUMxQixLQUFLO2dCQUNMLFVBQVU7YUFDWCxDQUFDO2lCQUNELElBQUksQ0FDSCxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNKLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDaEM7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQ0Y7aUJBQ0EsS0FBSyxDQUNKLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUMvQjtnQkFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7WUFDOUQsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBK0I7UUFDcEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLEtBQUs7aUJBQ0wsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksR0FBRyxFQUFFO29CQUNQLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDL0I7b0JBQ0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO29CQUNoQixJQUFJLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQztvQkFDdkMsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztxQkFDOUI7b0JBQ0QsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztxQkFDbkM7b0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUMxRDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFnQztRQUMvQyxPQUFPLElBQUksT0FBTyxDQUNoQixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1YsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sZ0JBQWdCLEdBQVEsRUFBRSxDQUFDO1lBRWpDLE9BQU8sU0FBUyxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO2dCQUNuQyxNQUFNLGVBQWUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELFVBQVUsQ0FDUixHQUFHLEVBQUU7b0JBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt5QkFDM0MsSUFBSSxDQUNILENBQUMsY0FBbUIsRUFBRSxFQUFFO3dCQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7NEJBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLENBQUMsQ0FBQzs0QkFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzt5QkFDckQ7d0JBQ0QsSUFBSSxjQUFjLENBQUMsS0FBSyxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTs0QkFDaEUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dDQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQzs2QkFDbkY7NEJBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7aUNBQzNFLElBQUksQ0FDSCxDQUFDLE9BQU8sRUFBRSxFQUFFO2dDQUNWLGlCQUFpQixFQUFFLENBQUM7Z0NBQ3BCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQ0FDbEMsSUFBSSxpQkFBaUIsS0FBSyxlQUFlLENBQUMsTUFBTSxFQUFFO29DQUNoRCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQ0FDM0I7NEJBQ0gsQ0FBQyxDQUNGO2lDQUNBLEtBQUssQ0FDSixDQUFDLENBQUMsRUFBRSxFQUFFO2dDQUNKLGlCQUFpQixFQUFFLENBQUM7Z0NBQ3BCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQ0FDekIsSUFBSSxpQkFBaUIsS0FBSyxlQUFlLENBQUMsTUFBTSxFQUFFO29DQUNoRCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQ0FDM0I7NEJBQ0gsQ0FBQyxDQUNGLENBQUM7eUJBQ0w7NkJBQU07NEJBQ0wsaUJBQWlCLEVBQUUsQ0FBQzs0QkFDcEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDOzRCQUN0QyxJQUFJLGlCQUFpQixLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0NBQ2hELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDOzZCQUMzQjt5QkFDRjtvQkFFSCxDQUFDLENBQ0Y7eUJBQ0EsS0FBSyxDQUNKLENBQUMsR0FBRyxFQUFFLEVBQUU7d0JBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFOzRCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUM7eUJBQ3ZDO3dCQUNELGlCQUFpQixFQUFFLENBQUM7d0JBQ3BCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDM0IsSUFBSSxpQkFBaUIsS0FBSyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDcEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7eUJBQzNCO29CQUNILENBQUMsQ0FDRixDQUFDO2dCQUNOLENBQUMsRUFBRSxlQUFlLENBQ25CLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLENBQUM7YUFDYjtRQUNILENBQUMsQ0FDRixDQUFDO0lBR0osQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBdUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFO1FBQzVFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQzthQUMzQztZQUNELE1BQU0sbUJBQW1CLEdBQTBCLE1BQU0sSUFBSSxDQUFDLG9CQUFvQjtpQkFDL0UsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUVsQixNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3RELElBQUksV0FBVyxFQUFFO2dCQUNmLG1CQUFtQixDQUFDLENBQUMsQ0FBQztxQkFDbkIsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7b0JBQ3hCLElBQUksUUFBUSxLQUFLLEVBQUUsRUFBRTt3QkFDbkIsUUFBUSxHQUFHLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO3FCQUM1Qzt5QkFBTTt3QkFDTCxRQUFRLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO3FCQUNyRDtnQkFFSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDbEQ7Z0JBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNoQyxLQUFLLEVBQUUsUUFBUTtpQkFDaEIsQ0FBMkIsQ0FBQztnQkFDN0IsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFO29CQUNuQixNQUFNLEtBQUssR0FBRyxTQUFtQyxDQUFDO29CQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDdkQ7cUJBQU07b0JBQ0wsSUFBSSxhQUFhLEdBQUcsU0FBNEIsQ0FBQztvQkFDakQsYUFBYSxHQUFHLGFBQWE7eUJBQzFCLEdBQUcsQ0FDRixDQUFDLFlBQVksRUFBRSxFQUFFO3dCQUNmLFlBQVksQ0FBQyxPQUFPLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOzZCQUMxQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTs0QkFDaEIsT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUM7d0JBQ2xELENBQUMsQ0FBQyxDQUFDO3dCQUNMLE9BQU8sWUFBWSxDQUFDO29CQUN0QixDQUFDLENBQ0YsQ0FBQztvQkFDSixPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDOUM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2lCQUM1QztnQkFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsQ0FBQzthQUNqRTtTQUNGO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO2FBQ3pHO1lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLENBQUM7U0FDN0U7SUFDSCxDQUFDO0lBR0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBc0MsRUFBRSxJQUFZLEVBQUUsSUFBWTtRQUM5RSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQzthQUM5QztZQUNELE1BQU0sbUJBQW1CLEdBQTBCLE1BQU0sdUNBQXFCLENBQzVFLGdCQUFnQixFQUNoQixzREFBd0IsRUFDeEIsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxDQUNWLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBRWxCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDdEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO3FCQUNuQixPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDeEIsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO3dCQUNuQixRQUFRLEdBQUcsUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7cUJBQzVDO3lCQUFNO3dCQUNMLFFBQVEsR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7cUJBQ3JEO2dCQUVILENBQUMsQ0FBQyxDQUFDO2dCQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNsRDtnQkFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ2hDLEtBQUssRUFBRSxRQUFRO2lCQUNoQixDQUEyQixDQUFDO2dCQUM3QixJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUU7b0JBQ25CLE1BQU0sS0FBSyxHQUFHLFNBQW1DLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUN2RDtxQkFBTTtvQkFDTCxJQUFJLGFBQWEsR0FBRyxTQUE0QixDQUFDO29CQUNqRCxhQUFhLEdBQUcsYUFBYTt5QkFDMUIsR0FBRyxDQUNGLENBQUMsWUFBWSxFQUFFLEVBQUU7d0JBQ2YsWUFBWSxDQUFDLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NkJBQzFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFOzRCQUNoQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQzt3QkFDbEQsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsT0FBTyxZQUFZLENBQUM7b0JBQ3RCLENBQUMsQ0FDRixDQUFDO29CQUNKLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUM5QzthQUNGO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7aUJBQzVDO2dCQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxDQUFDO2FBQ2pFO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHlGQUF5RixDQUFDLENBQUM7YUFDekc7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsQ0FBQztTQUM3RTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUN0QyxPQUFPLElBQUksT0FBTyxDQUNoQixLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBRWpCLElBQUk7Z0JBQ0YsTUFBTSxPQUFPLEdBQUcsV0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWSxDQUFDO2dCQUNoRSxNQUFNLFVBQVUsR0FBRywyREFBMkQsQ0FBQztnQkFFL0UsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUM7d0JBQ1YsT0FBTyxFQUFFLFVBQVU7d0JBQ25CLEtBQUssRUFBRTs0QkFDTCxPQUFPO3lCQUNSO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxNQUFNLHlCQUF5QixHQUFHO29CQUNoQyxNQUFNLEVBQUUsTUFBTTtvQkFDZCxHQUFHLEVBQUUsT0FBTyxHQUFHLGNBQWM7b0JBQzdCLElBQUksRUFBRTt3QkFDSixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsVUFBVSxFQUFFLFVBQVU7d0JBQ3RCLFVBQVUsRUFBRSxrQ0FBa0M7d0JBQzlDLEtBQUssRUFBRSxrQ0FBa0M7d0JBQ3pDLEtBQUssRUFBRSxVQUFVO3dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7d0JBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYTtxQkFDeEQ7aUJBQ0YsQ0FBQztnQkFDRixNQUFNLGNBQWMsR0FBRyxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2dCQUU5RCxNQUFNLHFCQUFxQixHQUFHO29CQUM1QixNQUFNLEVBQUUsS0FBSztvQkFDYixHQUFHLEVBQUUsT0FBTyxHQUFHLFdBQVc7b0JBQzFCLE9BQU8sRUFBRTt3QkFDUCxlQUFlLEVBQUUsU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWTt3QkFDN0QsY0FBYyxFQUFFLGtCQUFrQjtxQkFDbkM7aUJBQ0YsQ0FBQztnQkFDRixNQUFNLGdCQUFnQixHQUFHLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVELEdBQUcsQ0FBQztvQkFDRixPQUFPLG9CQUNGLGdCQUFnQixDQUFDLElBQUksQ0FDekI7b0JBQ0QsS0FBSyxvQkFDQSxjQUFjLENBQUMsSUFBSSxDQUN2QjtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUdELDRCQUE0QixDQUMxQixLQUFhLEVBQ2IsYUFBcUIsa0NBQWtDO1FBRXZELE9BQU8sSUFBSSxPQUFPLENBQ2hCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsS0FBSztnQkFDTCxVQUFVO2FBQ1gsQ0FBQztZQUNGLElBQUksQ0FBQyxvQkFBb0I7aUJBQ3RCLDBCQUEwQixDQUN6QixJQUFJLEVBQ0osQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixJQUFJLEdBQUcsRUFBRTtvQkFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQixHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQzVEO2dCQUNELEdBQUcsQ0FBQztvQkFDRixPQUFPLEVBQUUsaUdBQWlHO2lCQUMzRyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNULENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUVGLENBQUE7QUE5b0JxQixxQkFBcUI7SUFEMUMsbUJBQVUsRUFBRTtHQUNTLHFCQUFxQixDQThvQjFDO0FBOW9CcUIsc0RBQXFCO0FBK3FCM0MsNEJBQTRCLEtBQVU7SUFDcEMsSUFBSSxLQUFLLEVBQUU7UUFDVCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sR0FBRyxXQUFXLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ2xFO1NBQU07UUFDTCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtBQUNILENBQUM7QUFFRCx1Q0FBdUMsTUFBVztJQUNoRCxJQUFJLE1BQU0sRUFBRTtRQUNWLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLENBQUMsT0FBTyxDQUNaLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDZCxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sR0FBRyxXQUFXLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO2FBQ3JDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQztLQUNmO1NBQU07UUFDTCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtBQUVILENBQUM7QUFFRCx5Q0FBeUMsYUFBYSxFQUFFLHdCQUF3QjtJQUM5RSxJQUFJLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztJQUM5QixJQUFJO1FBQ0Ysb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDbEU7SUFBQyxPQUFPLENBQUMsRUFBRTtLQUNYO0lBQ0QsTUFBTTtTQUNILElBQUksQ0FBQyx3QkFBd0IsQ0FBQztTQUM5QixPQUFPLENBQ04sQ0FBQyxlQUFlLEVBQUUsRUFBRTtRQUNsQixvQkFBb0IsQ0FBQyxlQUFlLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRixDQUFDLENBQ0YsQ0FBQztJQUNKLE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQyJ9
669
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBMEM7QUFFMUMsaUNBQXVGO0FBR3ZGLHVFQUF3RTtBQUN4RSxnRkFBd0U7QUFDeEUsa0RBQXlCO0FBR3pCLE1BQU0sS0FBSyxHQUFRLGVBQUksQ0FBQztBQUd4QixJQUFzQixxQkFBcUIsR0FBM0MsTUFBc0IscUJBQXFCO0lBSXZDLFlBQTZCLFlBQXlCLEVBQzFCLG9CQUEwQixFQUMxQixlQUFxQixFQUNwQixxQkFBMkIsRUFDM0IsZ0JBQXdCLElBQUksRUFDNUIsT0FBZSxlQUFlLEVBQzlCLFFBQWlCLElBQUk7UUFOckIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFNO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFNO1FBQ3BCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBTTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUEwQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx3QkFBZ0IsQ0FBQztZQUN6QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWTtZQUMvQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUMxQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLEVBQUUsMkRBQTJEO1NBQ3JFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLDRCQUFvQixDQUFDO1lBQ2pELE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxN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
@@ -5,22 +5,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CrearUsuarioDto = void 0;
9
13
  const class_validator_1 = require("class-validator");
10
14
  class CrearUsuarioDto {
11
15
  }
12
16
  __decorate([
13
17
  class_validator_1.IsNotEmpty(),
14
- class_validator_1.IsString()
18
+ class_validator_1.IsString(),
19
+ __metadata("design:type", String)
15
20
  ], CrearUsuarioDto.prototype, "name", void 0);
16
21
  __decorate([
17
22
  class_validator_1.IsNotEmpty(),
18
- class_validator_1.IsString()
23
+ class_validator_1.IsString(),
24
+ __metadata("design:type", String)
19
25
  ], CrearUsuarioDto.prototype, "username", void 0);
20
26
  __decorate([
21
27
  class_validator_1.IsNotEmpty(),
22
28
  class_validator_1.IsString(),
23
- class_validator_1.IsEmail()
29
+ class_validator_1.IsEmail(),
30
+ __metadata("design:type", String)
24
31
  ], CrearUsuarioDto.prototype, "email", void 0);
25
32
  exports.CrearUsuarioDto = CrearUsuarioDto;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXItdXN1YXJpby1kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dGgwL2NyZWFyLXVzdWFyaW8tZHRvL2NyZWFyLXVzdWFyaW8tZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEscURBQWdFO0FBRWhFO0NBY0M7QUFWQztJQUZDLDRCQUFVLEVBQUU7SUFDWiwwQkFBUSxFQUFFOzZDQUNFO0FBSWI7SUFGQyw0QkFBVSxFQUFFO0lBQ1osMEJBQVEsRUFBRTtpREFDTTtBQUtqQjtJQUhDLDRCQUFVLEVBQUU7SUFDWiwwQkFBUSxFQUFFO0lBQ1YseUJBQU8sRUFBRTs4Q0FDSTtBQWJoQiwwQ0FjQyJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXItdXN1YXJpby1kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dGgwL2NyZWFyLXVzdWFyaW8tZHRvL2NyZWFyLXVzdWFyaW8tZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFnRTtBQUVoRSxNQUFhLGVBQWU7Q0FjM0I7QUFWQztJQUZDLDRCQUFVLEVBQUU7SUFDWiwwQkFBUSxFQUFFOzs2Q0FDRTtBQUliO0lBRkMsNEJBQVUsRUFBRTtJQUNaLDBCQUFRLEVBQUU7O2lEQUNNO0FBS2pCO0lBSEMsNEJBQVUsRUFBRTtJQUNaLDBCQUFRLEVBQUU7SUFDVix5QkFBTyxFQUFFOzs4Q0FDSTtBQWJoQiwwQ0FjQyJ9
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkJwt = void 0;
3
4
  const jwt = require('express-jwt');
4
5
  function checkJwt(options) {
5
6
  return jwt(options);
6
7
  }
7
8
  exports.checkJwt = checkJwt;
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hdXRoMC9zZWd1cmlkYWQtand0LW1vdmlsZXMvY2hlY2stand0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRW5DLGtCQUF5QixPQUFnQjtJQUN2QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBRkQsNEJBRUMifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hdXRoMC9zZWd1cmlkYWQtand0LW1vdmlsZXMvY2hlY2stand0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUVuQyxTQUFnQixRQUFRLENBQUMsT0FBZ0I7SUFDdkMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUZELDRCQUVDIn0=
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tienetokenValidoSeguridadWeb = void 0;
3
4
  const check_jwt_1 = require("./check-jwt");
4
5
  function tienetokenValidoSeguridadWeb(opciones, web) {
5
6
  return new Promise((resolve) => {
@@ -19,4 +20,4 @@ function tienetokenValidoSeguridadWeb(opciones, web) {
19
20
  });
20
21
  }
21
22
  exports.tienetokenValidoSeguridadWeb = tienetokenValidoSeguridadWeb;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllbmUtdG9rZW4tdmFsaWRvLXNlZ3VyaWRhZC13ZWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dGgwL3NlZ3VyaWRhZC1qd3QtbW92aWxlcy90aWVuZS10b2tlbi12YWxpZG8tc2VndXJpZGFkLXdlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJDQUF1QztBQUV2QyxzQ0FDRSxRQUFRLEVBQ1IsR0FHQztJQUNELE9BQU8sSUFBSSxPQUFPLENBQ2hCLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDVixNQUFNLGFBQWEsR0FBRyxvQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsQ0FDWCxHQUFHLENBQUMsT0FBTyxFQUNYLEdBQUcsQ0FBQyxRQUFRLEVBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNkLElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU8sQ0FBQztvQkFDTixLQUFLLEVBQUUsV0FBVztpQkFDbkIsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDO29CQUNOLEtBQUssRUFBRSxLQUFLO2lCQUNiLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUM7QUF6QkQsb0VBeUJDIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllbmUtdG9rZW4tdmFsaWRvLXNlZ3VyaWRhZC13ZWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dGgwL3NlZ3VyaWRhZC1qd3QtbW92aWxlcy90aWVuZS10b2tlbi12YWxpZG8tc2VndXJpZGFkLXdlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFFdkMsU0FBZ0IsNEJBQTRCLENBQzFDLFFBQVEsRUFDUixHQUdDO0lBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNWLE1BQU0sYUFBYSxHQUFHLG9CQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsYUFBYSxDQUNYLEdBQUcsQ0FBQyxPQUFPLEVBQ1gsR0FBRyxDQUFDLFFBQVEsRUFDWixDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2QsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDO29CQUNOLEtBQUssRUFBRSxXQUFXO2lCQUNuQixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxPQUFPLENBQUM7b0JBQ04sS0FBSyxFQUFFLEtBQUs7aUJBQ2IsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQXpCRCxvRUF5QkMifQ==
@@ -0,0 +1,3 @@
1
+ import { ArgumentosValidacionTipos, ColeccionTipos } from './interfaces';
2
+ import { ValidationOptions } from 'class-validator';
3
+ export declare function EsTipo<Tipo = ColeccionTipos>(estrategiaDeValidacionTipos: ColeccionTipos, paraTodo?: boolean, argsDic?: ArgumentosValidacionTipos<Tipo>, opcionesValidacion?: ValidationOptions): (objecto: Object, nombrePropiedad: string) => void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EsTipo = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ function EsTipo(estrategiaDeValidacionTipos, paraTodo, argsDic, opcionesValidacion) {
6
+ const estrategiasValidacion = Object.keys(estrategiaDeValidacionTipos);
7
+ const tieneArgumentosDiccionario = !!(argsDic && Object.keys(argsDic).length > 0);
8
+ return function (objecto, nombrePropiedad) {
9
+ class_validator_1.registerDecorator({
10
+ name: 'incorrectType',
11
+ target: objecto.constructor,
12
+ propertyName: nombrePropiedad,
13
+ options: opcionesValidacion,
14
+ validator: {
15
+ validate(value) {
16
+ const validacionGeneralCB = (estrategia) => {
17
+ const parametros = tieneArgumentosDiccionario ? argsDic[estrategia] : undefined;
18
+ const callback = estrategiaDeValidacionTipos[estrategia];
19
+ return callback(value, parametros);
20
+ };
21
+ if (paraTodo) {
22
+ return estrategiasValidacion.every(validacionGeneralCB);
23
+ }
24
+ else {
25
+ return estrategiasValidacion.some(validacionGeneralCB);
26
+ }
27
+ },
28
+ defaultMessage() {
29
+ const ultimoTipo = estrategiasValidacion.pop();
30
+ if (estrategiasValidacion.length === 0)
31
+ return `El valor debe ser ${ultimoTipo}`;
32
+ return `Puede ser solo ${estrategiasValidacion.join(', ')} ${paraTodo ? 'y' : 'o'} ${ultimoTipo}.`;
33
+ }
34
+ }
35
+ });
36
+ };
37
+ }
38
+ exports.EsTipo = EsTipo;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNUaXBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9kdG8vdmFsaWRhZG9yZXMtb3ItYW5kL2VzVGlwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFFckUsU0FBZ0IsTUFBTSxDQUNsQiwyQkFBMkMsRUFDM0MsUUFBa0IsRUFDbEIsT0FBeUMsRUFDekMsa0JBQXNDO0lBRXRDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWxGLE9BQU8sVUFDSCxPQUFlLEVBQ2YsZUFBdUI7UUFFdkIsbUNBQWlCLENBQ2I7WUFDSSxJQUFJLEVBQUUsZUFBZTtZQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDM0IsWUFBWSxFQUFFLGVBQWU7WUFDN0IsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1AsUUFBUSxDQUFDLEtBQVU7b0JBQ2YsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRTt3QkFDL0MsTUFBTSxVQUFVLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUN6RixNQUFNLFFBQVEsR0FBdUIsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzdFLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFBO29CQUNELElBQUksUUFBUSxFQUFFO3dCQUNWLE9BQU8scUJBQXFCLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7cUJBQzFEO3lCQUFNO3dCQUNILE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQzFEO2dCQUNMLENBQUM7Z0JBQ0QsY0FBYztvQkFDVixNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDL0MsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFDbEMsT0FBTyxxQkFBcUIsVUFBVSxFQUFFLENBQUM7b0JBQzdDLE9BQU8sa0JBQWtCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFVBQVUsR0FBRyxDQUFDO2dCQUN2RyxDQUFDO2FBQ0o7U0FDSixDQUNKLENBQUM7SUFDTixDQUFDLENBQUE7QUFDTCxDQUFDO0FBMUNELHdCQTBDQyJ9
@@ -0,0 +1,12 @@
1
+ import { ValidationArguments } from 'class-validator';
2
+ export interface HasMap {
3
+ [key: string]: any;
4
+ }
5
+ export declare type ValidationFunction = (value: any, ...args: any[]) => boolean;
6
+ export interface ColeccionTipos {
7
+ [k: string]: ValidationFunction;
8
+ }
9
+ export declare type ValidadorTipo = Array<keyof ColeccionTipos>;
10
+ export declare type ArgumentosValidacionTipos<T = ColeccionTipos> = {
11
+ [k in keyof T]: HasMap | ValidationArguments;
12
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvZHRvL3ZhbGlkYWRvcmVzLW9yLWFuZC9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,6 @@
1
+ import { ApiBodyMetadata, MetodosApi } from './interfaces';
2
+ import { ApiHeaderOptions, ApiQueryOptions } from '@nestjs/swagger';
3
+ export declare const NOMBRE_METODOS_CRUD_API: MetodosApi;
4
+ export declare const BODY_METADATA_DEFECTO: ApiBodyMetadata;
5
+ export declare const OPCIONES_QUERY_POR_DEFECTO: ApiQueryOptions;
6
+ export declare const OPCIONES_HEADER_DEFECTO: Partial<ApiHeaderOptions>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OPCIONES_HEADER_DEFECTO = exports.OPCIONES_QUERY_POR_DEFECTO = exports.BODY_METADATA_DEFECTO = exports.NOMBRE_METODOS_CRUD_API = void 0;
4
+ exports.NOMBRE_METODOS_CRUD_API = {
5
+ create: 'create',
6
+ update: 'update',
7
+ delete: 'delete',
8
+ findOne: 'findOne',
9
+ findAll: 'findAll',
10
+ findFull: 'findFull',
11
+ find: 'find',
12
+ };
13
+ exports.BODY_METADATA_DEFECTO = {
14
+ type: String,
15
+ required: true,
16
+ };
17
+ exports.OPCIONES_QUERY_POR_DEFECTO = {
18
+ name: '',
19
+ required: true
20
+ };
21
+ exports.OPCIONES_HEADER_DEFECTO = {
22
+ name: '',
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2NvbnN0YW50ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR2EsUUFBQSx1QkFBdUIsR0FBZTtJQUNqRCxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUE7QUFFWSxRQUFBLHFCQUFxQixHQUFvQjtJQUNwRCxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVXLFFBQUEsMEJBQTBCLEdBQW9CO0lBQ3pELElBQUksRUFBRSxFQUFFO0lBQ1IsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBOEI7SUFDaEUsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDIn0=
@@ -0,0 +1,5 @@
1
+ import { EstrategiaHeaderOptions, EstrategiaResponseOptions, MetodoCrud, Prototype } from '../interfaces';
2
+ export declare class SwagerDelegator {
3
+ static delegateApiResponseCB(methodName: MetodoCrud, target: Prototype): EstrategiaResponseOptions;
4
+ static delegateApiHeaderCB(methodName: MetodoCrud, target: Prototype): EstrategiaHeaderOptions;
5
+ }