@ndustrial/contxt-sdk 5.5.7 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/.nvmrc +1 -1
  2. package/eslint.config.mjs +44 -0
  3. package/esm/bus/channels.js +1883 -216
  4. package/esm/bus/channels.js.map +1 -1
  5. package/esm/bus/index.browser.js +218 -37
  6. package/esm/bus/index.browser.js.map +1 -1
  7. package/esm/bus/index.js +906 -94
  8. package/esm/bus/index.js.map +1 -1
  9. package/esm/bus/webSocketConnection.browser.js +86 -12
  10. package/esm/bus/webSocketConnection.browser.js.map +1 -1
  11. package/esm/bus/webSocketConnection.js +2464 -332
  12. package/esm/bus/webSocketConnection.js.map +1 -1
  13. package/esm/config/audiences.js +37 -1
  14. package/esm/config/audiences.js.map +1 -1
  15. package/esm/config/defaults.js +37 -1
  16. package/esm/config/defaults.js.map +1 -1
  17. package/esm/config/index.js +1622 -203
  18. package/esm/config/index.js.map +1 -1
  19. package/esm/coordinator/applications.js +1019 -172
  20. package/esm/coordinator/applications.js.map +1 -1
  21. package/esm/coordinator/consent.js +603 -76
  22. package/esm/coordinator/consent.js.map +1 -1
  23. package/esm/coordinator/edgeNodes.js +520 -40
  24. package/esm/coordinator/edgeNodes.js.map +1 -1
  25. package/esm/coordinator/index.js +811 -54
  26. package/esm/coordinator/index.js.map +1 -1
  27. package/esm/coordinator/organizations.js +533 -60
  28. package/esm/coordinator/organizations.js.map +1 -1
  29. package/esm/coordinator/permissions.js +914 -107
  30. package/esm/coordinator/permissions.js.map +1 -1
  31. package/esm/coordinator/roles.js +2146 -258
  32. package/esm/coordinator/roles.js.map +1 -1
  33. package/esm/coordinator/users.js +3427 -484
  34. package/esm/coordinator/users.js.map +1 -1
  35. package/esm/events/index.js +2301 -393
  36. package/esm/events/index.js.map +1 -1
  37. package/esm/files/index.js +2053 -410
  38. package/esm/files/index.js.map +1 -1
  39. package/esm/index.js +1002 -148
  40. package/esm/index.js.map +1 -1
  41. package/esm/iot/feedTypes.js +188 -25
  42. package/esm/iot/feedTypes.js.map +1 -1
  43. package/esm/iot/feeds.js +420 -59
  44. package/esm/iot/feeds.js.map +1 -1
  45. package/esm/iot/fieldCategories.js +1172 -195
  46. package/esm/iot/fieldCategories.js.map +1 -1
  47. package/esm/iot/fieldGroupings.js +1689 -255
  48. package/esm/iot/fieldGroupings.js.map +1 -1
  49. package/esm/iot/fields.js +254 -28
  50. package/esm/iot/fields.js.map +1 -1
  51. package/esm/iot/index.js +212 -34
  52. package/esm/iot/index.js.map +1 -1
  53. package/esm/iot/outputs.js +320 -31
  54. package/esm/iot/outputs.js.map +1 -1
  55. package/esm/nionic/index.js +1097 -97
  56. package/esm/nionic/index.js.map +1 -1
  57. package/esm/request.js +1313 -219
  58. package/esm/request.js.map +1 -1
  59. package/esm/sessionTypes/auth0WebAuth.js +3395 -409
  60. package/esm/sessionTypes/auth0WebAuth.js.map +1 -1
  61. package/esm/sessionTypes/index.js +213 -22
  62. package/esm/sessionTypes/index.js.map +1 -1
  63. package/esm/sessionTypes/machineAuth.js +1314 -144
  64. package/esm/sessionTypes/machineAuth.js.map +1 -1
  65. package/esm/sessionTypes/passwordGrantAuth.js +1060 -145
  66. package/esm/sessionTypes/passwordGrantAuth.js.map +1 -1
  67. package/esm/utils/events/formatEventUpdateToServer.js +107 -4
  68. package/esm/utils/events/formatEventUpdateToServer.js.map +1 -1
  69. package/esm/utils/events/index.js +54 -2
  70. package/esm/utils/events/index.js.map +1 -1
  71. package/esm/utils/iot/formatOutputFieldDataFromServer.js +227 -14
  72. package/esm/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  73. package/esm/utils/iot/index.js +56 -3
  74. package/esm/utils/iot/index.js.map +1 -1
  75. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js +207 -7
  76. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  77. package/esm/utils/objects/createCaseChangeFn.js +449 -18
  78. package/esm/utils/objects/createCaseChangeFn.js.map +1 -1
  79. package/esm/utils/objects/index.js +56 -3
  80. package/esm/utils/objects/index.js.map +1 -1
  81. package/esm/utils/objects/map.js +520 -26
  82. package/esm/utils/objects/map.js.map +1 -1
  83. package/esm/utils/objects/toCamelCase.js +39 -3
  84. package/esm/utils/objects/toCamelCase.js.map +1 -1
  85. package/esm/utils/objects/toSnakeCase.js +39 -3
  86. package/esm/utils/objects/toSnakeCase.js.map +1 -1
  87. package/esm/utils/pagination/formatPaginatedDataFromServer.js +268 -11
  88. package/esm/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  89. package/esm/utils/pagination/index.js +54 -2
  90. package/esm/utils/pagination/index.js.map +1 -1
  91. package/esm/utils/url/index.js +47 -2
  92. package/esm/utils/url/index.js.map +1 -1
  93. package/esm/utils/url/stringifyParams.js +176 -10
  94. package/esm/utils/url/stringifyParams.js.map +1 -1
  95. package/lib/bus/channels.js +1880 -223
  96. package/lib/bus/channels.js.map +1 -1
  97. package/lib/bus/index.browser.js +215 -43
  98. package/lib/bus/index.browser.js.map +1 -1
  99. package/lib/bus/index.js +903 -106
  100. package/lib/bus/index.js.map +1 -1
  101. package/lib/bus/webSocketConnection.browser.js +83 -15
  102. package/lib/bus/webSocketConnection.browser.js.map +1 -1
  103. package/lib/bus/webSocketConnection.js +2461 -339
  104. package/lib/bus/webSocketConnection.js.map +1 -1
  105. package/lib/config/audiences.js +33 -2
  106. package/lib/config/audiences.js.map +1 -1
  107. package/lib/config/defaults.js +33 -2
  108. package/lib/config/defaults.js.map +1 -1
  109. package/lib/config/index.js +1619 -212
  110. package/lib/config/index.js.map +1 -1
  111. package/lib/coordinator/applications.js +1016 -174
  112. package/lib/coordinator/applications.js.map +1 -1
  113. package/lib/coordinator/consent.js +600 -78
  114. package/lib/coordinator/consent.js.map +1 -1
  115. package/lib/coordinator/edgeNodes.js +517 -42
  116. package/lib/coordinator/edgeNodes.js.map +1 -1
  117. package/lib/coordinator/index.js +808 -78
  118. package/lib/coordinator/index.js.map +1 -1
  119. package/lib/coordinator/organizations.js +530 -62
  120. package/lib/coordinator/organizations.js.map +1 -1
  121. package/lib/coordinator/permissions.js +911 -109
  122. package/lib/coordinator/permissions.js.map +1 -1
  123. package/lib/coordinator/roles.js +2143 -260
  124. package/lib/coordinator/roles.js.map +1 -1
  125. package/lib/coordinator/users.js +3423 -489
  126. package/lib/coordinator/users.js.map +1 -1
  127. package/lib/events/index.js +2297 -404
  128. package/lib/events/index.js.map +1 -1
  129. package/lib/files/index.js +2050 -418
  130. package/lib/files/index.js.map +1 -1
  131. package/lib/index.js +999 -183
  132. package/lib/index.js.map +1 -1
  133. package/lib/iot/feedTypes.js +185 -27
  134. package/lib/iot/feedTypes.js.map +1 -1
  135. package/lib/iot/feeds.js +417 -61
  136. package/lib/iot/feeds.js.map +1 -1
  137. package/lib/iot/fieldCategories.js +1169 -203
  138. package/lib/iot/fieldCategories.js.map +1 -1
  139. package/lib/iot/fieldGroupings.js +1686 -263
  140. package/lib/iot/fieldGroupings.js.map +1 -1
  141. package/lib/iot/fields.js +251 -30
  142. package/lib/iot/fields.js.map +1 -1
  143. package/lib/iot/index.js +209 -55
  144. package/lib/iot/index.js.map +1 -1
  145. package/lib/iot/outputs.js +317 -34
  146. package/lib/iot/outputs.js.map +1 -1
  147. package/lib/nionic/index.js +1094 -98
  148. package/lib/nionic/index.js.map +1 -1
  149. package/lib/request.js +1310 -226
  150. package/lib/request.js.map +1 -1
  151. package/lib/sessionTypes/auth0WebAuth.js +3391 -421
  152. package/lib/sessionTypes/auth0WebAuth.js.map +1 -1
  153. package/lib/sessionTypes/index.js +209 -26
  154. package/lib/sessionTypes/index.js.map +1 -1
  155. package/lib/sessionTypes/machineAuth.js +1311 -151
  156. package/lib/sessionTypes/machineAuth.js.map +1 -1
  157. package/lib/sessionTypes/passwordGrantAuth.js +1057 -156
  158. package/lib/sessionTypes/passwordGrantAuth.js.map +1 -1
  159. package/lib/utils/events/formatEventUpdateToServer.js +102 -4
  160. package/lib/utils/events/formatEventUpdateToServer.js.map +1 -1
  161. package/lib/utils/events/index.js +51 -10
  162. package/lib/utils/events/index.js.map +1 -1
  163. package/lib/utils/iot/formatOutputFieldDataFromServer.js +224 -18
  164. package/lib/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  165. package/lib/utils/iot/index.js +53 -15
  166. package/lib/utils/iot/index.js.map +1 -1
  167. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js +203 -13
  168. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  169. package/lib/utils/objects/createCaseChangeFn.js +446 -25
  170. package/lib/utils/objects/createCaseChangeFn.js.map +1 -1
  171. package/lib/utils/objects/index.js +53 -15
  172. package/lib/utils/objects/index.js.map +1 -1
  173. package/lib/utils/objects/map.js +517 -33
  174. package/lib/utils/objects/map.js.map +1 -1
  175. package/lib/utils/objects/toCamelCase.js +36 -11
  176. package/lib/utils/objects/toCamelCase.js.map +1 -1
  177. package/lib/utils/objects/toSnakeCase.js +36 -11
  178. package/lib/utils/objects/toSnakeCase.js.map +1 -1
  179. package/lib/utils/pagination/formatPaginatedDataFromServer.js +265 -14
  180. package/lib/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  181. package/lib/utils/pagination/index.js +51 -10
  182. package/lib/utils/pagination/index.js.map +1 -1
  183. package/lib/utils/url/index.js +44 -7
  184. package/lib/utils/url/index.js.map +1 -1
  185. package/lib/utils/url/stringifyParams.js +172 -18
  186. package/lib/utils/url/stringifyParams.js.map +1 -1
  187. package/package.json +32 -36
  188. package/src/bus/channels.js +6 -6
  189. package/src/bus/channels.spec.js +1 -1
  190. package/src/coordinator/applications.js +7 -7
  191. package/src/coordinator/applications.spec.js +1 -1
  192. package/src/coordinator/consent.js +3 -3
  193. package/src/coordinator/edgeNodes.js +3 -3
  194. package/src/coordinator/edgeNodes.spec.js +1 -1
  195. package/src/coordinator/organizations.js +4 -4
  196. package/src/coordinator/organizations.spec.js +1 -1
  197. package/src/coordinator/permissions.js +6 -6
  198. package/src/coordinator/permissions.spec.js +1 -1
  199. package/src/coordinator/roles.js +9 -9
  200. package/src/coordinator/roles.spec.js +1 -1
  201. package/src/coordinator/users.js +13 -13
  202. package/src/coordinator/users.spec.js +294 -294
  203. package/src/events/index.js +18 -18
  204. package/src/events/index.spec.js +3 -3
  205. package/src/files/index.js +9 -9
  206. package/src/files/index.spec.js +2 -2
  207. package/src/index.js +3 -1
  208. package/src/iot/feedTypes.js +2 -2
  209. package/src/iot/feeds.js +4 -4
  210. package/src/iot/feeds.spec.js +1 -1
  211. package/src/iot/fieldCategories.js +10 -10
  212. package/src/iot/fieldCategories.spec.js +2 -2
  213. package/src/iot/fieldGroupings.js +10 -10
  214. package/src/iot/fieldGroupings.spec.js +2 -2
  215. package/src/iot/fields.js +2 -2
  216. package/src/iot/fields.spec.js +1 -1
  217. package/src/iot/outputs.js +2 -2
  218. package/src/iot/outputs.spec.js +1 -1
  219. package/src/sessionTypes/auth0WebAuth.spec.js +1 -1
  220. package/src/utils/events/index.js +2 -1
  221. package/src/utils/iot/formatOutputFieldDataFromServer.js +5 -5
  222. package/src/utils/iot/formatOutputFieldDataFromServer.spec.js +2 -2
  223. package/src/utils/iot/index.js +2 -1
  224. package/src/utils/iot/parseOutputFieldNextPageUrlMetadata.js +3 -1
  225. package/src/utils/objects/index.js +2 -1
  226. package/src/utils/pagination/formatPaginatedDataFromServer.js +3 -3
  227. package/src/utils/pagination/formatPaginatedDataFromServer.spec.js +1 -1
  228. package/src/utils/pagination/index.js +2 -1
  229. package/support/mocharc.yml +1 -1
  230. package/.eslintrc +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["files/index.js"],"names":["Files","sdk","request","baseUrl","config","audiences","files","host","_baseUrl","_request","_sdk","fileInfo","requiredFields","i","length","Promise","reject","Error","post","then","upload_info","createdFile","uploadInfo","deep","excludeTransform","_generateError","message","stage","data","metadata","create","catch","originalError","resolve","upload","headers","url","setUploadFailed","id","setUploadComplete","get","fileId","delete","file","filesFilters","params","assetsData","axios","put","artifacts","errorMsg","Object","assign"],"mappings":"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","file":"index.js","sourcesContent":["import axios from 'axios';\nimport { toCamelCase, toSnakeCase } from '../utils/objects';\nimport { formatPaginatedDataFromServer } from '../utils/pagination';\n\n/**\n * @typedef {Object} File\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Object} FileWithUploadInformation\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file\n * belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n * @property {Object} uploadInfo Information related to the uploading the\n * underlying file\n * @property {string} uploadInfo.expiresAt A ISO 8601 Extended format date/time\n * string indicating when the validity of the included URL expires\n * @property {Object.<string, string>} uploadInfo.headers to be appended to the\n * request when uploading the file. The key is the header name and the value\n * is the included value.\n * @property {string} uploadInfo.method The HTTP method to be used when\n * uploading the file.\n * @property {string} uploadInfo.url The URL to be used when uploading the file.\n */\n\n/**\n * @typedef {Object} FilesFromServer\n * @property {Object} _metadata Metadata about the pagination settings\n * @property {number} _metadata.offset Offset of records in subsequent queries\n * @property {number} _metadata.totalRecords Total number of files found\n * @property {File[]} records\n */\n\n/**\n * @typedef {Object} FileToDownload\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {Object} downloadInfo\n * @property {string} downloadInfo.attachmentUrl A URL that can be used to download the file from the external storage\n * @property {string} downloadInfo.expiresAt ISO 8601 Extended Format date/time indicating when the attachement and inline URLs expire\n * @property {string} downloadInfo.inlineUrl A URL that can be used for embedding the file into a page\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Error} FileError An error returned while creating and uploading an\n * individual file\n * @property {Object} artifacts Records that may have been created while\n * creating and uploading a file. Can be used to pick up the process manually\n * or clean up before trying again.\n * @property {Object} [artifacts.file] A created File artifact\n * @property {Error} originalError The original error object that can be used\n * for additional debugging purposes\n * @property {string} stage A string describing in what stage of the create and\n * upload process the failure occurred. Possible choices are:\n * - create (failed while creating the initial file record)\n * - upload (failed while uploading the actual file for storage)\n * - statusUpdate (failed while updating the upload status for the file record)\n * - get (failed at the end while getting an updated file record)\n */\n\n/**\n * Module that provides access to information about Files.\n * More information about the best way to use this module is available at:\n * https://contxt.readme.io/reference#files-overview\n *\n * @typicalname contxtSdk.files\n */\nclass Files {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n */\n constructor(sdk, request) {\n const baseUrl = `${sdk.config.audiences.files.host}/v1`;\n\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Creates a file record.\n *\n * API Endpoint: '/files'\n * Method: POST\n *\n * @param {Object} fileInfo Metadata about the file\n * @param {string} fileInfo.contentType The MIME type\n * @param {string} [fileInfo.description] A short description\n * @param {string} fileInfo.filename The filename\n * @param {string} fileInfo.organizationId The organization ID to which the\n * file belongs\n *\n * @returns {Promise}\n * @fulfill {FileWithUploadInformation}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .create({\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename: 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n create(fileInfo) {\n const requiredFields = ['contentType', 'filename', 'organizationId'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to create a file`)\n );\n }\n }\n\n return this._request\n .post(`${this._baseUrl}/files`, toSnakeCase(fileInfo))\n .then(({ upload_info, ...createdFile }) => {\n return {\n ...toCamelCase(createdFile),\n uploadInfo: toCamelCase(upload_info, {\n deep: false,\n excludeTransform: ['headers']\n })\n };\n });\n }\n\n /**\n * A procedural method that takes care of:\n * 1. Creating a file record\n * 2. Uploading the file from information returned when creating the file\n * record\n * 3. Updating the file record's status to indicate if the upload was\n * successful or a failure\n * 4. Returning an updated copy of the file record OR an error indicating\n * what failed, when it failed, and potentially, why it failed\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The actual data of the file.\n * @param {Object} fileInfo.metadata Metadata about the file to be uploaded\n * @param {string} fileInfo.metadata.contentType The MIME type\n * @param {string} [fileInfo.metadata.description] A short description\n * @param {string} fileInfo.metadata.filename The filename\n * @param {string} fileInfo.metadata.organizationId The organization ID to which the file belongs\n *\n * @returns {Promise}\n * @fulfill {File}\n * @rejects {FileError}\n *\n * @example\n * contxtSdk\n * .createAndUpload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * metadata: {\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename:\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * }\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n createAndUpload(fileInfo) {\n const requiredFields = ['data', 'metadata'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n this._generateError({\n message: `A \\`${\n requiredFields[i]\n }\\` field is required to create and upload a file`,\n stage: 'validation'\n })\n );\n }\n }\n\n const { data, metadata } = fileInfo;\n\n return this.create(metadata)\n .catch((originalError) => {\n throw this._generateError({\n originalError,\n message: 'There was a problem creating the file. Please try again.',\n stage: 'create'\n });\n })\n .then(({ uploadInfo, ...createdFile }) => {\n return Promise.resolve()\n .then(() => {\n return this.upload({\n data,\n headers: uploadInfo.headers,\n url: uploadInfo.url\n }).catch((originalError) => {\n this.setUploadFailed(createdFile.id);\n\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem uploading the file. Please try again.',\n stage: 'upload'\n });\n });\n })\n .then(() => {\n return this.setUploadComplete(createdFile.id).catch(\n (originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem updating the file status. Please try again.',\n stage: 'statusUpdate'\n });\n }\n );\n })\n .then(() => {\n return this.get(createdFile.id).catch((originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem getting updated information about the file. Please try again.',\n stage: 'get'\n });\n });\n });\n });\n }\n\n /**\n * Deletes a file and associated file actions.\n *\n * API Endpoint: '/files/:fileId'\n * Method: DELETE\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files.delete('8704f900-28f2-4951-aaf0-1827fcd0b0cb');\n */\n delete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to delete a file')\n );\n }\n\n return this._request.delete(`${this._baseUrl}/files/${fileId}`);\n }\n\n /**\n * Gets a temporary URL for the file.\n *\n * API Endpoint: '/files/:fileId/download'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {FileToDownload} Information needed to download the file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .download('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n download(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for downloading a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}/download`)\n .then((file) => toCamelCase(file));\n }\n\n /**\n * Gets metadata about a file. This does not return the actual file.\n *\n * API Endpoint: '/files/:fileId'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {File} Information about a file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .get('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n get(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for getting information about a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}`)\n .then((file) => toCamelCase(file));\n }\n\n /**\n * Gets a paginated list of files and their metadata. This does not return\n * the actual files.\n *\n * API Endpoint: '/files'\n * Method: GET\n *\n * @param {Object} [filesFilters]\n * @param {Number} [filesFilters.limit = 100] Maximum number of records to return per query\n * @param {Number} [filesFilters.offset = 0] How many records from the first record to start the query\n * @param {String} [filesFilters.orderBy = 'createdAt'] How many records from the first record to start the query\n * @param {Boolean} [filesFilters.reverseOrder = false] Determine the results should be sorted in reverse (ascending) order\n * @param {String} [filesFilters.status = 'ACTIVE'] Filter by a file's current status\n *\n * @returns {Promise}\n * @fulfill {FilesFromServer} Information about the files\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .getAll()\n * .then((files) => console.log(files))\n * .catch((err) => console.log(err));\n */\n getAll(filesFilters) {\n return this._request\n .get(`${this._baseUrl}/files`, {\n params: toSnakeCase(filesFilters)\n })\n .then((assetsData) => formatPaginatedDataFromServer(assetsData));\n }\n\n /**\n * Updates the upload status of a file to indicate the upload is complete.\n *\n * API Endpoint: '/files/:fileId/complete'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadComplete('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadComplete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as complete')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/complete`);\n }\n\n /**\n * Updates the upload status of a file to indicate the upload has failed.\n *\n * API Endpoint: '/files/:fileId/failed'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadFailed('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadFailed(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as failed')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/failed`);\n }\n\n /**\n * Uploads a file to the provided URL. The URL and the headers should be\n * sourced from the response when initially creating a File record.\n *\n * Method: PUT\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The data to be\n * uploaded\n * @param {Object.<string, string>} [fileInfo.headers] Headers to be appended\n * to the request. The key is the header name and the value is the included\n * value\n * @param {String} fileInfo.url The URL to use for the request\n *\n * @returns {Promise}\n * @fulfill {Object}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .upload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * headers: {\n * 'Content-Type': 'application/pdf'\n * },\n * url:\n * 'https://files.ndustrial.example.org/hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * })\n * .catch((err) => console.log(err));\n */\n upload(fileInfo) {\n const requiredFields = ['data', 'url'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to upload a file`)\n );\n }\n }\n\n const { data, headers, url } = fileInfo;\n\n return axios.put(url, data, { headers });\n }\n\n /**\n * Generates a consistent error message with information needed to debug why\n * creating and uploading a file may have failed.\n *\n * @param {Object} errorInfo\n * @param {Object} [errorInfo.createdFile] An object containing information\n * about a created created by Files#create\n * @param {string} [errorInfo.message] The message to be applied to the new\n * Error\n * @param {Error} errorInfo.originalError The original error that was thrown\n * that will be included in the new Error's body\n * @param {string} errorInfo.stage A string describing in what stage of the\n * create and upload process the failure occurred\n *\n * @returns {FileError}\n *\n * @private\n */\n _generateError({ createdFile, message, originalError, stage }) {\n const artifacts = {};\n const errorMsg = message || originalError.message;\n\n if (createdFile) {\n artifacts.file = createdFile;\n }\n\n return Object.assign(new Error(errorMsg), {\n artifacts,\n originalError,\n stage\n });\n }\n}\n\nexport default Files;\n"]}
