@researchdatabox/redbox-core-types 0.0.1-beta.9225 → 0.0.1-beta.9474

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 (355) hide show
  1. package/dist/CoreController.d.ts +4 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +33 -1
  4. package/dist/DatastreamService.d.ts +5 -2
  5. package/dist/DatastreamService.d.ts.map +1 -1
  6. package/dist/QueueService.d.ts +1 -1
  7. package/dist/QueueService.d.ts.map +1 -1
  8. package/dist/RecordsService.d.ts +38 -2
  9. package/dist/RecordsService.d.ts.map +1 -1
  10. package/dist/StorageService.d.ts +2 -1
  11. package/dist/StorageService.d.ts.map +1 -1
  12. package/dist/api-routes/apib.d.ts +7 -0
  13. package/dist/api-routes/apib.d.ts.map +1 -0
  14. package/dist/api-routes/apib.js +43 -0
  15. package/dist/api-routes/define.d.ts +4 -0
  16. package/dist/api-routes/define.d.ts.map +1 -0
  17. package/dist/api-routes/define.js +29 -0
  18. package/dist/api-routes/groups/admin.d.ts +6 -0
  19. package/dist/api-routes/groups/admin.d.ts.map +1 -0
  20. package/dist/api-routes/groups/admin.js +53 -0
  21. package/dist/api-routes/groups/appconfig.d.ts +4 -0
  22. package/dist/api-routes/groups/appconfig.d.ts.map +1 -0
  23. package/dist/api-routes/groups/appconfig.js +33 -0
  24. package/dist/api-routes/groups/branding.d.ts +8 -0
  25. package/dist/api-routes/groups/branding.d.ts.map +1 -0
  26. package/dist/api-routes/groups/branding.js +61 -0
  27. package/dist/api-routes/groups/dashboard-config.d.ts +11 -0
  28. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -0
  29. package/dist/api-routes/groups/dashboard-config.js +90 -0
  30. package/dist/api-routes/groups/export.d.ts +3 -0
  31. package/dist/api-routes/groups/export.d.ts.map +1 -0
  32. package/dist/api-routes/groups/export.js +30 -0
  33. package/dist/api-routes/groups/forms.d.ts +4 -0
  34. package/dist/api-routes/groups/forms.d.ts.map +1 -0
  35. package/dist/api-routes/groups/forms.js +29 -0
  36. package/dist/api-routes/groups/integration-audit.d.ts +3 -0
  37. package/dist/api-routes/groups/integration-audit.d.ts.map +1 -0
  38. package/dist/api-routes/groups/integration-audit.js +35 -0
  39. package/dist/api-routes/groups/notifications.d.ts +3 -0
  40. package/dist/api-routes/groups/notifications.d.ts.map +1 -0
  41. package/dist/api-routes/groups/notifications.js +20 -0
  42. package/dist/api-routes/groups/records.d.ts +28 -0
  43. package/dist/api-routes/groups/records.d.ts.map +1 -0
  44. package/dist/api-routes/groups/records.js +349 -0
  45. package/dist/api-routes/groups/recordtypes.d.ts +4 -0
  46. package/dist/api-routes/groups/recordtypes.d.ts.map +1 -0
  47. package/dist/api-routes/groups/recordtypes.js +27 -0
  48. package/dist/api-routes/groups/reports.d.ts +3 -0
  49. package/dist/api-routes/groups/reports.d.ts.map +1 -0
  50. package/dist/api-routes/groups/reports.js +20 -0
  51. package/dist/api-routes/groups/search-query.d.ts +4 -0
  52. package/dist/api-routes/groups/search-query.d.ts.map +1 -0
  53. package/dist/api-routes/groups/search-query.js +51 -0
  54. package/dist/api-routes/groups/search.d.ts +6 -0
  55. package/dist/api-routes/groups/search.d.ts.map +1 -0
  56. package/dist/api-routes/groups/search.js +31 -0
  57. package/dist/api-routes/groups/translation.d.ts +8 -0
  58. package/dist/api-routes/groups/translation.d.ts.map +1 -0
  59. package/dist/api-routes/groups/translation.js +78 -0
  60. package/dist/api-routes/groups/users.d.ts +17 -0
  61. package/dist/api-routes/groups/users.d.ts.map +1 -0
  62. package/dist/api-routes/groups/users.js +149 -0
  63. package/dist/api-routes/groups/vocabulary.d.ts +10 -0
  64. package/dist/api-routes/groups/vocabulary.d.ts.map +1 -0
  65. package/dist/api-routes/groups/vocabulary.js +97 -0
  66. package/dist/api-routes/helpers.d.ts +29 -0
  67. package/dist/api-routes/helpers.d.ts.map +1 -0
  68. package/dist/api-routes/helpers.js +486 -0
  69. package/dist/api-routes/index.d.ts +25 -0
  70. package/dist/api-routes/index.d.ts.map +1 -0
  71. package/dist/api-routes/index.js +41 -0
  72. package/dist/api-routes/openapi.d.ts +27 -0
  73. package/dist/api-routes/openapi.d.ts.map +1 -0
  74. package/dist/api-routes/openapi.js +273 -0
  75. package/dist/api-routes/request-extraction.d.ts +14 -0
  76. package/dist/api-routes/request-extraction.d.ts.map +1 -0
  77. package/dist/api-routes/request-extraction.js +100 -0
  78. package/dist/api-routes/route-factory.d.ts +3 -0
  79. package/dist/api-routes/route-factory.d.ts.map +1 -0
  80. package/dist/api-routes/route-factory.js +30 -0
  81. package/dist/api-routes/route-registry.d.ts +24 -0
  82. package/dist/api-routes/route-registry.d.ts.map +1 -0
  83. package/dist/api-routes/route-registry.js +113 -0
  84. package/dist/api-routes/route-resolution.d.ts +4 -0
  85. package/dist/api-routes/route-resolution.d.ts.map +1 -0
  86. package/dist/api-routes/route-resolution.js +57 -0
  87. package/dist/api-routes/schemas/common.d.ts +37 -0
  88. package/dist/api-routes/schemas/common.d.ts.map +1 -0
  89. package/dist/api-routes/schemas/common.js +147 -0
  90. package/dist/api-routes/schemas/responses.d.ts +2904 -0
  91. package/dist/api-routes/schemas/responses.d.ts.map +1 -0
  92. package/dist/api-routes/schemas/responses.js +417 -0
  93. package/dist/api-routes/types.d.ts +70 -0
  94. package/dist/api-routes/types.d.ts.map +1 -0
  95. package/dist/api-routes/types.js +3 -0
  96. package/dist/api-routes/validation.d.ts +32 -0
  97. package/dist/api-routes/validation.d.ts.map +1 -0
  98. package/dist/api-routes/validation.js +142 -0
  99. package/dist/bootstrap.d.ts.map +1 -1
  100. package/dist/bootstrap.js +10 -10
  101. package/dist/config/agendaQueue.config.d.ts +25 -1
  102. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  103. package/dist/config/agendaQueue.config.js +19 -2
  104. package/dist/config/auth.config.d.ts.map +1 -1
  105. package/dist/config/auth.config.js +21 -2
  106. package/dist/config/brandingConfigurationDefaults.config.js +3 -3
  107. package/dist/config/dashboardtype.config.d.ts +5 -0
  108. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  109. package/dist/config/dashboardtype.config.js +1 -1
  110. package/dist/config/dashboardview.config.d.ts +24 -0
  111. package/dist/config/dashboardview.config.d.ts.map +1 -0
  112. package/dist/config/dashboardview.config.js +137 -0
  113. package/dist/config/dompurify.config.d.ts.map +1 -1
  114. package/dist/config/dompurify.config.js +2 -2
  115. package/dist/config/http.config.d.ts.map +1 -1
  116. package/dist/config/http.config.js +5 -3
  117. package/dist/config/index.d.ts +6 -0
  118. package/dist/config/index.d.ts.map +1 -1
  119. package/dist/config/index.js +4 -1
  120. package/dist/config/namedQuery.config.d.ts +10 -2
  121. package/dist/config/namedQuery.config.d.ts.map +1 -1
  122. package/dist/config/namedQuery.config.js +17 -17
  123. package/dist/config/policies.config.d.ts +3 -0
  124. package/dist/config/policies.config.d.ts.map +1 -1
  125. package/dist/config/policies.config.js +35 -1
  126. package/dist/config/record.config.d.ts.map +1 -1
  127. package/dist/config/record.config.js +2 -1
  128. package/dist/config/recordtype.config.d.ts +28 -0
  129. package/dist/config/recordtype.config.d.ts.map +1 -1
  130. package/dist/config/recordtype.config.js +85 -9
  131. package/dist/config/routes.config.d.ts +5 -2
  132. package/dist/config/routes.config.d.ts.map +1 -1
  133. package/dist/config/routes.config.js +24 -110
  134. package/dist/config/storage.config.d.ts +20 -2
  135. package/dist/config/storage.config.d.ts.map +1 -1
  136. package/dist/config/storage.config.js +2 -1
  137. package/dist/config/vocab.config.d.ts +30 -0
  138. package/dist/config/vocab.config.d.ts.map +1 -1
  139. package/dist/config/vocab.config.js +21 -1
  140. package/dist/config/webpack.config.d.ts.map +1 -1
  141. package/dist/config/webpack.config.js +13 -7
  142. package/dist/config/workflow.config.d.ts +0 -1
  143. package/dist/config/workflow.config.d.ts.map +1 -1
  144. package/dist/config/workflow.config.js +1 -137
  145. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  146. package/dist/configmodels/AdminSidebarConfig.js +1 -2
  147. package/dist/configmodels/ConfigModels.d.ts +1 -1
  148. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  149. package/dist/configmodels/ConfigModels.js +9 -1
  150. package/dist/configmodels/DashboardTableOverrideConfig.d.ts +1011 -0
  151. package/dist/configmodels/DashboardTableOverrideConfig.d.ts.map +1 -0
  152. package/dist/configmodels/DashboardTableOverrideConfig.js +138 -0
  153. package/dist/controllers/AdminController.d.ts +0 -1
  154. package/dist/controllers/AdminController.d.ts.map +1 -1
  155. package/dist/controllers/AdminController.js +2 -32
  156. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  157. package/dist/controllers/BrandingAppController.js +10 -9
  158. package/dist/controllers/BrandingController.d.ts +3 -5
  159. package/dist/controllers/BrandingController.d.ts.map +1 -1
  160. package/dist/controllers/BrandingController.js +29 -21
  161. package/dist/controllers/DashboardConfigController.d.ts +8 -0
  162. package/dist/controllers/DashboardConfigController.d.ts.map +1 -0
  163. package/dist/controllers/DashboardConfigController.js +17 -0
  164. package/dist/controllers/DynamicAssetController.d.ts +1 -0
  165. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  166. package/dist/controllers/DynamicAssetController.js +20 -1
  167. package/dist/controllers/EmailController.d.ts.map +1 -1
  168. package/dist/controllers/EmailController.js +16 -12
  169. package/dist/controllers/FormVocabularyController.d.ts +1 -0
  170. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  171. package/dist/controllers/FormVocabularyController.js +94 -4
  172. package/dist/controllers/RecordController.d.ts +18 -1
  173. package/dist/controllers/RecordController.d.ts.map +1 -1
  174. package/dist/controllers/RecordController.js +274 -124
  175. package/dist/controllers/RenderViewController.d.ts.map +1 -1
  176. package/dist/controllers/RenderViewController.js +4 -2
  177. package/dist/controllers/TranslationController.d.ts.map +1 -1
  178. package/dist/controllers/TranslationController.js +12 -10
  179. package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
  180. package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
  181. package/dist/controllers/WorkspaceTypesController.js +120 -31
  182. package/dist/controllers/index.d.ts.map +1 -1
  183. package/dist/controllers/index.js +7 -4
  184. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  185. package/dist/controllers/webservice/AdminController.js +15 -16
  186. package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
  187. package/dist/controllers/webservice/AppConfigController.js +19 -20
  188. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  189. package/dist/controllers/webservice/BrandingController.js +101 -47
  190. package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
  191. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
  192. package/dist/controllers/webservice/DashboardConfigController.js +241 -0
  193. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  194. package/dist/controllers/webservice/ExportController.js +11 -11
  195. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  196. package/dist/controllers/webservice/FormManagementController.js +11 -13
  197. package/dist/controllers/webservice/RecordController.d.ts +4 -0
  198. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  199. package/dist/controllers/webservice/RecordController.js +428 -257
  200. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  201. package/dist/controllers/webservice/RecordTypeController.js +9 -10
  202. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  203. package/dist/controllers/webservice/ReportController.js +18 -20
  204. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  205. package/dist/controllers/webservice/SearchController.js +28 -35
  206. package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
  207. package/dist/controllers/webservice/TranslationController.js +61 -39
  208. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  209. package/dist/controllers/webservice/UserManagementController.js +112 -99
  210. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  211. package/dist/controllers/webservice/VocabularyController.js +76 -28
  212. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  213. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  214. package/dist/hooks/defineRedboxHook.js +4 -1
  215. package/dist/index.d.ts +2 -0
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +2 -1
  218. package/dist/loader/index.d.ts +6 -0
  219. package/dist/loader/index.d.ts.map +1 -1
  220. package/dist/loader/index.js +57 -10
  221. package/dist/middleware/redboxSession.js +1 -1
  222. package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
  223. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  224. package/dist/model/DashboardTypeResponseModel.js +12 -4
  225. package/dist/model/DashboardViewResponseModel.d.ts +20 -0
  226. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
  227. package/dist/model/DashboardViewResponseModel.js +38 -0
  228. package/dist/model/RecordTypeResponseModel.d.ts +3 -1
  229. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  230. package/dist/model/RecordTypeResponseModel.js +4 -2
  231. package/dist/model/RequestDetails.d.ts +1 -1
  232. package/dist/model/RequestDetails.d.ts.map +1 -1
  233. package/dist/model/RequestDetails.js +1 -1
  234. package/dist/model/index.d.ts +1 -0
  235. package/dist/model/index.d.ts.map +1 -1
  236. package/dist/model/index.js +5 -2
  237. package/dist/model/storage/BrandingModel.d.ts +0 -16
  238. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  239. package/dist/model/storage/BrandingModel.js +2 -51
  240. package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
  241. package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
  242. package/dist/model/storage/RecordTypeModel.d.ts +16 -0
  243. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  244. package/dist/model/storage/RecordTypeModel.js +9 -1
  245. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  246. package/dist/policies/contentSecurityPolicy.js +23 -2
  247. package/dist/policies/index.d.ts +3 -0
  248. package/dist/policies/index.d.ts.map +1 -1
  249. package/dist/policies/index.js +6 -2
  250. package/dist/policies/validateApiContractRequest.d.ts +3 -0
  251. package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
  252. package/dist/policies/validateApiContractRequest.js +74 -0
  253. package/dist/responses/badRequest.d.ts.map +1 -1
  254. package/dist/responses/badRequest.js +5 -3
  255. package/dist/responses/created.d.ts.map +1 -1
  256. package/dist/responses/created.js +5 -3
  257. package/dist/responses/forbidden.d.ts.map +1 -1
  258. package/dist/responses/forbidden.js +5 -3
  259. package/dist/responses/ok.d.ts.map +1 -1
  260. package/dist/responses/ok.js +5 -3
  261. package/dist/responses/serverError.d.ts.map +1 -1
  262. package/dist/responses/serverError.js +5 -3
  263. package/dist/responses/siteTitle.d.ts +6 -0
  264. package/dist/responses/siteTitle.d.ts.map +1 -0
  265. package/dist/responses/siteTitle.js +28 -0
  266. package/dist/sails.d.ts +7 -0
  267. package/dist/sails.d.ts.map +1 -1
  268. package/dist/services/AgendaQueueService.d.ts +38 -17
  269. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  270. package/dist/services/AgendaQueueService.js +311 -81
  271. package/dist/services/AttachmentMetadataService.d.ts +34 -0
  272. package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
  273. package/dist/services/AttachmentMetadataService.js +133 -0
  274. package/dist/services/BrandingLogoService.d.ts +6 -8
  275. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  276. package/dist/services/BrandingLogoService.js +66 -72
  277. package/dist/services/DashboardConfigService.d.ts +71 -0
  278. package/dist/services/DashboardConfigService.d.ts.map +1 -0
  279. package/dist/services/DashboardConfigService.js +309 -0
  280. package/dist/services/DashboardTypesService.d.ts +61 -63
  281. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  282. package/dist/services/DashboardTypesService.js +361 -198
  283. package/dist/services/DoiService.d.ts +11 -0
  284. package/dist/services/DoiService.d.ts.map +1 -1
  285. package/dist/services/DoiService.js +206 -1
  286. package/dist/services/FigshareService.d.ts.map +1 -1
  287. package/dist/services/FigshareService.js +5 -1
  288. package/dist/services/FormVocabularyService.d.ts +45 -0
  289. package/dist/services/FormVocabularyService.d.ts.map +1 -0
  290. package/dist/services/FormVocabularyService.js +326 -0
  291. package/dist/services/I18nEntriesService.d.ts +3 -0
  292. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  293. package/dist/services/I18nEntriesService.js +14 -2
  294. package/dist/services/NamedQueryService.d.ts +27 -9
  295. package/dist/services/NamedQueryService.d.ts.map +1 -1
  296. package/dist/services/NamedQueryService.js +223 -55
  297. package/dist/services/RDMPService.d.ts.map +1 -1
  298. package/dist/services/RDMPService.js +3 -2
  299. package/dist/services/RecordsService.d.ts +8 -2
  300. package/dist/services/RecordsService.d.ts.map +1 -1
  301. package/dist/services/RecordsService.js +64 -16
  302. package/dist/services/ReportsService.d.ts.map +1 -1
  303. package/dist/services/ReportsService.js +7 -1
  304. package/dist/services/StandardDatastreamService.d.ts +32 -5
  305. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  306. package/dist/services/StandardDatastreamService.js +490 -38
  307. package/dist/services/StorageManagerService.d.ts +12 -1
  308. package/dist/services/StorageManagerService.d.ts.map +1 -1
  309. package/dist/services/StorageManagerService.js +72 -7
  310. package/dist/services/index.d.ts +9 -3
  311. package/dist/services/index.d.ts.map +1 -1
  312. package/dist/services/index.js +17 -7
  313. package/dist/storage/GridFSDriver.d.ts +101 -0
  314. package/dist/storage/GridFSDriver.d.ts.map +1 -0
  315. package/dist/storage/GridFSDriver.js +291 -0
  316. package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
  317. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
  318. package/dist/storage/TusStorageManagerDataStore.js +300 -0
  319. package/dist/utilities/RequestParamUtils.d.ts +3 -0
  320. package/dist/utilities/RequestParamUtils.d.ts.map +1 -0
  321. package/dist/utilities/RequestParamUtils.js +13 -0
  322. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  323. package/dist/visitor/construct.visitor.js +6 -3
  324. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  325. package/dist/visitor/migrate-config-v4-v5.visitor.js +19 -1
  326. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  327. package/dist/visitor/validator.visitor.js +11 -3
  328. package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
  329. package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
  330. package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
  331. package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
  332. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
  333. package/dist/waterline-models/AttachmentMetadata.js +147 -0
  334. package/dist/waterline-models/BrandingConfig.d.ts +0 -2
  335. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  336. package/dist/waterline-models/BrandingConfig.js +1 -6
  337. package/dist/waterline-models/DashboardType.d.ts +7 -0
  338. package/dist/waterline-models/DashboardType.d.ts.map +1 -1
  339. package/dist/waterline-models/DashboardType.js +16 -1
  340. package/dist/waterline-models/I18nTranslation.d.ts +2 -0
  341. package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
  342. package/dist/waterline-models/I18nTranslation.js +6 -1
  343. package/dist/waterline-models/NamedQuery.d.ts +6 -0
  344. package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
  345. package/dist/waterline-models/NamedQuery.js +16 -1
  346. package/dist/waterline-models/index.d.ts +4 -0
  347. package/dist/waterline-models/index.d.ts.map +1 -1
  348. package/dist/waterline-models/index.js +7 -1
  349. package/package.json +35 -25
  350. package/dist/controllers/VocabController.d.ts +0 -43
  351. package/dist/controllers/VocabController.d.ts.map +0 -1
  352. package/dist/controllers/VocabController.js +0 -190
  353. package/dist/services/VocabService.d.ts +0 -81
  354. package/dist/services/VocabService.d.ts.map +0 -1
  355. package/dist/services/VocabService.js +0 -424
