@managesome/knotr-toolkit 0.1.1 → 0.8.5

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 (300) hide show
  1. package/dist/backend/config.d.ts +43 -0
  2. package/dist/backend/config.d.ts.map +1 -0
  3. package/dist/backend/config.js +82 -0
  4. package/dist/backend/config.js.map +1 -0
  5. package/dist/backend/database.d.ts +28 -0
  6. package/dist/backend/database.d.ts.map +1 -0
  7. package/dist/backend/database.js +112 -0
  8. package/dist/backend/database.js.map +1 -0
  9. package/dist/backend/firebase.d.ts +68 -0
  10. package/dist/backend/firebase.d.ts.map +1 -0
  11. package/dist/backend/firebase.js +233 -0
  12. package/dist/backend/firebase.js.map +1 -0
  13. package/dist/backend/index.d.ts +8 -0
  14. package/dist/backend/index.d.ts.map +1 -0
  15. package/dist/backend/index.js +19 -0
  16. package/dist/backend/index.js.map +1 -0
  17. package/dist/backend/logger.d.ts +23 -0
  18. package/dist/backend/logger.d.ts.map +1 -0
  19. package/dist/backend/logger.js +107 -0
  20. package/dist/backend/logger.js.map +1 -0
  21. package/dist/backend/redis.d.ts +59 -0
  22. package/dist/backend/redis.d.ts.map +1 -0
  23. package/dist/backend/redis.js +169 -0
  24. package/dist/backend/redis.js.map +1 -0
  25. package/dist/backend/socket.d.ts +81 -0
  26. package/dist/backend/socket.d.ts.map +1 -0
  27. package/dist/backend/socket.js +132 -0
  28. package/dist/backend/socket.js.map +1 -0
  29. package/dist/backend/worker-queue.d.ts +40 -0
  30. package/dist/backend/worker-queue.d.ts.map +1 -0
  31. package/dist/backend/worker-queue.js +140 -0
  32. package/dist/backend/worker-queue.js.map +1 -0
  33. package/dist/client/api-client.d.ts +101 -0
  34. package/dist/client/api-client.d.ts.map +1 -0
  35. package/dist/client/api-client.js +261 -0
  36. package/dist/client/api-client.js.map +1 -0
  37. package/dist/client/api-error.d.ts +100 -0
  38. package/dist/client/api-error.d.ts.map +1 -0
  39. package/dist/client/api-error.js +111 -0
  40. package/dist/client/api-error.js.map +1 -0
  41. package/dist/client/endpoints.d.ts +510 -0
  42. package/dist/client/endpoints.d.ts.map +1 -0
  43. package/dist/client/endpoints.js +306 -0
  44. package/dist/client/endpoints.js.map +1 -0
  45. package/dist/client/index.d.ts +4 -0
  46. package/dist/client/index.d.ts.map +1 -0
  47. package/dist/client/index.js +7 -0
  48. package/dist/client/index.js.map +1 -0
  49. package/dist/constants/index.d.ts +2 -1
  50. package/dist/constants/index.d.ts.map +1 -1
  51. package/dist/constants/index.js +2 -1
  52. package/dist/constants/index.js.map +1 -1
  53. package/dist/constants/socket.d.ts +165 -0
  54. package/dist/constants/socket.d.ts.map +1 -0
  55. package/dist/constants/socket.js +204 -0
  56. package/dist/constants/socket.js.map +1 -0
  57. package/dist/helpers/ApiError.d.ts +74 -0
  58. package/dist/helpers/ApiError.d.ts.map +1 -0
  59. package/dist/helpers/ApiError.js +105 -0
  60. package/dist/helpers/ApiError.js.map +1 -0
  61. package/dist/helpers/asyncHandler.d.ts +42 -0
  62. package/dist/helpers/asyncHandler.d.ts.map +1 -0
  63. package/dist/helpers/asyncHandler.js +47 -0
  64. package/dist/helpers/asyncHandler.js.map +1 -0
  65. package/dist/helpers/id-generator.d.ts +98 -0
  66. package/dist/helpers/id-generator.d.ts.map +1 -0
  67. package/dist/helpers/id-generator.js +128 -0
  68. package/dist/helpers/id-generator.js.map +1 -0
  69. package/dist/helpers/index.d.ts +5 -0
  70. package/dist/helpers/index.d.ts.map +1 -0
  71. package/dist/helpers/index.js +8 -0
  72. package/dist/helpers/index.js.map +1 -0
  73. package/dist/helpers/response-timing.d.ts +91 -0
  74. package/dist/helpers/response-timing.d.ts.map +1 -0
  75. package/dist/helpers/response-timing.js +176 -0
  76. package/dist/helpers/response-timing.js.map +1 -0
  77. package/dist/index.d.ts +7 -3
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +21 -3
  80. package/dist/index.js.map +1 -1
  81. package/dist/schemas/account.schema.d.ts +4500 -0
  82. package/dist/schemas/account.schema.d.ts.map +1 -0
  83. package/dist/schemas/account.schema.js +123 -0
  84. package/dist/schemas/account.schema.js.map +1 -0
  85. package/dist/schemas/chat.schema.d.ts +4796 -0
  86. package/dist/schemas/chat.schema.d.ts.map +1 -0
  87. package/dist/schemas/chat.schema.js +107 -0
  88. package/dist/schemas/chat.schema.js.map +1 -0
  89. package/dist/schemas/collaboration-request.schema.d.ts +3960 -0
  90. package/dist/schemas/collaboration-request.schema.d.ts.map +1 -0
  91. package/dist/schemas/collaboration-request.schema.js +92 -0
  92. package/dist/schemas/collaboration-request.schema.js.map +1 -0
  93. package/dist/schemas/company-review.schema.d.ts +3465 -0
  94. package/dist/schemas/company-review.schema.d.ts.map +1 -0
  95. package/dist/schemas/company-review.schema.js +73 -0
  96. package/dist/schemas/company-review.schema.js.map +1 -0
  97. package/dist/schemas/company.schema.d.ts +6152 -0
  98. package/dist/schemas/company.schema.d.ts.map +1 -0
  99. package/dist/schemas/company.schema.js +192 -0
  100. package/dist/schemas/company.schema.js.map +1 -0
  101. package/dist/schemas/contract.schema.d.ts +5286 -0
  102. package/dist/schemas/contract.schema.d.ts.map +1 -0
  103. package/dist/schemas/contract.schema.js +115 -0
  104. package/dist/schemas/contract.schema.js.map +1 -0
  105. package/dist/schemas/dispute-evidence.schema.d.ts +3788 -0
  106. package/dist/schemas/dispute-evidence.schema.d.ts.map +1 -0
  107. package/dist/schemas/dispute-evidence.schema.js +71 -0
  108. package/dist/schemas/dispute-evidence.schema.js.map +1 -0
  109. package/dist/schemas/dispute.schema.d.ts +4970 -0
  110. package/dist/schemas/dispute.schema.d.ts.map +1 -0
  111. package/dist/schemas/dispute.schema.js +152 -0
  112. package/dist/schemas/dispute.schema.js.map +1 -0
  113. package/dist/schemas/donation.schema.d.ts +3594 -0
  114. package/dist/schemas/donation.schema.d.ts.map +1 -0
  115. package/dist/schemas/donation.schema.js +95 -0
  116. package/dist/schemas/donation.schema.js.map +1 -0
  117. package/dist/schemas/escrow.schema.d.ts +4322 -0
  118. package/dist/schemas/escrow.schema.d.ts.map +1 -0
  119. package/dist/schemas/escrow.schema.js +93 -0
  120. package/dist/schemas/escrow.schema.js.map +1 -0
  121. package/dist/schemas/flag.schema.d.ts +4375 -0
  122. package/dist/schemas/flag.schema.d.ts.map +1 -0
  123. package/dist/schemas/flag.schema.js +133 -0
  124. package/dist/schemas/flag.schema.js.map +1 -0
  125. package/dist/schemas/index.d.ts +33 -0
  126. package/dist/schemas/index.d.ts.map +1 -0
  127. package/dist/schemas/index.js +39 -0
  128. package/dist/schemas/index.js.map +1 -0
  129. package/dist/schemas/interest.schema.d.ts +3804 -0
  130. package/dist/schemas/interest.schema.d.ts.map +1 -0
  131. package/dist/schemas/interest.schema.js +107 -0
  132. package/dist/schemas/interest.schema.js.map +1 -0
  133. package/dist/schemas/match.schema.d.ts +4013 -0
  134. package/dist/schemas/match.schema.d.ts.map +1 -0
  135. package/dist/schemas/match.schema.js +118 -0
  136. package/dist/schemas/match.schema.js.map +1 -0
  137. package/dist/schemas/message.schema.d.ts +4213 -0
  138. package/dist/schemas/message.schema.d.ts.map +1 -0
  139. package/dist/schemas/message.schema.js +134 -0
  140. package/dist/schemas/message.schema.js.map +1 -0
  141. package/dist/schemas/milestone.schema.d.ts +4310 -0
  142. package/dist/schemas/milestone.schema.d.ts.map +1 -0
  143. package/dist/schemas/milestone.schema.js +99 -0
  144. package/dist/schemas/milestone.schema.js.map +1 -0
  145. package/dist/schemas/notification.schema.d.ts +4641 -0
  146. package/dist/schemas/notification.schema.d.ts.map +1 -0
  147. package/dist/schemas/notification.schema.js +139 -0
  148. package/dist/schemas/notification.schema.js.map +1 -0
  149. package/dist/schemas/profile.schema.d.ts +9589 -0
  150. package/dist/schemas/profile.schema.d.ts.map +1 -0
  151. package/dist/schemas/profile.schema.js +360 -0
  152. package/dist/schemas/profile.schema.js.map +1 -0
  153. package/dist/schemas/profit-share-agreement.schema.d.ts +3789 -0
  154. package/dist/schemas/profit-share-agreement.schema.d.ts.map +1 -0
  155. package/dist/schemas/profit-share-agreement.schema.js +76 -0
  156. package/dist/schemas/profit-share-agreement.schema.js.map +1 -0
  157. package/dist/schemas/profit-share.schema.d.ts +4051 -0
  158. package/dist/schemas/profit-share.schema.d.ts.map +1 -0
  159. package/dist/schemas/profit-share.schema.js +96 -0
  160. package/dist/schemas/profit-share.schema.js.map +1 -0
  161. package/dist/schemas/promo-code.schema.d.ts +3924 -0
  162. package/dist/schemas/promo-code.schema.d.ts.map +1 -0
  163. package/dist/schemas/promo-code.schema.js +112 -0
  164. package/dist/schemas/promo-code.schema.js.map +1 -0
  165. package/dist/schemas/proposal.schema.d.ts +5182 -0
  166. package/dist/schemas/proposal.schema.d.ts.map +1 -0
  167. package/dist/schemas/proposal.schema.js +114 -0
  168. package/dist/schemas/proposal.schema.js.map +1 -0
  169. package/dist/schemas/purchase.schema.d.ts +3724 -0
  170. package/dist/schemas/purchase.schema.d.ts.map +1 -0
  171. package/dist/schemas/purchase.schema.js +89 -0
  172. package/dist/schemas/purchase.schema.js.map +1 -0
  173. package/dist/schemas/requirement-post.schema.d.ts +6315 -0
  174. package/dist/schemas/requirement-post.schema.d.ts.map +1 -0
  175. package/dist/schemas/requirement-post.schema.js +153 -0
  176. package/dist/schemas/requirement-post.schema.js.map +1 -0
  177. package/dist/schemas/review.schema.d.ts +4512 -0
  178. package/dist/schemas/review.schema.d.ts.map +1 -0
  179. package/dist/schemas/review.schema.js +121 -0
  180. package/dist/schemas/review.schema.js.map +1 -0
  181. package/dist/schemas/service-listing.schema.d.ts +5152 -0
  182. package/dist/schemas/service-listing.schema.d.ts.map +1 -0
  183. package/dist/schemas/service-listing.schema.js +137 -0
  184. package/dist/schemas/service-listing.schema.js.map +1 -0
  185. package/dist/schemas/subscription.schema.d.ts +3985 -0
  186. package/dist/schemas/subscription.schema.d.ts.map +1 -0
  187. package/dist/schemas/subscription.schema.js +94 -0
  188. package/dist/schemas/subscription.schema.js.map +1 -0
  189. package/dist/schemas/tmc-application.schema.d.ts +4357 -0
  190. package/dist/schemas/tmc-application.schema.d.ts.map +1 -0
  191. package/dist/schemas/tmc-application.schema.js +96 -0
  192. package/dist/schemas/tmc-application.schema.js.map +1 -0
  193. package/dist/schemas/tmc-membership.schema.d.ts +3985 -0
  194. package/dist/schemas/tmc-membership.schema.d.ts.map +1 -0
  195. package/dist/schemas/tmc-membership.schema.js +84 -0
  196. package/dist/schemas/tmc-membership.schema.js.map +1 -0
  197. package/dist/schemas/trust-badge.schema.d.ts +3919 -0
  198. package/dist/schemas/trust-badge.schema.d.ts.map +1 -0
  199. package/dist/schemas/trust-badge.schema.js +83 -0
  200. package/dist/schemas/trust-badge.schema.js.map +1 -0
  201. package/dist/schemas/verification.schema.d.ts +4606 -0
  202. package/dist/schemas/verification.schema.d.ts.map +1 -0
  203. package/dist/schemas/verification.schema.js +114 -0
  204. package/dist/schemas/verification.schema.js.map +1 -0
  205. package/dist/schemas/webhook-event.schema.d.ts +3534 -0
  206. package/dist/schemas/webhook-event.schema.d.ts.map +1 -0
  207. package/dist/schemas/webhook-event.schema.js +83 -0
  208. package/dist/schemas/webhook-event.schema.js.map +1 -0
  209. package/dist/types/account.d.ts +36 -7
  210. package/dist/types/account.d.ts.map +1 -1
  211. package/dist/types/account.js +3 -1
  212. package/dist/types/account.js.map +1 -1
  213. package/dist/types/admin.d.ts +20 -10
  214. package/dist/types/admin.d.ts.map +1 -1
  215. package/dist/types/admin.js +3 -1
  216. package/dist/types/admin.js.map +1 -1
  217. package/dist/types/api.d.ts +184 -109
  218. package/dist/types/api.d.ts.map +1 -1
  219. package/dist/types/api.js +2 -1
  220. package/dist/types/api.js.map +1 -1
  221. package/dist/types/chat.d.ts +38 -20
  222. package/dist/types/chat.d.ts.map +1 -1
  223. package/dist/types/chat.js +3 -1
  224. package/dist/types/chat.js.map +1 -1
  225. package/dist/types/common.d.ts +39 -12
  226. package/dist/types/common.d.ts.map +1 -1
  227. package/dist/types/common.js +4 -1
  228. package/dist/types/common.js.map +1 -1
  229. package/dist/types/company.d.ts +61 -44
  230. package/dist/types/company.d.ts.map +1 -1
  231. package/dist/types/company.js +3 -1
  232. package/dist/types/company.js.map +1 -1
  233. package/dist/types/flag.d.ts +19 -8
  234. package/dist/types/flag.d.ts.map +1 -1
  235. package/dist/types/flag.js +3 -1
  236. package/dist/types/flag.js.map +1 -1
  237. package/dist/types/forms.d.ts +334 -0
  238. package/dist/types/forms.d.ts.map +1 -0
  239. package/dist/types/forms.js +5 -0
  240. package/dist/types/forms.js.map +1 -0
  241. package/dist/types/index.d.ts +18 -13
  242. package/dist/types/index.d.ts.map +1 -1
  243. package/dist/types/index.js +18 -13
  244. package/dist/types/index.js.map +1 -1
  245. package/dist/types/marketplace.d.ts +174 -104
  246. package/dist/types/marketplace.d.ts.map +1 -1
  247. package/dist/types/marketplace.js +2 -0
  248. package/dist/types/marketplace.js.map +1 -1
  249. package/dist/types/match.d.ts +36 -19
  250. package/dist/types/match.d.ts.map +1 -1
  251. package/dist/types/match.js +3 -1
  252. package/dist/types/match.js.map +1 -1
  253. package/dist/types/navigation.d.ts +305 -0
  254. package/dist/types/navigation.d.ts.map +1 -0
  255. package/dist/types/navigation.js +18 -0
  256. package/dist/types/navigation.js.map +1 -0
  257. package/dist/types/notification.d.ts +92 -0
  258. package/dist/types/notification.d.ts.map +1 -0
  259. package/dist/types/notification.js +5 -0
  260. package/dist/types/notification.js.map +1 -0
  261. package/dist/types/payment.d.ts +70 -38
  262. package/dist/types/payment.d.ts.map +1 -1
  263. package/dist/types/payment.js +3 -1
  264. package/dist/types/payment.js.map +1 -1
  265. package/dist/types/policy.d.ts +174 -81
  266. package/dist/types/policy.d.ts.map +1 -1
  267. package/dist/types/policy.js.map +1 -1
  268. package/dist/types/profile.d.ts +48 -37
  269. package/dist/types/profile.d.ts.map +1 -1
  270. package/dist/types/profile.js +3 -1
  271. package/dist/types/profile.js.map +1 -1
  272. package/dist/types/socket.d.ts +431 -0
  273. package/dist/types/socket.d.ts.map +1 -0
  274. package/dist/types/socket.js +5 -0
  275. package/dist/types/socket.js.map +1 -0
  276. package/dist/types/verification.d.ts +18 -9
  277. package/dist/types/verification.d.ts.map +1 -1
  278. package/dist/types/verification.js +3 -1
  279. package/dist/types/verification.js.map +1 -1
  280. package/dist/types/worker.d.ts +452 -0
  281. package/dist/types/worker.d.ts.map +1 -0
  282. package/dist/types/worker.js +5 -0
  283. package/dist/types/worker.js.map +1 -0
  284. package/dist/validation/index.d.ts +5 -0
  285. package/dist/validation/index.d.ts.map +1 -0
  286. package/dist/validation/index.js +9 -0
  287. package/dist/validation/index.js.map +1 -0
  288. package/dist/validation/messages.d.ts +124 -0
  289. package/dist/validation/messages.d.ts.map +1 -0
  290. package/dist/validation/messages.js +160 -0
  291. package/dist/validation/messages.js.map +1 -0
  292. package/dist/validation/schemas.d.ts +1127 -0
  293. package/dist/validation/schemas.d.ts.map +1 -0
  294. package/dist/validation/schemas.js +376 -0
  295. package/dist/validation/schemas.js.map +1 -0
  296. package/dist/validation/validators.d.ts +229 -0
  297. package/dist/validation/validators.d.ts.map +1 -0
  298. package/dist/validation/validators.js +307 -0
  299. package/dist/validation/validators.js.map +1 -0
  300. package/package.json +37 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/profile.schema.ts"],"names":[],"mappings":"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;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;iBAAN,MAAM;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;yBA4SlC,CAAA;;;yBAK9B,CAAC;;;aAjTyD,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;uBA+U1D,CAAA;;aA/UoD,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;iBAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;iBAAN,MAAM;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;iBAAN,MAAM;;;;;;;iBAAN,MAAM;;;;;iBAAN,MAAM;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;iBAAN,MAAM;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;iBAAN,MAAM;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAN,MAAM;;;;;;;iBAAN,MAAM;;;;;;;iBAAN,MAAM;;;;;iBAAN,MAAM;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;;;uBAoa2lW,CAAC;;;aApalmW,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;;uBAoa2wW,CAAC;;;;;;aApalxW,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;aAAN,MAAM;;aAAN,MAAM;;;;;;;;;SAAN,MAAM;;SAAN,MAAM;;;;;;;EAmajC,CAAC"}