1
+ {"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_objects","_pagination","_excluded","_excluded2","e","__esModule","default","cov_2kycc8t3qm","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","includes","propertyIsEnumerable","n","hasOwnProperty","Files","constructor","sdk","request","baseUrl","config","audiences","files","host","_baseUrl","_request","_sdk","create","fileInfo","requiredFields","Promise","reject","Error","post","ObjectUtils","toSnakeCase","then","_ref","upload_info","createdFile","toCamelCase","uploadInfo","deep","excludeTransform","createAndUpload","_generateError","message","stage","_ref2","data","metadata","catch","originalError","_ref3","resolve","upload","headers","url","setUploadFailed","id","setUploadComplete","get","delete","fileId","download","file","getAll","filesFilters","params","assetsData","PaginationUtils","formatPaginatedDataFromServer","_ref4","axios","put","_ref5","artifacts","errorMsg","assign","_default","exports"],"sources":["files/index.js"],"sourcesContent":["import axios from 'axios';\nimport ObjectUtils from '../utils/objects';\nimport PaginationUtils from '../utils/pagination';\n\n/**\n * @typedef {Object} File\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Object} FileWithUploadInformation\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file\n * belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n * @property {Object} uploadInfo Information related to the uploading the\n * underlying file\n * @property {string} uploadInfo.expiresAt A ISO 8601 Extended format date/time\n * string indicating when the validity of the included URL expires\n * @property {Object.<string, string>} uploadInfo.headers to be appended to the\n * request when uploading the file. The key is the header name and the value\n * is the included value.\n * @property {string} uploadInfo.method The HTTP method to be used when\n * uploading the file.\n * @property {string} uploadInfo.url The URL to be used when uploading the file.\n */\n\n/**\n * @typedef {Object} FilesFromServer\n * @property {Object} _metadata Metadata about the pagination settings\n * @property {number} _metadata.offset Offset of records in subsequent queries\n * @property {number} _metadata.totalRecords Total number of files found\n * @property {File[]} records\n */\n\n/**\n * @typedef {Object} FileToDownload\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {Object} downloadInfo\n * @property {string} downloadInfo.attachmentUrl A URL that can be used to download the file from the external storage\n * @property {string} downloadInfo.expiresAt ISO 8601 Extended Format date/time indicating when the attachement and inline URLs expire\n * @property {string} downloadInfo.inlineUrl A URL that can be used for embedding the file into a page\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Error} FileError An error returned while creating and uploading an\n * individual file\n * @property {Object} artifacts Records that may have been created while\n * creating and uploading a file. Can be used to pick up the process manually\n * or clean up before trying again.\n * @property {Object} [artifacts.file] A created File artifact\n * @property {Error} originalError The original error object that can be used\n * for additional debugging purposes\n * @property {string} stage A string describing in what stage of the create and\n * upload process the failure occurred. Possible choices are:\n * - create (failed while creating the initial file record)\n * - upload (failed while uploading the actual file for storage)\n * - statusUpdate (failed while updating the upload status for the file record)\n * - get (failed at the end while getting an updated file record)\n */\n\n/**\n * Module that provides access to information about Files.\n * More information about the best way to use this module is available at:\n * https://contxt.readme.io/reference#files-overview\n *\n * @typicalname contxtSdk.files\n */\nclass Files {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n */\n constructor(sdk, request) {\n const baseUrl = `${sdk.config.audiences.files.host}/v1`;\n\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Creates a file record.\n *\n * API Endpoint: '/files'\n * Method: POST\n *\n * @param {Object} fileInfo Metadata about the file\n * @param {string} fileInfo.contentType The MIME type\n * @param {string} [fileInfo.description] A short description\n * @param {string} fileInfo.filename The filename\n * @param {string} fileInfo.organizationId The organization ID to which the\n * file belongs\n *\n * @returns {Promise}\n * @fulfill {FileWithUploadInformation}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .create({\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename: 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n create(fileInfo) {\n const requiredFields = ['contentType', 'filename', 'organizationId'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to create a file`)\n );\n }\n }\n\n return this._request\n .post(`${this._baseUrl}/files`, ObjectUtils.toSnakeCase(fileInfo))\n .then(({ upload_info, ...createdFile }) => {\n return {\n ...ObjectUtils.toCamelCase(createdFile),\n uploadInfo: ObjectUtils.toCamelCase(upload_info, {\n deep: false,\n excludeTransform: ['headers']\n })\n };\n });\n }\n\n /**\n * A procedural method that takes care of:\n * 1. Creating a file record\n * 2. Uploading the file from information returned when creating the file\n * record\n * 3. Updating the file record's status to indicate if the upload was\n * successful or a failure\n * 4. Returning an updated copy of the file record OR an error indicating\n * what failed, when it failed, and potentially, why it failed\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The actual data of the file.\n * @param {Object} fileInfo.metadata Metadata about the file to be uploaded\n * @param {string} fileInfo.metadata.contentType The MIME type\n * @param {string} [fileInfo.metadata.description] A short description\n * @param {string} fileInfo.metadata.filename The filename\n * @param {string} fileInfo.metadata.organizationId The organization ID to which the file belongs\n *\n * @returns {Promise}\n * @fulfill {File}\n * @rejects {FileError}\n *\n * @example\n * contxtSdk\n * .createAndUpload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * metadata: {\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename:\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * }\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n createAndUpload(fileInfo) {\n const requiredFields = ['data', 'metadata'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n this._generateError({\n message: `A \\`${\n requiredFields[i]\n }\\` field is required to create and upload a file`,\n stage: 'validation'\n })\n );\n }\n }\n\n const { data, metadata } = fileInfo;\n\n return this.create(metadata)\n .catch((originalError) => {\n throw this._generateError({\n originalError,\n message: 'There was a problem creating the file. Please try again.',\n stage: 'create'\n });\n })\n .then(({ uploadInfo, ...createdFile }) => {\n return Promise.resolve()\n .then(() => {\n return this.upload({\n data,\n headers: uploadInfo.headers,\n url: uploadInfo.url\n }).catch((originalError) => {\n this.setUploadFailed(createdFile.id);\n\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem uploading the file. Please try again.',\n stage: 'upload'\n });\n });\n })\n .then(() => {\n return this.setUploadComplete(createdFile.id).catch(\n (originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem updating the file status. Please try again.',\n stage: 'statusUpdate'\n });\n }\n );\n })\n .then(() => {\n return this.get(createdFile.id).catch((originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem getting updated information about the file. Please try again.',\n stage: 'get'\n });\n });\n });\n });\n }\n\n /**\n * Deletes a file and associated file actions.\n *\n * API Endpoint: '/files/:fileId'\n * Method: DELETE\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files.delete('8704f900-28f2-4951-aaf0-1827fcd0b0cb');\n */\n delete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to delete a file')\n );\n }\n\n return this._request.delete(`${this._baseUrl}/files/${fileId}`);\n }\n\n /**\n * Gets a temporary URL for the file.\n *\n * API Endpoint: '/files/:fileId/download'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {FileToDownload} Information needed to download the file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .download('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n download(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for downloading a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}/download`)\n .then((file) => ObjectUtils.toCamelCase(file));\n }\n\n /**\n * Gets metadata about a file. This does not return the actual file.\n *\n * API Endpoint: '/files/:fileId'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {File} Information about a file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .get('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n get(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for getting information about a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}`)\n .then((file) => ObjectUtils.toCamelCase(file));\n }\n\n /**\n * Gets a paginated list of files and their metadata. This does not return\n * the actual files.\n *\n * API Endpoint: '/files'\n * Method: GET\n *\n * @param {Object} [filesFilters]\n * @param {Number} [filesFilters.limit = 100] Maximum number of records to return per query\n * @param {Number} [filesFilters.offset = 0] How many records from the first record to start the query\n * @param {String} [filesFilters.orderBy = 'createdAt'] How many records from the first record to start the query\n * @param {Boolean} [filesFilters.reverseOrder = false] Determine the results should be sorted in reverse (ascending) order\n * @param {String} [filesFilters.status = 'ACTIVE'] Filter by a file's current status\n *\n * @returns {Promise}\n * @fulfill {FilesFromServer} Information about the files\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .getAll()\n * .then((files) => console.log(files))\n * .catch((err) => console.log(err));\n */\n getAll(filesFilters) {\n return this._request\n .get(`${this._baseUrl}/files`, {\n params: ObjectUtils.toSnakeCase(filesFilters)\n })\n .then((assetsData) => PaginationUtils.formatPaginatedDataFromServer(assetsData));\n }\n\n /**\n * Updates the upload status of a file to indicate the upload is complete.\n *\n * API Endpoint: '/files/:fileId/complete'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadComplete('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadComplete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as complete')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/complete`);\n }\n\n /**\n * Updates the upload status of a file to indicate the upload has failed.\n *\n * API Endpoint: '/files/:fileId/failed'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadFailed('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadFailed(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as failed')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/failed`);\n }\n\n /**\n * Uploads a file to the provided URL. The URL and the headers should be\n * sourced from the response when initially creating a File record.\n *\n * Method: PUT\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The data to be\n * uploaded\n * @param {Object.<string, string>} [fileInfo.headers] Headers to be appended\n * to the request. The key is the header name and the value is the included\n * value\n * @param {String} fileInfo.url The URL to use for the request\n *\n * @returns {Promise}\n * @fulfill {Object}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .upload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * headers: {\n * 'Content-Type': 'application/pdf'\n * },\n * url:\n * 'https://files.ndustrial.example.org/hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * })\n * .catch((err) => console.log(err));\n */\n upload(fileInfo) {\n const requiredFields = ['data', 'url'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to upload a file`)\n );\n }\n }\n\n const { data, headers, url } = fileInfo;\n\n return axios.put(url, data, { headers });\n }\n\n /**\n * Generates a consistent error message with information needed to debug why\n * creating and uploading a file may have failed.\n *\n * @param {Object} errorInfo\n * @param {Object} [errorInfo.createdFile] An object containing information\n * about a created created by Files#create\n * @param {string} [errorInfo.message] The message to be applied to the new\n * Error\n * @param {Error} errorInfo.originalError The original error that was thrown\n * that will be included in the new Error's body\n * @param {string} errorInfo.stage A string describing in what stage of the\n * create and upload process the failure occurred\n *\n * @returns {FileError}\n *\n * @private\n */\n _generateError({ createdFile, message, originalError, stage }) {\n const artifacts = {};\n const errorMsg = message || originalError.message;\n\n if (createdFile) {\n artifacts.file = createdFile;\n }\n\n return Object.assign(new Error(errorMsg), {\n artifacts,\n originalError,\n stage\n });\n }\n}\n\nexport default Files;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAkD,MAAAG,SAAA;EAAAC,UAAA;AAAA,SAAAL,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA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","ignoreList":[]}