@@ -118,6 +118,10 @@ export declare namespace Controllers.Core {
118
118
  _getResolvedView(branding: string, portal: string, view: string): string | null;
119
119
  _getResolvedLayout(branding: string, portal: string): string | null;
120
120
  sendView(req: Sails.Req, res: Sails.Res, view: string, locals?: Record<string, unknown>): void;
121
+ protected getSiteTitle(locals?: Record<string, unknown>): string;
122
+ protected formatDocumentTitle(pageTitle?: unknown, locals?: Record<string, unknown>): string;
123
+ protected translate(key: string, locals?: Record<string, unknown>): string;
124
+ protected resolvePageTitleFromLocals(locals?: Record<string, unknown>): string | undefined;
121
125
  /**
122
126
  * @deprecated Use `sendResp` instead.
123
127
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CoreController.d.ts","sourceRoot":"","sources":["../src/CoreController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreController.d.ts","sourceRoot":"","sources":["../src/CoreController.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Controllers = void 0;
37
37
  const fs_1 = require("fs");
38
38
  const _ = __importStar(require("lodash"));
39
+ const siteTitle_1 = require("./responses/siteTitle");
39
40
  const model_1 = require("./model");
40
41
  var Controllers;
41
42
  (function (Controllers) {
@@ -327,6 +328,37 @@ var Controllers;
327
328
  // this.logger.debug(mergedLocal);
328
329
  res.view(resolvedView, mergedLocal);
329
330
  }
331
+ getSiteTitle(locals) {
332
+ return (0, siteTitle_1.resolveSiteTitle)('Site', locals);
333
+ }
334
+ formatDocumentTitle(pageTitle, locals) {
335
+ const siteTitle = this.getSiteTitle(locals);
336
+ const resolvedPageTitle = String(pageTitle ?? '').trim();
337
+ if (!resolvedPageTitle || resolvedPageTitle === siteTitle) {
338
+ return siteTitle;
339
+ }
340
+ return `${resolvedPageTitle} | ${siteTitle}`;
341
+ }
342
+ translate(key, locals) {
343
+ return (0, siteTitle_1.resolveTranslation)(key, locals);
344
+ }
345
+ resolvePageTitleFromLocals(locals) {
346
+ if (!locals) {
347
+ return undefined;
348
+ }
349
+ if (typeof locals.pageTitle === 'string') {
350
+ const literalPageTitle = locals.pageTitle.trim();
351
+ if (literalPageTitle) {
352
+ return literalPageTitle;
353
+ }
354
+ }
355
+ const pageTitleKey = typeof locals.pageTitleKey === 'string' ? locals.pageTitleKey.trim() : '';
356
+ if (!pageTitleKey) {
357
+ return undefined;
358
+ }
359
+ const translatedTitle = (0, siteTitle_1.resolveTranslation)(pageTitleKey, locals);
360
+ return translatedTitle || undefined;
361
+ }
330
362
  /**
331
363
  * @deprecated Use `sendResp` instead.
332
364
  */
@@ -694,4 +726,4 @@ var Controllers;
694
726
  Core.Controller = Controller;
695
727
  })(Core = Controllers.Core || (Controllers.Core = {}));