@@ -0,0 +1,360 @@
1
+ // ============================================
2
+ // Profile Schema - Mongoose schema for Profile
3
+ // ============================================
4
+ import { Schema } from 'mongoose';
5
+ /**
6
+ * Location subdocument schema
7
+ */
8
+ const LocationSchema = new Schema({
9
+ country: { type: String, required: true },
10
+ state: { type: String },
11
+ city: { type: String, required: true },
12
+ coordinates: {
13
+ lat: { type: Number },
14
+ lng: { type: Number },
15
+ },
16
+ }, { _id: false });
17
+ /**
18
+ * Profile photo subdocument schema
19
+ */
20
+ const ProfilePhotoSchema = new Schema({
21
+ id: { type: String, required: true },
22
+ url: { type: String, required: true },
23
+ thumbnailUrl: { type: String, required: true },
24
+ isPrimary: { type: Boolean, default: false },
25
+ isApproved: { type: Boolean, default: false },
26
+ uploadedAt: { type: Date, default: Date.now },
27
+ }, { _id: false });
28
+ /**
29
+ * Partner preferences subdocument schema
30
+ */
31
+ const PartnerPreferencesSchema = new Schema({
32
+ ageRange: {
33
+ min: { type: Number, required: true },
34
+ max: { type: Number, required: true },
35
+ },
36
+ heightRange: {
37
+ min: { type: Number },
38
+ max: { type: Number },
39
+ },
40
+ maritalStatuses: [
41
+ {
42
+ type: String,
43
+ enum: ['never_married', 'divorced', 'widowed', 'annulled'],
44
+ },
45
+ ],
46
+ sects: [
47
+ {
48
+ type: String,
49
+ enum: [
50
+ 'sunni_hanafi',
51
+ 'sunni_shafi',
52
+ 'sunni_maliki',
53
+ 'sunni_hanbali',
54
+ 'shia_twelver',
55
+ 'shia_ismaili',
56
+ 'shia_zaydi',
57
+ 'ahmadiyya',
58
+ 'other',
59
+ ],
60
+ },
61
+ ],
62
+ educationLevels: [
63
+ {
64
+ type: String,
65
+ enum: ['high_school', 'diploma', 'bachelors', 'masters', 'doctorate', 'islamic_scholar', 'hafiz', 'other'],
66
+ },
67
+ ],
68
+ professions: [{ type: String }],
69
+ incomeRange: {
70
+ min: { type: Number },
71
+ max: { type: Number },
72
+ currency: { type: String },
73
+ },
74
+ locations: [LocationSchema],
75
+ nationalities: [{ type: String }],
76
+ castes: [{ type: String }],
77
+ complexions: [
78
+ {
79
+ type: String,
80
+ enum: ['very_fair', 'fair', 'wheatish', 'olive', 'brown', 'dark'],
81
+ },
82
+ ],
83
+ hijabPreference: [
84
+ {
85
+ type: String,
86
+ enum: ['always', 'mostly', 'sometimes', 'never'],
87
+ },
88
+ ],
89
+ beardPreference: [
90
+ {
91
+ type: String,
92
+ enum: ['full', 'trimmed', 'sometimes', 'clean_shaven'],
93
+ },
94
+ ],
95
+ prayerFrequency: [
96
+ {
97
+ type: String,
98
+ enum: ['five_times', 'mostly', 'sometimes', 'rarely', 'trying_to_improve'],
99
+ },
100
+ ],
101
+ dietaryPreference: [
102
+ {
103
+ type: String,
104
+ enum: ['strict_halal', 'halal', 'vegetarian', 'no_preference'],
105
+ },
106
+ ],
107
+ willingToRelocate: { type: Boolean },
108
+ additionalRequirements: { type: String },
109
+ }, { _id: false });
110
+ /**
111
+ * Profile schema definition
112
+ */
113
+ export const ProfileSchemaDefinition = {
114
+ _id: { type: String, required: true },
115
+ accountId: { type: String, ref: 'Account', required: true, index: true },
116
+ // Status
117
+ status: {
118
+ type: String,
119
+ enum: [
120
+ 'draft',
121
+ 'pending_verification',
122
+ 'pending_review',
123
+ 'on_hold',
124
+ 'approved',
125
+ 'live',
126
+ 'paused',
127
+ 'matched',
128
+ 'rejected',
129
+ 'deleted',
130
+ ],
131
+ required: true,
132
+ default: 'draft',
133
+ index: true,
134
+ },
135
+ holdReason: {
136
+ type: String,
137
+ enum: ['gender_balance', 'age_priority', 'manual_hold', 'verification_pending'],
138
+ },
139
+ holdUntil: { type: Date },
140
+ reviewedAt: { type: Date },
141
+ reviewedBy: { type: String },
142
+ rejectionReason: { type: String },
143
+ // Basic info
144
+ candidateName: { type: String, required: true, trim: true },
145
+ gender: {
146
+ type: String,
147
+ enum: ['male', 'female'],
148
+ required: true,
149
+ index: true,
150
+ },
151
+ dateOfBirth: { type: Date, required: true },
152
+ age: { type: Number, required: true, index: true },
153
+ // Religious
154
+ sect: {
155
+ type: String,
156
+ enum: [
157
+ 'sunni_hanafi',
158
+ 'sunni_shafi',
159
+ 'sunni_maliki',
160
+ 'sunni_hanbali',
161
+ 'shia_twelver',
162
+ 'shia_ismaili',
163
+ 'shia_zaydi',
164
+ 'ahmadiyya',
165
+ 'other',
166
+ ],
167
+ required: true,
168
+ index: true,
169
+ },
170
+ prayerFrequency: {
171
+ type: String,
172
+ enum: ['five_times', 'mostly', 'sometimes', 'rarely', 'trying_to_improve'],
173
+ required: true,
174
+ },
175
+ hijabStatus: {
176
+ type: String,
177
+ enum: ['always', 'mostly', 'sometimes', 'never'],
178
+ },
179
+ beardStatus: {
180
+ type: String,
181
+ enum: ['full', 'trimmed', 'sometimes', 'clean_shaven'],
182
+ },
183
+ islamicEducation: { type: String },
184
+ quranMemorization: {
185
+ type: String,
186
+ enum: ['none', 'partial', 'complete'],
187
+ },
188
+ // Personal
189
+ maritalStatus: {
190
+ type: String,
191
+ enum: ['never_married', 'divorced', 'widowed', 'annulled'],
192
+ required: true,
193
+ index: true,
194
+ },
195
+ hasChildren: { type: Boolean, default: false },
196
+ numberOfChildren: { type: Number },
197
+ // Physical
198
+ heightCm: { type: Number, required: true },
199
+ weightKg: { type: Number },
200
+ complexion: {
201
+ type: String,
202
+ enum: ['very_fair', 'fair', 'wheatish', 'olive', 'brown', 'dark'],
203
+ },
204
+ bodyType: {
205
+ type: String,
206
+ enum: ['slim', 'average', 'athletic', 'heavy'],
207
+ },
208
+ disabilities: { type: String },
209
+ // Location
210
+ currentLocation: { type: LocationSchema, required: true },
211
+ willingToRelocate: { type: Boolean, default: false },
212
+ relocatePreferences: [{ type: String }],
213
+ nationality: { type: String, required: true },
214
+ citizenship: [{ type: String, required: true }],
215
+ residencyStatus: { type: String },
216
+ // Education & Career
217
+ educationLevel: {
218
+ type: String,
219
+ enum: ['high_school', 'diploma', 'bachelors', 'masters', 'doctorate', 'islamic_scholar', 'hafiz', 'other'],
220
+ required: true,
221
+ },
222
+ educationField: { type: String },
223
+ institution: { type: String },
224
+ profession: { type: String },
225
+ jobTitle: { type: String },
226
+ employer: { type: String },
227
+ annualIncome: { type: Number },
228
+ incomeCurrency: { type: String },
229
+ incomeVisibility: {
230
+ type: String,
231
+ enum: ['visible', 'on_request', 'hidden'],
232
+ default: 'hidden',
233
+ },
234
+ // Family
235
+ familyType: {
236
+ type: String,
237
+ enum: ['nuclear', 'joint', 'extended'],
238
+ required: true,
239
+ },
240
+ fatherOccupation: { type: String },
241
+ motherOccupation: { type: String },
242
+ siblings: { type: Number },
243
+ familyValues: { type: String },
244
+ familyReligiosity: {
245
+ type: String,
246
+ enum: ['very_religious', 'religious', 'moderate', 'liberal'],
247
+ },
248
+ // Lifestyle
249
+ dietaryPreference: {
250
+ type: String,
251
+ enum: ['strict_halal', 'halal', 'vegetarian', 'no_preference'],
252
+ required: true,
253
+ },
254
+ smoking: {
255
+ type: String,
256
+ enum: ['never', 'quit', 'occasionally', 'regularly'],
257
+ default: 'never',
258
+ },
259
+ livesAlone: { type: Boolean, default: false },
260
+ hasOwnAccommodation: { type: Boolean, default: false },
261
+ // Cultural
262
+ caste: { type: String },
263
+ ethnicity: { type: String },
264
+ languages: [{ type: String, required: true }],
265
+ hobbies: [{ type: String }],
266
+ // Description
267
+ aboutCandidate: { type: String, required: true },
268
+ aboutFamily: { type: String },
269
+ partnerExpectations: { type: String, required: true },
270
+ dealBreakers: { type: String },
271
+ additionalInfo: { type: String },
272
+ // Partner preferences
273
+ preferences: { type: PartnerPreferencesSchema, required: true },
274
+ // Photos
275
+ photos: [ProfilePhotoSchema],
276
+ // Verification
277
+ idVerificationId: { type: String, ref: 'Verification' },
278
+ isIdVerified: { type: Boolean, default: false },
279
+ // Stats
280
+ viewCount: { type: Number, default: 0 },
281
+ interestReceivedCount: { type: Number, default: 0 },
282
+ interestSentCount: { type: Number, default: 0 },
283
+ // Flags
284
+ flagCount: { type: Number, default: 0 },
285
+ };
286
+ /**
287
+ * Create Profile schema with indexes and methods
288
+ */
289
+ export function createProfileSchema() {
290
+ const schema = new Schema(ProfileSchemaDefinition, {
291
+ timestamps: true,
292
+ collection: 'profiles',
293
+ _id: false,
294
+ });
295
+ // Compound indexes for search
296
+ schema.index({ status: 1, gender: 1, sect: 1 });
297
+ schema.index({ status: 1, gender: 1, age: 1 });
298
+ schema.index({ 'currentLocation.country': 1, 'currentLocation.city': 1 });
299
+ schema.index({ status: 1, createdAt: -1 });
300
+ // Geospatial index for location-based search
301
+ schema.index({ 'currentLocation.coordinates': '2dsphere' });
302
+ // Virtual for id
303
+ schema.virtual('id').get(function () {
304
+ return this._id;
305
+ });
306
+ // JSON transform
307
+ schema.set('toJSON', {
308
+ virtuals: true,
309
+ transform(_doc, ret) {
310
+ const { _id, __v, ...rest } = ret;
311
+ return rest;
312
+ },
313
+ });
314
+ schema.set('toObject', { virtuals: true });
315
+ // Static methods
316
+ schema.statics.findByAccountId = function (accountId) {
317
+ return this.find({ accountId });
318
+ };
319
+ schema.statics.findLiveProfiles = function (filters) {
320
+ const query = { status: 'live' };
321
+ if (filters?.gender) {
322
+ query.gender = filters.gender;
323
+ }
324
+ if (filters?.sect?.length) {
325
+ query.sect = { $in: filters.sect };
326
+ }
327
+ if (filters?.ageRange) {
328
+ query.age = { $gte: filters.ageRange.min, $lte: filters.ageRange.max };
329
+ }
330
+ if (filters?.maritalStatus?.length) {
331
+ query.maritalStatus = { $in: filters.maritalStatus };
332
+ }
333
+ if (filters?.location?.country) {
334
+ query['currentLocation.country'] = filters.location.country;
335
+ }
336
+ if (filters?.location?.city) {
337
+ query['currentLocation.city'] = filters.location.city;
338
+ }
339
+ return this.find(query);
340
+ };
341
+ // Pre-save hook to calculate age
342
+ schema.pre('save', function () {
343
+ if (this.dateOfBirth) {
344
+ const today = new Date();
345
+ const birthDate = new Date(this.dateOfBirth);
346
+ let age = today.getFullYear() - birthDate.getFullYear();
347
+ const monthDiff = today.getMonth() - birthDate.getMonth();
348
+ if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {
349
+ age--;
350
+ }
351
+ this.age = age;
352
+ }
353
+ });
354
+ return schema;
355
+ }
356
+ /**
357
+ * Pre-configured schema instance
358
+ */
359
+ export const ProfileSchema = createProfileSchema();
360
+ //# sourceMappingURL=profile.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.schema.js","sourceRoot":"","sources":["../../src/schemas/profile.schema.ts"],"names":[],"mappings":"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"}