696
728
  })(Controllers || (exports.Controllers = Controllers = {}));
697
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29yZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkJBQWdDO0FBRWhDLDBDQUE0QjtBQUU1QixtQ0FPaUI7QUFNakIsSUFBaUIsV0FBVyxDQWl4QjNCO0FBanhCRCxXQUFpQixXQUFXO0lBQUMsSUFBQSxJQUFJLENBaXhCaEM7SUFqeEI0QixXQUFBLElBQUk7UUFFL0I7Ozs7Ozs7Ozs7Ozs7O1dBY0c7UUFDSCxNQUFhLFVBQVU7WUFFckI7Ozs7ZUFJRztZQUNPLE9BQU8sR0FBNEIsRUFBRSxDQUFDO1lBRWhEOztlQUVHO1lBQ08sZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO1lBRTFDOzs7ZUFHRztZQUNPLE1BQU0sR0FBVyxTQUFTLENBQUM7WUFFckM7O2VBRUc7WUFDTyxPQUFPLEdBQVcsU0FBUyxDQUFDO1lBRXRDOztlQUVHO1lBQ08sbUJBQW1CLEdBQVcsY0FBYyxDQUFDO1lBRXZEOzs7ZUFHRztZQUNLLHVCQUF1QixHQUFhO2dCQUMxQyxrQ0FBa0M7Z0JBQ2xDLFNBQVM7YUFDVixDQUFDO1lBRUYsb0NBQW9DO1lBQzVCLE9BQU8sR0FBbUIsSUFBSSxDQUFDO1lBRS9CLGlCQUFpQjtnQkFDdkIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQWUsRUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLElBQUksR0FBRyxHQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLE9BQU87b0JBQ0wsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsT0FBTyxFQUFFLEdBQUc7b0JBQ1osS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7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
729
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29yZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkJBQWdDO0FBRWhDLDBDQUE0QjtBQUU1QixxREFBNkU7QUFDN0UsbUNBT2lCO0FBTWpCLElBQWlCLFdBQVcsQ0F5ekIzQjtBQXp6QkQsV0FBaUIsV0FBVztJQUFDLElBQUEsSUFBSSxDQXl6QmhDO0lBenpCNEIsV0FBQSxJQUFJO1FBRS9COzs7Ozs7Ozs7Ozs7OztXQWNHO1FBQ0gsTUFBYSxVQUFVO1lBRXJCOzs7O2VBSUc7WUFDTyxPQUFPLEdBQTRCLEVBQUUsQ0FBQztZQUVoRDs7ZUFFRztZQUNPLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztZQUUxQzs7O2VBR0c7WUFDTyxNQUFNLEdBQVcsU0FBUyxDQUFDO1lBRXJDOztlQUVHO1lBQ08sT0FBTyxHQUFXLFNBQVMsQ0FBQztZQUV0Qzs7ZUFFRztZQUNPLG1CQUFtQixHQUFXLGNBQWMsQ0FBQztZQUV2RDs7O2VBR0c7WUFDSyx1QkFBdUIsR0FBYTtnQkFDMUMsa0NBQWtDO2dCQUNsQyxTQUFTO2FBQ1YsQ0FBQztZQUVGLG9DQUFvQztZQUM1QixPQUFPLEdBQW1CLElBQUksQ0FBQztZQUUvQixpQkFBaUI7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFlLEVBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxJQUFJLEdBQUcsR0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxPQUFPO29CQUNMLEtBQUssRUFBRSxHQUFHO29CQUNWLE9BQU8sRUFBRSxHQUFHO29CQUNaLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBZSxFQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUMzRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDM0QsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3ZELElBQUksRUFBRSxDQUFDLEdBQUcsSUFBZSxFQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUN6RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDekQsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQzNELElBQUksRUFBRSxDQUFDLEdBQUcsSUFBZSxFQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUMxRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDM0QsTUFBTSxFQUFFLElBQUk7b0JBQ1osS0FBSyxFQUFFLEdBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2lCQUNuQyxDQUFDO1lBQ0osQ0FBQztZQUVEOzs7O2VBSUc7WUFDSCxJQUFjLE1BQU07Z0JBQ2xCLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7b0JBQ2pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQztvQkFDM0csTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO29CQUM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdkcsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsQ0FBQztnQkFDRCxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsR0FBbUMsQ0FBQztnQkFDL0QsSUFBSSxXQUFXLElBQUksT0FBTyxXQUFXLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUM3RCxPQUFPLFdBQXNCLENBQUM7Z0JBQ2hDLENBQUM7Z0JBQ0QscUdBQXFHO2dCQUNyRyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFPUyxpQkFBaUIsQ0FBQyxNQUFzQixFQUFFLFNBQTRCLEVBQUUsT0FBcUQ7Z0JBQ3JJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7b0JBQ2pDLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7Z0JBQ0QsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3BCLElBQUksT0FBTyxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRSxDQUFDO3dCQUNuQyxPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO29CQUNELEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDdkMsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFDRCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDdEMsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDaEMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQ7Z0JBQ0UsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVEOzs7ZUFHRztZQUNPLEtBQUssQ0FBQyxxQkFBcUI7Z0JBQ25DLGtDQUFrQztZQUNwQyxDQUFDO1lBRUQ7OztlQUdHO1lBQ08seUJBQXlCO2dCQUNqQyxrQ0FBa0M7WUFDcEMsQ0FBQztZQUVEOzs7O2VBSUc7WUFFSDs7Ozs7ZUFLRztZQUNJLE9BQU87Z0JBQ1osbURBQW1EO2dCQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUMzRSxNQUFNLGVBQWUsR0FBNEIsRUFBRSxDQUFDO2dCQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUErQixDQUFDO2dCQUVuRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN4QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdEMsOEJBQThCO29CQUM5QixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO3dCQUNsQywrRkFBK0Y7d0JBQy9GLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7NEJBQ3RELElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dDQUN6QixlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUksTUFBMEMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3ZGLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDOzRCQUN2QyxDQUFDO3dCQUNILENBQUM7NkJBQU0sQ0FBQzs0QkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsVUFBVSwrQ0FBK0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUNqSSxDQUFDO29CQUNILENBQUM7eUJBQU0sQ0FBQzt3QkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsVUFBVSx1QkFBdUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUN6RyxDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQztZQUVEOzs7O2VBSUc7WUFFSDs7Ozs7Ozs7Ozs7ZUFXRztZQUNPLGNBQWMsQ0FBQyxHQUFjLEVBQUUsR0FBYyxFQUFFLFFBQW9GLEVBQUUsVUFBbUMsRUFBRTtnQkFDbEwsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUVEOzs7O2VBSUc7WUFFSDs7Ozs7Ozs7ZUFRRztZQUNJLEtBQUssQ0FBQyxHQUFjLEVBQUUsR0FBYyxFQUFFLFFBQWlCLEVBQUUsV0FBb0MsRUFBRTtnQkFDcEcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFHTSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFZO2dCQUNwRSxJQUFJLFlBQVksR0FBa0IsSUFBSSxDQUFDO2dCQUV2Qyw4Q0FBOEM7Z0JBQzlDLE1BQU0sVUFBVSxHQUFXLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztnQkFDNUcsSUFBSSxJQUFBLGVBQVUsRUFBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUMzQixZQUFZLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztnQkFDdEQsQ0FBQztnQkFDRCxtRUFBbUU7Z0JBQ25FLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUMxQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7b0JBQzVGLElBQUksSUFBQSxlQUFVLEVBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQzt3QkFDNUIsWUFBWSxHQUFHLFVBQVUsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztvQkFDbEQsQ0FBQztnQkFDSCxDQUFDO2dCQUVELGlGQUFpRjtnQkFDakYsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLHlCQUF5QixHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7b0JBQ3JGLElBQUksSUFBQSxlQUFVLEVBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQzt3QkFDNUIsWUFBWSxHQUFHLGtCQUFrQixHQUFHLElBQUksQ0FBQztvQkFDM0MsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU8sWUFBWSxDQUFDO1lBQ3RCLENBQUM7WUFFTSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE1BQWM7Z0JBQ3hELElBQUksY0FBYyxHQUFrQixJQUFJLENBQUM7Z0JBRXpDLDhDQUE4QztnQkFDOUMsSUFBSSxZQUFZLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLG9CQUFvQixDQUFDO2dCQUM3RyxJQUFJLElBQUEsZUFBVSxFQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7b0JBQzdCLGNBQWMsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsbUVBQW1FO2dCQUNuRSxJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDNUIsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxhQUFhLENBQUM7b0JBQ2pGLElBQUksSUFBQSxlQUFVLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzt3QkFDN0IsY0FBYyxHQUFHLFdBQVcsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFDO29CQUNwRCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsaUZBQWlGO2dCQUNqRixJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDNUIsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLHlCQUF5QixHQUFHLFlBQVksQ0FBQztvQkFDL0UsSUFBSSxJQUFBLGVBQVUsRUFBQyxZQUFZLENBQUMsRUFBRSxDQUFDO3dCQUM3QixjQUFjLEdBQUcsd0JBQXdCLENBQUM7b0JBQzVDLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPLGNBQWMsQ0FBQztZQUN4QixDQUFDO1lBRU0sUUFBUSxDQUFDLEdBQWMsRUFBRSxHQUFjLEVBQUUsSUFBWSxFQUFFLFNBQWtDLEVBQUU7Z0JBRWhHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2pCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixDQUFDO2dCQUNELElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQy9CLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQztnQkFDRCxNQUFNLFdBQVcsR0FBNEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFpQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUV0SCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFXLENBQUM7Z0JBQ25ELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQVcsQ0FBQztnQkFFL0MsTUFBTSxZQUFZLEdBQWtCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNsRixNQUFNLGNBQWMsR0FBa0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFaEYscUNBQXFDO2dCQUNyQyxJQUFJLGNBQWMsS0FBSyxJQUFJLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO29CQUMvRCxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUM7Z0JBQ3JDLENBQUM7Z0JBRUQsMkNBQTJDO2dCQUMzQyxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDMUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ2pDLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCw4Q0FBOEM7Z0JBQzlDLHlEQUF5RDtnQkFDekQsV0FBVyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ3JCLFdBQVcsQ0FBQyxJQUErQixDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7Z0JBQ3ZFLFdBQVcsQ0FBQyxJQUErQixDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pELHdCQUF3QjtnQkFDeEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLEdBQUcsWUFBWSxDQUFDO2dCQUNyRSxXQUFXLENBQUMsMkJBQTJCLENBQUMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUV4RyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2hDLG9DQUFvQztnQkFDcEMsa0NBQWtDO2dCQUdsQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBRVMsWUFBWSxDQUFDLE1BQWdDO2dCQUNyRCxPQUFPLElBQUEsNEJBQWdCLEVBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFFUyxtQkFBbUIsQ0FBQyxTQUFtQixFQUFFLE1BQWdDO2dCQUNqRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXpELElBQUksQ0FBQyxpQkFBaUIsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDMUQsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7Z0JBRUQsT0FBTyxHQUFHLGlCQUFpQixNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQy9DLENBQUM7WUFFUyxTQUFTLENBQUMsR0FBVyxFQUFFLE1BQWdDO2dCQUMvRCxPQUFPLElBQUEsOEJBQWtCLEVBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFFUywwQkFBMEIsQ0FBQyxNQUFnQztnQkFDbkUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNaLE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDO2dCQUVELElBQUksT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN6QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2pELElBQUksZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDckIsT0FBTyxnQkFBZ0IsQ0FBQztvQkFDMUIsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sTUFBTSxDQUFDLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDL0YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNsQixPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQztnQkFFRCxNQUFNLGVBQWUsR0FBRyxJQUFBLDhCQUFrQixFQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakUsT0FBTyxlQUFlLElBQUksU0FBUyxDQUFDO1lBQ3RDLENBQUM7WUFFRDs7ZUFFRztZQUNJLE9BQU8sQ0FBQyxHQUFjLEVBQUUsR0FBYyxFQUFFLE1BQW1ELEVBQUUsUUFBcUQsRUFBRSxVQUFVLEdBQUcsS0FBSztnQkFDM0ssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDNUMsT0FBTyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixDQUFDO1lBQ0gsQ0FBQztZQUVTLE1BQU0sQ0FBQyxHQUFjO2dCQUM3QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxDQUFDO1lBQ2hELENBQUM7WUFFRDs7ZUFFRztZQUNPLE1BQU0sQ0FBQyxHQUFjLEVBQUUsR0FBYyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsT0FBZ0IsSUFBSSxFQUFFLFVBQVUsR0FBRyxLQUFLO2dCQUNqRyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDdkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkYsQ0FBQztZQUVEOztlQUVHO1lBQ08sUUFBUSxDQUFDLEdBQWMsRUFBRSxHQUFjLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxPQUFnQixJQUFJLEVBQUUsVUFBVSxHQUFHLEtBQUs7Z0JBQ25HLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUN4RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2RixDQUFDO1lBRUQ7O2VBRUc7WUFDTyxPQUFPLENBQUMsR0FBYyxFQUFFLEdBQWMsRUFBRSxVQUFVLEdBQUcsR0FBRyxFQUFFLGFBQWdDO2dCQUNsRyxNQUFNLGFBQWEsR0FBRyxDQUFDO3dCQUNyQixLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sSUFBSSx1QkFBdUI7d0JBQ3hELE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTztxQkFDL0IsQ0FBQyxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzRyxDQUFDO1lBRUQ7O2VBRUc7WUFDTyxVQUFVLENBQUMsR0FBYyxFQUFFLEdBQWMsRUFBRSxVQUFtQixJQUFJLEVBQUUsVUFBVSxHQUFHLEdBQUc7Z0JBQzVGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0csQ0FBQztZQUVEOztlQUVHO1lBQ08sVUFBVSxDQUFDLEdBQWMsRUFBRSxHQUFjLEVBQUUsVUFBbUIsSUFBSSxFQUFFLFVBQVUsR0FBRyxHQUFHO2dCQUM1RixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNHLENBQUM7WUFFRDs7ZUFFRztZQUNPLFdBQVcsQ0FBQyxHQUFjLEVBQUUsR0FBYyxFQUFFLFVBQW1CLElBQUksRUFBRSxVQUFvQjtnQkFDakcsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkYsQ0FBQztZQUVTLFVBQVUsQ0FBQyxRQUFnQjtnQkFDbkMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3BFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM3RCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQztZQUNILENBQUM7WUFFRDs7Ozs7O2VBTUc7WUFDSyxhQUFhLENBQUMsR0FBYztnQkFDbEMsTUFBTSxjQUFjLEdBQUcsa0JBQVUsQ0FBQyxXQUFXLENBQUM7Z0JBRTlDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQztnQkFDM0IsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUV2QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUM1QixNQUFNLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQztnQkFDekMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUUvQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7Z0JBQy9GLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFFckgsSUFBSSxPQUFPLElBQUksV0FBVyxJQUFJLE9BQU8sS0FBSyxXQUFXLEVBQUUsQ0FBQztvQkFDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsOENBQThDLE9BQU8sc0JBQXNCLFdBQVcsc0JBQXNCO3dCQUMxSCw4QkFBOEIsY0FBYyxJQUFJLENBQUMsQ0FBQztvQkFDcEQsT0FBTyxjQUFjLENBQUM7Z0JBQ3hCLENBQUM7Z0JBRUQsa0ZBQWtGO2dCQUNsRixNQUFNLE9BQU8sR0FBRyxXQUFXLElBQUksT0FBTyxJQUFJLGNBQWMsQ0FBQztnQkFFekQsTUFBTSxTQUFTLEdBQWEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBVSxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ2pDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLDZCQUE2QixPQUFPLDRDQUE0QyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO3dCQUN0SCw4QkFBOEIsY0FBYyxJQUFJLENBQUMsQ0FBQztvQkFDcEQsT0FBTyxjQUFjLENBQUM7Z0JBQ3hCLENBQUM7Z0JBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLE9BQU8sY0FBYyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDMUUsT0FBTyxPQUE0QixDQUFDO1lBQ3RDLENBQUM7WUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBd0JHO1lBQ08sUUFBUSxDQUFDLEdBQWMsRUFBRSxHQUFjLEVBQUUsYUFBaUM7Z0JBQ2xGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNDLDBEQUEwRDtnQkFDMUQsTUFBTSxFQUNKLE1BQU0sR0FBRyxNQUFNLEVBQ2YsSUFBSSxHQUFHLEVBQUUsRUFDVCxPQUFPLEdBQUcsRUFBRSxFQUNaLE1BQU0sR0FBRyxFQUFFLEVBQ1gsYUFBYSxHQUFHLEVBQUUsRUFDbEIsSUFBSSxHQUFHLEVBQUUsRUFDVCxFQUFFLEdBQUcsSUFBSSxHQUNWLEdBQUcsYUFBYSxJQUFJLEVBQUUsQ0FBQztnQkFDeEIsbUNBQW1DO2dCQUNuQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLGFBQWEsSUFBSSxFQUFFLENBQUM7Z0JBRTNDLDZDQUE2QztnQkFDN0MsTUFBTSxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3BHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFFcEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFdEMsbUZBQW1GO2dCQUNuRixJQUFJLFVBQVUsS0FBSyxrQkFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMxQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDN0csQ0FBQztnQkFFRCxJQUFJLFVBQVUsS0FBSyxrQkFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMxQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN6RyxDQUFDO2dCQUVELE1BQU0sZ0JBQWdCLEdBQUc7b0JBQ3ZCLFVBQVU7b0JBQ1YsT0FBTyxFQUFFO3dCQUNQLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTTt3QkFDbkIsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLFdBQVc7cUJBQ3BDO29CQUNELFFBQVEsRUFBRTt3QkFDUixNQUFNO3dCQUNOLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxJQUFJO3dCQUNKLEVBQUU7cUJBQ0g7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLGVBQWU7d0JBQ2Ysc0JBQXNCO3FCQUN2QjtpQkFDRixDQUFDO2dCQUNGLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEYsQ0FBQztZQUVPLG1CQUFtQixDQUFDLE1BQWUsRUFBRSxhQUFvQztnQkFDL0UsTUFBTSxFQUNKLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLGFBQWEsRUFBRSxzQkFBc0IsRUFDdEMsR0FBRyx5QkFBaUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUUzRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDekQsQ0FBQztnQkFFRCxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLENBQUM7WUFDckQsQ0FBQztZQUVPLG1CQUFtQixDQUFDLGVBQXdCLEVBQUUsc0JBQTZDO2dCQUNqRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdEUsc0ZBQXNGO29CQUN0RixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RSxDQUFDO2dCQUVELE1BQU0sU0FBUyxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkcsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLFNBQVMsUUFBUSxnQkFBZ0IsZUFBZSxDQUFDLENBQUM7WUFDbkYsQ0FBQztZQUVPLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxzQkFBNkM7Z0JBQ3pGLElBQUksY0FBYyxHQUFrQixNQUFNLENBQUM7Z0JBQzNDLElBQUksc0JBQXNCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUM7d0JBQ0gsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO3dCQUM5QixJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDOzRCQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO3dCQUN2QixDQUFDO3dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxzQkFBc0I7NkJBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs2QkFDekQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqQyxDQUFBO3dCQUNELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDeEIseUdBQXlHOzRCQUN6RywwRkFBMEY7NEJBQzFGLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7NEJBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0NBQ3JDLGNBQWMsR0FBRyxJQUFJLENBQUM7NEJBQ3hCLENBQUM7d0JBQ0gsQ0FBQztvQkFDSCxDQUFDO29CQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7d0JBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsc0NBQXNDLGNBQWMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO3dCQUNoRixjQUFjLEdBQUcsR0FBRyxDQUFDO29CQUN2QixDQUFDO29CQUVELCtEQUErRDtvQkFDL0QsSUFBSSxjQUFjLEtBQUssSUFBSSxJQUFJLGNBQWMsS0FBSyxTQUFTLElBQUksY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDO3dCQUNwRixjQUFjLEdBQUcsR0FBRyxDQUFDO29CQUN2QixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLGNBQWMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELE9BQU8sY0FBYyxDQUFDO1lBQ3hCLENBQUM7WUFFTyxvQkFBb0IsQ0FBQyxHQUFhLEVBQUUsT0FBK0I7Z0JBQ3pFLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1osR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbkIsQ0FBQztZQUNILENBQUM7WUFFTyxtQkFBbUIsQ0FBQyxHQUFhLEVBQUUsTUFBYztnQkFDdkQsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDOUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDckIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1lBRU8scUJBQXFCLENBQzNCLE1BQWMsRUFDZCxlQUF3QixFQUN4QixzQkFBNkMsRUFDN0MsTUFBYyxFQUNkLElBQWEsRUFDYixFQUFXLEVBQ1gsVUFBNkI7Z0JBRTdCLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO29CQUN0QixPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUNELElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksc0JBQXNCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNwRSxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUNELElBQUksTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzdFLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7Z0JBRUQsT0FBTyxDQUNMLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxDQUFDO29CQUNyQyxDQUNFLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO3dCQUM1RSxVQUFVLEtBQUssa0JBQVUsQ0FBQyxXQUFXLENBQ3RDLENBQ0YsQ0FBQztZQUNKLENBQUM7WUFFTyxlQUFlLENBQ3JCLEdBQWEsRUFDYixVQUE2QixFQUM3QixNQUFjLEVBQ2QsSUFBYSxFQUNiLElBQTZCLEVBQzdCLEVBQVc7Z0JBRVgsUUFBUSxVQUFVLEVBQUUsQ0FBQztvQkFDbkIsS0FBSyxrQkFBVSxDQUFDLFdBQVc7d0JBQ3pCLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHdCQUF3QixNQUFNLDZCQUE2QixDQUFDLENBQUM7d0JBQy9FLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBRTlDLEtBQUssa0JBQVUsQ0FBQyxXQUFXLENBQUM7b0JBQzVCO3dCQUNFLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHdCQUF3QixNQUFNLDZCQUE2QixDQUFDLENBQUM7d0JBQy9FLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDO1lBRU8sb0JBQW9CLENBQUMsc0JBQTZDO2dCQUN4RSxNQUFNLGFBQWEsR0FBRyxJQUFJLHdCQUFnQixFQUFFLENBQUM7Z0JBQzdDLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN4QyxNQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3JELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3BHLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO29CQUM3RCxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQzt3QkFDcEIsYUFBYSxDQUFDLE9BQU8sR0FBRyxLQUFLLElBQUksTUFBTSxJQUFJLG1CQUFtQixDQUFDO3dCQUMvRCxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQzs0QkFDcEIsYUFBYSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7d0JBQ2pDLENBQUM7b0JBQ0gsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLGFBQWEsQ0FBQyxPQUFPLEdBQUcseUJBQWlCLENBQUMsY0FBYyxDQUFDOzRCQUN2RCxDQUFDLEVBQUUsa0JBQWtCOzRCQUNyQixhQUFhLEVBQUUsc0JBQXNCO3lCQUN0QyxDQUFDLENBQUM7b0JBQ0wsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sYUFBYSxDQUFDLE9BQU8sR0FBRyx5QkFBaUIsQ0FBQyxjQUFjLENBQUM7d0JBQ3ZELENBQUMsRUFBRSxrQkFBa0I7d0JBQ3JCLGFBQWEsRUFBRSxzQkFBc0I7cUJBQ3RDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLENBQUM7WUFFTyxxQkFBcUIsQ0FBQyxzQkFBNkM7Z0JBQ3pFLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQztnQkFDL0IsT0FBTyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQy9DLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO29CQUN6RCxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDekQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBRTdELElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQzlCLEtBQUssR0FBRyxJQUFJLENBQUM7b0JBQ2YsQ0FBQztvQkFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO3dCQUNWLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoQyxDQUFDO29CQUNELElBQUksTUFBTSxFQUFFLENBQUM7d0JBQ1gsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2xDLENBQUM7b0JBQ0QsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVPLGdCQUFnQixDQUN0QixHQUFhLEVBQ2IsTUFBYyxFQUNkLE1BQWMsRUFDZCxlQUF3QixFQUN4QixzQkFBNkMsRUFDN0MsRUFBVyxFQUNYLElBQWEsRUFDYixJQUE2QjtnQkFFN0Isc0JBQXNCO2dCQUN0QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLGtCQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDMUgsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxrQkFBVSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkYsQ0FBQztnQkFFRCxvQkFBb0I7Z0JBQ3BCLElBQUksc0JBQXNCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN0QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDeEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLE1BQU0sdUNBQXVDLENBQUMsQ0FBQztvQkFDekYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNqQyxDQUFDO2dCQUVELG9DQUFvQztnQkFDcEMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLE1BQU0sNkJBQTZCLENBQUMsQ0FBQztvQkFDL0UsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QixDQUFDO2dCQUVELE1BQU0sZ0JBQWdCLEdBQUc7b0JBQ3ZCLFFBQVEsRUFBRTt3QkFDUixNQUFNO3dCQUNOLE1BQU07d0JBQ04sSUFBSTt3QkFDSixJQUFJO3dCQUNKLEVBQUU7cUJBQ0g7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLGVBQWU7d0JBQ2Ysc0JBQXNCO3FCQUN2QjtpQkFDRixDQUFDO2dCQUNGLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3RFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hHLENBQUM7WUFFTyxnQkFBZ0IsQ0FDdEIsR0FBYSxFQUNiLE1BQWMsRUFDZCxNQUFjLEVBQ2QsZUFBd0IsRUFDeEIsc0JBQTZDLEVBQzdDLElBQWEsRUFDYixJQUE2QjtnQkFFN0Isc0JBQXNCO2dCQUN0QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDNUgsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxrQkFBVSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDckYsQ0FBQztnQkFFRCxvQkFBb0I7Z0JBQ3BCLElBQUksc0JBQXNCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsTUFBTSw2QkFBNkIsQ0FBQyxDQUFDO29CQUMvRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDM0UsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLE1BQU0sdUNBQXVDLENBQUMsQ0FBQztvQkFDekYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDM0QsQ0FBQztnQkFFRCxNQUFNLGdCQUFnQixHQUFHO29CQUN2QixRQUFRLEVBQUU7d0JBQ1IsTUFBTTt3QkFDTixNQUFNO3dCQUNOLElBQUk7d0JBQ0osSUFBSTtxQkFDTDtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sZUFBZTt3QkFDZixzQkFBc0I7cUJBQ3ZCO2lCQUNGLENBQUM7Z0JBQ0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEcsQ0FBQztZQUVTLGlCQUFpQjtnQkFDekIsT0FBTztvQkFDTCxlQUFlLEVBQUUsbUJBQW1CO29CQUNwQyxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFLEdBQUc7aUJBQ2YsQ0FBQztZQUNKLENBQUM7WUFFTyxpQkFBaUIsQ0FBQyxJQUFlLEVBQUUsR0FBYztnQkFDdkQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRjtRQXZ5QlksZUFBVSxhQXV5QnRCLENBQUE7SUFDSCxDQUFDLEVBenpCNEIsSUFBSSxHQUFKLGdCQUFJLEtBQUosZ0JBQUksUUF5ekJoQztBQUFELENBQUMsRUF6ekJnQixXQUFXLDJCQUFYLFdBQVcsUUF5ekIzQiJ9
@@ -6,14 +6,17 @@ type DatastreamContent = {
6
6
  readstream?: NodeJS.ReadableStream;
7
7
  body?: Buffer | string;
8
8
  } & Record<string, unknown>;
9
+ export type DatastreamRequestContext = {
10
+ username?: string;
11
+ };
9
12
  export interface DatastreamService {
10
13
  addDatastreams(oid: string, datastreams: Datastream[]): Promise<DatastreamServiceResponse>;
11
14
  updateDatastream(oid: string, record: unknown, newMetadata: unknown, stagingDisk: StorageManagerServices.IDisk, fileIdsAdded: Datastream[]): Observable<Promise<unknown>[]>;
12
15
  removeDatastream(oid: string, datastream: Datastream): Promise<unknown>;
13
16
  addDatastream(oid: string, datastream: Datastream, stagingDisk?: StorageManagerServices.IDisk): Promise<unknown>;
14
17
  addAndRemoveDatastreams(oid: string, addDatastreams: Datastream[], removeDatastreams: Datastream[], stagingDisk?: StorageManagerServices.IDisk): Promise<unknown>;
15
- getDatastream(oid: string, fileId: string): Promise<DatastreamContent>;
16
- listDatastreams(oid: string, fileId: string): Promise<Record<string, unknown>[]>;
18
+ getDatastream(oid: string, fileId: string, requestContext?: DatastreamRequestContext): Promise<DatastreamContent>;
19
+ listDatastreams(oid: string, fileId: string, requestContext?: DatastreamRequestContext): Promise<Record<string, unknown>[]>;
17
20
  }
18
21
  export {};
19
22
  //# sourceMappingURL=DatastreamService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatastreamService.d.ts","sourceRoot":"","sources":["../src/DatastreamService.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE3F,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3F,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,sBAAsB,CAAC,KAAK,EACzC,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,uBAAuB,CACrB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,UAAU,EAAE,EAC5B,iBAAiB,EAAE,UAAU,EAAE,EAC/B,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GACzC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CAClF"}
1
+ {"version":3,"file":"DatastreamService.d.ts","sourceRoot":"","sources":["../src/DatastreamService.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE3F,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3F,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,sBAAsB,CAAC,KAAK,EACzC,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,uBAAuB,CACrB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,UAAU,EAAE,EAC5B,iBAAiB,EAAE,UAAU,EAAE,EAC/B,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GACzC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CAC7H"}
@@ -4,6 +4,6 @@
4
4
  export interface QueueService {
5
5
  every(jobName: string, interval: string, data: unknown, options: unknown): void;
6
6
  schedule(jobName: string, schedule: string, data: unknown): void;
7
- now(jobName: string, data: unknown): void;
7
+ now(jobName: string, data: unknown): Promise<unknown>;
8
8
  }
9
9
  //# sourceMappingURL=QueueService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueueService.d.ts","sourceRoot":"","sources":["../src/QueueService.ts"],"names":[],"mappings":"AAmBA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACjE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C"}
1
+ {"version":3,"file":"QueueService.d.ts","sourceRoot":"","sources":["../src/QueueService.ts"],"names":[],"mappings":"AAmBA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACjE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD"}
@@ -1,5 +1,7 @@
1
1
  import StorageServiceResponse from "./StorageServiceResponse";
2
+ import { DatastreamRequestContext } from './DatastreamService';
2
3
  import { RecordModel, UserModel } from "./model";
4
+ import { NormalizedRecordRelation } from "./config/recordtype.config";
3
5
  type AnyRecord = Record<string, unknown>;
4
6
  type RecordInput = RecordModel | Record<string, unknown>;
5
7
  type UserInput = UserModel | Record<string, unknown>;
@@ -16,6 +18,39 @@ export type ResolvedRecordPermissions = {
16
18
  editRoles: string[];
17
19
  viewRoles: string[];
18
20
  };
21
+ export interface RecordRelationshipExpandOptions {
22
+ depth?: number;
23
+ includeRecordTypes?: string[];
24
+ includeRelationIds?: string[];
25
+ fields?: 'summary' | 'full';
26
+ }
27
+ export interface RecordRelationshipEdge {
28
+ relationId: string;
29
+ label?: string;
30
+ sourceOid: string;
31
+ targetOid: string;
32
+ targetRecordType: string;
33
+ }
34
+ export interface RecordRelationshipGraph {
35
+ rootOid: string;
36
+ edges: RecordRelationshipEdge[];
37
+ relatedObjects: Record<string, unknown[]>;
38
+ omittedByAccess: Record<string, number>;
39
+ }
40
+ export interface LegacyRelatedRecordsResponse extends RecordRelationshipGraph {
41
+ processedRelationships: string[];
42
+ }
43
+ export interface RecordMetaWithRelationships {
44
+ metadata: RecordModel;
45
+ relationships: RecordRelationshipGraph;
46
+ }
47
+ export interface RecordTypeLookupSummary {
48
+ name: string;
49
+ packageType: string;
50
+ searchFilters: unknown[];
51
+ searchable: boolean;
52
+ relatedTo?: NormalizedRecordRelation[];
53
+ }
19
54
  /**
20
55
  * Service interface for Records operations.
21
56
  * Note: This interface uses `unknown` types extensively for backward compatibility.
@@ -32,7 +67,7 @@ export interface RecordsService {
32
67
  transitionWorkflowStepMetadata(currentRec: RecordInput, nextStep: AnyRecord): void;
33
68
  triggerPreSaveTransitionWorkflowTriggers(oid: string, record: RecordInput, recordType: Record<string, unknown>, nextStep: AnyRecord, user: Record<string, unknown>): Promise<RecordInput>;
34
69
  triggerPostSaveTransitionWorkflowTriggers(oid: string, record: RecordInput, recordType: unknown, nextStep: AnyRecord, user: Record<string, unknown>, response: unknown): unknown;
35
- getAttachments(oid: string, labelFilterStr?: string): Promise<Record<string, unknown>[]>;
70
+ getAttachments(oid: string, labelFilterStr?: string, requestContext?: DatastreamRequestContext): Promise<Record<string, unknown>[]>;
36
71
  getDeletedRecords(workflowState: unknown, recordType: unknown, start: unknown, rows: unknown, username: unknown, roles: AnyRecord[], brand: unknown, editAccessOnly: unknown, packageType: unknown, sort: unknown, fieldNames?: unknown, filterString?: unknown, filterMode?: unknown): Promise<StorageServiceResponse>;
37
72
  getRecords(workflowState: unknown, recordType: unknown, start: unknown, rows: unknown, username: unknown, roles: AnyRecord[], brand: unknown, editAccessOnly: unknown, packageType: unknown, sort: unknown, fieldNames?: unknown, filterString?: unknown, filterMode?: unknown, secondarySort?: unknown): Promise<StorageServiceResponse>;
38
73
  create(brand: unknown, record: RecordInput, recordType: unknown, user?: UserInput, triggerPreSaveTriggers?: boolean, triggerPostSaveTriggers?: boolean, targetStep?: unknown): Promise<StorageServiceResponse>;
@@ -43,7 +78,8 @@ export interface RecordsService {
43
78
  getResolvedPermissionsSummary(oid: string): Promise<ResolvedRecordPermissions>;
44
79
  restoreRecord(oid: unknown, user: UserInput): Promise<StorageServiceResponse>;
45
80
  getRecordAudit(params: unknown): Promise<Record<string, unknown>[]>;
46
- getRelatedRecords(oid: unknown, brand: unknown): Promise<unknown>;
81
+ getRelatedRecords(oid: unknown, brand: unknown, options?: RecordRelationshipExpandOptions): Promise<RecordRelationshipGraph>;
82
+ getMetaWithRelationships(oid: string, brand: unknown, options?: RecordRelationshipExpandOptions): Promise<RecordMetaWithRelationships>;
47
83
  exportAllPlans(username: unknown, roles: AnyRecord[], brand: unknown, format: unknown, modBefore: unknown, modAfter: unknown, recType: unknown): unknown;
48
84
  bootstrapData(): Promise<void>;
49
85
  checkRedboxRunning(): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordsService.d.ts","sourceRoot":"","sources":["../src/RecordsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordsService.d.ts","sourceRoot":"","sources":["../src/RecordsService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Readable } from 'stream';
2
2
  import { RecordModel } from './model';
3
3
  import { StorageServiceResponse } from './StorageServiceResponse';
4
+ import { RecordRelationshipExpandOptions, RecordRelationshipGraph } from './RecordsService';
4
5
  /**
5
6
  * Service interface for Storage operations.
6
7
  * Note: This interface uses `unknown` types extensively for backward compatibility.
@@ -12,7 +13,7 @@ export interface StorageService {
12
13
  getMeta(oid: unknown): Promise<RecordModel>;
13
14
  createBatch(type: unknown, data: unknown, harvestIdFldName: unknown): Promise<unknown>;
14
15
  provideUserAccessAndRemovePendingAccess(oid: unknown, userid: unknown, pendingValue: unknown): void;
15
- getRelatedRecords(oid: unknown, brand: unknown): Promise<unknown>;
16
+ getRelatedRecords(oid: unknown, brand: unknown, options?: RecordRelationshipExpandOptions): Promise<RecordRelationshipGraph>;
16
17
  delete(oid: unknown, permanentlyDelete: unknown): Promise<StorageServiceResponse>;
17
18
  updateNotificationLog(oid: unknown, record: unknown, options: unknown): Promise<unknown>;
18
19
  restoreRecord(oid: unknown): Promise<StorageServiceResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../src/StorageService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../src/StorageService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ApiRouteDefinition } from './types';
2
+ export interface ApiBlueprintBuildOptions {
3
+ branding?: string;
4
+ portal?: string;
5
+ }
6
+ export declare function buildApiBlueprint(routes: readonly ApiRouteDefinition[], options?: ApiBlueprintBuildOptions): string;
7
+ //# sourceMappingURL=apib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apib.d.ts","sourceRoot":"","sources":["../../src/api-routes/apib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAkBvH"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildApiBlueprint = buildApiBlueprint;
4
+ const helpers_1 = require("./helpers");
5
+ function toApibPath(path) {
6
+ return path
7
+ .replace(/:([A-Za-z0-9_]+)\*/g, '{$1}')
8
+ .replace(/:([A-Za-z0-9_]+)\?/g, '{$1}')
9
+ .replace(/:([A-Za-z0-9_]+)/g, '{$1}');
10
+ }
11
+ function specializeApibPath(path, options) {
12
+ const branding = options.branding?.trim();
13
+ const portal = options.portal?.trim();
14
+ if (!branding && !portal) {
15
+ return path;
16
+ }
17
+ const genericPrefix = '/{branding}/{portal}';
18
+ if (!path.startsWith(genericPrefix)) {
19
+ return path;
20
+ }
21
+ const specializedPrefix = `/${branding || '{branding}'}/${portal || '{portal}'}`;
22
+ return `${specializedPrefix}${path.slice(genericPrefix.length)}`;
23
+ }
24
+ function buildApiBlueprint(routes, options = {}) {
25
+ const lines = ['FORMAT: 1A', 'HOST: http://localhost'];
26
+ for (const route of (0, helpers_1.ensureUniqueApiRoutes)(routes, 'APIB blueprint')) {
27
+ lines.push('');
28
+ lines.push(`${route.method.toUpperCase()} ${specializeApibPath(toApibPath(route.path), options)}`);
29
+ if (route.summary) {
30
+ lines.push(`+ Summary: ${route.summary}`);
31
+ }
32
+ if (route.description) {
33
+ lines.push(`+ Description: ${route.description}`);
34
+ }
35
+ if (route.request?.files) {
36
+ for (const [name, constraint] of Object.entries(route.request.files)) {
37
+ lines.push(`+ File ${name}: ${(0, helpers_1.getFileConstraintDescription)(name, constraint)}`);
38
+ }
39
+ }
40
+ }
41
+ return lines.join('\n');
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGktcm91dGVzL2FwaWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQkEsOENBa0JDO0FBaERELHVDQUFnRjtBQU9oRixTQUFTLFVBQVUsQ0FBQyxJQUFZO0lBQzlCLE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUM7U0FDdEMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztTQUN0QyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBWSxFQUFFLE9BQWlDO0lBQ3pFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQUM7SUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksUUFBUSxJQUFJLFlBQVksSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7SUFDakYsT0FBTyxHQUFHLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7QUFDbkUsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLE1BQXFDLEVBQUUsVUFBb0MsRUFBRTtJQUM3RyxNQUFNLEtBQUssR0FBYSxDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2pFLEtBQUssTUFBTSxLQUFLLElBQUksSUFBQSwrQkFBcUIsRUFBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ3BFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDekIsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxLQUFLLElBQUEsc0NBQTRCLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import { ApiRouteDefinition } from './types';
2
+ export declare function defineApiRoute(route: ApiRouteDefinition): ApiRouteDefinition;
3
+ export declare function defineApiRoutes(routes: readonly ApiRouteDefinition[]): readonly ApiRouteDefinition[];
4
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/api-routes/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAsB5E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,kBAAkB,EAAE,CAEpG"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineApiRoute = defineApiRoute;
4
+ exports.defineApiRoutes = defineApiRoutes;
5
+ function defineApiRoute(route) {
6
+ return Object.freeze({
7
+ ...route,
8
+ tags: route.tags ? [...route.tags] : undefined,
9
+ security: route.security ? route.security.map(entry => ({ ...entry })) : undefined,
10
+ responses: route.responses ? { ...route.responses } : undefined,
11
+ request: route.request
12
+ ? {
13
+ ...route.request,
14
+ files: route.request.files ? { ...route.request.files } : undefined,
15
+ legacyParamFallbacks: route.request.legacyParamFallbacks
16
+ ? Object.fromEntries(Object.entries(route.request.legacyParamFallbacks).map(([fieldName, fallbacks]) => [
17
+ fieldName,
18
+ [...(fallbacks ?? [])],
19
+ ]))
20
+ : undefined,
21
+ }
22
+ : undefined,
23
+ extensions: route.extensions ? { ...route.extensions } : undefined,
24
+ });
25
+ }
26
+ function defineApiRoutes(routes) {
27
+ return routes.map(route => defineApiRoute(route));
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS1yb3V0ZXMvZGVmaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0NBc0JDO0FBRUQsMENBRUM7QUExQkQsU0FBZ0IsY0FBYyxDQUFDLEtBQXlCO0lBQ3RELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNuQixHQUFHLEtBQUs7UUFDUixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM5QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDbEYsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDL0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3BCLENBQUMsQ0FBQztnQkFDQSxHQUFHLEtBQUssQ0FBQyxPQUFPO2dCQUNoQixLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUNuRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtvQkFDdEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDakYsU0FBUzt3QkFDVCxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7cUJBQ3ZCLENBQUMsQ0FDSDtvQkFDRCxDQUFDLENBQUMsU0FBUzthQUNkO1lBQ0QsQ0FBQyxDQUFDLFNBQVM7UUFDYixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztLQUNuRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLE1BQXFDO0lBQ25FLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMifQ==
@@ -0,0 +1,6 @@
1
+ export declare const refreshCachedResourcesRoute: import("..").ApiRouteDefinition;
2
+ export declare const setAppConfigRoute: import("..").ApiRouteDefinition;
3
+ export declare const getAppConfigByKeyRoute: import("..").ApiRouteDefinition;
4
+ export declare const listAppConfigsRoute: import("..").ApiRouteDefinition;
5
+ export declare const adminApiRoutes: import("..").ApiRouteDefinition[];
6
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/api-routes/groups/admin.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,2BAA2B,iCAevC,CAAC;AAEF,eAAO,MAAM,iBAAiB,iCAkB7B,CAAC;AAEF,eAAO,MAAM,sBAAsB,iCAelC,CAAC;AAEF,eAAO,MAAM,mBAAmB,iCAe/B,CAAC;AACF,eAAO,MAAM,cAAc,mCAK1B,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminApiRoutes = exports.listAppConfigsRoute = exports.getAppConfigByKeyRoute = exports.setAppConfigRoute = exports.refreshCachedResourcesRoute = void 0;
4
+ const route_factory_1 = require("../route-factory");
5
+ const common_1 = require("../schemas/common");
6
+ const badRequestResponse = (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Bad request');
7
+ const internalServerErrorResponse = (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error');
8
+ exports.refreshCachedResourcesRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/admin/refreshCachedResources', 'webservice/AdminController', 'refreshCachedResources', {}, {
9
+ tags: ['Admin'],
10
+ summary: 'Refresh cached resources',
11
+ responses: {
12
+ 200: (0, common_1.responseField)(common_1.apiActionResponseSchema, 'Cached resources refreshed'),
13
+ 400: badRequestResponse,
14
+ 500: internalServerErrorResponse,
15
+ },
16
+ });
17
+ exports.setAppConfigRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/admin/config/:configKey', 'webservice/AdminController', 'setAppConfig', {
18
+ params: (0, common_1.objectField)({ configKey: (0, common_1.stringField)() }, ['configKey']),
19
+ body: { required: true, content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'Config payload', true) } } },
20
+ }, {
21
+ tags: ['Admin'],
22
+ summary: 'Set app config',
23
+ responses: {
24
+ 200: (0, common_1.responseField)(common_1.apiActionResponseSchema, 'App config updated'),
25
+ 400: badRequestResponse,
26
+ 500: internalServerErrorResponse,
27
+ },
28
+ });
29
+ exports.getAppConfigByKeyRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/admin/config/:configKey', 'webservice/AdminController', 'getAppConfig', { params: (0, common_1.objectField)({ configKey: (0, common_1.stringField)() }, ['configKey']) }, {
30
+ tags: ['Admin'],
31
+ summary: 'Get app config by key',
32
+ responses: {
33
+ 200: (0, common_1.responseField)(common_1.appConfigValueSchema, 'App config value'),
34
+ 400: badRequestResponse,
35
+ 500: internalServerErrorResponse,
36
+ },
37
+ });
38
+ exports.listAppConfigsRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/admin/config', 'webservice/AdminController', 'getAppConfig', {}, {
39
+ tags: ['Admin'],
40
+ summary: 'List app configs',
41
+ responses: {
42
+ 200: (0, common_1.responseField)(common_1.appConfigValueSchema, 'App config list'),
43
+ 400: badRequestResponse,
44
+ 500: internalServerErrorResponse,
45
+ },
46
+ });
47
+ exports.adminApiRoutes = [
48
+ exports.refreshCachedResourcesRoute,
49
+ exports.setAppConfigRoute,
50
+ exports.getAppConfigByKeyRoute,
51
+ exports.listAppConfigsRoute,
52
+ ];
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpLXJvdXRlcy9ncm91cHMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQTRDO0FBQzVDLDhDQUFtSjtBQUVuSixNQUFNLGtCQUFrQixHQUFHLElBQUEsc0JBQWEsRUFBQywrQkFBc0IsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNoRixNQUFNLDJCQUEyQixHQUFHLElBQUEsc0JBQWEsRUFBQywrQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBRXRGLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSx3QkFBUSxFQUNqRCxLQUFLLEVBQ0wscURBQXFELEVBQ3JELDRCQUE0QixFQUM1Qix3QkFBd0IsRUFDeEIsRUFBRSxFQUNGO0lBQ0UsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsT0FBTyxFQUFFLDBCQUEwQjtJQUNuQyxTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsSUFBQSxzQkFBYSxFQUFDLGdDQUF1QixFQUFFLDRCQUE0QixDQUFDO1FBQ3pFLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsR0FBRyxFQUFFLDJCQUEyQjtLQUNqQztDQUNGLENBQ0YsQ0FBQztBQUVXLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSx3QkFBUSxFQUN2QyxNQUFNLEVBQ04sZ0RBQWdELEVBQ2hELDRCQUE0QixFQUM1QixjQUFjLEVBQ2Q7SUFDRSxNQUFNLEVBQUUsSUFBQSxvQkFBVyxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUEsb0JBQVcsR0FBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUEsb0JBQVcsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRTtDQUNuSCxFQUNEO0lBQ0UsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsSUFBQSxzQkFBYSxFQUFDLGdDQUF1QixFQUFFLG9CQUFvQixDQUFDO1FBQ2pFLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsR0FBRyxFQUFFLDJCQUEyQjtLQUNqQztDQUNGLENBQ0YsQ0FBQztBQUVXLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSx3QkFBUSxFQUM1QyxLQUFLLEVBQ0wsZ0RBQWdELEVBQ2hELDRCQUE0QixFQUM1QixjQUFjLEVBQ2QsRUFBRSxNQUFNLEVBQUUsSUFBQSxvQkFBVyxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUEsb0JBQVcsR0FBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLEVBQ3BFO0lBQ0UsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsT0FBTyxFQUFFLHVCQUF1QjtJQUNoQyxTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsSUFBQSxzQkFBYSxFQUFDLDZCQUFvQixFQUFFLGtCQUFrQixDQUFDO1FBQzVELEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsR0FBRyxFQUFFLDJCQUEyQjtLQUNqQztDQUNGLENBQ0YsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsSUFBQSx3QkFBUSxFQUN6QyxLQUFLLEVBQ0wscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1QixjQUFjLEVBQ2QsRUFBRSxFQUNGO0lBQ0UsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsSUFBQSxzQkFBYSxFQUFDLDZCQUFvQixFQUFFLGlCQUFpQixDQUFDO1FBQzNELEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsR0FBRyxFQUFFLDJCQUEyQjtLQUNqQztDQUNGLENBQ0YsQ0FBQztBQUNXLFFBQUEsY0FBYyxHQUFHO0lBQzVCLG1DQUEyQjtJQUMzQix5QkFBaUI7SUFDakIsOEJBQXNCO0lBQ3RCLDJCQUFtQjtDQUNwQixDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ export declare const getAppConfigByIdRoute: import("..").ApiRouteDefinition;
2
+ export declare const saveAppConfigByIdRoute: import("..").ApiRouteDefinition;
3
+ export declare const appConfigApiRoutes: import("..").ApiRouteDefinition[];
4
+ //# sourceMappingURL=appconfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appconfig.d.ts","sourceRoot":"","sources":["../../../src/api-routes/groups/appconfig.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,iCAejC,CAAC;AAEF,eAAO,MAAM,sBAAsB,iCAqBlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,mCAAkD,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appConfigApiRoutes = exports.saveAppConfigByIdRoute = exports.getAppConfigByIdRoute = void 0;
4
+ const route_factory_1 = require("../route-factory");
5
+ const common_1 = require("../schemas/common");
6
+ const badRequestResponse = (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Bad request');
7
+ const internalServerErrorResponse = (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error');
8
+ exports.getAppConfigByIdRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/appconfig/:appConfigId', 'webservice/AppConfigController', 'getAppConfig', { params: (0, common_1.objectField)({ appConfigId: (0, common_1.stringField)() }, ['appConfigId']) }, {
9
+ tags: ['AppConfig'],
10
+ summary: 'Get app config',
11
+ responses: {
12
+ 200: (0, common_1.responseField)(common_1.appConfigValueSchema, 'App config'),
13
+ 400: badRequestResponse,
14
+ 500: internalServerErrorResponse,
15
+ },
16
+ });
17
+ exports.saveAppConfigByIdRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/appconfig/:appConfigId', 'webservice/AppConfigController', 'saveAppConfig', {
18
+ params: (0, common_1.objectField)({ appConfigId: (0, common_1.stringField)() }, ['appConfigId']),
19
+ body: {
20
+ required: true,
21
+ content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'App config payload', true) } },
22
+ },
23
+ }, {
24
+ tags: ['AppConfig'],
25
+ summary: 'Save app config',
26
+ responses: {
27
+ 200: (0, common_1.responseField)(common_1.appConfigValueSchema, 'App config saved'),
28
+ 400: badRequestResponse,
29
+ 500: internalServerErrorResponse,
30
+ },
31
+ });
32
+ exports.appConfigApiRoutes = [exports.getAppConfigByIdRoute, exports.saveAppConfigByIdRoute];
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1yb3V0ZXMvZ3JvdXBzL2FwcGNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBNEM7QUFDNUMsOENBQTBIO0FBRTFILE1BQU0sa0JBQWtCLEdBQUcsSUFBQSxzQkFBYSxFQUFDLCtCQUFzQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ2hGLE1BQU0sMkJBQTJCLEdBQUcsSUFBQSxzQkFBYSxFQUFDLCtCQUFzQixFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFFdEYsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLHdCQUFRLEVBQzNDLEtBQUssRUFDTCwrQ0FBK0MsRUFDL0MsZ0NBQWdDLEVBQ2hDLGNBQWMsRUFDZCxFQUFFLE1BQU0sRUFBRSxJQUFBLG9CQUFXLEVBQUMsRUFBRSxXQUFXLEVBQUUsSUFBQSxvQkFBVyxHQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsRUFDeEU7SUFDRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDbkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsSUFBQSxzQkFBYSxFQUFDLDZCQUFvQixFQUFFLFlBQVksQ0FBQztRQUN0RCxHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLEdBQUcsRUFBRSwyQkFBMkI7S0FDakM7Q0FDRixDQUNGLENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHLElBQUEsd0JBQVEsRUFDNUMsTUFBTSxFQUNOLCtDQUErQyxFQUMvQyxnQ0FBZ0MsRUFDaEMsZUFBZSxFQUNmO0lBQ0UsTUFBTSxFQUFFLElBQUEsb0JBQVcsRUFBQyxFQUFFLFdBQVcsRUFBRSxJQUFBLG9CQUFXLEdBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFBLG9CQUFXLEVBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0tBQzdGO0NBQ0YsRUFDRDtJQUNFLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUNuQixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFNBQVMsRUFBRTtRQUNULEdBQUcsRUFBRSxJQUFBLHNCQUFhLEVBQUMsNkJBQW9CLEVBQUUsa0JBQWtCLENBQUM7UUFDNUQsR0FBRyxFQUFFLGtCQUFrQjtRQUN2QixHQUFHLEVBQUUsMkJBQTJCO0tBQ2pDO0NBQ0YsQ0FDRixDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FBRyxDQUFDLDZCQUFxQixFQUFFLDhCQUFzQixDQUFDLENBQUMifQ==