@griddo/cx 11.9.17 → 11.10.0

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 (254) hide show
  1. package/README.md +13 -240
  2. package/build/commands/end-render.d.ts +0 -1
  3. package/build/commands/end-render.js +31 -0
  4. package/build/commands/end-render.js.map +7 -0
  5. package/build/commands/prepare-assets-directory.js +9 -0
  6. package/build/commands/prepare-assets-directory.js.map +7 -0
  7. package/build/commands/prepare-domains-render.js +40 -0
  8. package/build/commands/prepare-domains-render.js.map +7 -0
  9. package/build/commands/reset-render.d.ts +0 -1
  10. package/build/commands/reset-render.js +31 -0
  11. package/build/commands/reset-render.js.map +7 -0
  12. package/build/commands/single-domain-upload-search-content.d.ts +1 -0
  13. package/build/commands/start-render.d.ts +0 -1
  14. package/build/commands/start-render.js +66 -0
  15. package/build/commands/start-render.js.map +7 -0
  16. package/build/commands/upload-search-content.d.ts +0 -1
  17. package/build/commands/upload-search-content.js +32 -0
  18. package/build/commands/upload-search-content.js.map +7 -0
  19. package/build/core/GriddoLog.d.ts +16 -0
  20. package/build/{utils/health-checks.d.ts → core/check-env-health.d.ts} +4 -2
  21. package/build/core/db-class.d.ts +11 -0
  22. package/build/core/db.d.ts +4 -0
  23. package/build/core/dist-rollback.d.ts +11 -0
  24. package/build/core/errors.d.ts +26 -0
  25. package/build/core/fs.d.ts +69 -0
  26. package/build/core/life-cycle.d.ts +26 -0
  27. package/build/core/logger.d.ts +18 -0
  28. package/build/core/objects.d.ts +11 -0
  29. package/build/core/print-logos.d.ts +5 -0
  30. package/build/index.d.ts +10 -29
  31. package/build/index.js +404 -73
  32. package/build/react/DynamicScript/index.d.ts +4 -0
  33. package/build/react/GriddoFavicon/index.d.ts +4 -0
  34. package/build/react/GriddoIntegrations/index.d.ts +3 -4
  35. package/build/react/GriddoIntegrations/utils.d.ts +7 -6
  36. package/build/react/GriddoOpenGraph/index.d.ts +10 -0
  37. package/build/react/index.d.ts +3 -2
  38. package/build/react/index.js +1 -3
  39. package/build/{utils → services}/api.d.ts +1 -1
  40. package/build/services/auth.d.ts +2 -5
  41. package/build/services/domains.d.ts +3 -4
  42. package/build/services/manage-sites.d.ts +22 -0
  43. package/build/services/manage-store.d.ts +32 -0
  44. package/build/services/navigation.d.ts +16 -16
  45. package/build/{utils → services}/pages.d.ts +3 -3
  46. package/build/services/reference-fields.d.ts +3 -3
  47. package/build/services/render-artifacts.d.ts +6 -0
  48. package/build/services/render.d.ts +70 -0
  49. package/build/services/robots.d.ts +2 -19
  50. package/build/services/sitemaps.d.ts +5 -0
  51. package/build/services/sites.d.ts +8 -5
  52. package/build/services/store.d.ts +10 -1
  53. package/build/shared/context.d.ts +36 -0
  54. package/build/shared/envs.d.ts +17 -0
  55. package/build/{errors/errors-data.d.ts → shared/errors.d.ts} +5 -3
  56. package/build/shared/npm-modules/brush.d.ts +18 -0
  57. package/build/shared/npm-modules/find-up-simple.d.ts +34 -0
  58. package/build/shared/npm-modules/pkg-dir.d.ts +7 -0
  59. package/build/shared/npm-modules/xml-parser.d.ts +4 -0
  60. package/build/{types → shared/types}/api.d.ts +18 -18
  61. package/build/{types → shared/types}/global.d.ts +15 -16
  62. package/build/{types → shared/types}/navigation.d.ts +5 -5
  63. package/build/{types → shared/types}/pages.d.ts +9 -9
  64. package/build/shared/types/render.d.ts +56 -0
  65. package/build/{types → shared/types}/sites.d.ts +18 -19
  66. package/build/shared/types.d.ts +15 -0
  67. package/build/ssg-adapters/gatsby/actions/clean.d.ts +3 -0
  68. package/build/ssg-adapters/gatsby/actions/close.d.ts +3 -0
  69. package/build/ssg-adapters/gatsby/actions/data.d.ts +2 -0
  70. package/build/ssg-adapters/gatsby/actions/healthCheck.d.ts +2 -0
  71. package/build/ssg-adapters/gatsby/actions/init.d.ts +2 -0
  72. package/build/ssg-adapters/gatsby/actions/logs.d.ts +3 -0
  73. package/build/ssg-adapters/gatsby/actions/meta.d.ts +2 -0
  74. package/build/ssg-adapters/gatsby/actions/prepare.d.ts +2 -0
  75. package/build/ssg-adapters/gatsby/actions/relocation.d.ts +2 -0
  76. package/build/ssg-adapters/gatsby/actions/restore.d.ts +3 -0
  77. package/build/ssg-adapters/gatsby/actions/ssg.d.ts +3 -0
  78. package/build/ssg-adapters/gatsby/actions/sync.d.ts +3 -0
  79. package/build/ssg-adapters/gatsby/index.d.ts +9 -0
  80. package/build/ssg-adapters/gatsby/shared/artifacts.d.ts +4 -0
  81. package/build/ssg-adapters/gatsby/shared/diff-assets.d.ts +15 -0
  82. package/build/ssg-adapters/gatsby/shared/extract-assets.d.ts +7 -0
  83. package/build/ssg-adapters/gatsby/shared/gatsby-build.d.ts +7 -0
  84. package/build/ssg-adapters/gatsby/shared/render-rollback.d.ts +18 -0
  85. package/build/ssg-adapters/gatsby/shared/sync-render.d.ts +26 -0
  86. package/build/ssg-adapters/gatsby/shared/types.d.ts +34 -0
  87. package/cli.mjs +231 -0
  88. package/exporter/build-esbuild.noop +42 -0
  89. package/exporter/build.sh +16 -24
  90. package/exporter/commands/README.md +142 -0
  91. package/exporter/commands/end-render.ts +53 -87
  92. package/exporter/commands/prepare-assets-directory.ts +35 -0
  93. package/exporter/commands/prepare-domains-render.ts +150 -33
  94. package/exporter/commands/reset-render.ts +13 -8
  95. package/exporter/commands/single-domain-upload-search-content.ts +206 -0
  96. package/exporter/commands/start-render.ts +14 -65
  97. package/exporter/commands/upload-search-content.ts +204 -26
  98. package/exporter/core/GriddoLog.ts +45 -0
  99. package/exporter/core/check-env-health.ts +203 -0
  100. package/exporter/core/db-class.ts +54 -0
  101. package/exporter/core/db.ts +33 -0
  102. package/exporter/core/dist-rollback.ts +49 -0
  103. package/exporter/core/errors.ts +93 -0
  104. package/exporter/core/fs.ts +385 -0
  105. package/exporter/{utils → core}/images.ts +1 -6
  106. package/exporter/{utils → core}/instance.ts +9 -13
  107. package/exporter/core/life-cycle.ts +73 -0
  108. package/exporter/core/logger.ts +137 -0
  109. package/exporter/core/objects.ts +37 -0
  110. package/exporter/core/print-logos.ts +21 -0
  111. package/exporter/index.ts +14 -56
  112. package/exporter/react/DynamicScript/index.tsx +33 -0
  113. package/exporter/react/{Favicon → GriddoFavicon}/index.tsx +3 -9
  114. package/exporter/react/GriddoIntegrations/index.tsx +17 -23
  115. package/exporter/react/GriddoIntegrations/utils.ts +24 -12
  116. package/exporter/react/GriddoOpenGraph/index.tsx +39 -0
  117. package/exporter/react/index.tsx +3 -9
  118. package/exporter/services/api.ts +306 -0
  119. package/exporter/services/auth.ts +8 -10
  120. package/exporter/services/domains.ts +23 -8
  121. package/exporter/services/manage-sites.ts +116 -0
  122. package/exporter/services/manage-store.ts +173 -0
  123. package/exporter/services/navigation.ts +12 -18
  124. package/exporter/{utils → services}/pages.ts +27 -92
  125. package/exporter/services/reference-fields.ts +14 -32
  126. package/exporter/services/render-artifacts.ts +44 -0
  127. package/exporter/services/render.ts +229 -0
  128. package/exporter/services/robots.ts +33 -61
  129. package/exporter/services/sitemaps.ts +129 -0
  130. package/exporter/services/sites.ts +40 -28
  131. package/exporter/services/store.ts +354 -321
  132. package/exporter/shared/context.ts +49 -0
  133. package/exporter/{constants → shared}/endpoints.ts +12 -11
  134. package/exporter/shared/envs.ts +58 -0
  135. package/exporter/{errors/errors-data.ts → shared/errors.ts} +24 -14
  136. package/exporter/shared/npm-modules/README.md +36 -0
  137. package/exporter/shared/npm-modules/brush.ts +34 -0
  138. package/exporter/shared/npm-modules/find-up-simple.ts +100 -0
  139. package/exporter/shared/npm-modules/pkg-dir.ts +17 -0
  140. package/exporter/shared/npm-modules/xml-parser.ts +57 -0
  141. package/exporter/{types → shared/types}/api.ts +40 -41
  142. package/exporter/{types → shared/types}/global.ts +17 -21
  143. package/exporter/{types → shared/types}/navigation.ts +3 -3
  144. package/exporter/{types → shared/types}/pages.ts +10 -11
  145. package/exporter/shared/types/render.ts +65 -0
  146. package/exporter/{types → shared/types}/sites.ts +18 -19
  147. package/exporter/shared/types.ts +15 -0
  148. package/exporter/ssg-adapters/gatsby/actions/clean.ts +26 -0
  149. package/exporter/ssg-adapters/gatsby/actions/close.ts +17 -0
  150. package/exporter/ssg-adapters/gatsby/actions/data.ts +22 -0
  151. package/exporter/ssg-adapters/gatsby/actions/healthCheck.ts +10 -0
  152. package/exporter/ssg-adapters/gatsby/actions/init.ts +12 -0
  153. package/exporter/ssg-adapters/gatsby/actions/logs.ts +10 -0
  154. package/exporter/ssg-adapters/gatsby/actions/meta.ts +13 -0
  155. package/exporter/ssg-adapters/gatsby/actions/prepare.ts +9 -0
  156. package/exporter/ssg-adapters/gatsby/actions/relocation.ts +15 -0
  157. package/exporter/ssg-adapters/gatsby/actions/restore.ts +21 -0
  158. package/exporter/ssg-adapters/gatsby/actions/ssg.ts +12 -0
  159. package/exporter/ssg-adapters/gatsby/actions/sync.ts +65 -0
  160. package/exporter/ssg-adapters/gatsby/index.ts +117 -0
  161. package/exporter/ssg-adapters/gatsby/shared/artifacts.ts +17 -0
  162. package/exporter/ssg-adapters/gatsby/shared/diff-assets.ts +128 -0
  163. package/exporter/ssg-adapters/gatsby/shared/extract-assets.ts +75 -0
  164. package/exporter/ssg-adapters/gatsby/shared/gatsby-build.ts +58 -0
  165. package/exporter/ssg-adapters/gatsby/shared/render-rollback.ts +33 -0
  166. package/exporter/ssg-adapters/gatsby/shared/sync-render.ts +298 -0
  167. package/exporter/ssg-adapters/gatsby/shared/types.ts +35 -0
  168. package/gatsby-browser.tsx +41 -58
  169. package/gatsby-config.ts +10 -17
  170. package/gatsby-node.ts +20 -79
  171. package/gatsby-ssr.tsx +2 -1
  172. package/package.json +41 -78
  173. package/plugins/gatsby-plugin-svgr-loader/gatsby-node.js +55 -0
  174. package/plugins/gatsby-plugin-svgr-loader/package.json +8 -0
  175. package/src/components/Head.tsx +28 -73
  176. package/src/components/template.tsx +6 -29
  177. package/src/gatsby-node-utils.ts +81 -2
  178. package/src/html.tsx +2 -11
  179. package/src/types.ts +3 -3
  180. package/tsconfig.commands.json +36 -0
  181. package/tsconfig.exporter.json +21 -0
  182. package/tsconfig.json +5 -3
  183. package/build/adapters/gatsby/index.d.ts +0 -4
  184. package/build/adapters/gatsby/utils.d.ts +0 -26
  185. package/build/artifacts/index.d.ts +0 -6
  186. package/build/constants/envs.d.ts +0 -37
  187. package/build/constants/index.d.ts +0 -57
  188. package/build/end-render.js +0 -74
  189. package/build/end-render.js.map +0 -7
  190. package/build/errors/index.d.ts +0 -15
  191. package/build/index.js.map +0 -7
  192. package/build/prepare-domains-render.js +0 -73
  193. package/build/prepare-domains-render.js.map +0 -7
  194. package/build/react/Favicon/index.d.ts +0 -5
  195. package/build/registers/api.d.ts +0 -9
  196. package/build/registers/gatsby.d.ts +0 -9
  197. package/build/registers/index.d.ts +0 -3
  198. package/build/reset-render.js +0 -74
  199. package/build/reset-render.js.map +0 -7
  200. package/build/services/register.d.ts +0 -36
  201. package/build/services/settings.d.ts +0 -4
  202. package/build/start-render.js +0 -100
  203. package/build/start-render.js.map +0 -7
  204. package/build/upload-search-content.js +0 -74
  205. package/build/upload-search-content.js.map +0 -7
  206. package/build/utils/alerts.d.ts +0 -3
  207. package/build/utils/cache.d.ts +0 -35
  208. package/build/utils/core-utils.d.ts +0 -107
  209. package/build/utils/create-build-data.d.ts +0 -8
  210. package/build/utils/domains.d.ts +0 -13
  211. package/build/utils/folders.d.ts +0 -53
  212. package/build/utils/loggin.d.ts +0 -51
  213. package/build/utils/render.d.ts +0 -13
  214. package/build/utils/searches.d.ts +0 -15
  215. package/build/utils/sites.d.ts +0 -31
  216. package/build/utils/store.d.ts +0 -81
  217. package/cx.config.d.ts +0 -5
  218. package/cx.config.js +0 -36
  219. package/exporter/adapters/gatsby/index.ts +0 -182
  220. package/exporter/adapters/gatsby/utils.ts +0 -186
  221. package/exporter/artifacts/README.md +0 -34
  222. package/exporter/artifacts/index.ts +0 -33
  223. package/exporter/commands/move-assets.ts +0 -11
  224. package/exporter/constants/envs.ts +0 -94
  225. package/exporter/constants/index.ts +0 -129
  226. package/exporter/errors/index.ts +0 -40
  227. package/exporter/registers/api.ts +0 -14
  228. package/exporter/registers/gatsby.ts +0 -14
  229. package/exporter/registers/index.ts +0 -4
  230. package/exporter/services/register.ts +0 -113
  231. package/exporter/services/settings.ts +0 -17
  232. package/exporter/utils/alerts.ts +0 -29
  233. package/exporter/utils/api.ts +0 -243
  234. package/exporter/utils/cache.ts +0 -142
  235. package/exporter/utils/core-utils.ts +0 -458
  236. package/exporter/utils/create-build-data.ts +0 -17
  237. package/exporter/utils/domains.ts +0 -39
  238. package/exporter/utils/folders.ts +0 -320
  239. package/exporter/utils/health-checks.ts +0 -64
  240. package/exporter/utils/loggin.ts +0 -184
  241. package/exporter/utils/render.ts +0 -71
  242. package/exporter/utils/searches.ts +0 -156
  243. package/exporter/utils/sites.ts +0 -312
  244. package/exporter/utils/store.ts +0 -314
  245. package/src/README.md +0 -7
  246. package/start-render.js +0 -7
  247. /package/build/commands/{move-assets.d.ts → prepare-assets-directory.d.ts} +0 -0
  248. /package/build/{utils → core}/images.d.ts +0 -0
  249. /package/build/{utils → core}/instance.d.ts +0 -0
  250. /package/build/react/{Favicon → GriddoFavicon}/utils.d.ts +0 -0
  251. /package/build/{constants → shared}/endpoints.d.ts +0 -0
  252. /package/build/{types → shared/types}/templates.d.ts +0 -0
  253. /package/exporter/react/{Favicon → GriddoFavicon}/utils.ts +0 -0
  254. /package/exporter/{types → shared/types}/templates.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../node_modules/universalify/index.js", "../../../node_modules/graceful-fs/polyfills.js", "../../../node_modules/graceful-fs/legacy-streams.js", "../../../node_modules/graceful-fs/clone.js", "../../../node_modules/graceful-fs/graceful-fs.js", "../node_modules/fs-extra/lib/fs/index.js", "../node_modules/fs-extra/lib/mkdirs/utils.js", "../node_modules/fs-extra/lib/mkdirs/make-dir.js", "../node_modules/fs-extra/lib/mkdirs/index.js", "../node_modules/fs-extra/lib/path-exists/index.js", "../node_modules/fs-extra/lib/util/utimes.js", "../node_modules/fs-extra/lib/util/stat.js", "../node_modules/fs-extra/lib/copy/copy.js", "../node_modules/fs-extra/lib/copy/copy-sync.js", "../node_modules/fs-extra/lib/copy/index.js", "../node_modules/fs-extra/lib/remove/index.js", "../node_modules/fs-extra/lib/empty/index.js", "../node_modules/fs-extra/lib/ensure/file.js", "../node_modules/fs-extra/lib/ensure/link.js", "../node_modules/fs-extra/lib/ensure/symlink-paths.js", "../node_modules/fs-extra/lib/ensure/symlink-type.js", "../node_modules/fs-extra/lib/ensure/symlink.js", "../node_modules/fs-extra/lib/ensure/index.js", "../../../node_modules/jsonfile/utils.js", "../../../node_modules/jsonfile/index.js", "../node_modules/fs-extra/lib/json/jsonfile.js", "../node_modules/fs-extra/lib/output-file/index.js", "../node_modules/fs-extra/lib/json/output-json.js", "../node_modules/fs-extra/lib/json/output-json-sync.js", "../node_modules/fs-extra/lib/json/index.js", "../node_modules/fs-extra/lib/move/move.js", "../node_modules/fs-extra/lib/move/move-sync.js", "../node_modules/fs-extra/lib/move/index.js", "../node_modules/fs-extra/lib/index.js", "../node_modules/kleur/index.mjs", "../../../node_modules/yocto-queue/index.js", "../../../node_modules/p-limit/index.js", "../../../node_modules/p-locate/index.js", "../../../node_modules/locate-path/index.js", "../../../node_modules/find-up/node_modules/path-exists/index.js", "../../../node_modules/find-up/index.js", "../node_modules/pkg-dir/index.js", "../node_modules/dotenv/package.json", "../node_modules/dotenv/lib/main.js", "../exporter/errors/index.ts", "../exporter/errors/errors-data.ts", "../../../node_modules/xmlcreate/lib/validate.js", "../../../node_modules/xmlcreate/lib/options.js", "../../../node_modules/xmlcreate/lib/escape.js", "../../../node_modules/xmlcreate/lib/nodes/XmlAttributeText.js", "../../../node_modules/xmlcreate/lib/nodes/XmlCharRef.js", "../../../node_modules/xmlcreate/lib/nodes/XmlEntityRef.js", "../../../node_modules/xmlcreate/lib/nodes/XmlAttribute.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDtdElement.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDtdEntity.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDtdNotation.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.js", "../../../node_modules/xmlcreate/lib/nodes/XmlProcInst.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDtd.js", "../../../node_modules/xmlcreate/lib/nodes/XmlCdata.js", "../../../node_modules/xmlcreate/lib/nodes/XmlCharData.js", "../../../node_modules/xmlcreate/lib/nodes/XmlElement.js", "../../../node_modules/xmlcreate/lib/error.js", "../../../node_modules/xmlcreate/lib/nodes/XmlComment.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDecl.js", "../../../node_modules/xmlcreate/lib/nodes/XmlDocument.js", "../../../node_modules/xmlcreate/lib/main.js", "../../../node_modules/js2xmlparser/lib/utils.js", "../../../node_modules/js2xmlparser/lib/options.js", "../../../node_modules/js2xmlparser/lib/main.js", "../../../node_modules/delayed-stream/lib/delayed_stream.js", "../../../node_modules/combined-stream/lib/combined_stream.js", "../../../node_modules/mime-db/db.json", "../../../node_modules/mime-db/index.js", "../../../node_modules/mime-types/index.js", "../../../node_modules/asynckit/lib/defer.js", "../../../node_modules/asynckit/lib/async.js", "../../../node_modules/asynckit/lib/abort.js", "../../../node_modules/asynckit/lib/iterate.js", "../../../node_modules/asynckit/lib/state.js", "../../../node_modules/asynckit/lib/terminator.js", "../../../node_modules/asynckit/parallel.js", "../../../node_modules/asynckit/serialOrdered.js", "../../../node_modules/asynckit/serial.js", "../../../node_modules/asynckit/index.js", "../../../node_modules/es-object-atoms/index.js", "../../../node_modules/es-errors/index.js", "../../../node_modules/es-errors/eval.js", "../../../node_modules/es-errors/range.js", "../../../node_modules/es-errors/ref.js", "../../../node_modules/es-errors/syntax.js", "../../../node_modules/es-errors/type.js", "../../../node_modules/es-errors/uri.js", "../../../node_modules/math-intrinsics/abs.js", "../../../node_modules/math-intrinsics/floor.js", "../../../node_modules/math-intrinsics/max.js", "../../../node_modules/math-intrinsics/min.js", "../../../node_modules/math-intrinsics/pow.js", "../../../node_modules/math-intrinsics/round.js", "../../../node_modules/math-intrinsics/isNaN.js", "../../../node_modules/math-intrinsics/sign.js", "../../../node_modules/gopd/gOPD.js", "../../../node_modules/gopd/index.js", "../../../node_modules/es-define-property/index.js", "../../../node_modules/has-symbols/shams.js", "../../../node_modules/has-symbols/index.js", "../../../node_modules/get-proto/Reflect.getPrototypeOf.js", "../../../node_modules/get-proto/Object.getPrototypeOf.js", "../../../node_modules/function-bind/implementation.js", "../../../node_modules/function-bind/index.js", "../../../node_modules/call-bind-apply-helpers/functionCall.js", "../../../node_modules/call-bind-apply-helpers/functionApply.js", "../../../node_modules/call-bind-apply-helpers/reflectApply.js", "../../../node_modules/call-bind-apply-helpers/actualApply.js", "../../../node_modules/call-bind-apply-helpers/index.js", "../../../node_modules/dunder-proto/get.js", "../../../node_modules/get-proto/index.js", "../../../node_modules/hasown/index.js", "../../../node_modules/get-intrinsic/index.js", "../../../node_modules/has-tostringtag/shams.js", "../../../node_modules/es-set-tostringtag/index.js", "../../../node_modules/form-data/lib/populate.js", "../../../node_modules/form-data/lib/form_data.js", "../../../node_modules/proxy-from-env/index.js", "../../../node_modules/ms/index.js", "../../../node_modules/debug/src/common.js", "../../../node_modules/debug/src/browser.js", "../../../node_modules/has-flag/index.js", "../../../node_modules/supports-color/index.js", "../../../node_modules/debug/src/node.js", "../../../node_modules/debug/src/index.js", "../../../node_modules/follow-redirects/debug.js", "../../../node_modules/follow-redirects/index.js", "../exporter/utils/instance.ts", "../cx.config.js", "../exporter/commands/prepare-domains-render.ts", "../exporter/utils/core-utils.ts", "../node_modules/kleur/colors.mjs", "../exporter/constants/envs.ts", "../exporter/constants/endpoints.ts", "../exporter/constants/index.ts", "../exporter/utils/folders.ts", "../exporter/utils/loggin.ts", "../exporter/utils/sites.ts", "../exporter/utils/store.ts", "../exporter/services/auth.ts", "../node_modules/axios/lib/helpers/bind.js", "../node_modules/axios/lib/utils.js", "../node_modules/axios/lib/core/AxiosError.js", "../node_modules/axios/lib/platform/node/classes/FormData.js", "../node_modules/axios/lib/helpers/toFormData.js", "../node_modules/axios/lib/helpers/AxiosURLSearchParams.js", "../node_modules/axios/lib/helpers/buildURL.js", "../node_modules/axios/lib/core/InterceptorManager.js", "../node_modules/axios/lib/defaults/transitional.js", "../node_modules/axios/lib/platform/node/classes/URLSearchParams.js", "../node_modules/axios/lib/platform/node/index.js", "../node_modules/axios/lib/platform/common/utils.js", "../node_modules/axios/lib/platform/index.js", "../node_modules/axios/lib/helpers/toURLEncodedForm.js", "../node_modules/axios/lib/helpers/formDataToJSON.js", "../node_modules/axios/lib/defaults/index.js", "../node_modules/axios/lib/helpers/parseHeaders.js", "../node_modules/axios/lib/core/AxiosHeaders.js", "../node_modules/axios/lib/core/transformData.js", "../node_modules/axios/lib/cancel/isCancel.js", "../node_modules/axios/lib/cancel/CanceledError.js", "../node_modules/axios/lib/core/settle.js", "../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../node_modules/axios/lib/helpers/combineURLs.js", "../node_modules/axios/lib/core/buildFullPath.js", "../node_modules/axios/lib/adapters/http.js", "../node_modules/axios/lib/env/data.js", "../node_modules/axios/lib/helpers/parseProtocol.js", "../node_modules/axios/lib/helpers/fromDataURI.js", "../node_modules/axios/lib/helpers/AxiosTransformStream.js", "../node_modules/axios/lib/helpers/formDataToStream.js", "../node_modules/axios/lib/helpers/readBlob.js", "../node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js", "../node_modules/axios/lib/helpers/callbackify.js", "../node_modules/axios/lib/helpers/speedometer.js", "../node_modules/axios/lib/helpers/throttle.js", "../node_modules/axios/lib/helpers/progressEventReducer.js", "../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../node_modules/axios/lib/helpers/cookies.js", "../node_modules/axios/lib/core/mergeConfig.js", "../node_modules/axios/lib/helpers/resolveConfig.js", "../node_modules/axios/lib/adapters/xhr.js", "../node_modules/axios/lib/helpers/composeSignals.js", "../node_modules/axios/lib/helpers/trackStream.js", "../node_modules/axios/lib/adapters/fetch.js", "../node_modules/axios/lib/adapters/adapters.js", "../node_modules/axios/lib/core/dispatchRequest.js", "../node_modules/axios/lib/helpers/validator.js", "../node_modules/axios/lib/core/Axios.js", "../node_modules/axios/lib/cancel/CancelToken.js", "../node_modules/axios/lib/helpers/spread.js", "../node_modules/axios/lib/helpers/isAxiosError.js", "../node_modules/axios/lib/helpers/HttpStatusCode.js", "../node_modules/axios/lib/axios.js", "../node_modules/axios/index.js", "../exporter/utils/api.ts", "../exporter/utils/cache.ts", "../exporter/services/register.ts", "../exporter/registers/api.ts", "../exporter/registers/gatsby.ts", "../exporter/services/sites.ts", "../exporter/services/robots.ts", "../exporter/utils/domains.ts", "../exporter/services/domains.ts"],
4
- "sourcesContent": ["'use strict'\n\nexports.fromCallback = function (fn) {\n return Object.defineProperty(function (...args) {\n if (typeof args[args.length - 1] === 'function') fn.apply(this, args)\n else {\n return new Promise((resolve, reject) => {\n args.push((err, res) => (err != null) ? reject(err) : resolve(res))\n fn.apply(this, args)\n })\n }\n }, 'name', { value: fn.name })\n}\n\nexports.fromPromise = function (fn) {\n return Object.defineProperty(function (...args) {\n const cb = args[args.length - 1]\n if (typeof cb !== 'function') return fn.apply(this, args)\n else {\n args.pop()\n fn.apply(this, args).then(r => cb(null, r), cb)\n }\n }, 'name', { value: fn.name })\n}\n", "var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (fs.chmod && !fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (fs.chown && !fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = typeof fs.rename !== 'function' ? fs.rename\n : (function (fs$rename) {\n function rename (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\" || er.code === \"EBUSY\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename)\n return rename\n })(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = typeof fs.read !== 'function' ? fs.read\n : (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = typeof fs.readSync !== 'function' ? fs.readSync\n : (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\") && fs.futimes) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else if (fs.futimes) {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n", "var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n", "'use strict'\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n", "var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n require('assert').equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n var noReaddirOptionVersions = /^v[0-5]\\./\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n var go$readdir = noReaddirOptionVersions.test(process.version)\n ? function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, fs$readdirCallback(\n path, options, cb, startTime\n ))\n }\n : function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, fs$readdirCallback(\n path, options, cb, startTime\n ))\n }\n\n return go$readdir(path, options, cb)\n\n function fs$readdirCallback (path, options, cb, startTime) {\n return function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([\n go$readdir,\n [path, options, cb],\n err,\n startTime || Date.now(),\n Date.now()\n ])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n }\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n", "'use strict'\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rm',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.cp was added in Node.js v16.7.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export cloned fs:\nObject.assign(exports, fs)\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), fs.readv(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// Function signature is\n// s.readv(fd, buffers[, position], callback)\n// We need to handle the optional arg, so we use ...args\nexports.readv = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.readv(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.readv(fd, buffers, ...args, (err, bytesRead, buffers) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffers })\n })\n })\n}\n\n// Function signature is\n// s.writev(fd, buffers[, position], callback)\n// We need to handle the optional arg, so we use ...args\nexports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n}\n\n// fs.realpath.native sometimes not available if fs is monkey-patched\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n} else {\n process.emitWarning(\n 'fs.realpath.native is not a function. Is fs being monkey-patched?',\n 'Warning', 'fs-extra-WARN0003'\n )\n}\n", "// Adapted from https://github.com/sindresorhus/make-dir\n// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict'\nconst path = require('path')\n\n// https://github.com/nodejs/node/issues/8987\n// https://github.com/libuv/libuv/pull/1088\nmodule.exports.checkPath = function checkPath (pth) {\n if (process.platform === 'win32') {\n const pathHasInvalidWinCharacters = /[<>:\"|?*]/.test(pth.replace(path.parse(pth).root, ''))\n\n if (pathHasInvalidWinCharacters) {\n const error = new Error(`Path contains invalid characters: ${pth}`)\n error.code = 'EINVAL'\n throw error\n }\n }\n}\n", "'use strict'\nconst fs = require('../fs')\nconst { checkPath } = require('./utils')\n\nconst getMode = options => {\n const defaults = { mode: 0o777 }\n if (typeof options === 'number') return options\n return ({ ...defaults, ...options }).mode\n}\n\nmodule.exports.makeDir = async (dir, options) => {\n checkPath(dir)\n\n return fs.mkdir(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n\nmodule.exports.makeDirSync = (dir, options) => {\n checkPath(dir)\n\n return fs.mkdirSync(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n", "'use strict'\nconst u = require('universalify').fromPromise\nconst { makeDir: _makeDir, makeDirSync } = require('./make-dir')\nconst makeDir = u(_makeDir)\n\nmodule.exports = {\n mkdirs: makeDir,\n mkdirsSync: makeDirSync,\n // alias\n mkdirp: makeDir,\n mkdirpSync: makeDirSync,\n ensureDir: makeDir,\n ensureDirSync: makeDirSync\n}\n", "'use strict'\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\n\nfunction pathExists (path) {\n return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n pathExists: u(pathExists),\n pathExistsSync: fs.existsSync\n}\n", "'use strict'\n\nconst fs = require('../fs')\nconst u = require('universalify').fromPromise\n\nasync function utimesMillis (path, atime, mtime) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n const fd = await fs.open(path, 'r+')\n\n let closeErr = null\n\n try {\n await fs.futimes(fd, atime, mtime)\n } finally {\n try {\n await fs.close(fd)\n } catch (e) {\n closeErr = e\n }\n }\n\n if (closeErr) {\n throw closeErr\n }\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis: u(utimesMillis),\n utimesMillisSync\n}\n", "'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst u = require('universalify').fromPromise\n\nfunction getStats (src, dest, opts) {\n const statFunc = opts.dereference\n ? (file) => fs.stat(file, { bigint: true })\n : (file) => fs.lstat(file, { bigint: true })\n return Promise.all([\n statFunc(src),\n statFunc(dest).catch(err => {\n if (err.code === 'ENOENT') return null\n throw err\n })\n ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))\n}\n\nfunction getStatsSync (src, dest, opts) {\n let destStat\n const statFunc = opts.dereference\n ? (file) => fs.statSync(file, { bigint: true })\n : (file) => fs.lstatSync(file, { bigint: true })\n const srcStat = statFunc(src)\n try {\n destStat = statFunc(dest)\n } catch (err) {\n if (err.code === 'ENOENT') return { srcStat, destStat: null }\n throw err\n }\n return { srcStat, destStat }\n}\n\nasync function checkPaths (src, dest, funcName, opts) {\n const { srcStat, destStat } = await getStats(src, dest, opts)\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return { srcStat, destStat, isChangingCase: true }\n }\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n\n return { srcStat, destStat }\n}\n\nfunction checkPathsSync (src, dest, funcName, opts) {\n const { srcStat, destStat } = getStatsSync(src, dest, opts)\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return { srcStat, destStat, isChangingCase: true }\n }\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nasync function checkParentPaths (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n\n let destStat\n try {\n destStat = await fs.stat(destParent, { bigint: true })\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n\n return checkParentPaths(src, srcStat, destParent, funcName)\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n let destStat\n try {\n destStat = fs.statSync(destParent, { bigint: true })\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\nfunction areIdentical (srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n return srcArr.every((cur, i) => destArr[i] === cur)\n}\n\nfunction errMsg (src, dest, funcName) {\n return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n // checkPaths\n checkPaths: u(checkPaths),\n checkPathsSync,\n // checkParent\n checkParentPaths: u(checkParentPaths),\n checkParentPathsSync,\n // Misc\n isSrcSubdir,\n areIdentical\n}\n", "'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst { mkdirs } = require('../mkdirs')\nconst { pathExists } = require('../path-exists')\nconst { utimesMillis } = require('../util/utimes')\nconst stat = require('../util/stat')\n\nasync function copy (src, dest, opts = {}) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n process.emitWarning(\n 'Using the preserveTimestamps option in 32-bit node is not recommended;\\n\\n' +\n '\\tsee https://github.com/jprichardson/node-fs-extra/issues/269',\n 'Warning', 'fs-extra-WARN0001'\n )\n }\n\n const { srcStat, destStat } = await stat.checkPaths(src, dest, 'copy', opts)\n\n await stat.checkParentPaths(src, srcStat, dest, 'copy')\n\n const include = await runFilter(src, dest, opts)\n\n if (!include) return\n\n // check if the parent of dest exists, and create it if it doesn't exist\n const destParent = path.dirname(dest)\n const dirExists = await pathExists(destParent)\n if (!dirExists) {\n await mkdirs(destParent)\n }\n\n await getStatsAndPerformCopy(destStat, src, dest, opts)\n}\n\nasync function runFilter (src, dest, opts) {\n if (!opts.filter) return true\n return opts.filter(src, dest)\n}\n\nasync function getStatsAndPerformCopy (destStat, src, dest, opts) {\n const statFn = opts.dereference ? fs.stat : fs.lstat\n const srcStat = await statFn(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n\n if (\n srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()\n ) return onFile(srcStat, destStat, src, dest, opts)\n\n if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`)\n if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`)\n throw new Error(`Unknown file: ${src}`)\n}\n\nasync function onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n\n if (opts.overwrite) {\n await fs.unlink(dest)\n return copyFile(srcStat, src, dest, opts)\n }\n if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nasync function copyFile (srcStat, src, dest, opts) {\n await fs.copyFile(src, dest)\n if (opts.preserveTimestamps) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcStat.mode)) {\n await makeFileWritable(dest, srcStat.mode)\n }\n\n // Set timestamps and mode correspondingly\n\n // Note that The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = await fs.stat(src)\n await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n }\n\n return fs.chmod(dest, srcStat.mode)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return fs.chmod(dest, srcMode | 0o200)\n}\n\nasync function onDir (srcStat, destStat, src, dest, opts) {\n // the dest directory might not exist, create it\n if (!destStat) {\n await fs.mkdir(dest)\n }\n\n const items = await fs.readdir(src)\n\n // loop through the files in the current directory to copy everything\n await Promise.all(items.map(async item => {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n\n // skip the item if it is matches by the filter function\n const include = await runFilter(srcItem, destItem, opts)\n if (!include) return\n\n const { destStat } = await stat.checkPaths(srcItem, destItem, 'copy', opts)\n\n // If the item is a copyable file, `getStatsAndPerformCopy` will copy it\n // If the item is a directory, `getStatsAndPerformCopy` will call `onDir` recursively\n return getStatsAndPerformCopy(destStat, srcItem, destItem, opts)\n }))\n\n if (!destStat) {\n await fs.chmod(dest, srcStat.mode)\n }\n}\n\nasync function onLink (destStat, src, dest, opts) {\n let resolvedSrc = await fs.readlink(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest)\n }\n\n let resolvedDest = null\n try {\n resolvedDest = await fs.readlink(dest)\n } catch (e) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (e.code === 'EINVAL' || e.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest)\n throw e\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n\n // copy the link\n await fs.unlink(dest)\n return fs.symlink(resolvedSrc, dest)\n}\n\nmodule.exports = copy\n", "'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirsSync = require('../mkdirs').mkdirsSync\nconst utimesMillisSync = require('../util/utimes').utimesMillisSync\nconst stat = require('../util/stat')\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n process.emitWarning(\n 'Using the preserveTimestamps option in 32-bit node is not recommended;\\n\\n' +\n '\\tsee https://github.com/jprichardson/node-fs-extra/issues/269',\n 'Warning', 'fs-extra-WARN0002'\n )\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`)\n else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`)\n throw new Error(`Unknown file: ${src}`)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n if (opts.filter && !opts.filter(srcItem, destItem)) return\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy', opts)\n return getStats(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nmodule.exports = {\n copy: u(require('./copy')),\n copySync: require('./copy-sync')\n}\n", "'use strict'\n\nconst fs = require('graceful-fs')\nconst u = require('universalify').fromCallback\n\nfunction remove (path, callback) {\n fs.rm(path, { recursive: true, force: true }, callback)\n}\n\nfunction removeSync (path) {\n fs.rmSync(path, { recursive: true, force: true })\n}\n\nmodule.exports = {\n remove: u(remove),\n removeSync\n}\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst remove = require('../remove')\n\nconst emptyDir = u(async function emptyDir (dir) {\n let items\n try {\n items = await fs.readdir(dir)\n } catch {\n return mkdir.mkdirs(dir)\n }\n\n return Promise.all(items.map(item => remove.remove(path.join(dir, item))))\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nconst path = require('path')\nconst fs = require('../fs')\nconst mkdir = require('../mkdirs')\n\nasync function createFile (file) {\n let stats\n try {\n stats = await fs.stat(file)\n } catch { }\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n\n let dirStats = null\n try {\n dirStats = await fs.stat(dir)\n } catch (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n await mkdir.mkdirs(dir)\n await fs.writeFile(file, '')\n return\n } else {\n throw err\n }\n }\n\n if (dirStats.isDirectory()) {\n await fs.writeFile(file, '')\n } else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n await fs.readdir(dir)\n }\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch { }\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nconst path = require('path')\nconst fs = require('../fs')\nconst mkdir = require('../mkdirs')\nconst { pathExists } = require('../path-exists')\nconst { areIdentical } = require('../util/stat')\n\nasync function createLink (srcpath, dstpath) {\n let dstStat\n try {\n dstStat = await fs.lstat(dstpath)\n } catch {\n // ignore error\n }\n\n let srcStat\n try {\n srcStat = await fs.lstat(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n if (dstStat && areIdentical(srcStat, dstStat)) return\n\n const dir = path.dirname(dstpath)\n\n const dirExists = await pathExists(dir)\n\n if (!dirExists) {\n await mkdir.mkdirs(dir)\n }\n\n await fs.link(srcpath, dstpath)\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n let dstStat\n try {\n dstStat = fs.lstatSync(dstpath)\n } catch {}\n\n try {\n const srcStat = fs.lstatSync(srcpath)\n if (dstStat && areIdentical(srcStat, dstStat)) return\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n", "'use strict'\n\nconst path = require('path')\nconst fs = require('../fs')\nconst { pathExists } = require('../path-exists')\n\nconst u = require('universalify').fromPromise\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nasync function symlinkPaths (srcpath, dstpath) {\n if (path.isAbsolute(srcpath)) {\n try {\n await fs.lstat(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n throw err\n }\n\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n }\n\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n\n const exists = await pathExists(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n }\n\n try {\n await fs.lstat(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n throw err\n }\n\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n if (path.isAbsolute(srcpath)) {\n const exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n }\n\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n const exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n }\n\n const srcExists = fs.existsSync(srcpath)\n if (!srcExists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n}\n\nmodule.exports = {\n symlinkPaths: u(symlinkPaths),\n symlinkPathsSync\n}\n", "'use strict'\n\nconst fs = require('../fs')\nconst u = require('universalify').fromPromise\n\nasync function symlinkType (srcpath, type) {\n if (type) return type\n\n let stats\n try {\n stats = await fs.lstat(srcpath)\n } catch {\n return 'file'\n }\n\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n if (type) return type\n\n let stats\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType: u(symlinkType),\n symlinkTypeSync\n}\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nconst path = require('path')\nconst fs = require('../fs')\n\nconst { mkdirs, mkdirsSync } = require('../mkdirs')\n\nconst { symlinkPaths, symlinkPathsSync } = require('./symlink-paths')\nconst { symlinkType, symlinkTypeSync } = require('./symlink-type')\n\nconst { pathExists } = require('../path-exists')\n\nconst { areIdentical } = require('../util/stat')\n\nasync function createSymlink (srcpath, dstpath, type) {\n let stats\n try {\n stats = await fs.lstat(dstpath)\n } catch { }\n\n if (stats && stats.isSymbolicLink()) {\n const [srcStat, dstStat] = await Promise.all([\n fs.stat(srcpath),\n fs.stat(dstpath)\n ])\n\n if (areIdentical(srcStat, dstStat)) return\n }\n\n const relative = await symlinkPaths(srcpath, dstpath)\n srcpath = relative.toDst\n const toType = await symlinkType(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n\n if (!(await pathExists(dir))) {\n await mkdirs(dir)\n }\n\n return fs.symlink(srcpath, dstpath, toType)\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n let stats\n try {\n stats = fs.lstatSync(dstpath)\n } catch { }\n if (stats && stats.isSymbolicLink()) {\n const srcStat = fs.statSync(srcpath)\n const dstStat = fs.statSync(dstpath)\n if (areIdentical(srcStat, dstStat)) return\n }\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n", "'use strict'\n\nconst { createFile, createFileSync } = require('./file')\nconst { createLink, createLinkSync } = require('./link')\nconst { createSymlink, createSymlinkSync } = require('./symlink')\n\nmodule.exports = {\n // file\n createFile,\n createFileSync,\n ensureFile: createFile,\n ensureFileSync: createFileSync,\n // link\n createLink,\n createLinkSync,\n ensureLink: createLink,\n ensureLinkSync: createLinkSync,\n // symlink\n createSymlink,\n createSymlinkSync,\n ensureSymlink: createSymlink,\n ensureSymlinkSync: createSymlinkSync\n}\n", "function stringify (obj, { EOL = '\\n', finalEOL = true, replacer = null, spaces } = {}) {\n const EOF = finalEOL ? EOL : ''\n const str = JSON.stringify(obj, replacer, spaces)\n\n return str.replace(/\\n/g, EOL) + EOF\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n return content.replace(/^\\uFEFF/, '')\n}\n\nmodule.exports = { stringify, stripBom }\n", "let _fs\ntry {\n _fs = require('graceful-fs')\n} catch (_) {\n _fs = require('fs')\n}\nconst universalify = require('universalify')\nconst { stringify, stripBom } = require('./utils')\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n", "'use strict'\n\nconst jsonFile = require('jsonfile')\n\nmodule.exports = {\n // jsonfile exports\n readJson: jsonFile.readFile,\n readJsonSync: jsonFile.readFileSync,\n writeJson: jsonFile.writeFile,\n writeJsonSync: jsonFile.writeFileSync\n}\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nasync function outputFile (file, data, encoding = 'utf-8') {\n const dir = path.dirname(file)\n\n if (!(await pathExists(dir))) {\n await mkdir.mkdirs(dir)\n }\n\n return fs.writeFile(file, data, encoding)\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (!fs.existsSync(dir)) {\n mkdir.mkdirsSync(dir)\n }\n\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\n}\n", "'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFile } = require('../output-file')\n\nasync function outputJson (file, data, options = {}) {\n const str = stringify(data, options)\n\n await outputFile(file, str, options)\n}\n\nmodule.exports = outputJson\n", "'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFileSync } = require('../output-file')\n\nfunction outputJsonSync (file, data, options) {\n const str = stringify(data, options)\n\n outputFileSync(file, str, options)\n}\n\nmodule.exports = outputJsonSync\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nconst jsonFile = require('./jsonfile')\n\njsonFile.outputJson = u(require('./output-json'))\njsonFile.outputJsonSync = require('./output-json-sync')\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n", "'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst { copy } = require('../copy')\nconst { remove } = require('../remove')\nconst { mkdirp } = require('../mkdirs')\nconst { pathExists } = require('../path-exists')\nconst stat = require('../util/stat')\n\nasync function move (src, dest, opts = {}) {\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, 'move', opts)\n\n await stat.checkParentPaths(src, srcStat, dest, 'move')\n\n // If the parent of dest is not root, make sure it exists before proceeding\n const destParent = path.dirname(dest)\n const parsedParentPath = path.parse(destParent)\n if (parsedParentPath.root !== destParent) {\n await mkdirp(destParent)\n }\n\n return doRename(src, dest, overwrite, isChangingCase)\n}\n\nasync function doRename (src, dest, overwrite, isChangingCase) {\n if (!isChangingCase) {\n if (overwrite) {\n await remove(dest)\n } else if (await pathExists(dest)) {\n throw new Error('dest already exists.')\n }\n }\n\n try {\n // Try w/ rename first, and try copy + remove if EXDEV\n await fs.rename(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') {\n throw err\n }\n await moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nasync function moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true,\n preserveTimestamps: true\n }\n\n await copy(src, dest, opts)\n return remove(src)\n}\n\nmodule.exports = move\n", "'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copySync = require('../copy').copySync\nconst removeSync = require('../remove').removeSync\nconst mkdirpSync = require('../mkdirs').mkdirpSync\nconst stat = require('../util/stat')\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, 'move', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n if (!isParentRoot(dest)) mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite, isChangingCase)\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase) {\n if (isChangingCase) return rename(src, dest, overwrite)\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true,\n preserveTimestamps: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n", "'use strict'\n\nconst u = require('universalify').fromPromise\nmodule.exports = {\n move: u(require('./move')),\n moveSync: require('./move-sync')\n}\n", "'use strict'\n\nmodule.exports = {\n // Export promiseified graceful-fs:\n ...require('./fs'),\n // Export extra methods:\n ...require('./copy'),\n ...require('./empty'),\n ...require('./ensure'),\n ...require('./json'),\n ...require('./mkdirs'),\n ...require('./move'),\n ...require('./output-file'),\n ...require('./path-exists'),\n ...require('./remove')\n}\n", "'use strict';\n\nlet FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nconst $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t),\n\n\t// modifiers\n\treset: init(0, 0),\n\tbold: init(1, 22),\n\tdim: init(2, 22),\n\titalic: init(3, 23),\n\tunderline: init(4, 24),\n\tinverse: init(7, 27),\n\thidden: init(8, 28),\n\tstrikethrough: init(9, 29),\n\n\t// colors\n\tblack: init(30, 39),\n\tred: init(31, 39),\n\tgreen: init(32, 39),\n\tyellow: init(33, 39),\n\tblue: init(34, 39),\n\tmagenta: init(35, 39),\n\tcyan: init(36, 39),\n\twhite: init(37, 39),\n\tgray: init(90, 39),\n\tgrey: init(90, 39),\n\n\t// background colors\n\tbgBlack: init(40, 49),\n\tbgRed: init(41, 49),\n\tbgGreen: init(42, 49),\n\tbgYellow: init(43, 49),\n\tbgBlue: init(44, 49),\n\tbgMagenta: init(45, 49),\n\tbgCyan: init(46, 49),\n\tbgWhite: init(47, 49)\n};\n\nfunction run(arr, str) {\n\tlet i=0, tmp, beg='', end='';\n\tfor (; i < arr.length; i++) {\n\t\ttmp = arr[i];\n\t\tbeg += tmp.open;\n\t\tend += tmp.close;\n\t\tif (!!~str.indexOf(tmp.close)) {\n\t\t\tstr = str.replace(tmp.rgx, tmp.close + tmp.open);\n\t\t}\n\t}\n\treturn beg + str + end;\n}\n\nfunction chain(has, keys) {\n\tlet ctx = { has, keys };\n\n\tctx.reset = $.reset.bind(ctx);\n\tctx.bold = $.bold.bind(ctx);\n\tctx.dim = $.dim.bind(ctx);\n\tctx.italic = $.italic.bind(ctx);\n\tctx.underline = $.underline.bind(ctx);\n\tctx.inverse = $.inverse.bind(ctx);\n\tctx.hidden = $.hidden.bind(ctx);\n\tctx.strikethrough = $.strikethrough.bind(ctx);\n\n\tctx.black = $.black.bind(ctx);\n\tctx.red = $.red.bind(ctx);\n\tctx.green = $.green.bind(ctx);\n\tctx.yellow = $.yellow.bind(ctx);\n\tctx.blue = $.blue.bind(ctx);\n\tctx.magenta = $.magenta.bind(ctx);\n\tctx.cyan = $.cyan.bind(ctx);\n\tctx.white = $.white.bind(ctx);\n\tctx.gray = $.gray.bind(ctx);\n\tctx.grey = $.grey.bind(ctx);\n\n\tctx.bgBlack = $.bgBlack.bind(ctx);\n\tctx.bgRed = $.bgRed.bind(ctx);\n\tctx.bgGreen = $.bgGreen.bind(ctx);\n\tctx.bgYellow = $.bgYellow.bind(ctx);\n\tctx.bgBlue = $.bgBlue.bind(ctx);\n\tctx.bgMagenta = $.bgMagenta.bind(ctx);\n\tctx.bgCyan = $.bgCyan.bind(ctx);\n\tctx.bgWhite = $.bgWhite.bind(ctx);\n\n\treturn ctx;\n}\n\nfunction init(open, close) {\n\tlet blk = {\n\t\topen: `\\x1b[${open}m`,\n\t\tclose: `\\x1b[${close}m`,\n\t\trgx: new RegExp(`\\\\x1b\\\\[${close}m`, 'g')\n\t};\n\treturn function (txt) {\n\t\tif (this !== void 0 && this.has !== void 0) {\n\t\t\t!!~this.has.indexOf(open) || (this.has.push(open),this.keys.push(blk));\n\t\t\treturn txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';\n\t\t}\n\t\treturn txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';\n\t};\n}\n\nexport default $;\n", "class Node {\n\t/// value;\n\t/// next;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\n\t\t// TODO: Remove this when targeting Node.js 12.\n\t\tthis.next = undefined;\n\t}\n}\n\nclass Queue {\n\t// TODO: Use private class fields when targeting Node.js 12.\n\t// #_head;\n\t// #_tail;\n\t// #_size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this._head) {\n\t\t\tthis._tail.next = node;\n\t\t\tthis._tail = node;\n\t\t} else {\n\t\t\tthis._head = node;\n\t\t\tthis._tail = node;\n\t\t}\n\n\t\tthis._size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this._head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._head = this._head.next;\n\t\tthis._size--;\n\t\treturn current.value;\n\t}\n\n\tclear() {\n\t\tthis._head = undefined;\n\t\tthis._tail = undefined;\n\t\tthis._size = 0;\n\t}\n\n\tget size() {\n\t\treturn this._size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this._head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n}\n\nmodule.exports = Queue;\n", "'use strict';\nconst Queue = require('yocto-queue');\n\nconst pLimit = concurrency => {\n\tif (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, ...args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, ...args) => {\n\t\tqueue.enqueue(run.bind(null, fn, resolve, ...args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, ...args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t}\n\t\t}\n\t});\n\n\treturn generator;\n};\n\nmodule.exports = pLimit;\n", "'use strict';\nconst pLimit = require('p-limit');\n\nclass EndError extends Error {\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t}\n}\n\n// The input can also be a promise, so we await it\nconst testElement = async (element, tester) => tester(await element);\n\n// The input can also be a promise, so we `Promise.all()` them both\nconst finder = async element => {\n\tconst values = await Promise.all(element);\n\tif (values[1] === true) {\n\t\tthrow new EndError(values[0]);\n\t}\n\n\treturn false;\n};\n\nconst pLocate = async (iterable, tester, options) => {\n\toptions = {\n\t\tconcurrency: Infinity,\n\t\tpreserveOrder: true,\n\t\t...options\n\t};\n\n\tconst limit = pLimit(options.concurrency);\n\n\t// Start all the promises concurrently with optional limit\n\tconst items = [...iterable].map(element => [element, limit(testElement, element, tester)]);\n\n\t// Check the promises either serially or concurrently\n\tconst checkLimit = pLimit(options.preserveOrder ? 1 : Infinity);\n\n\ttry {\n\t\tawait Promise.all(items.map(element => checkLimit(finder, element)));\n\t} catch (error) {\n\t\tif (error instanceof EndError) {\n\t\t\treturn error.value;\n\t\t}\n\n\t\tthrow error;\n\t}\n};\n\nmodule.exports = pLocate;\n", "'use strict';\nconst path = require('path');\nconst fs = require('fs');\nconst {promisify} = require('util');\nconst pLocate = require('p-locate');\n\nconst fsStat = promisify(fs.stat);\nconst fsLStat = promisify(fs.lstat);\n\nconst typeMappings = {\n\tdirectory: 'isDirectory',\n\tfile: 'isFile'\n};\n\nfunction checkType({type}) {\n\tif (type in typeMappings) {\n\t\treturn;\n\t}\n\n\tthrow new Error(`Invalid type specified: ${type}`);\n}\n\nconst matchType = (type, stat) => type === undefined || stat[typeMappings[type]]();\n\nmodule.exports = async (paths, options) => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\ttype: 'file',\n\t\tallowSymlinks: true,\n\t\t...options\n\t};\n\n\tcheckType(options);\n\n\tconst statFn = options.allowSymlinks ? fsStat : fsLStat;\n\n\treturn pLocate(paths, async path_ => {\n\t\ttry {\n\t\t\tconst stat = await statFn(path.resolve(options.cwd, path_));\n\t\t\treturn matchType(options.type, stat);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}, options);\n};\n\nmodule.exports.sync = (paths, options) => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\tallowSymlinks: true,\n\t\ttype: 'file',\n\t\t...options\n\t};\n\n\tcheckType(options);\n\n\tconst statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync;\n\n\tfor (const path_ of paths) {\n\t\ttry {\n\t\t\tconst stat = statFn(path.resolve(options.cwd, path_));\n\n\t\t\tif (matchType(options.type, stat)) {\n\t\t\t\treturn path_;\n\t\t\t}\n\t\t} catch {}\n\t}\n};\n", "'use strict';\nconst fs = require('fs');\nconst {promisify} = require('util');\n\nconst pAccess = promisify(fs.access);\n\nmodule.exports = async path => {\n\ttry {\n\t\tawait pAccess(path);\n\t\treturn true;\n\t} catch (_) {\n\t\treturn false;\n\t}\n};\n\nmodule.exports.sync = path => {\n\ttry {\n\t\tfs.accessSync(path);\n\t\treturn true;\n\t} catch (_) {\n\t\treturn false;\n\t}\n};\n", "'use strict';\nconst path = require('path');\nconst locatePath = require('locate-path');\nconst pathExists = require('path-exists');\n\nconst stop = Symbol('findUp.stop');\n\nmodule.exports = async (name, options = {}) => {\n\tlet directory = path.resolve(options.cwd || '');\n\tconst {root} = path.parse(directory);\n\tconst paths = [].concat(name);\n\n\tconst runMatcher = async locateOptions => {\n\t\tif (typeof name !== 'function') {\n\t\t\treturn locatePath(paths, locateOptions);\n\t\t}\n\n\t\tconst foundPath = await name(locateOptions.cwd);\n\t\tif (typeof foundPath === 'string') {\n\t\t\treturn locatePath([foundPath], locateOptions);\n\t\t}\n\n\t\treturn foundPath;\n\t};\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tconst foundPath = await runMatcher({...options, cwd: directory});\n\n\t\tif (foundPath === stop) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (foundPath) {\n\t\t\treturn path.resolve(directory, foundPath);\n\t\t}\n\n\t\tif (directory === root) {\n\t\t\treturn;\n\t\t}\n\n\t\tdirectory = path.dirname(directory);\n\t}\n};\n\nmodule.exports.sync = (name, options = {}) => {\n\tlet directory = path.resolve(options.cwd || '');\n\tconst {root} = path.parse(directory);\n\tconst paths = [].concat(name);\n\n\tconst runMatcher = locateOptions => {\n\t\tif (typeof name !== 'function') {\n\t\t\treturn locatePath.sync(paths, locateOptions);\n\t\t}\n\n\t\tconst foundPath = name(locateOptions.cwd);\n\t\tif (typeof foundPath === 'string') {\n\t\t\treturn locatePath.sync([foundPath], locateOptions);\n\t\t}\n\n\t\treturn foundPath;\n\t};\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst foundPath = runMatcher({...options, cwd: directory});\n\n\t\tif (foundPath === stop) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (foundPath) {\n\t\t\treturn path.resolve(directory, foundPath);\n\t\t}\n\n\t\tif (directory === root) {\n\t\t\treturn;\n\t\t}\n\n\t\tdirectory = path.dirname(directory);\n\t}\n};\n\nmodule.exports.exists = pathExists;\n\nmodule.exports.sync.exists = pathExists.sync;\n\nmodule.exports.stop = stop;\n", "'use strict';\nconst path = require('path');\nconst findUp = require('find-up');\n\nconst pkgDir = async cwd => {\n\tconst filePath = await findUp('package.json', {cwd});\n\treturn filePath && path.dirname(filePath);\n};\n\nmodule.exports = pkgDir;\n\nmodule.exports.sync = cwd => {\n\tconst filePath = findUp.sync('package.json', {cwd});\n\treturn filePath && path.dirname(filePath);\n};\n", "{\n \"name\": \"dotenv\",\n \"version\": \"16.4.5\",\n \"description\": \"Loads environment variables from .env file\",\n \"main\": \"lib/main.js\",\n \"types\": \"lib/main.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/main.d.ts\",\n \"require\": \"./lib/main.js\",\n \"default\": \"./lib/main.js\"\n },\n \"./config\": \"./config.js\",\n \"./config.js\": \"./config.js\",\n \"./lib/env-options\": \"./lib/env-options.js\",\n \"./lib/env-options.js\": \"./lib/env-options.js\",\n \"./lib/cli-options\": \"./lib/cli-options.js\",\n \"./lib/cli-options.js\": \"./lib/cli-options.js\",\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dts-check\": \"tsc --project tests/types/tsconfig.json\",\n \"lint\": \"standard\",\n \"lint-readme\": \"standard-markdown\",\n \"pretest\": \"npm run lint && npm run dts-check\",\n \"test\": \"tap tests/*.js --100 -Rspec\",\n \"test:coverage\": \"tap --coverage-report=lcov\",\n \"prerelease\": \"npm test\",\n \"release\": \"standard-version\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/motdotla/dotenv.git\"\n },\n \"funding\": \"https://dotenvx.com\",\n \"keywords\": [\n \"dotenv\",\n \"env\",\n \".env\",\n \"environment\",\n \"variables\",\n \"config\",\n \"settings\"\n ],\n \"readmeFilename\": \"README.md\",\n \"license\": \"BSD-2-Clause\",\n \"devDependencies\": {\n \"@definitelytyped/dtslint\": \"^0.0.133\",\n \"@types/node\": \"^18.11.3\",\n \"decache\": \"^4.6.1\",\n \"sinon\": \"^14.0.1\",\n \"standard\": \"^17.0.0\",\n \"standard-markdown\": \"^7.1.0\",\n \"standard-version\": \"^9.5.0\",\n \"tap\": \"^16.3.0\",\n \"tar\": \"^6.1.11\",\n \"typescript\": \"^4.8.4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"browser\": {\n \"fs\": false\n }\n}\n", "const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\nconst crypto = require('crypto')\nconst packageJson = require('../package.json')\n\nconst version = packageJson.version\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parse src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _parseVault (options) {\n const vaultPath = _vaultPath(options)\n\n // Parse .env.vault\n const result = DotenvModule.configDotenv({ path: vaultPath })\n if (!result.parsed) {\n const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)\n err.code = 'MISSING_DATA'\n throw err\n }\n\n // handle scenario for comma separated keys - for use with key rotation\n // example: DOTENV_KEY=\"dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod\"\n const keys = _dotenvKey(options).split(',')\n const length = keys.length\n\n let decrypted\n for (let i = 0; i < length; i++) {\n try {\n // Get full key\n const key = keys[i].trim()\n\n // Get instructions for decrypt\n const attrs = _instructions(result, key)\n\n // Decrypt\n decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key)\n\n break\n } catch (error) {\n // last key\n if (i + 1 >= length) {\n throw error\n }\n // try next key\n }\n }\n\n // Parse decrypted .env string\n return DotenvModule.parse(decrypted)\n}\n\nfunction _log (message) {\n console.log(`[dotenv@${version}][INFO] ${message}`)\n}\n\nfunction _warn (message) {\n console.log(`[dotenv@${version}][WARN] ${message}`)\n}\n\nfunction _debug (message) {\n console.log(`[dotenv@${version}][DEBUG] ${message}`)\n}\n\nfunction _dotenvKey (options) {\n // prioritize developer directly setting options.DOTENV_KEY\n if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {\n return options.DOTENV_KEY\n }\n\n // secondary infra already contains a DOTENV_KEY environment variable\n if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {\n return process.env.DOTENV_KEY\n }\n\n // fallback to empty string\n return ''\n}\n\nfunction _instructions (result, dotenvKey) {\n // Parse DOTENV_KEY. Format is a URI\n let uri\n try {\n uri = new URL(dotenvKey)\n } catch (error) {\n if (error.code === 'ERR_INVALID_URL') {\n const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n throw error\n }\n\n // Get decrypt key\n const key = uri.password\n if (!key) {\n const err = new Error('INVALID_DOTENV_KEY: Missing key part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get environment\n const environment = uri.searchParams.get('environment')\n if (!environment) {\n const err = new Error('INVALID_DOTENV_KEY: Missing environment part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get ciphertext payload\n const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`\n const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION\n if (!ciphertext) {\n const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`)\n err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT'\n throw err\n }\n\n return { ciphertext, key }\n}\n\nfunction _vaultPath (options) {\n let possibleVaultPath = null\n\n if (options && options.path && options.path.length > 0) {\n if (Array.isArray(options.path)) {\n for (const filepath of options.path) {\n if (fs.existsSync(filepath)) {\n possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault`\n }\n }\n } else {\n possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault`\n }\n } else {\n possibleVaultPath = path.resolve(process.cwd(), '.env.vault')\n }\n\n if (fs.existsSync(possibleVaultPath)) {\n return possibleVaultPath\n }\n\n return null\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\nfunction _configVault (options) {\n _log('Loading env from encrypted .env.vault')\n\n const parsed = DotenvModule._parseVault(options)\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsed, options)\n\n return { parsed }\n}\n\nfunction configDotenv (options) {\n const dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n\n if (options && options.encoding) {\n encoding = options.encoding\n } else {\n if (debug) {\n _debug('No encoding is specified. UTF-8 is used by default')\n }\n }\n\n let optionPaths = [dotenvPath] // default, look for .env\n if (options && options.path) {\n if (!Array.isArray(options.path)) {\n optionPaths = [_resolveHome(options.path)]\n } else {\n optionPaths = [] // reset default\n for (const filepath of options.path) {\n optionPaths.push(_resolveHome(filepath))\n }\n }\n }\n\n // Build the parsed data in a temporary object (because we need to return it). Once we have the final\n // parsed data, we will combine it with process.env (or options.processEnv if provided).\n let lastError\n const parsedAll = {}\n for (const path of optionPaths) {\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding }))\n\n DotenvModule.populate(parsedAll, parsed, options)\n } catch (e) {\n if (debug) {\n _debug(`Failed to load ${path} ${e.message}`)\n }\n lastError = e\n }\n }\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsedAll, options)\n\n if (lastError) {\n return { parsed: parsedAll, error: lastError }\n } else {\n return { parsed: parsedAll }\n }\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n // fallback to original dotenv if DOTENV_KEY is not set\n if (_dotenvKey(options).length === 0) {\n return DotenvModule.configDotenv(options)\n }\n\n const vaultPath = _vaultPath(options)\n\n // dotenvKey exists but .env.vault file does not exist\n if (!vaultPath) {\n _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`)\n\n return DotenvModule.configDotenv(options)\n }\n\n return DotenvModule._configVault(options)\n}\n\nfunction decrypt (encrypted, keyStr) {\n const key = Buffer.from(keyStr.slice(-64), 'hex')\n let ciphertext = Buffer.from(encrypted, 'base64')\n\n const nonce = ciphertext.subarray(0, 12)\n const authTag = ciphertext.subarray(-16)\n ciphertext = ciphertext.subarray(12, -16)\n\n try {\n const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce)\n aesgcm.setAuthTag(authTag)\n return `${aesgcm.update(ciphertext)}${aesgcm.final()}`\n } catch (error) {\n const isRange = error instanceof RangeError\n const invalidKeyLength = error.message === 'Invalid key length'\n const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data'\n\n if (isRange || invalidKeyLength) {\n const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n } else if (decryptionFailed) {\n const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY')\n err.code = 'DECRYPTION_FAILED'\n throw err\n } else {\n throw error\n }\n }\n}\n\n// Populate process.env with parsed values\nfunction populate (processEnv, parsed, options = {}) {\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (typeof parsed !== 'object') {\n const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate')\n err.code = 'OBJECT_REQUIRED'\n throw err\n }\n\n // Set process.env\n for (const key of Object.keys(parsed)) {\n if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n if (override === true) {\n processEnv[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _debug(`\"${key}\" is already defined and WAS overwritten`)\n } else {\n _debug(`\"${key}\" is already defined and was NOT overwritten`)\n }\n }\n } else {\n processEnv[key] = parsed[key]\n }\n }\n}\n\nconst DotenvModule = {\n configDotenv,\n _configVault,\n _parseVault,\n config,\n decrypt,\n parse,\n populate\n}\n\nmodule.exports.configDotenv = DotenvModule.configDotenv\nmodule.exports._configVault = DotenvModule._configVault\nmodule.exports._parseVault = DotenvModule._parseVault\nmodule.exports.config = DotenvModule.config\nmodule.exports.decrypt = DotenvModule.decrypt\nmodule.exports.parse = DotenvModule.parse\nmodule.exports.populate = DotenvModule.populate\n\nmodule.exports = DotenvModule\n", "import type { ErrorsType } from \"./errors-data\";\n\nimport kleur from \"kleur\";\n\nexport type ErrorData = {\n\terror: ErrorsType;\n\tmessage: string;\n\texpected?: string;\n\thint?: string;\n};\n\nexport class RenderError extends Error {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.name = \"InternalCXError\";\n\t\tthis.stack = \"\";\n\t}\n}\n\n/**\n * Throws an error with the provided error message, expected value, and hint.\n */\nfunction throwError(options: ErrorData, stack?: unknown) {\n\tconst { error, message, expected, hint } = options;\n\n\tconst errorColor = kleur.red(\"[ \" + error + \" ]\");\n\tconst extraText = [expected, hint].filter(Boolean).join(\"\\n\");\n\n\tconsole.log(`\n${errorColor}\n${message}\n${extraText}\n\n${kleur.red(\"stack\")}\n${JSON.stringify(stack, null, 2)}`);\n\n\tthrow new RenderError();\n}\n\nexport { throwError };\n", "/**\n * Do you want to add a new error to the list?\n *\n * 1 - Add the new error type name to the `ErrorsType` union type.\n * 2 - Export a new ErrorData object (or a function that returns one) in this\n * file by completing the `error` (ErrosType) and `message` (string) properties\n * obligatorily.\n */\n\nimport type { ErrorData } from \".\";\nimport type { SpawnSyncReturns } from \"node:child_process\";\n\ntype ErrorsType =\n\t| \"ArtifactError\"\n\t| \"ErrorInSSGBuildProcess\"\n\t| \"LifecycleExecutionError\"\n\t| \"LoginError\"\n\t| \"NoDomainsFoundError\"\n\t| \"NoJSConfigFileFound\"\n\t| \"ReadFromStoreError\"\n\t| \"ReferenceFieldSourcesNotFoundError\"\n\t| \"RenderUUIDError\"\n\t| \"WriteToStoreError\";\n\nconst ArtifactError: ErrorData = {\n\terror: \"ArtifactError\",\n\tmessage: \"There was a problem with an artifact\",\n\texpected:\n\t\t\"An external process may have has modified or deleted one of the artifacts (files and directories).\",\n\thint: \"Have there been any recent deployments? These can delete directories from the current render.\",\n};\n\nconst ErrorInSSGBuildProcess = (\n\tcommand: SpawnSyncReturns<string>,\n): ErrorData => ({\n\terror: \"ErrorInSSGBuildProcess\",\n\tmessage: `Error in SSG build process: ${JSON.stringify(command)}`,\n\texpected:\n\t\t\"This can happen if there was a problem with the SSG build process.\",\n});\n\nconst LifecycleExecutionError = (\n\tattempts: number,\n\tname: string,\n): ErrorData => ({\n\terror: \"LifecycleExecutionError\",\n\tmessage: `Exceeded maximum retry attempts (${attempts}) for ${name} LifeCycle`,\n});\n\nconst LoginError: ErrorData = {\n\terror: \"LoginError\",\n\tmessage: \"There was a problem logging in to the API\",\n\texpected:\n\t\t\"This happens if the API is currently not working or the credentials are incorrect.\",\n};\n\nconst NoDomainsFoundError: ErrorData = {\n\terror: \"NoDomainsFoundError\",\n\tmessage:\n\t\t\"No domains were found in this instance. The process cannot continue.\",\n\texpected:\n\t\t\"This may happen if the API is not functioning, or the site is not properly configured, or the domains are not registered.\",\n\thint: \"You can contact the instance administrator.\",\n};\n\nconst NoJSConfigFileFound: ErrorData = {\n\terror: \"NoJSConfigFileFound\",\n\tmessage: \"Could not find jsconfig.json or tsconfig.json\",\n\texpected:\n\t\t\"This can happen if the instance is not properly configured with a jsconfig.json or tsconfig.json file.\",\n};\n\nconst ReadFromStoreError: ErrorData = {\n\terror: \"ReadFromStoreError\",\n\tmessage: \"There was an error reading a file to the Store directory\",\n\thint: \"There may be an issue such as permissions preventing the file from being read.\",\n};\n\nconst ReferenceFieldSourcesNotFoundError: ErrorData = {\n\terror: \"ReferenceFieldSourcesNotFoundError\",\n\tmessage: \"The distributor has no sources defined.\",\n\texpected:\n\t\t\"It is expected to have at least one data source in the `sources` property, even if it is empty.\",\n};\n\nconst RenderUUIDError: ErrorData = {\n\terror: \"RenderUUIDError\",\n\tmessage: `Render sentinel file does not exist.\nThe rendering UUID cannot be read safely.\nThere was probably an instance deployment during the render, and files were deleted.\n\nThe files generated in this render will not be published.`,\n};\n\nconst WriteToStoreError: ErrorData = {\n\terror: \"WriteToStoreError\",\n\tmessage: \"There was an error writing a file to the Store directory\",\n\thint: \"There may be an issue such as lack of space or permissions preventing the file from being written.\",\n};\n\nexport {\n\tArtifactError,\n\tErrorInSSGBuildProcess,\n\tLifecycleExecutionError,\n\tLoginError,\n\tNoDomainsFoundError,\n\tNoJSConfigFileFound,\n\tReadFromStoreError,\n\tReferenceFieldSourcesNotFoundError,\n\tRenderUUIDError,\n\tWriteToStoreError,\n\ttype ErrorsType,\n};\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.isUndefined = exports.fixName = exports.validateName = exports.validateSingleChar = exports.fixChar = exports.validateChar = void 0;\r\n/**\r\n * Returns true if the specified string only contains characters permitted by\r\n * the XML specification.\r\n */\r\nfunction validateChar(str) {\r\n for (var i = 0; i < str.length; i++) {\r\n var firstChar = str.charCodeAt(i);\r\n if (firstChar === 0x9 || firstChar === 0xA || firstChar === 0xD\r\n || (firstChar >= 0x20 && firstChar <= 0xD7FF)\r\n || (firstChar >= 0xE000 && firstChar <= 0xFFFD)) {\r\n continue;\r\n }\r\n if (i + 1 === str.length) {\r\n return false;\r\n }\r\n // UTF-16 surrogate characters\r\n var secondChar = str.charCodeAt(i + 1);\r\n if ((firstChar >= 0xD800 && firstChar <= 0xDBFF)\r\n && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) {\r\n i++;\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n}\r\nexports.validateChar = validateChar;\r\n/**\r\n * Returns a version of the specified string that only contains characters\r\n * permitted by the XML specification, with invalid characters replaced\r\n * by the replacement character U+FFFD.\r\n */\r\nfunction fixChar(str) {\r\n var newStr = \"\";\r\n for (var i = 0; i < str.length; i++) {\r\n var firstChar = str.charCodeAt(i);\r\n if (firstChar === 0x9 || firstChar === 0xA || firstChar === 0xD\r\n || (firstChar >= 0x20 && firstChar <= 0xD7FF)\r\n || (firstChar >= 0xE000 && firstChar <= 0xFFFD)) {\r\n newStr += str[i];\r\n continue;\r\n }\r\n if (i + 1 === str.length) {\r\n newStr += \"\\uFFFD\";\r\n return newStr;\r\n }\r\n // UTF-16 surrogate characters\r\n var secondChar = str.charCodeAt(i + 1);\r\n if ((firstChar >= 0xD800 && firstChar <= 0xDBFF)\r\n && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) {\r\n newStr += str[i] + str[i + 1];\r\n i++;\r\n continue;\r\n }\r\n newStr += \"\\uFFFD\";\r\n }\r\n return newStr;\r\n}\r\nexports.fixChar = fixChar;\r\n/**\r\n * Returns true if the specified string only contains a single character, and\r\n * that this character is permitted by the XML specification.\r\n */\r\nfunction validateSingleChar(str) {\r\n if (str.length === 0) {\r\n return false;\r\n }\r\n var firstChar = str.charCodeAt(0);\r\n if (str.length === 1) {\r\n return (firstChar === 0x9 || firstChar === 0xA || firstChar === 0xD\r\n || (firstChar >= 0x20 && firstChar <= 0xD7FF)\r\n || (firstChar >= 0xE000 && firstChar <= 0xFFFD));\r\n }\r\n if (str.length !== 2) {\r\n return false;\r\n }\r\n // UTF-16 surrogate characters\r\n var secondChar = str.charCodeAt(1);\r\n return ((firstChar >= 0xD800 && firstChar <= 0xDBFF)\r\n && (secondChar >= 0xDC00 && secondChar <= 0xDFFF));\r\n}\r\nexports.validateSingleChar = validateSingleChar;\r\n/**\r\n * Returns true if the specified string only contains characters permitted by\r\n * the XML specification for names.\r\n */\r\nfunction validateName(str) {\r\n if (str.length === 0) {\r\n return false;\r\n }\r\n var initialFirstChar = str.charCodeAt(0);\r\n var initialFirstCharMatch = (initialFirstChar === 0x3A\r\n || initialFirstChar === 0x5F\r\n || (initialFirstChar >= 0x41 && initialFirstChar <= 0x5A)\r\n || (initialFirstChar >= 0x61 && initialFirstChar <= 0x7A)\r\n || (initialFirstChar >= 0xC0 && initialFirstChar <= 0xD6)\r\n || (initialFirstChar >= 0xD8 && initialFirstChar <= 0xF6)\r\n || (initialFirstChar >= 0XF8 && initialFirstChar <= 0X2FF)\r\n || (initialFirstChar >= 0x370 && initialFirstChar <= 0x37D)\r\n || (initialFirstChar >= 0x37F && initialFirstChar <= 0X1FFF)\r\n || (initialFirstChar >= 0x200C && initialFirstChar <= 0x200D)\r\n || (initialFirstChar >= 0x2070 && initialFirstChar <= 0x218F)\r\n || (initialFirstChar >= 0x2C00 && initialFirstChar <= 0x2FEF)\r\n || (initialFirstChar >= 0x3001 && initialFirstChar <= 0xD7FF)\r\n || (initialFirstChar >= 0xF900 && initialFirstChar <= 0xFDCF)\r\n || (initialFirstChar >= 0xFDF0 && initialFirstChar <= 0xFFFD));\r\n if (str.length === 1) {\r\n return initialFirstCharMatch;\r\n }\r\n // UTF-16 surrogate characters\r\n var initialSecondChar = str.charCodeAt(1);\r\n var initialSecondCharMatch = ((initialFirstChar >= 0xD800 && initialFirstChar <= 0xDB7F)\r\n && (initialSecondChar >= 0xDC00 && initialSecondChar <= 0xDFFF));\r\n if (!initialFirstCharMatch && !initialSecondCharMatch) {\r\n return false;\r\n }\r\n var start = initialSecondCharMatch ? 2 : 1;\r\n for (var i = start; i < str.length; i++) {\r\n var firstChar = str.charCodeAt(i);\r\n if (firstChar === 0x3A\r\n || firstChar === 0x5F\r\n || firstChar === 0x2D\r\n || firstChar === 0x2E\r\n || firstChar === 0xB7\r\n || (firstChar >= 0x30 && firstChar <= 0x39)\r\n || (firstChar >= 0x41 && firstChar <= 0x5A)\r\n || (firstChar >= 0x61 && firstChar <= 0x7A)\r\n || (firstChar >= 0xC0 && firstChar <= 0xD6)\r\n || (firstChar >= 0xD8 && firstChar <= 0xF6)\r\n || (firstChar >= 0XF8 && firstChar <= 0X2FF)\r\n || (firstChar >= 0x300 && firstChar <= 0x36F)\r\n || (firstChar >= 0x370 && firstChar <= 0x37D)\r\n || (firstChar >= 0x37F && firstChar <= 0X1FFF)\r\n || (firstChar >= 0x200C && firstChar <= 0x200D)\r\n || (firstChar >= 0x203F && firstChar <= 0x2040)\r\n || (firstChar >= 0x2070 && firstChar <= 0x218F)\r\n || (firstChar >= 0x2C00 && firstChar <= 0x2FEF)\r\n || (firstChar >= 0x3001 && firstChar <= 0xD7FF)\r\n || (firstChar >= 0xF900 && firstChar <= 0xFDCF)\r\n || (firstChar >= 0xFDF0 && firstChar <= 0xFFFD)) {\r\n continue;\r\n }\r\n if (i + 1 === str.length) {\r\n return false;\r\n }\r\n // UTF-16 surrogate characters\r\n var secondChar = str.charCodeAt(i + 1);\r\n if ((firstChar >= 0xD800 && firstChar <= 0xDB7F)\r\n && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) {\r\n i++;\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n}\r\nexports.validateName = validateName;\r\n/**\r\n * Returns a version of the specified string that only contains characters\r\n * permitted by the XML specification for names, with invalid characters\r\n * replaced by the replacement character U+FFFD.\r\n */\r\nfunction fixName(str) {\r\n var newStr = \"\";\r\n if (str.length === 0) {\r\n return newStr;\r\n }\r\n var initialFirstChar = str.charCodeAt(0);\r\n var initialFirstCharMatch = (initialFirstChar === 0x3A\r\n || initialFirstChar === 0x5F\r\n || (initialFirstChar >= 0x41 && initialFirstChar <= 0x5A)\r\n || (initialFirstChar >= 0x61 && initialFirstChar <= 0x7A)\r\n || (initialFirstChar >= 0xC0 && initialFirstChar <= 0xD6)\r\n || (initialFirstChar >= 0xD8 && initialFirstChar <= 0xF6)\r\n || (initialFirstChar >= 0XF8 && initialFirstChar <= 0X2FF)\r\n || (initialFirstChar >= 0x370 && initialFirstChar <= 0x37D)\r\n || (initialFirstChar >= 0x37F && initialFirstChar <= 0X1FFF)\r\n || (initialFirstChar >= 0x200C && initialFirstChar <= 0x200D)\r\n || (initialFirstChar >= 0x2070 && initialFirstChar <= 0x218F)\r\n || (initialFirstChar >= 0x2C00 && initialFirstChar <= 0x2FEF)\r\n || (initialFirstChar >= 0x3001 && initialFirstChar <= 0xD7FF)\r\n || (initialFirstChar >= 0xF900 && initialFirstChar <= 0xFDCF)\r\n || (initialFirstChar >= 0xFDF0 && initialFirstChar <= 0xFFFD));\r\n if (str.length === 1) {\r\n if (initialFirstCharMatch) {\r\n newStr = str[0];\r\n }\r\n else {\r\n newStr = \"\\uFFFD\";\r\n }\r\n return newStr;\r\n }\r\n // UTF-16 surrogate characters\r\n var initialSecondChar = str.charCodeAt(1);\r\n var initialSecondCharMatch = ((initialFirstChar >= 0xD800 && initialFirstChar <= 0xDB7F)\r\n && (initialSecondChar >= 0xDC00 && initialSecondChar <= 0xDFFF));\r\n if (initialSecondCharMatch) {\r\n newStr = str[0] + str[1];\r\n }\r\n else if (initialFirstCharMatch) {\r\n newStr = str[0];\r\n }\r\n else {\r\n newStr = \"\\uFFFD\";\r\n }\r\n var start = initialSecondCharMatch ? 2 : 1;\r\n for (var i = start; i < str.length; i++) {\r\n var firstChar = str.charCodeAt(i);\r\n if (firstChar === 0x3A\r\n || firstChar === 0x5F\r\n || firstChar === 0x2D\r\n || firstChar === 0x2E\r\n || firstChar === 0xB7\r\n || (firstChar >= 0x30 && firstChar <= 0x39)\r\n || (firstChar >= 0x41 && firstChar <= 0x5A)\r\n || (firstChar >= 0x61 && firstChar <= 0x7A)\r\n || (firstChar >= 0xC0 && firstChar <= 0xD6)\r\n || (firstChar >= 0xD8 && firstChar <= 0xF6)\r\n || (firstChar >= 0XF8 && firstChar <= 0X2FF)\r\n || (firstChar >= 0x300 && firstChar <= 0x36F)\r\n || (firstChar >= 0x370 && firstChar <= 0x37D)\r\n || (firstChar >= 0x37F && firstChar <= 0X1FFF)\r\n || (firstChar >= 0x200C && firstChar <= 0x200D)\r\n || (firstChar >= 0x203F && firstChar <= 0x2040)\r\n || (firstChar >= 0x2070 && firstChar <= 0x218F)\r\n || (firstChar >= 0x2C00 && firstChar <= 0x2FEF)\r\n || (firstChar >= 0x3001 && firstChar <= 0xD7FF)\r\n || (firstChar >= 0xF900 && firstChar <= 0xFDCF)\r\n || (firstChar >= 0xFDF0 && firstChar <= 0xFFFD)) {\r\n newStr += str[i];\r\n continue;\r\n }\r\n if (i + 1 === str.length) {\r\n newStr += \"\\uFFFD\";\r\n return newStr;\r\n }\r\n // UTF-16 surrogate characters\r\n var secondChar = str.charCodeAt(i + 1);\r\n if ((firstChar >= 0xD800 && firstChar <= 0xDB7F)\r\n && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) {\r\n newStr += str[i] + str[i + 1];\r\n i++;\r\n continue;\r\n }\r\n newStr += \"\\uFFFD\";\r\n }\r\n return newStr;\r\n}\r\nexports.fixName = fixName;\r\n/**\r\n * Returns true if the specified value is undefined.\r\n */\r\nfunction isUndefined(val) {\r\n return Object.prototype.toString.call(val) === \"[object Undefined]\";\r\n}\r\nexports.isUndefined = isUndefined;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringOptions = void 0;\r\nvar validate_1 = require(\"./validate\");\r\n/**\r\n * Implementation of the IStringOptions interface used to provide default\r\n * values to fields.\r\n */\r\nvar StringOptions = /** @class */ (function () {\r\n function StringOptions(options) {\r\n this.doubleQuotes = false;\r\n this.indent = \" \";\r\n this.newline = \"\\n\";\r\n this.pretty = true;\r\n if (!(0, validate_1.isUndefined)(options.doubleQuotes)) {\r\n this.doubleQuotes = options.doubleQuotes;\r\n }\r\n if (!(0, validate_1.isUndefined)(options.indent)) {\r\n this.indent = options.indent;\r\n }\r\n if (!(0, validate_1.isUndefined)(options.newline)) {\r\n this.newline = options.newline;\r\n }\r\n if (!(0, validate_1.isUndefined)(options.pretty)) {\r\n this.pretty = options.pretty;\r\n }\r\n }\r\n return StringOptions;\r\n}());\r\nexports.StringOptions = StringOptions;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2018 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.escapeDoubleQuotes = exports.escapeSingleQuotes = exports.escapeRightAngleBracketsInCdataTerminator = exports.escapeLeftAngleBrackets = exports.escapeAmpersands = void 0;\r\n/**\r\n * Replaces ampersands (&) with the appropriate XML character reference.\r\n */\r\nfunction escapeAmpersands(str) {\r\n return str.replace(/&/g, \"&amp;\");\r\n}\r\nexports.escapeAmpersands = escapeAmpersands;\r\n/**\r\n * Replaces left angle brackets (&lt;) with the appropriate XML character\r\n * reference.\r\n */\r\nfunction escapeLeftAngleBrackets(str) {\r\n return str.replace(/</g, \"&lt;\");\r\n}\r\nexports.escapeLeftAngleBrackets = escapeLeftAngleBrackets;\r\n/**\r\n * Replaces right angle brackets (&gt;) with the appropriate XML character\r\n * reference when part of the string \"]]>\".\r\n */\r\nfunction escapeRightAngleBracketsInCdataTerminator(str) {\r\n return str.replace(/]]>/g, \"]]&gt;\");\r\n}\r\nexports.escapeRightAngleBracketsInCdataTerminator = escapeRightAngleBracketsInCdataTerminator;\r\n/**\r\n * Replaces single quotes (\") with the appropriate XML character reference.\r\n */\r\nfunction escapeSingleQuotes(str) {\r\n return str.replace(/'/g, \"&apos;\");\r\n}\r\nexports.escapeSingleQuotes = escapeSingleQuotes;\r\n/**\r\n * Replaces double quotes (\") with the appropriate XML character reference.\r\n */\r\nfunction escapeDoubleQuotes(str) {\r\n return str.replace(/\"/g, \"&quot;\");\r\n}\r\nexports.escapeDoubleQuotes = escapeDoubleQuotes;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar escape_1 = require(\"../escape\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents text in an attribute value.\r\n *\r\n * Restricted characters, such as the ampersand (`&`) and the opening angle\r\n * bracket (`<`), are all automatically escaped.\r\n */\r\nvar XmlAttributeText = /** @class */ (function () {\r\n function XmlAttributeText(parent, validation, options) {\r\n this._validation = validation;\r\n if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) {\r\n this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData);\r\n }\r\n else {\r\n this._replaceInvalidCharsInCharData = false;\r\n }\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlAttributeText.prototype, \"charData\", {\r\n /**\r\n * Gets this attribute text.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets this attribute text.\r\n */\r\n set: function (charData) {\r\n if (this._replaceInvalidCharsInCharData) {\r\n charData = (0, validate_1.fixChar)(charData);\r\n }\r\n else if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": attribute text\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain characters not\")\r\n + \" allowed in XML\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this attribute text.\r\n */\r\n XmlAttributeText.prototype.toString = function () {\r\n var str = this._charData;\r\n str = (0, escape_1.escapeAmpersands)(str);\r\n str = (0, escape_1.escapeLeftAngleBrackets)(str);\r\n return str;\r\n };\r\n /**\r\n * Returns the parent of this attribute text.\r\n */\r\n XmlAttributeText.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlAttributeText;\r\n}());\r\nexports.default = XmlAttributeText;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a character reference.\r\n *\r\n * A character reference is structured as follows, where `{dec}` is the\r\n * decimal representation code point corresponding to a particular Unicode\r\n * character:\r\n *\r\n * ```xml\r\n * &#{dec};\r\n * ```\r\n *\r\n * The corresponding hexadecimal version is structured as follows, where\r\n * `{hex}` is the hexadecimal representation code point corresponding to a\r\n * particular Unicode character:\r\n *\r\n * ```xml\r\n * &#x{hex};\r\n * ```\r\n *\r\n * Unicode characters outside of the Basic Multilingual Plane are represented\r\n * using a surrogate pair consisting of two character references.\r\n *\r\n * The `{dec}` and `{hex}` values are defined by the `char` and `hex`\r\n * properties of this node; the former is the character to be represented while\r\n * the latter indicates whether the decimal or hexadecimal representation\r\n * should be used.\r\n */\r\nvar XmlCharRef = /** @class */ (function () {\r\n function XmlCharRef(parent, validation, options) {\r\n this._hex = false;\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.char = options.char;\r\n if (!(0, validate_1.isUndefined)(options.hex)) {\r\n this.hex = options.hex;\r\n }\r\n }\r\n Object.defineProperty(XmlCharRef.prototype, \"char\", {\r\n /**\r\n * Gets the character of this character reference.\r\n */\r\n get: function () {\r\n return this._char;\r\n },\r\n /**\r\n * Sets the character of this character reference.\r\n */\r\n set: function (char) {\r\n if (this._validation && !(0, validate_1.validateSingleChar)(char)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": character reference\"\r\n + (\" \\\"\" + char + \"\\\" should reference a single character,\")\r\n + \" and this character should be allowed in XML\");\r\n }\r\n this._char = char;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(XmlCharRef.prototype, \"hex\", {\r\n /**\r\n * Gets whether the decimal or hexadecimal representation should be used\r\n * for this character reference.\r\n */\r\n get: function () {\r\n return this._hex;\r\n },\r\n /**\r\n * Sets whether the decimal or hexadecimal representation should be used\r\n * for this character reference.\r\n */\r\n set: function (hex) {\r\n this._hex = hex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this character reference.\r\n */\r\n XmlCharRef.prototype.toString = function () {\r\n var char;\r\n if (this._char.length === 1) {\r\n char = this._char.charCodeAt(0);\r\n }\r\n else {\r\n var first = this._char.charCodeAt(0);\r\n if (first >= 0xD800 && first <= 0xDBFF && this._char.length > 1) {\r\n var second = this._char.charCodeAt(1);\r\n if (second >= 0xDC00 && second <= 0xDFFF) {\r\n char = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\r\n }\r\n else {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": character\"\r\n + (\" reference \\\"\" + this.char + \"\\\" should\")\r\n + \" reference a valid Unicode character\");\r\n }\r\n }\r\n else {\r\n char = first;\r\n }\r\n }\r\n if (this._hex) {\r\n return \"&#x\" + char.toString(16) + \";\";\r\n }\r\n else {\r\n return \"&#\" + char + \";\";\r\n }\r\n };\r\n /**\r\n * Returns the parent of this character reference.\r\n */\r\n XmlCharRef.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlCharRef;\r\n}());\r\nexports.default = XmlCharRef;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents an entity reference.\r\n *\r\n * An entity reference is structured as follows, where `{name}` is the name of\r\n * the entity to be referenced:\r\n *\r\n * ```xml\r\n * &{entity};\r\n * ```\r\n */\r\nvar XmlEntityRef = /** @class */ (function () {\r\n function XmlEntityRef(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.name = options.name;\r\n }\r\n Object.defineProperty(XmlEntityRef.prototype, \"name\", {\r\n /**\r\n * Gets the name of this entity reference.\r\n */\r\n get: function () {\r\n return this._name;\r\n },\r\n /**\r\n * Sets the name of this entity reference.\r\n */\r\n set: function (name) {\r\n if (this._validation && !(0, validate_1.validateName)(name)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": entity reference name\"\r\n + (\" \\\"\" + name + \"\\\" should not contain characters not\")\r\n + \" allowed in XML names\");\r\n }\r\n this._name = name;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this entity reference.\r\n */\r\n XmlEntityRef.prototype.toString = function () {\r\n return \"&\" + this._name + \";\";\r\n };\r\n /**\r\n * Returns the parent of this entity reference.\r\n */\r\n XmlEntityRef.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlEntityRef;\r\n}());\r\nexports.default = XmlEntityRef;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar escape_1 = require(\"../escape\");\r\nvar options_1 = require(\"../options\");\r\nvar validate_1 = require(\"../validate\");\r\nvar XmlAttributeText_1 = __importDefault(require(\"./XmlAttributeText\"));\r\nvar XmlCharRef_1 = __importDefault(require(\"./XmlCharRef\"));\r\nvar XmlEntityRef_1 = __importDefault(require(\"./XmlEntityRef\"));\r\n/**\r\n * Represents an attribute.\r\n *\r\n * An attribute is part of the start tag of an element and is\r\n * structured as follows, where `{name}` is the name of the attribute and\r\n * `{value}` is the value of the attribute:\r\n *\r\n * ```xml\r\n * <element {name}=\"{value}\">\r\n * ```\r\n *\r\n * The `{name}` value is a property of this node, while the `{value}` property\r\n * consists of the children of this node.\r\n *\r\n * Attributes can have an unlimited number of attribute text, character\r\n * references, and entity references.\r\n */\r\nvar XmlAttribute = /** @class */ (function () {\r\n function XmlAttribute(parent, validation, options) {\r\n this._validation = validation;\r\n if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInName)) {\r\n this._replaceInvalidCharsInName = options.replaceInvalidCharsInName;\r\n }\r\n else {\r\n this._replaceInvalidCharsInName = false;\r\n }\r\n this._children = [];\r\n this._parent = parent;\r\n this.name = options.name;\r\n }\r\n Object.defineProperty(XmlAttribute.prototype, \"name\", {\r\n /**\r\n * Gets the name of this attribute.\r\n */\r\n get: function () {\r\n return this._name;\r\n },\r\n /**\r\n * Sets the name of this attribute.\r\n */\r\n set: function (name) {\r\n if (this._replaceInvalidCharsInName) {\r\n name = (0, validate_1.fixName)(name);\r\n if (name.length === 0) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": attribute name\"\r\n + \" should not be empty\");\r\n }\r\n }\r\n else if (this._validation && !(0, validate_1.validateName)(name)) {\r\n if (name.length === 0) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": attribute name\"\r\n + \" should not be empty\");\r\n }\r\n else {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": attribute name\"\r\n + (\" \\\"\" + name + \"\\\" should not contain characters not\")\r\n + \" allowed in XML names\");\r\n }\r\n }\r\n this._name = name;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Adds a character reference to this attribute and returns the new\r\n * character reference.\r\n */\r\n XmlAttribute.prototype.charRef = function (options) {\r\n var charRef = new XmlCharRef_1.default(this, this._validation, options);\r\n this._children.push(charRef);\r\n return charRef;\r\n };\r\n /**\r\n * Adds an entity reference to this attribute and returns the new entity\r\n * reference.\r\n */\r\n XmlAttribute.prototype.entityRef = function (options) {\r\n var charRef = new XmlEntityRef_1.default(this, this._validation, options);\r\n this._children.push(charRef);\r\n return charRef;\r\n };\r\n /**\r\n * Adds attribute text to this attribute and returns the new text.\r\n */\r\n XmlAttribute.prototype.text = function (options) {\r\n var textNode = new XmlAttributeText_1.default(this, this._validation, options);\r\n this._children.push(textNode);\r\n return textNode;\r\n };\r\n /**\r\n * Returns an XML string representation of this attribute.\r\n */\r\n XmlAttribute.prototype.toString = function (options) {\r\n if (options === void 0) { options = {}; }\r\n var optionsObj = new options_1.StringOptions(options);\r\n var quote = optionsObj.doubleQuotes ? \"\\\"\" : \"'\";\r\n var str = this._name + \"=\" + quote;\r\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\r\n var child = _a[_i];\r\n if (optionsObj.doubleQuotes) {\r\n str += (0, escape_1.escapeDoubleQuotes)(child.toString());\r\n }\r\n else {\r\n str += (0, escape_1.escapeSingleQuotes)(child.toString());\r\n }\r\n }\r\n str += quote;\r\n return str;\r\n };\r\n /**\r\n * Returns the parent of this attribute.\r\n */\r\n XmlAttribute.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlAttribute;\r\n}());\r\nexports.default = XmlAttribute;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents an attribute-list declaration in a document type definition.\r\n *\r\n * An attribute-list declaration is structured as follows, where `{text}`\r\n * is the text of the declaration:\r\n *\r\n * ```xml\r\n * <!ATTLIST {text}>\r\n * ```\r\n */\r\nvar XmlDtdAttlist = /** @class */ (function () {\r\n function XmlDtdAttlist(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlDtdAttlist.prototype, \"charData\", {\r\n /**\r\n * Gets the text of this entity declaration.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the text of this entity declaration.\r\n */\r\n set: function (charData) {\r\n if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": attribute-list\"\r\n + (\" declaration \\\"\" + charData + \"\\\" should not contain\")\r\n + \" characters not allowed in XML\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this entity declaration.\r\n */\r\n XmlDtdAttlist.prototype.toString = function () {\r\n return \"<!ATTLIST \" + this._charData + \">\";\r\n };\r\n /**\r\n * Returns the parent of this entity declaration.\r\n */\r\n XmlDtdAttlist.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlDtdAttlist;\r\n}());\r\nexports.default = XmlDtdAttlist;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents an element declaration in a document type definition.\r\n *\r\n * An element declaration is structured as follows, where `{text}` is the\r\n * text of the declaration:\r\n *\r\n * ```xml\r\n * <!ELEMENT {text}>\r\n * ```\r\n */\r\nvar XmlDtdElement = /** @class */ (function () {\r\n function XmlDtdElement(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlDtdElement.prototype, \"charData\", {\r\n /**\r\n * Gets the text of this element declaration.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the text of this element declaration.\r\n */\r\n set: function (charData) {\r\n if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": element declaration\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain characters\")\r\n + \" not allowed in XML\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this element declaration.\r\n */\r\n XmlDtdElement.prototype.toString = function () {\r\n return \"<!ELEMENT \" + this._charData + \">\";\r\n };\r\n /**\r\n * Returns the parent of this element declaration.\r\n */\r\n XmlDtdElement.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlDtdElement;\r\n}());\r\nexports.default = XmlDtdElement;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents an entity declaration in a document type definition.\r\n *\r\n * An entity declaration is structured as follows, where `{text}` is the\r\n * text of the declaration:\r\n *\r\n * ```xml\r\n * <!ENTITY {text}>\r\n * ```\r\n */\r\nvar XmlDtdEntity = /** @class */ (function () {\r\n function XmlDtdEntity(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlDtdEntity.prototype, \"charData\", {\r\n /**\r\n * Gets the text of this entity declaration.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the text of this entity declaration.\r\n */\r\n set: function (charData) {\r\n if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": entity declaration\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain characters\")\r\n + \" not allowed in XML\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this entity declaration.\r\n */\r\n XmlDtdEntity.prototype.toString = function () {\r\n return \"<!ENTITY \" + this._charData + \">\";\r\n };\r\n /**\r\n * Returns the parent of this entity declaration.\r\n */\r\n XmlDtdEntity.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlDtdEntity;\r\n}());\r\nexports.default = XmlDtdEntity;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a notation declaration in a document type definition.\r\n *\r\n * A notation declaration is structured as follows, where `{text}` is the\r\n * text of the declaration:\r\n *\r\n * ```xml\r\n * <!NOTATION {text}>\r\n * ```\r\n */\r\nvar XmlDtdNotation = /** @class */ (function () {\r\n function XmlDtdNotation(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlDtdNotation.prototype, \"charData\", {\r\n /**\r\n * Gets the text of this notation declaration.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the text of this notation declaration.\r\n */\r\n set: function (charData) {\r\n if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": notation declaration\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain characters\")\r\n + \" not allowed in XML\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this notation declaration.\r\n */\r\n XmlDtdNotation.prototype.toString = function () {\r\n return \"<!NOTATION \" + this._charData + \">\";\r\n };\r\n /**\r\n * Returns the parent of this notation declaration.\r\n */\r\n XmlDtdNotation.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlDtdNotation;\r\n}());\r\nexports.default = XmlDtdNotation;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a parameter entity reference in a document type definition.\r\n *\r\n * A parameter entity reference is structured as follows, where `{entity}`\r\n * is the name of the entity:\r\n *\r\n * ```xml\r\n * %{entity};\r\n * ```\r\n */\r\nvar XmlDtdParamEntityRef = /** @class */ (function () {\r\n function XmlDtdParamEntityRef(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.name = options.name;\r\n }\r\n Object.defineProperty(XmlDtdParamEntityRef.prototype, \"name\", {\r\n /**\r\n * Gets the name of this parameter entity reference.\r\n */\r\n get: function () {\r\n return this._name;\r\n },\r\n /**\r\n * Sets the name of this parameter entity reference.\r\n */\r\n set: function (name) {\r\n if (this._validation && !(0, validate_1.validateName)(name)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": parameter entity\"\r\n + (\" reference name \\\"\" + name + \"\\\" should not contain\")\r\n + \" characters not allowed in XML names\");\r\n }\r\n this._name = name;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this parameter entity reference.\r\n */\r\n XmlDtdParamEntityRef.prototype.toString = function () {\r\n return \"%\" + this._name + \";\";\r\n };\r\n /**\r\n * Returns the parent of this parameter entity reference.\r\n */\r\n XmlDtdParamEntityRef.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlDtdParamEntityRef;\r\n}());\r\nexports.default = XmlDtdParamEntityRef;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a processing instruction.\r\n *\r\n * A processing instruction is structured as follows, where `{target}` and\r\n * `{content}` are the target and content of the processing instruction\r\n * respectively:\r\n *\r\n * ```xml\r\n * <?{target} {content}?>\r\n * ```\r\n */\r\nvar XmlProcInst = /** @class */ (function () {\r\n function XmlProcInst(parent, validation, options) {\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.content = options.content;\r\n this.target = options.target;\r\n }\r\n Object.defineProperty(XmlProcInst.prototype, \"content\", {\r\n /**\r\n * Gets the content of this processing instruction.\r\n */\r\n get: function () {\r\n return this._content;\r\n },\r\n /**\r\n * Sets the content of this processing instruction.\r\n */\r\n set: function (content) {\r\n if (!(0, validate_1.isUndefined)(content)) {\r\n if (this._validation && !(0, validate_1.validateChar)(content)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": processing\"\r\n + (\" instruction content \\\"\" + content + \"\\\" should\")\r\n + \" not contain characters not allowed in XML\");\r\n }\r\n else if (this._validation && content.indexOf(\"?>\") !== -1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": processing\"\r\n + (\" instruction content \\\"\" + content + \"\\\" should\")\r\n + \" not contain the string '?>'\");\r\n }\r\n }\r\n this._content = content;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(XmlProcInst.prototype, \"target\", {\r\n /**\r\n * Gets the target of this processing instruction.\r\n */\r\n get: function () {\r\n return this._target;\r\n },\r\n /**\r\n * Sets the content of this processing instruction.\r\n */\r\n set: function (target) {\r\n if (this._validation && !(0, validate_1.validateName)(target)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": processing\"\r\n + (\" instruction target \\\"\" + target + \"\\\" should\")\r\n + \" not contain characters not allowed in XML\"\r\n + \" names\");\r\n }\r\n if (this._validation && target === \"xml\") {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": processing\"\r\n + (\" instruction target \\\"\" + target + \"\\\" should\")\r\n + \" not be the string 'xml'\");\r\n }\r\n this._target = target;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this processing instruction.\r\n */\r\n XmlProcInst.prototype.toString = function () {\r\n if ((0, validate_1.isUndefined)(this._content)) {\r\n return \"<?\" + this._target + \"?>\";\r\n }\r\n else {\r\n return \"<?\" + this._target + \" \" + this._content + \"?>\";\r\n }\r\n };\r\n /**\r\n * Returns the parent of this processing instruction.\r\n */\r\n XmlProcInst.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlProcInst;\r\n}());\r\nexports.default = XmlProcInst;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.validatePubId = void 0;\r\nvar error_1 = require(\"../error\");\r\nvar options_1 = require(\"../options\");\r\nvar validate_1 = require(\"../validate\");\r\nvar XmlComment_1 = __importDefault(require(\"./XmlComment\"));\r\nvar XmlDtdAttlist_1 = __importDefault(require(\"./XmlDtdAttlist\"));\r\nvar XmlDtdElement_1 = __importDefault(require(\"./XmlDtdElement\"));\r\nvar XmlDtdEntity_1 = __importDefault(require(\"./XmlDtdEntity\"));\r\nvar XmlDtdNotation_1 = __importDefault(require(\"./XmlDtdNotation\"));\r\nvar XmlDtdParamEntityRef_1 = __importDefault(require(\"./XmlDtdParamEntityRef\"));\r\nvar XmlProcInst_1 = __importDefault(require(\"./XmlProcInst\"));\r\n/**\r\n * Represents an XML document type definition (DTD).\r\n *\r\n * A document type definition is structured as follows, where `{name}` is\r\n * the name of the DTD, `{sysId}` is the system identifier of the DTD,\r\n * `{pubId}` is the public identifier of the DTD, and `{intSubset}` is the\r\n * internal subset of the DTD:\r\n *\r\n * ```xml\r\n * <!DOCTYPE {name} SYSTEM \"{sysId}\" PUBLIC \"{pubId}\" [\r\n * {intSubset}\r\n * ]>\r\n * ```\r\n *\r\n * DTDs can have an unlimited number of comments, attribute-list declarations,\r\n * element declarations, entity declarations, notation declarations, parameter\r\n * entity references, and processing instructions.\r\n */\r\nvar XmlDtd = /** @class */ (function () {\r\n function XmlDtd(parent, validation, options) {\r\n this._pubId = undefined;\r\n this._sysId = undefined;\r\n this._validation = validation;\r\n this._children = [];\r\n this._parent = parent;\r\n this.name = options.name;\r\n if (!(0, validate_1.isUndefined)(options.sysId)) {\r\n this.sysId = options.sysId;\r\n }\r\n if (!(0, validate_1.isUndefined)(options.pubId)) {\r\n this.pubId = options.pubId;\r\n }\r\n }\r\n Object.defineProperty(XmlDtd.prototype, \"name\", {\r\n /**\r\n * Gets the name of the DTD.\r\n */\r\n get: function () {\r\n return this._name;\r\n },\r\n /**\r\n * Sets the name of the DTD.\r\n */\r\n set: function (name) {\r\n if (this._validation && !(0, validate_1.validateName)(name)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": DTD name \\\"\" + name + \"\\\"\"\r\n + \" should not contain characters not allowed in\"\r\n + \" XML names\");\r\n }\r\n this._name = name;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(XmlDtd.prototype, \"pubId\", {\r\n /**\r\n * Gets the public identifier of the DTD.\r\n */\r\n get: function () {\r\n return this._pubId;\r\n },\r\n /**\r\n * Sets the public identifier of the DTD.\r\n */\r\n set: function (pubId) {\r\n if (!(0, validate_1.isUndefined)(pubId)) {\r\n if (this._validation && !validatePubId(pubId)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": DTD public\"\r\n + (\" identifier \\\"\" + pubId + \"\\\" should not contain\")\r\n + \" characters not allowed in public\"\r\n + \" identifiers\");\r\n }\r\n if (this._validation && (0, validate_1.isUndefined)(this._sysId)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": DTD public\"\r\n + (\" identifier \\\"\" + pubId + \"\\\" should not be defined\")\r\n + \" if system identifier is undefined\");\r\n }\r\n }\r\n this._pubId = pubId;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(XmlDtd.prototype, \"sysId\", {\r\n /**\r\n * Gets the system identifier of the DTD.\r\n */\r\n get: function () {\r\n return this._sysId;\r\n },\r\n /**\r\n * Sets the system identifier of the DTD.\r\n */\r\n set: function (sysId) {\r\n if (!(0, validate_1.isUndefined)(sysId)) {\r\n if (this._validation && !(0, validate_1.validateChar)(sysId)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": DTD system\"\r\n + (\" identifier \\\"\" + sysId + \"\\\" should not contain\")\r\n + \" characters not allowed in XML\");\r\n }\r\n else if (this._validation\r\n && sysId.indexOf(\"'\") !== -1\r\n && sysId.indexOf(\"\\\"\") !== -1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": DTD system\"\r\n + (\" identifier \\\"\" + sysId + \"\\\" should not contain\")\r\n + \" both single quotes and double quotes\");\r\n }\r\n }\r\n this._sysId = sysId;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Adds an attribute-list declaration to this document type declaration\r\n * and returns the new attribute-list declaration.\r\n */\r\n XmlDtd.prototype.attlist = function (options) {\r\n var attlist = new XmlDtdAttlist_1.default(this, this._validation, options);\r\n this._children.push(attlist);\r\n return attlist;\r\n };\r\n /**\r\n * Adds a comment to this document type declaration and returns the\r\n * new comment.\r\n */\r\n XmlDtd.prototype.comment = function (options) {\r\n var comment = new XmlComment_1.default(this, this._validation, options);\r\n this._children.push(comment);\r\n return comment;\r\n };\r\n /**\r\n * Adds an element declaration to this document type declaration\r\n * and returns the new element declaration.\r\n */\r\n XmlDtd.prototype.element = function (options) {\r\n var element = new XmlDtdElement_1.default(this, this._validation, options);\r\n this._children.push(element);\r\n return element;\r\n };\r\n /**\r\n * Adds an entity declaration to this document type declaration\r\n * and returns the new entity declaration.\r\n */\r\n XmlDtd.prototype.entity = function (options) {\r\n var entity = new XmlDtdEntity_1.default(this, this._validation, options);\r\n this._children.push(entity);\r\n return entity;\r\n };\r\n /**\r\n * Adds a notation declaration to this document type declaration\r\n * and returns the new notation declaration.\r\n */\r\n XmlDtd.prototype.notation = function (options) {\r\n var notation = new XmlDtdNotation_1.default(this, this._validation, options);\r\n this._children.push(notation);\r\n return notation;\r\n };\r\n /**\r\n * Adds a parameter entity reference to this document type declaration\r\n * and returns the new parameter entity reference.\r\n */\r\n XmlDtd.prototype.paramEntityRef = function (options) {\r\n var paramEntity = new XmlDtdParamEntityRef_1.default(this, this._validation, options);\r\n this._children.push(paramEntity);\r\n return paramEntity;\r\n };\r\n /**\r\n * Adds a processing instruction to this document type declaration\r\n * and returns the new processing instruction.\r\n */\r\n XmlDtd.prototype.procInst = function (options) {\r\n var procInst = new XmlProcInst_1.default(this, this._validation, options);\r\n this._children.push(procInst);\r\n return procInst;\r\n };\r\n /**\r\n * Returns an XML string representation of this document type declaration.\r\n */\r\n XmlDtd.prototype.toString = function (options) {\r\n if (options === void 0) { options = {}; }\r\n var optionsObj = new options_1.StringOptions(options);\r\n var str = \"<!DOCTYPE \" + this._name;\r\n if ((0, validate_1.isUndefined)(this._pubId)) {\r\n if (!(0, validate_1.isUndefined)(this._sysId)) {\r\n str += \" \";\r\n str = this.appendId(\"SYSTEM\", this._sysId, str, optionsObj);\r\n }\r\n }\r\n else {\r\n if ((0, validate_1.isUndefined)(this._sysId)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": DTD system\"\r\n + \" identifier is not undefined\");\r\n }\r\n str += \" \";\r\n str = this.appendId(\"PUBLIC\", this._pubId, str, optionsObj);\r\n str = this.appendId(\"\", this._sysId, str, optionsObj);\r\n }\r\n if (this._children.length !== 0) {\r\n str += \" [\";\r\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\r\n var node = _a[_i];\r\n if (optionsObj.pretty) {\r\n str += optionsObj.newline + optionsObj.indent;\r\n }\r\n str += node.toString();\r\n }\r\n if (optionsObj.pretty) {\r\n str += optionsObj.newline;\r\n }\r\n str += \"]>\";\r\n }\r\n else {\r\n str += \">\";\r\n }\r\n return str;\r\n };\r\n /**\r\n * Returns the parent of this attribute.\r\n */\r\n XmlDtd.prototype.up = function () {\r\n return this._parent;\r\n };\r\n /**\r\n * Appends the XML string representation of a public or system identifier\r\n * to an existing string.\r\n */\r\n XmlDtd.prototype.appendId = function (type, value, str, options) {\r\n str += type + \" \";\r\n if (options.doubleQuotes) {\r\n if (this._validation && value.indexOf(\"\\\"\") !== -1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": doubleQuotes option\"\r\n + \" inconsistent with DTD system identifier or\"\r\n + \" public identifier\");\r\n }\r\n str += \"\\\"\" + value + \"\\\"\";\r\n }\r\n else {\r\n if (this._validation && value.indexOf(\"'\") !== -1) {\r\n throw new Error((0, error_1.getContext)(this) + \": doubleQuotes option\"\r\n + \" inconsistent with DTD system identifier or\"\r\n + \" public identifier\");\r\n }\r\n str += \"'\" + value + \"'\";\r\n }\r\n return str;\r\n };\r\n return XmlDtd;\r\n}());\r\nexports.default = XmlDtd;\r\n/**\r\n * Returns true if the specified public identifier only contains characters\r\n * permitted by the XML specification.\r\n */\r\nfunction validatePubId(str) {\r\n for (var i = 0; i < str.length; i++) {\r\n var char = str.charCodeAt(i);\r\n if (char === 0xA\r\n || char === 0xD\r\n || char === 0x20\r\n || char === 0x21\r\n || (char >= 0x23 && char <= 0x25)\r\n || (char >= 0x27 && char <= 0x2F)\r\n || (char >= 0x30 && char <= 0x39)\r\n || char === 0x3A\r\n || char === 0x3B\r\n || char === 0x3D\r\n || char === 0x3F\r\n || (char >= 0x40 && char <= 0x5A)\r\n || char === 0x5F\r\n || (char >= 0x61 && char <= 0x7A)) {\r\n continue;\r\n }\r\n if (i + 1 === str.length) {\r\n return false;\r\n }\r\n return false;\r\n }\r\n return true;\r\n}\r\nexports.validatePubId = validatePubId;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a CDATA section.\r\n *\r\n * A CDATA section is structured as follows, where `{data}` is the\r\n * character data of the section:\r\n *\r\n * ```xml\r\n * <![CDATA[{data}]]>\r\n * ```\r\n */\r\nvar XmlCdata = /** @class */ (function () {\r\n function XmlCdata(parent, validation, options) {\r\n this._validation = validation;\r\n if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) {\r\n this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData);\r\n }\r\n else {\r\n this._replaceInvalidCharsInCharData = false;\r\n }\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlCdata.prototype, \"charData\", {\r\n /**\r\n * Gets the character data of this CDATA section.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the character data of this CDATA section.\r\n */\r\n set: function (charData) {\r\n if (this._replaceInvalidCharsInCharData) {\r\n charData = (0, validate_1.fixChar)(charData);\r\n }\r\n else if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": CDATA section\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain characters\")\r\n + \" not allowed in XML\");\r\n }\r\n if (this._replaceInvalidCharsInCharData) {\r\n charData = charData.replace(\"]]>\", \"\\uFFFD\\uFFFD\\uFFFD\");\r\n }\r\n else if (this._validation && charData.indexOf(\"]]>\") !== -1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": CDATA section\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain the string\")\r\n + \" ']]>'\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this CDATA section.\r\n */\r\n XmlCdata.prototype.toString = function () {\r\n return \"<![CDATA[\" + this._charData + \"]]>\";\r\n };\r\n /**\r\n * Returns the parent of this CDATA section.\r\n */\r\n XmlCdata.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlCdata;\r\n}());\r\nexports.default = XmlCdata;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar escape_1 = require(\"../escape\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents character data.\r\n *\r\n * Restricted characters, such as the ampersand (`&`), the opening angle\r\n * bracket (`<`), and the closing angle bracket (`>`) when it appears in the\r\n * string `]]>`, are all automatically escaped.\r\n */\r\nvar XmlCharData = /** @class */ (function () {\r\n function XmlCharData(parent, validation, options) {\r\n this._validation = validation;\r\n if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) {\r\n this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData);\r\n }\r\n else {\r\n this._replaceInvalidCharsInCharData = false;\r\n }\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlCharData.prototype, \"charData\", {\r\n /**\r\n * Gets the text of this character data.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the text of this character data.\r\n */\r\n set: function (charData) {\r\n if (this._replaceInvalidCharsInCharData) {\r\n charData = (0, validate_1.fixChar)(charData);\r\n }\r\n else if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": character data\"\r\n + (\"\\\"\" + charData + \"\\\" should not contain characters not\")\r\n + \" allowed in XML\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this character data.\r\n */\r\n XmlCharData.prototype.toString = function () {\r\n var str = this._charData;\r\n str = (0, escape_1.escapeAmpersands)(str);\r\n str = (0, escape_1.escapeLeftAngleBrackets)(str);\r\n str = (0, escape_1.escapeRightAngleBracketsInCdataTerminator)(str);\r\n return str;\r\n };\r\n /**\r\n * Returns the parent of this character data.\r\n */\r\n XmlCharData.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlCharData;\r\n}());\r\nexports.default = XmlCharData;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar options_1 = require(\"../options\");\r\nvar validate_1 = require(\"../validate\");\r\nvar XmlAttribute_1 = __importDefault(require(\"./XmlAttribute\"));\r\nvar XmlCdata_1 = __importDefault(require(\"./XmlCdata\"));\r\nvar XmlCharData_1 = __importDefault(require(\"./XmlCharData\"));\r\nvar XmlCharRef_1 = __importDefault(require(\"./XmlCharRef\"));\r\nvar XmlComment_1 = __importDefault(require(\"./XmlComment\"));\r\nvar XmlEntityRef_1 = __importDefault(require(\"./XmlEntityRef\"));\r\nvar XmlProcInst_1 = __importDefault(require(\"./XmlProcInst\"));\r\n/**\r\n * Represents an XML element.\r\n *\r\n * A sample element is structured as follows, where `{name}` is the name\r\n * of the element:\r\n *\r\n * ```xml\r\n * <{name} attname=\"attvalue\">\r\n * <subelem/>\r\n * <?pitarget picontent?>\r\n * text\r\n * </{name}></pre>\r\n * ```\r\n *\r\n * XML elements can have an unlimited number of attributes, CDATA sections,\r\n * character references, comments, elements, entity references, processing\r\n * instructions, and character data.\r\n *\r\n * An element with no content will be represented using an empty element tag:\r\n *\r\n * ```xml\r\n * <{name}/>\r\n * ```\r\n */\r\nvar XmlElement = /** @class */ (function () {\r\n function XmlElement(parent, validation, options) {\r\n this._validation = validation;\r\n if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInName)) {\r\n this._replaceInvalidCharsInName = options.replaceInvalidCharsInName;\r\n }\r\n else {\r\n this._replaceInvalidCharsInName = false;\r\n }\r\n if (!(0, validate_1.isUndefined)(options.useSelfClosingTagIfEmpty)) {\r\n this._useSelfClosingTagIfEmpty = options.useSelfClosingTagIfEmpty;\r\n }\r\n else {\r\n this._useSelfClosingTagIfEmpty = true;\r\n }\r\n this._children = [];\r\n this._attributeNames = [];\r\n this._parent = parent;\r\n this.name = options.name;\r\n }\r\n Object.defineProperty(XmlElement.prototype, \"name\", {\r\n /**\r\n * Gets the name of this element.\r\n */\r\n get: function () {\r\n return this._name;\r\n },\r\n /**\r\n * Sets the name of this element.\r\n */\r\n set: function (name) {\r\n if (this._replaceInvalidCharsInName) {\r\n name = (0, validate_1.fixName)(name);\r\n if (name.length === 0) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": element name should\"\r\n + \" not be empty\");\r\n }\r\n }\r\n else if (this._validation && !(0, validate_1.validateName)(name)) {\r\n if (name.length === 0) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": element name should\"\r\n + \" not be empty\");\r\n }\r\n else {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": element name\"\r\n + (\" \\\"\" + name + \"\\\" should not contain characters not\")\r\n + \" allowed in XML names\");\r\n }\r\n }\r\n this._name = name;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Adds an attribute to this element and returns the new attribute.\r\n */\r\n XmlElement.prototype.attribute = function (options) {\r\n if (this._validation\r\n && this._attributeNames.indexOf(options.name) !== -1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": element \\\"\" + this.name + \"\\\"\"\r\n + \" already contains an attribute with the\"\r\n + (\" name \\\"\" + options.name + \"\\\"\"));\r\n }\r\n var attribute = new XmlAttribute_1.default(this, this._validation, options);\r\n this._children.push(attribute);\r\n this._attributeNames.push(options.name);\r\n return attribute;\r\n };\r\n /**\r\n * Adds a CDATA section to this element and returns the new CDATA section.\r\n */\r\n XmlElement.prototype.cdata = function (options) {\r\n var cdata = new XmlCdata_1.default(this, this._validation, options);\r\n this._children.push(cdata);\r\n return cdata;\r\n };\r\n /**\r\n * Adds character data to this element and returns the new character data.\r\n */\r\n XmlElement.prototype.charData = function (options) {\r\n var charDataNode = new XmlCharData_1.default(this, this._validation, options);\r\n this._children.push(charDataNode);\r\n return charDataNode;\r\n };\r\n /**\r\n * Adds a character reference to this element and returns the new\r\n * character reference.\r\n */\r\n XmlElement.prototype.charRef = function (options) {\r\n var charRef = new XmlCharRef_1.default(this, this._validation, options);\r\n this._children.push(charRef);\r\n return charRef;\r\n };\r\n /**\r\n * Adds a comment to this element and returns the new comment.\r\n */\r\n XmlElement.prototype.comment = function (options) {\r\n var comment = new XmlComment_1.default(this, this._validation, options);\r\n this._children.push(comment);\r\n return comment;\r\n };\r\n /**\r\n * Adds an element to this element and returns the new element.\r\n */\r\n XmlElement.prototype.element = function (options) {\r\n var element = new XmlElement(this, this._validation, options);\r\n this._children.push(element);\r\n return element;\r\n };\r\n /**\r\n * Adds an entity reference to this element and returns the new entity\r\n * reference.\r\n */\r\n XmlElement.prototype.entityRef = function (options) {\r\n var entityRef = new XmlEntityRef_1.default(this, this._validation, options);\r\n this._children.push(entityRef);\r\n return entityRef;\r\n };\r\n /**\r\n * Adds a processing instruction to this element and returns the new\r\n * processing instruction.\r\n */\r\n XmlElement.prototype.procInst = function (options) {\r\n var procInst = new XmlProcInst_1.default(this, this._validation, options);\r\n this._children.push(procInst);\r\n return procInst;\r\n };\r\n /**\r\n * Returns an XML string representation of this element using the specified\r\n * options.\r\n */\r\n XmlElement.prototype.toString = function (options) {\r\n if (options === void 0) { options = {}; }\r\n return this.toStringWithIndent(options, \"\");\r\n };\r\n /**\r\n * Returns the parent of this element.\r\n */\r\n XmlElement.prototype.up = function () {\r\n return this._parent;\r\n };\r\n /**\r\n * Returns an XML string representation of this element using the specified\r\n * options and initial indent.\r\n */\r\n XmlElement.prototype.toStringWithIndent = function (options, indent) {\r\n var optionsObj = new options_1.StringOptions(options);\r\n var newIndent = indent + optionsObj.indent;\r\n // Element tag start\r\n var str = \"<\" + this._name;\r\n // Attributes and other nodes\r\n var nodes = [];\r\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\r\n var node = _a[_i];\r\n if (node instanceof XmlAttribute_1.default) {\r\n str += \" \" + node.toString(options);\r\n }\r\n else {\r\n nodes.push(node);\r\n }\r\n }\r\n // Child nodes\r\n if (nodes.length > 0) {\r\n var childStr = \"\";\r\n for (var i = 0; i < nodes.length; i++) {\r\n var next = nodes[i];\r\n var nextStr = \"\";\r\n if (next instanceof XmlElement) {\r\n nextStr += next.toStringWithIndent(optionsObj, newIndent);\r\n }\r\n else {\r\n nextStr += next.toString();\r\n }\r\n var prev = i > 0 ? nodes[i - 1] : undefined;\r\n // Skip empty nodes\r\n if (next instanceof XmlCharData_1.default && next.toString() === \"\") {\r\n continue;\r\n }\r\n // Line break before child nodes unless all nodes, or at least\r\n // the most recent two, are of type XmlCharacterReference,\r\n // XmlEntityReference, or XmlCharData\r\n if (optionsObj.pretty) {\r\n if (!this.allSameLineNodes(nodes)) {\r\n if (!(i > 0 && this.onSameLine(next, prev))) {\r\n nextStr = optionsObj.newline + newIndent + nextStr;\r\n }\r\n }\r\n }\r\n childStr += nextStr;\r\n }\r\n // Line break before end tag unless all nodes are of type\r\n // XmlCharacterReference, XmlEntityReference, or XmlCharData\r\n if (optionsObj.pretty) {\r\n if (!this.allSameLineNodes(nodes)) {\r\n childStr += optionsObj.newline + indent;\r\n }\r\n }\r\n if (childStr.length === 0 && this._useSelfClosingTagIfEmpty) {\r\n // Element empty tag end\r\n str += \"/>\";\r\n }\r\n else {\r\n // Element start and end tags\r\n str += \">\" + childStr + \"</\" + this._name + \">\";\r\n }\r\n }\r\n else if (this._useSelfClosingTagIfEmpty) {\r\n // Element empty tag end\r\n str += \"/>\";\r\n }\r\n else {\r\n // Element start and end tags\r\n str += \"></\" + this._name + \">\";\r\n }\r\n return str;\r\n };\r\n /**\r\n * Returns true if the specified nodes are all character references,\r\n * entity references, or character data.\r\n */\r\n XmlElement.prototype.allSameLineNodes = function (nodes) {\r\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\r\n var node = nodes_1[_i];\r\n if (!((node instanceof XmlCharRef_1.default\r\n || node instanceof XmlEntityRef_1.default\r\n || node instanceof XmlCharData_1.default))) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n /**\r\n * Returns true if the specified nodes are all character references,\r\n * entity references, or character data.\r\n */\r\n XmlElement.prototype.onSameLine = function (prev, next) {\r\n return (prev instanceof XmlCharRef_1.default\r\n || prev instanceof XmlEntityRef_1.default\r\n || prev instanceof XmlCharData_1.default)\r\n && (!(0, validate_1.isUndefined)(next)\r\n && (next instanceof XmlCharRef_1.default\r\n || next instanceof XmlEntityRef_1.default\r\n || next instanceof XmlCharData_1.default));\r\n };\r\n return XmlElement;\r\n}());\r\nexports.default = XmlElement;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getContext = void 0;\r\nvar XmlAttribute_1 = __importDefault(require(\"./nodes/XmlAttribute\"));\r\nvar XmlDocument_1 = __importDefault(require(\"./nodes/XmlDocument\"));\r\nvar XmlDtd_1 = __importDefault(require(\"./nodes/XmlDtd\"));\r\nvar XmlElement_1 = __importDefault(require(\"./nodes/XmlElement\"));\r\n/**\r\n * Returns a context string for the specified node, for use in error messages.\r\n */\r\nfunction getContext(obj) {\r\n if (obj instanceof XmlAttribute_1.default) {\r\n return getContext(obj.up()) + (\" > attribute \\\"\" + obj.name + \"\\\"\");\r\n }\r\n else if (obj instanceof XmlDocument_1.default) {\r\n return \"in XML document\";\r\n }\r\n else if (obj instanceof XmlDtd_1.default) {\r\n return getContext(obj.up()) + \" > DTD\";\r\n }\r\n else if (obj instanceof XmlElement_1.default) {\r\n return getContext(obj.up()) + (\" > element \\\"\" + obj.name + \"\\\"\");\r\n }\r\n else {\r\n throw new Error(\"Unrecognized object of type \"\r\n + Object.prototype.toString.call(obj));\r\n }\r\n}\r\nexports.getContext = getContext;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a comment.\r\n *\r\n * A comment is structured as follows, where `{content}` is the text of the\r\n * comment:\r\n *\r\n * ```xml\r\n * <!--{content}-->\r\n * ```\r\n */\r\nvar XmlComment = /** @class */ (function () {\r\n function XmlComment(parent, validation, options) {\r\n this._validation = validation;\r\n if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) {\r\n this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData);\r\n }\r\n else {\r\n this._replaceInvalidCharsInCharData = false;\r\n }\r\n this._parent = parent;\r\n this.charData = options.charData;\r\n }\r\n Object.defineProperty(XmlComment.prototype, \"charData\", {\r\n /**\r\n * Gets the text of this comment.\r\n */\r\n get: function () {\r\n return this._charData;\r\n },\r\n /**\r\n * Sets the text of this comment.\r\n */\r\n set: function (charData) {\r\n if (this._replaceInvalidCharsInCharData) {\r\n charData = (0, validate_1.fixChar)(charData);\r\n }\r\n else if (this._validation && !(0, validate_1.validateChar)(charData)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": comment content\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain characters\")\r\n + \" not allowed in XML\");\r\n }\r\n if (this._replaceInvalidCharsInCharData) {\r\n charData = charData.replace(\"--\", \"\\uFFFD\\uFFFD\");\r\n }\r\n else if (this._validation && charData.indexOf(\"--\") !== -1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": comment content\"\r\n + (\" \\\"\" + charData + \"\\\" should not contain the string\")\r\n + \" '--'\");\r\n }\r\n if (this._replaceInvalidCharsInCharData) {\r\n if (charData.lastIndexOf(\"-\") === charData.length - 1) {\r\n charData = charData.substr(0, charData.length - 1) + \"\\uFFFD\";\r\n }\r\n }\r\n else if (this._validation\r\n && charData.lastIndexOf(\"-\") === charData.length - 1) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": comment content\"\r\n + (\" \\\"\" + charData + \"\\\" should not end with the string\")\r\n + \" '-'\");\r\n }\r\n this._charData = charData;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this comment.\r\n */\r\n XmlComment.prototype.toString = function () {\r\n return \"<!--\" + this._charData + \"-->\";\r\n };\r\n /**\r\n * Returns the parent of this comment.\r\n */\r\n XmlComment.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlComment;\r\n}());\r\nexports.default = XmlComment;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar error_1 = require(\"../error\");\r\nvar options_1 = require(\"../options\");\r\nvar validate_1 = require(\"../validate\");\r\n/**\r\n * Represents a declaration.\r\n *\r\n * A declaration is structured as follows, where `{version}` is the XML\r\n * version, `{encoding}` is the encoding of the document, and `{standalone}`\r\n * is either \"yes\" or \"no\", depending on whether the document may contain\r\n * external markup declarations:\r\n *\r\n * ```xml\r\n * <?xml version=\"{version}\" encoding=\"{encoding}\" standalone=\"{standalone}\"?>\r\n * ```\r\n */\r\nvar XmlDecl = /** @class */ (function () {\r\n function XmlDecl(parent, validation, options) {\r\n this._version = \"1.0\";\r\n this._validation = validation;\r\n this._parent = parent;\r\n this.encoding = options.encoding;\r\n this.standalone = options.standalone;\r\n if (!(0, validate_1.isUndefined)(options.version)) {\r\n this.version = options.version;\r\n }\r\n }\r\n Object.defineProperty(XmlDecl.prototype, \"encoding\", {\r\n /**\r\n * Gets the encoding associated with this declaration.\r\n */\r\n get: function () {\r\n return this._encoding;\r\n },\r\n /**\r\n * Sets the encoding associated with this declaration.\r\n */\r\n set: function (encoding) {\r\n if (this._validation && !(0, validate_1.isUndefined)(encoding)) {\r\n if (!validateEncoding(encoding)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": declaration\"\r\n + (\" encoding attribute \" + encoding + \" should be a\")\r\n + \" valid encoding\");\r\n }\r\n }\r\n this._encoding = encoding;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(XmlDecl.prototype, \"standalone\", {\r\n /**\r\n * Gets the value of the standalone attribute associated with this\r\n * declaration.\r\n */\r\n get: function () {\r\n return this._standalone;\r\n },\r\n /**\r\n * Sets the value of the standalone attribute associated with this\r\n * declaration.\r\n */\r\n set: function (standalone) {\r\n if (this._validation && !(0, validate_1.isUndefined)(standalone)) {\r\n if (standalone !== \"yes\" && standalone !== \"no\") {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": declaration\"\r\n + (\" standalone attribute \" + standalone + \" should\")\r\n + \" be the string 'yes' or the string 'no'\");\r\n }\r\n }\r\n this._standalone = standalone;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(XmlDecl.prototype, \"version\", {\r\n /**\r\n * Gets the XML version associated with this declaration.\r\n */\r\n get: function () {\r\n return this._version;\r\n },\r\n /**\r\n * Sets the XML version associated with this declaration.\r\n */\r\n set: function (version) {\r\n if (this._validation && !validateVersion(version)) {\r\n throw new Error((0, error_1.getContext)(this.up()) + \": declaration version\"\r\n + (\" attribute \" + version + \" should be a valid XML\")\r\n + \" version\");\r\n }\r\n this._version = version;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Returns an XML string representation of this declaration.\r\n */\r\n XmlDecl.prototype.toString = function (options) {\r\n if (options === void 0) { options = {}; }\r\n var optionsObj = new options_1.StringOptions(options);\r\n var quote = optionsObj.doubleQuotes ? '\"' : \"'\";\r\n var str = \"<?xml version=\" + quote + this._version + quote;\r\n if (!(0, validate_1.isUndefined)(this._encoding)) {\r\n str += \" encoding=\" + quote + this._encoding + quote;\r\n }\r\n if (!(0, validate_1.isUndefined)(this._standalone)) {\r\n str += \" standalone=\" + quote + this._standalone + quote;\r\n }\r\n str += \"?>\";\r\n return str;\r\n };\r\n /**\r\n * Returns the parent of this declaration.\r\n */\r\n XmlDecl.prototype.up = function () {\r\n return this._parent;\r\n };\r\n return XmlDecl;\r\n}());\r\nexports.default = XmlDecl;\r\n/**\r\n * Returns true if the specified encoding only contains characters permitted by\r\n * the XML specification.\r\n */\r\nfunction validateEncoding(str) {\r\n if (str.length === 0) {\r\n return false;\r\n }\r\n var initialChar = str.charCodeAt(0);\r\n if (!((initialChar >= 0x41 && initialChar <= 0x5A)\r\n || (initialChar >= 0x61 && initialChar <= 0x7A))) {\r\n return false;\r\n }\r\n for (var i = 1; i < str.length; i++) {\r\n var char = str.charCodeAt(i);\r\n if (char === 0x5F\r\n || char === 0x2D\r\n || char === 0x2E\r\n || (char >= 0x30 && char <= 0x39)\r\n || (char >= 0x41 && char <= 0x5A)\r\n || (char >= 0x61 && char <= 0x7A)) {\r\n continue;\r\n }\r\n if (i + 1 === str.length) {\r\n return false;\r\n }\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Returns true if the specified version only contains characters permitted by\r\n * the XML specification.\r\n */\r\nfunction validateVersion(str) {\r\n for (var i = 0; i <= 9; i++) {\r\n if (str === \"1.\" + i) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar options_1 = require(\"../options\");\r\nvar validate_1 = require(\"../validate\");\r\nvar XmlComment_1 = __importDefault(require(\"./XmlComment\"));\r\nvar XmlDecl_1 = __importDefault(require(\"./XmlDecl\"));\r\nvar XmlDtd_1 = __importDefault(require(\"./XmlDtd\"));\r\nvar XmlElement_1 = __importDefault(require(\"./XmlElement\"));\r\nvar XmlProcInst_1 = __importDefault(require(\"./XmlProcInst\"));\r\n/**\r\n * Represents a document.\r\n *\r\n * A sample document is structured as follows:\r\n *\r\n * ```xml\r\n * <?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n * <DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\r\n * \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r\n * <html>\r\n * <head>\r\n * <title>My page title</title>\r\n * </head>\r\n * <body>\r\n * <h1>Welcome!</h1>\r\n * <p>I hope you enjoy visiting my website.</p>\r\n * <img src=\"picture.png\"/>\r\n * </body>\r\n * </html>\r\n * ```\r\n *\r\n * Each component of the document, such as the declaration, document type\r\n * definition, and root element, are children of this node.\r\n *\r\n * Documents must have exactly one element, which is the document's root\r\n * element.\r\n *\r\n * Documents can have exactly one declaration and one document type definition\r\n * in that order, so long as they precede the element.\r\n *\r\n * Documents can have an unlimited number of comments or processing\r\n * instructions, so long as they follow the declaration, if one exists.\r\n */\r\nvar XmlDocument = /** @class */ (function () {\r\n function XmlDocument(options) {\r\n this._children = [];\r\n this._validation = !(0, validate_1.isUndefined)(options.validation)\r\n ? options.validation\r\n : true;\r\n }\r\n /**\r\n * Adds a comment to this document and returns the new comment.\r\n */\r\n XmlDocument.prototype.comment = function (options) {\r\n var comment = new XmlComment_1.default(this, this._validation, options);\r\n this._children.push(comment);\r\n return comment;\r\n };\r\n /**\r\n * Adds a declaration to this document and returns the new declaration.\r\n */\r\n XmlDocument.prototype.decl = function (options) {\r\n if (options === void 0) { options = {}; }\r\n if (this._validation && this._children.length !== 0) {\r\n throw new Error(\"in XML document: declaration must be the first\"\r\n + \" child\");\r\n }\r\n var declaration = new XmlDecl_1.default(this, this._validation, options);\r\n this._children.push(declaration);\r\n return declaration;\r\n };\r\n /**\r\n * Adds a document type definition to this document and returns the new\r\n * document type definition.\r\n */\r\n XmlDocument.prototype.dtd = function (options) {\r\n var filteredChildren = this._children.filter(function (value) {\r\n return value instanceof XmlElement_1.default;\r\n });\r\n if (this._validation && filteredChildren.length !== 0) {\r\n throw new Error(\"in XML document: DTD must precede the root\"\r\n + \" element\");\r\n }\r\n var dtd = new XmlDtd_1.default(this, this._validation, options);\r\n this._children.push(dtd);\r\n return dtd;\r\n };\r\n /**\r\n * Adds the root element to this document and returns the element.\r\n */\r\n XmlDocument.prototype.element = function (options) {\r\n var filteredChildren = this._children.filter(function (value) {\r\n return value instanceof XmlElement_1.default;\r\n });\r\n if (this._validation && filteredChildren.length !== 0) {\r\n throw new Error(\"in XML document: only one root element is\"\r\n + \" permitted\");\r\n }\r\n var element = new XmlElement_1.default(this, this._validation, options);\r\n this._children.push(element);\r\n return element;\r\n };\r\n /**\r\n * Adds a processing instruction to this document and returns the new\r\n * processing instruction.\r\n */\r\n XmlDocument.prototype.procInst = function (options) {\r\n var procInst = new XmlProcInst_1.default(this, this._validation, options);\r\n this._children.push(procInst);\r\n return procInst;\r\n };\r\n /**\r\n * Returns an XML string representation of this document using the\r\n * specified options.\r\n */\r\n XmlDocument.prototype.toString = function (options) {\r\n if (options === void 0) { options = {}; }\r\n var filteredChildren = this._children.filter(function (value) {\r\n return value instanceof XmlElement_1.default;\r\n });\r\n if (this._validation && filteredChildren.length !== 1) {\r\n throw new Error(\"in XML document: no more than one root element\"\r\n + \" is permitted\");\r\n }\r\n var optionsObj = new options_1.StringOptions(options);\r\n var str = \"\";\r\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\r\n var node = _a[_i];\r\n if (node instanceof XmlDecl_1.default\r\n || node instanceof XmlDtd_1.default\r\n || node instanceof XmlElement_1.default) {\r\n str += node.toString(options);\r\n }\r\n else {\r\n str += node.toString();\r\n }\r\n if (optionsObj.pretty) {\r\n str += optionsObj.newline;\r\n }\r\n }\r\n var len = str.length - optionsObj.newline.length;\r\n if (str.substr(len) === optionsObj.newline) {\r\n str = str.substr(0, len);\r\n }\r\n return str;\r\n };\r\n return XmlDocument;\r\n}());\r\nexports.default = XmlDocument;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2019 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.document = exports.XmlProcInst = exports.XmlEntityRef = exports.XmlElement = exports.XmlDtdParamEntityRef = exports.XmlDtdNotation = exports.XmlDtdEntity = exports.XmlDtdElement = exports.XmlDtdAttlist = exports.XmlDtd = exports.XmlDocument = exports.XmlDecl = exports.XmlComment = exports.XmlCharRef = exports.XmlCharData = exports.XmlCdata = exports.XmlAttributeText = exports.XmlAttribute = void 0;\r\nvar XmlDocument_1 = __importDefault(require(\"./nodes/XmlDocument\"));\r\nvar XmlAttribute_1 = require(\"./nodes/XmlAttribute\");\r\nObject.defineProperty(exports, \"XmlAttribute\", { enumerable: true, get: function () { return __importDefault(XmlAttribute_1).default; } });\r\nvar XmlAttributeText_1 = require(\"./nodes/XmlAttributeText\");\r\nObject.defineProperty(exports, \"XmlAttributeText\", { enumerable: true, get: function () { return __importDefault(XmlAttributeText_1).default; } });\r\nvar XmlCdata_1 = require(\"./nodes/XmlCdata\");\r\nObject.defineProperty(exports, \"XmlCdata\", { enumerable: true, get: function () { return __importDefault(XmlCdata_1).default; } });\r\nvar XmlCharData_1 = require(\"./nodes/XmlCharData\");\r\nObject.defineProperty(exports, \"XmlCharData\", { enumerable: true, get: function () { return __importDefault(XmlCharData_1).default; } });\r\nvar XmlCharRef_1 = require(\"./nodes/XmlCharRef\");\r\nObject.defineProperty(exports, \"XmlCharRef\", { enumerable: true, get: function () { return __importDefault(XmlCharRef_1).default; } });\r\nvar XmlComment_1 = require(\"./nodes/XmlComment\");\r\nObject.defineProperty(exports, \"XmlComment\", { enumerable: true, get: function () { return __importDefault(XmlComment_1).default; } });\r\nvar XmlDecl_1 = require(\"./nodes/XmlDecl\");\r\nObject.defineProperty(exports, \"XmlDecl\", { enumerable: true, get: function () { return __importDefault(XmlDecl_1).default; } });\r\nvar XmlDocument_2 = require(\"./nodes/XmlDocument\");\r\nObject.defineProperty(exports, \"XmlDocument\", { enumerable: true, get: function () { return __importDefault(XmlDocument_2).default; } });\r\nvar XmlDtd_1 = require(\"./nodes/XmlDtd\");\r\nObject.defineProperty(exports, \"XmlDtd\", { enumerable: true, get: function () { return __importDefault(XmlDtd_1).default; } });\r\nvar XmlDtdAttlist_1 = require(\"./nodes/XmlDtdAttlist\");\r\nObject.defineProperty(exports, \"XmlDtdAttlist\", { enumerable: true, get: function () { return __importDefault(XmlDtdAttlist_1).default; } });\r\nvar XmlDtdElement_1 = require(\"./nodes/XmlDtdElement\");\r\nObject.defineProperty(exports, \"XmlDtdElement\", { enumerable: true, get: function () { return __importDefault(XmlDtdElement_1).default; } });\r\nvar XmlDtdEntity_1 = require(\"./nodes/XmlDtdEntity\");\r\nObject.defineProperty(exports, \"XmlDtdEntity\", { enumerable: true, get: function () { return __importDefault(XmlDtdEntity_1).default; } });\r\nvar XmlDtdNotation_1 = require(\"./nodes/XmlDtdNotation\");\r\nObject.defineProperty(exports, \"XmlDtdNotation\", { enumerable: true, get: function () { return __importDefault(XmlDtdNotation_1).default; } });\r\nvar XmlDtdParamEntityRef_1 = require(\"./nodes/XmlDtdParamEntityRef\");\r\nObject.defineProperty(exports, \"XmlDtdParamEntityRef\", { enumerable: true, get: function () { return __importDefault(XmlDtdParamEntityRef_1).default; } });\r\nvar XmlElement_1 = require(\"./nodes/XmlElement\");\r\nObject.defineProperty(exports, \"XmlElement\", { enumerable: true, get: function () { return __importDefault(XmlElement_1).default; } });\r\nvar XmlEntityRef_1 = require(\"./nodes/XmlEntityRef\");\r\nObject.defineProperty(exports, \"XmlEntityRef\", { enumerable: true, get: function () { return __importDefault(XmlEntityRef_1).default; } });\r\nvar XmlProcInst_1 = require(\"./nodes/XmlProcInst\");\r\nObject.defineProperty(exports, \"XmlProcInst\", { enumerable: true, get: function () { return __importDefault(XmlProcInst_1).default; } });\r\n/**\r\n * Returns a new XML document with the specified options.\r\n */\r\nfunction document(options) {\r\n if (options === void 0) { options = {}; }\r\n return new XmlDocument_1.default(options);\r\n}\r\nexports.document = document;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2020 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.stringify = exports.isMap = exports.isSet = exports.isFunction = exports.isArray = exports.isObject = exports.isNull = exports.isUndefined = void 0;\r\nfunction isUndefined(val) {\r\n return Object.prototype.toString.call(val) === \"[object Undefined]\";\r\n}\r\nexports.isUndefined = isUndefined;\r\nfunction isNull(val) {\r\n return Object.prototype.toString.call(val) === \"[object Null]\";\r\n}\r\nexports.isNull = isNull;\r\nfunction isObject(val) {\r\n return Object.prototype.toString.call(val) === \"[object Object]\";\r\n}\r\nexports.isObject = isObject;\r\nfunction isArray(val) {\r\n return Object.prototype.toString.call(val) === \"[object Array]\";\r\n}\r\nexports.isArray = isArray;\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction isFunction(val) {\r\n return Object.prototype.toString.call(val) === \"[object Function]\";\r\n}\r\nexports.isFunction = isFunction;\r\nfunction isSet(val) {\r\n return Object.prototype.toString.call(val) === \"[object Set]\";\r\n}\r\nexports.isSet = isSet;\r\nfunction isMap(val) {\r\n return Object.prototype.toString.call(val) === \"[object Map]\";\r\n}\r\nexports.isMap = isMap;\r\n/**\r\n * Returns a string representation of the specified value, as given by the\r\n * value's toString() method (if it has one) or the global String() function\r\n * (if it does not).\r\n *\r\n * @param value The value to convert to a string.\r\n *\r\n * @returns A string representation of the specified value.\r\n */\r\n// eslint-disable-next-line max-len\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction stringify(value) {\r\n if (!isUndefined(value) && !isNull(value)) {\r\n if (isFunction(value === null || value === void 0 ? void 0 : value.toString)) {\r\n value = value.toString();\r\n }\r\n }\r\n return String(value);\r\n}\r\nexports.stringify = stringify;\r\n", "\"use strict\";\r\n/**\r\n * Copyright (C) 2016-2020 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WrapHandlers = exports.TypeHandlers = exports.FormatOptions = exports.DtdOptions = exports.DeclarationOptions = exports.Options = void 0;\r\nvar utils_1 = require(\"./utils\");\r\n/**\r\n * Implementation of the IOptions interface used to provide default values\r\n * to fields.\r\n */\r\nvar Options = /** @class */ (function () {\r\n function Options(options) {\r\n if (options === void 0) { options = {}; }\r\n this.aliasString = \"=\";\r\n this.attributeString = \"@\";\r\n this.cdataInvalidChars = false;\r\n this.cdataKeys = [];\r\n this.replaceInvalidChars = false;\r\n this.useSelfClosingTagIfEmpty = true;\r\n this.validation = true;\r\n this.valueString = \"#\";\r\n if (!(0, utils_1.isUndefined)(options.validation)) {\r\n this.validation = options.validation;\r\n }\r\n if (!(0, utils_1.isUndefined)(options.aliasString)) {\r\n this.aliasString = options.aliasString;\r\n }\r\n if (!(0, utils_1.isUndefined)(options.attributeString)) {\r\n this.attributeString = options.attributeString;\r\n }\r\n if (!(0, utils_1.isUndefined)(options.cdataInvalidChars)) {\r\n this.cdataInvalidChars = options.cdataInvalidChars;\r\n }\r\n if (!(0, utils_1.isUndefined)(options.cdataKeys)) {\r\n this.cdataKeys = options.cdataKeys;\r\n }\r\n this.declaration = new DeclarationOptions(options.declaration);\r\n this.dtd = new DtdOptions(this.validation, options.dtd);\r\n this.format = new FormatOptions(options.format);\r\n if (!(0, utils_1.isUndefined)(options.replaceInvalidChars)) {\r\n this.replaceInvalidChars = options.replaceInvalidChars;\r\n }\r\n this.typeHandlers = new TypeHandlers(options.typeHandlers);\r\n if (!(0, utils_1.isUndefined)(options.useSelfClosingTagIfEmpty)) {\r\n this.useSelfClosingTagIfEmpty = options.useSelfClosingTagIfEmpty;\r\n }\r\n if (!(0, utils_1.isUndefined)(options.valueString)) {\r\n this.valueString = options.valueString;\r\n }\r\n this.wrapHandlers = new WrapHandlers(options.wrapHandlers);\r\n }\r\n return Options;\r\n}());\r\nexports.Options = Options;\r\n/**\r\n * Implementation of the IDeclarationOptions interface used to provide default\r\n * values to fields.\r\n */\r\nvar DeclarationOptions = /** @class */ (function () {\r\n function DeclarationOptions(declarationOptions) {\r\n if (declarationOptions === void 0) { declarationOptions = {}; }\r\n this.include = true;\r\n if (!(0, utils_1.isUndefined)(declarationOptions.include)) {\r\n this.include = declarationOptions.include;\r\n }\r\n // Validation performed by xmlcreate\r\n this.encoding = declarationOptions.encoding;\r\n this.standalone = declarationOptions.standalone;\r\n this.version = declarationOptions.version;\r\n }\r\n return DeclarationOptions;\r\n}());\r\nexports.DeclarationOptions = DeclarationOptions;\r\n/**\r\n * Implementation of the IDtdOptions interface used to provide default values\r\n * to fields.\r\n */\r\nvar DtdOptions = /** @class */ (function () {\r\n function DtdOptions(validation, dtdOptions) {\r\n if (dtdOptions === void 0) { dtdOptions = {}; }\r\n this.include = false;\r\n if (!(0, utils_1.isUndefined)(dtdOptions.include)) {\r\n this.include = dtdOptions.include;\r\n }\r\n if (validation && (0, utils_1.isUndefined)(dtdOptions.name) && this.include) {\r\n throw new Error(\"options.dtd.name should be defined if\" +\r\n \" options.dtd.include is true\");\r\n }\r\n this.name = dtdOptions.name;\r\n this.sysId = dtdOptions.sysId;\r\n this.pubId = dtdOptions.pubId;\r\n }\r\n return DtdOptions;\r\n}());\r\nexports.DtdOptions = DtdOptions;\r\n/**\r\n * Implementation of the IFormatOptions interface used to provide default values\r\n * to fields.\r\n */\r\nvar FormatOptions = /** @class */ (function () {\r\n function FormatOptions(formatOptions) {\r\n if (formatOptions === void 0) { formatOptions = {}; }\r\n this.doubleQuotes = formatOptions.doubleQuotes;\r\n this.indent = formatOptions.indent;\r\n this.newline = formatOptions.newline;\r\n this.pretty = formatOptions.pretty;\r\n }\r\n return FormatOptions;\r\n}());\r\nexports.FormatOptions = FormatOptions;\r\n/**\r\n * Implementation of the ITypeHandlers interface used to provide default values\r\n * to fields.\r\n */\r\nvar TypeHandlers = /** @class */ (function () {\r\n function TypeHandlers(typeHandlers) {\r\n if (typeHandlers === void 0) { typeHandlers = {}; }\r\n for (var key in typeHandlers) {\r\n if (Object.prototype.hasOwnProperty.call(typeHandlers, key)) {\r\n this[key] = typeHandlers[key];\r\n }\r\n }\r\n }\r\n return TypeHandlers;\r\n}());\r\nexports.TypeHandlers = TypeHandlers;\r\n/**\r\n * Implementation of the IWrapHandlers interface used to provide default values\r\n * to fields.\r\n */\r\nvar WrapHandlers = /** @class */ (function () {\r\n function WrapHandlers(wrapHandlers) {\r\n if (wrapHandlers === void 0) { wrapHandlers = {}; }\r\n for (var key in wrapHandlers) {\r\n if (Object.prototype.hasOwnProperty.call(wrapHandlers, key)) {\r\n this[key] = wrapHandlers[key];\r\n }\r\n }\r\n }\r\n return WrapHandlers;\r\n}());\r\nexports.WrapHandlers = WrapHandlers;\r\n", "\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.parse = exports.parseToExistingElement = exports.Absent = void 0;\r\n/**\r\n * Copyright (C) 2016-2020 Michael Kourlas\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nvar xmlcreate_1 = require(\"xmlcreate\");\r\nvar options_1 = require(\"./options\");\r\nvar utils_1 = require(\"./utils\");\r\n/**\r\n * Indicates that an object of a particular type should be suppressed from the\r\n * XML output.\r\n *\r\n * See the `typeHandlers` property in {@link IOptions} for more details.\r\n */\r\nvar Absent = /** @class */ (function () {\r\n function Absent() {\r\n }\r\n Object.defineProperty(Absent, \"instance\", {\r\n /**\r\n * Returns the sole instance of Absent.\r\n */\r\n get: function () {\r\n return Absent._instance;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Absent._instance = new Absent();\r\n return Absent;\r\n}());\r\nexports.Absent = Absent;\r\n/**\r\n * Gets the type handler associated with a value.\r\n */\r\nfunction getHandler(value, options) {\r\n var type = Object.prototype.toString.call(value);\r\n var handler;\r\n if (Object.prototype.hasOwnProperty.call(options.typeHandlers, \"*\")) {\r\n handler = options.typeHandlers[\"*\"];\r\n }\r\n if (Object.prototype.hasOwnProperty.call(options.typeHandlers, type)) {\r\n handler = options.typeHandlers[type];\r\n }\r\n return handler;\r\n}\r\n/**\r\n * Parses a string into XML and adds it to the parent element or attribute.\r\n */\r\nfunction parseString(str, parentElement, options) {\r\n var requiresCdata = function (s) {\r\n return ((options.cdataInvalidChars &&\r\n (s.indexOf(\"<\") !== -1 || s.indexOf(\"&\") !== -1)) ||\r\n options.cdataKeys.indexOf(parentElement.name) !== -1 ||\r\n options.cdataKeys.indexOf(\"*\") !== -1);\r\n };\r\n if (parentElement instanceof xmlcreate_1.XmlElement) {\r\n if (requiresCdata(str)) {\r\n var cdataStrs = str.split(\"]]>\");\r\n for (var i = 0; i < cdataStrs.length; i++) {\r\n if (requiresCdata(cdataStrs[i])) {\r\n parentElement.cdata({\r\n charData: cdataStrs[i],\r\n replaceInvalidCharsInCharData: options.replaceInvalidChars,\r\n });\r\n }\r\n else {\r\n parentElement.charData({\r\n charData: cdataStrs[i],\r\n replaceInvalidCharsInCharData: options.replaceInvalidChars,\r\n });\r\n }\r\n if (i < cdataStrs.length - 1) {\r\n parentElement.charData({\r\n charData: \"]]>\",\r\n replaceInvalidCharsInCharData: options.replaceInvalidChars,\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n parentElement.charData({\r\n charData: str,\r\n replaceInvalidCharsInCharData: options.replaceInvalidChars,\r\n });\r\n }\r\n }\r\n else {\r\n parentElement.text({\r\n charData: str,\r\n replaceInvalidCharsInCharData: options.replaceInvalidChars,\r\n });\r\n }\r\n}\r\n/**\r\n * Parses an attribute into XML and adds it to the parent element.\r\n */\r\nfunction parseAttribute(name, value, parentElement, options) {\r\n var attribute = parentElement.attribute({\r\n name: name,\r\n replaceInvalidCharsInName: options.replaceInvalidChars,\r\n });\r\n parseString((0, utils_1.stringify)(value), attribute, options);\r\n}\r\n/**\r\n * Parses an object or Map entry into XML and adds it to the parent element.\r\n */\r\nfunction parseObjectOrMapEntry(key, value, parentElement, options) {\r\n // Alias key\r\n if (key === options.aliasString) {\r\n parentElement.name = (0, utils_1.stringify)(value);\r\n return;\r\n }\r\n // Attributes key\r\n if (key.indexOf(options.attributeString) === 0 && (0, utils_1.isObject)(value)) {\r\n for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {\r\n var subkey = _a[_i];\r\n var subvalue = value[subkey];\r\n var handler = getHandler(subvalue, options);\r\n if (!(0, utils_1.isUndefined)(handler)) {\r\n subvalue = handler(subvalue);\r\n if (handler(value) === Absent.instance) {\r\n continue;\r\n }\r\n }\r\n parseAttribute(subkey, subvalue, parentElement, options);\r\n }\r\n return;\r\n }\r\n // Value key\r\n if (key.indexOf(options.valueString) === 0) {\r\n parseValue(key, value, parentElement, options);\r\n return;\r\n }\r\n // Standard handling (create new element for entry)\r\n var element = parentElement;\r\n if (!(0, utils_1.isArray)(value) && !(0, utils_1.isSet)(value)) {\r\n // If handler for value returns absent, then do not add element\r\n var handler = getHandler(value, options);\r\n if (!(0, utils_1.isUndefined)(handler)) {\r\n if (handler(value) === Absent.instance) {\r\n return;\r\n }\r\n }\r\n element = parentElement.element({\r\n name: key,\r\n replaceInvalidCharsInName: options.replaceInvalidChars,\r\n useSelfClosingTagIfEmpty: options.useSelfClosingTagIfEmpty,\r\n });\r\n }\r\n parseValue(key, value, element, options);\r\n}\r\n/**\r\n * Parses an Object or Map into XML and adds it to the parent element.\r\n */\r\nfunction parseObjectOrMap(objectOrMap, parentElement, options) {\r\n if ((0, utils_1.isMap)(objectOrMap)) {\r\n objectOrMap.forEach(function (value, key) {\r\n parseObjectOrMapEntry((0, utils_1.stringify)(key), value, parentElement, options);\r\n });\r\n }\r\n else {\r\n for (var _i = 0, _a = Object.keys(objectOrMap); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n parseObjectOrMapEntry(key, objectOrMap[key], parentElement, options);\r\n }\r\n }\r\n}\r\n/**\r\n * Parses an array or Set into XML and adds it to the parent element.\r\n */\r\nfunction parseArrayOrSet(key, arrayOrSet, parentElement, options) {\r\n var arrayNameFunc;\r\n if (Object.prototype.hasOwnProperty.call(options.wrapHandlers, \"*\")) {\r\n arrayNameFunc = options.wrapHandlers[\"*\"];\r\n }\r\n if (Object.prototype.hasOwnProperty.call(options.wrapHandlers, key)) {\r\n arrayNameFunc = options.wrapHandlers[key];\r\n }\r\n var arrayKey = key;\r\n var arrayElement = parentElement;\r\n if (!(0, utils_1.isUndefined)(arrayNameFunc)) {\r\n var arrayNameFuncKey = arrayNameFunc(arrayKey, arrayOrSet);\r\n if (!(0, utils_1.isNull)(arrayNameFuncKey)) {\r\n arrayKey = arrayNameFuncKey;\r\n arrayElement = parentElement.element({\r\n name: key,\r\n replaceInvalidCharsInName: options.replaceInvalidChars,\r\n useSelfClosingTagIfEmpty: options.useSelfClosingTagIfEmpty,\r\n });\r\n }\r\n }\r\n arrayOrSet.forEach(function (item) {\r\n var element = arrayElement;\r\n if (!(0, utils_1.isArray)(item) && !(0, utils_1.isSet)(item)) {\r\n // If handler for value returns absent, then do not add element\r\n var handler = getHandler(item, options);\r\n if (!(0, utils_1.isUndefined)(handler)) {\r\n if (handler(item) === Absent.instance) {\r\n return;\r\n }\r\n }\r\n element = arrayElement.element({\r\n name: arrayKey,\r\n replaceInvalidCharsInName: options.replaceInvalidChars,\r\n useSelfClosingTagIfEmpty: options.useSelfClosingTagIfEmpty,\r\n });\r\n }\r\n parseValue(arrayKey, item, element, options);\r\n });\r\n}\r\n/**\r\n * Parses an arbitrary JavaScript value into XML and adds it to the parent\r\n * element.\r\n */\r\nfunction parseValue(key, value, parentElement, options) {\r\n // If a handler for a particular type is user-defined, use that handler\r\n // instead of the defaults\r\n var handler = getHandler(value, options);\r\n if (!(0, utils_1.isUndefined)(handler)) {\r\n value = handler(value);\r\n }\r\n if ((0, utils_1.isObject)(value) || (0, utils_1.isMap)(value)) {\r\n parseObjectOrMap(value, parentElement, options);\r\n return;\r\n }\r\n if ((0, utils_1.isArray)(value) || (0, utils_1.isSet)(value)) {\r\n parseArrayOrSet(key, value, parentElement, options);\r\n return;\r\n }\r\n parseString((0, utils_1.stringify)(value), parentElement, options);\r\n}\r\n/**\r\n * Converts the specified object to XML and adds the XML representation to the\r\n * specified XmlElement object using the specified options.\r\n *\r\n * This function does not add a root element. In addition, it does not add an\r\n * XML declaration or DTD, and the associated options in {@link IOptions} are\r\n * ignored. If desired, these must be added manually.\r\n */\r\nfunction parseToExistingElement(element, object, options) {\r\n var opts = new options_1.Options(options);\r\n parseValue(element.name, object, element, opts);\r\n}\r\nexports.parseToExistingElement = parseToExistingElement;\r\n/**\r\n * Returns a XML string representation of the specified object using the\r\n * specified options.\r\n *\r\n * `root` is the name of the root XML element. When the object is converted\r\n * to XML, it will be a child of this root element.\r\n */\r\nfunction parse(root, object, options) {\r\n var opts = new options_1.Options(options);\r\n var document = new xmlcreate_1.XmlDocument({\r\n validation: opts.validation,\r\n });\r\n if (opts.declaration.include) {\r\n document.decl(opts.declaration);\r\n }\r\n if (opts.dtd.include) {\r\n document.dtd({\r\n // Validated in options.ts\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n name: opts.dtd.name,\r\n pubId: opts.dtd.pubId,\r\n sysId: opts.dtd.sysId,\r\n });\r\n }\r\n var rootElement = document.element({\r\n name: root,\r\n replaceInvalidCharsInName: opts.replaceInvalidChars,\r\n useSelfClosingTagIfEmpty: opts.useSelfClosingTagIfEmpty,\r\n });\r\n parseToExistingElement(rootElement, object, options);\r\n return document.toString(opts.format);\r\n}\r\nexports.parse = parse;\r\n", "var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n", "var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n", "{\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphalforms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/ace+cbor\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/activity+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamcontrol+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/at+jwt\": {\n \"source\": \"iana\"\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomdeleted\"]\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atsc-dwd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dwd\"]\n },\n \"application/atsc-dynamic-event-message\": {\n \"source\": \"iana\"\n },\n \"application/atsc-held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"held\"]\n },\n \"application/atsc-rdt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/atsc-rsat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsat\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xcs\"]\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/captive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/cccex\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdfx\"]\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/city+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clr\": {\n \"source\": \"iana\"\n },\n \"application/clue+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clue_info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-payload\": {\n \"source\": \"iana\"\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cose\": {\n \"source\": \"iana\"\n },\n \"application/cose-key\": {\n \"source\": \"iana\"\n },\n \"application/cose-key-set\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cpl\"]\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cwt\": {\n \"source\": \"iana\"\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpd\"]\n },\n \"application/dash-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dicom+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/dns+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dns-message\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dbk\"]\n },\n \"application/dots+cbor\": {\n \"source\": \"iana\"\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es\",\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/efi\": {\n \"source\": \"iana\"\n },\n \"application/elm+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/elm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.cap+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.ecall.msd\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.veds+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emotionml\"]\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/expect-ct-report+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/express\": {\n \"source\": \"iana\",\n \"extensions\": [\"exp\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fdt\"]\n },\n \"application/fhir+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fhir+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fido.trusted-apps+json\": {\n \"compressible\": true\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/flexfec\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"geojson\"]\n },\n \"application/geo+json-seq\": {\n \"source\": \"iana\"\n },\n \"application/geopackage+sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/geoxacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/gltf-buffer\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gz\"]\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"its\"]\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\",\"mjs\"]\n },\n \"application/jf2feed+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jscalendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/lgr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lgr\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lpf+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpf\"]\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mipc\": {\n \"source\": \"iana\"\n },\n \"application/missing-blocks+cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/mmt-aei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"maei\"]\n },\n \"application/mmt-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musd\"]\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mud+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/multipart-core\": {\n \"source\": \"iana\"\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/n-quads\": {\n \"source\": \"iana\",\n \"extensions\": [\"nq\"]\n },\n \"application/n-triples\": {\n \"source\": \"iana\",\n \"extensions\": [\"nt\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/node\": {\n \"source\": \"iana\",\n \"extensions\": [\"cjs\"]\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/oauth-authz-req+jwt\": {\n \"source\": \"iana\"\n },\n \"application/oblivious-dns-message\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/opc-nodeset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/oscore\": {\n \"source\": \"iana\"\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p21\": {\n \"source\": \"iana\"\n },\n \"application/p21+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"relo\"]\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/passport\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pem-certificate-chain\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\"]\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkcs8-encrypted\": {\n \"source\": \"iana\"\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/ppsp-tracker+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"provx\"]\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.cyn\": {\n \"source\": \"iana\",\n \"charset\": \"7-BIT\"\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pskcxml\"]\n },\n \"application/pvd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raml+yaml\": {\n \"compressible\": true,\n \"extensions\": [\"raml\"]\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\",\"owl\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rs\"]\n },\n \"application/route-apd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rapd\"]\n },\n \"application/route-s-tsid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sls\"]\n },\n \"application/route-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rusd\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-publication\": {\n \"source\": \"iana\"\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif-external-properties+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sbe\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/secevent+jwt\": {\n \"source\": \"iana\"\n },\n \"application/senml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"senmlx\"]\n },\n \"application/senml-etch+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml-etch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sensml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/sensml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sensml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sensmlx\"]\n },\n \"application/sensml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sep+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\",\n \"extensions\": [\"siv\",\"sieve\"]\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/sipc\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"srx\"]\n },\n \"application/spdx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ssml\"]\n },\n \"application/stix+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/swid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"swidtag\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/taxii+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/td+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/tetra_isi\": {\n \"source\": \"iana\"\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/tlsrpt+gzip\": {\n \"source\": \"iana\"\n },\n \"application/tlsrpt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tnauthlist\": {\n \"source\": \"iana\"\n },\n \"application/token-introspection+jwt\": {\n \"source\": \"iana\"\n },\n \"application/toml\": {\n \"compressible\": true,\n \"extensions\": [\"toml\"]\n },\n \"application/trickle-ice-sdpfrag\": {\n \"source\": \"iana\"\n },\n \"application/trig\": {\n \"source\": \"iana\",\n \"extensions\": [\"trig\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttml\"]\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/tzif\": {\n \"source\": \"iana\"\n },\n \"application/tzif-leap\": {\n \"source\": \"iana\"\n },\n \"application/ubjson\": {\n \"compressible\": false,\n \"extensions\": [\"ubj\"]\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsheet\"]\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"td\"]\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.1000minds.decision-model+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"1km\"]\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-v2x-local-service-information\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.5gnas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gmop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gtpc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.interworking-data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.lpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mc-signalling-ear\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-payload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-signalling\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-signed+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ngap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pfcp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.s1ap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3lightssoftware.imagescal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata-pagedef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.cmoca-cmresource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-charset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codedfont\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codepage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-cmtable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-formdef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-mediummap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-objectcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-overlay\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-pagesegment\": {\n \"source\": \"iana\"\n },\n \"application/vnd.age\": {\n \"source\": \"iana\",\n \"extensions\": [\"age\"]\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amadeus+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.amazon.mobi8-ebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.android.ota\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.arrow.file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.arrow.stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.aplextor.warrp+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apothekende.reservation+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.keynote\": {\n \"source\": \"iana\",\n \"extensions\": [\"key\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.numbers\": {\n \"source\": \"iana\",\n \"extensions\": [\"numbers\"]\n },\n \"application/vnd.apple.pages\": {\n \"source\": \"iana\",\n \"extensions\": [\"pages\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artisan+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avalon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmml\"]\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.banana-accounting\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.error\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bint.med-content\": {\n \"source\": \"iana\"\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.blink-idb-value-wrapper\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.bpf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bpf3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.byu.uapi+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.capasystems-pg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chess-pgn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.ciedi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csl\"]\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.comicbook+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.comicbook-rar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.coreos.ignition+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.cryptii.pipe+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.crypto-shade-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.vault\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cyclonedx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cyclonedx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.d2l.coursepackage1p0+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.d3m-dataset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.d3m-problem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.datapackage+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dataresource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dbf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dbf\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbisl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecip.rlp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eclipse.ditto+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.img\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.iso\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.espass-espass+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eu.kasparian.car+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.profile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.settings\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.theme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.exstream-empower+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.exstream-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.familysearch.gedcom+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ficlab.flb+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujifilm.fb.docuworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.binder\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.jfi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.gentics.grd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.slides\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hdt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hl7cda+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hl7v2+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyper+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyper-item+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.imagemeter.folder+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.imagemeter.image+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.iso11783-10+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las\": {\n \"source\": \"iana\"\n },\n \"application/vnd.las.las+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.laszip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.leap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.logipipe.circuit+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.loom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\",\n \"extensions\": [\"mvt\"]\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxar.archive.3tz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.microsoft.windows.thumbnail-cache\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-outlook\": {\n \"compressible\": false,\n \"extensions\": [\"msg\"]\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-printschematicket+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.nacamar.ybrid+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nearst.inv+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nebumind.line\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nimn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ac\"]\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ocf+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oci.image.manifest.v1+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.lwm2m+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+tlv\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepager\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertat\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"obgx\"]\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openstreetmap.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osm\"]\n },\n \"application/vnd.opentimestamps.ots\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patentdive\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patientecommsdoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.psfs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quarantainenet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rar\": {\n \"source\": \"iana\",\n \"extensions\": [\"rar\"]\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.resilient.logic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.restful+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.seis+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shade-save-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.shootproof+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shopkick+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sigrok.session\": {\n \"source\": \"iana\"\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.snesdev-page-table\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fo\"]\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wadl\"]\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sycle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.syft+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"ddf\"]\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tableschema+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.think-cell.ppttc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.tri.onesource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vel+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.veritone.aion+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.veryant.thin\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ves.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.dpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vxml\"]\n },\n \"application/voucher-cms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/wasm\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wasm\"]\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wif\"]\n },\n \"application/webpush-options+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-arj\": {\n \"compressible\": false,\n \"extensions\": [\"arj\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-iwork-keynote-sffkey\": {\n \"extensions\": [\"key\"]\n },\n \"application/x-iwork-numbers-sffnumbers\": {\n \"extensions\": [\"numbers\"]\n },\n \"application/x-iwork-pages-sffpages\": {\n \"extensions\": [\"pages\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-keepass2\": {\n \"extensions\": [\"kdbx\"]\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-pki-message\": {\n \"source\": \"iana\"\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-virtualbox-hdd\": {\n \"compressible\": true,\n \"extensions\": [\"hdd\"]\n },\n \"application/x-virtualbox-ova\": {\n \"compressible\": true,\n \"extensions\": [\"ova\"]\n },\n \"application/x-virtualbox-ovf\": {\n \"compressible\": true,\n \"extensions\": [\"ovf\"]\n },\n \"application/x-virtualbox-vbox\": {\n \"compressible\": true,\n \"extensions\": [\"vbox\"]\n },\n \"application/x-virtualbox-vbox-extpack\": {\n \"compressible\": false,\n \"extensions\": [\"vbox-extpack\"]\n },\n \"application/x-virtualbox-vdi\": {\n \"compressible\": true,\n \"extensions\": [\"vdi\"]\n },\n \"application/x-virtualbox-vhd\": {\n \"compressible\": true,\n \"extensions\": [\"vhd\"]\n },\n \"application/x-virtualbox-vmdk\": {\n \"compressible\": true,\n \"extensions\": [\"vmdk\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-x509-ca-ra-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-x509-next-ca-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xav\"]\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xca\"]\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xel\"]\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xns\"]\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/xliff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\",\"rng\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xsl\",\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yang-data+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"application/zstd\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"3gpp\"]\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/aac\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\",\n \"extensions\": [\"amr\"]\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/flexfec\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/melp\": {\n \"source\": \"iana\"\n },\n \"audio/melp1200\": {\n \"source\": \"iana\"\n },\n \"audio/melp2400\": {\n \"source\": \"iana\"\n },\n \"audio/melp600\": {\n \"source\": \"iana\"\n },\n \"audio/mhas\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxmf\"]\n },\n \"audio/mp3\": {\n \"compressible\": false,\n \"extensions\": [\"mp3\"]\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"m4a\",\"mp4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\",\"opus\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/scip\": {\n \"source\": \"iana\"\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sofa\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp_bb\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/tsvcis\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/usac\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dts.uhd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.presonus.multitrack\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/collection\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttc\"]\n },\n \"font/otf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"font/sfnt\": {\n \"source\": \"iana\"\n },\n \"font/ttf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttf\"]\n },\n \"font/woff\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff\"]\n },\n \"font/woff2\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff2\"]\n },\n \"image/aces\": {\n \"source\": \"iana\",\n \"extensions\": [\"exr\"]\n },\n \"image/apng\": {\n \"compressible\": false,\n \"extensions\": [\"apng\"]\n },\n \"image/avci\": {\n \"source\": \"iana\",\n \"extensions\": [\"avci\"]\n },\n \"image/avcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"avcs\"]\n },\n \"image/avif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"avif\"]\n },\n \"image/bmp\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/dicom-rle\": {\n \"source\": \"iana\",\n \"extensions\": [\"drle\"]\n },\n \"image/emf\": {\n \"source\": \"iana\",\n \"extensions\": [\"emf\"]\n },\n \"image/fits\": {\n \"source\": \"iana\",\n \"extensions\": [\"fits\"]\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/heic\": {\n \"source\": \"iana\",\n \"extensions\": [\"heic\"]\n },\n \"image/heic-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heics\"]\n },\n \"image/heif\": {\n \"source\": \"iana\",\n \"extensions\": [\"heif\"]\n },\n \"image/heif-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heifs\"]\n },\n \"image/hej2k\": {\n \"source\": \"iana\",\n \"extensions\": [\"hej2\"]\n },\n \"image/hsj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"hsj2\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jls\": {\n \"source\": \"iana\",\n \"extensions\": [\"jls\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jp2\",\"jpg2\"]\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jph\": {\n \"source\": \"iana\",\n \"extensions\": [\"jph\"]\n },\n \"image/jphc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jhc\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpm\"]\n },\n \"image/jpx\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpx\",\"jpf\"]\n },\n \"image/jxr\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxr\"]\n },\n \"image/jxra\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxra\"]\n },\n \"image/jxrs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxrs\"]\n },\n \"image/jxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxs\"]\n },\n \"image/jxsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsc\"]\n },\n \"image/jxsi\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsi\"]\n },\n \"image/jxss\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxss\"]\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/ktx2\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx2\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\",\n \"extensions\": [\"pti\"]\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\",\n \"extensions\": [\"t38\"]\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tif\",\"tiff\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfx\"]\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\",\n \"extensions\": [\"azv\"]\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-dds\": {\n \"compressible\": true,\n \"extensions\": [\"dds\"]\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.pco.b16\": {\n \"source\": \"iana\",\n \"extensions\": [\"b16\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tap\"]\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtf\"]\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcx\"]\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/wmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmf\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\n \"disposition-notification\"\n ]\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8msg\"]\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8dsn\"]\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8mdn\"]\n },\n \"message/global-headers\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8hdr\"]\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsc\"]\n },\n \"model/3mf\": {\n \"source\": \"iana\",\n \"extensions\": [\"3mf\"]\n },\n \"model/e57\": {\n \"source\": \"iana\"\n },\n \"model/gltf+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gltf\"]\n },\n \"model/gltf-binary\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"glb\"]\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/mtl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mtl\"]\n },\n \"model/obj\": {\n \"source\": \"iana\",\n \"extensions\": [\"obj\"]\n },\n \"model/step\": {\n \"source\": \"iana\"\n },\n \"model/step+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"stpx\"]\n },\n \"model/step+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpz\"]\n },\n \"model/step-xml+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpxz\"]\n },\n \"model/stl\": {\n \"source\": \"iana\",\n \"extensions\": [\"stl\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\",\n \"extensions\": [\"ogex\"]\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_b\"]\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_t\"]\n },\n \"model/vnd.pytha.pyox\": {\n \"source\": \"iana\"\n },\n \"model/vnd.rosette.annotated-data-model\": {\n \"source\": \"iana\"\n },\n \"model/vnd.sap.vds\": {\n \"source\": \"iana\",\n \"extensions\": [\"vds\"]\n },\n \"model/vnd.usdz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"usdz\"]\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\",\n \"extensions\": [\"bsp\"]\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3db\"]\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3dv\"]\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\"\n },\n \"multipart/multilingual\": {\n \"source\": \"iana\"\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/vnd.bint.med-plus\": {\n \"source\": \"iana\"\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/cql\": {\n \"source\": \"iana\"\n },\n \"text/cql-expression\": {\n \"source\": \"iana\"\n },\n \"text/cql-identifier\": {\n \"source\": \"iana\"\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fhirpath\": {\n \"source\": \"iana\"\n },\n \"text/flexfec\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/gff3\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"compressible\": true,\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\"]\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mdx\": {\n \"compressible\": true,\n \"extensions\": [\"mdx\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/prs.prop.logic\": {\n \"source\": \"iana\"\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/shaclc\": {\n \"source\": \"iana\"\n },\n \"text/shex\": {\n \"source\": \"iana\",\n \"extensions\": [\"shex\"]\n },\n \"text/slim\": {\n \"extensions\": [\"slim\",\"slm\"]\n },\n \"text/spdx\": {\n \"source\": \"iana\",\n \"extensions\": [\"spdx\"]\n },\n \"text/strings\": {\n \"source\": \"iana\"\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ascii-art\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.familysearch.gedcom\": {\n \"source\": \"iana\",\n \"extensions\": [\"ged\"]\n },\n \"text/vnd.ficlab.flt\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.gml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.hans\": {\n \"source\": \"iana\"\n },\n \"text/vnd.hgl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.senx.warpscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sosi\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-org\": {\n \"compressible\": true,\n \"extensions\": [\"org\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"compressible\": true,\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"video/3gpp\": {\n \"source\": \"iana\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"iana\"\n },\n \"video/3gpp2\": {\n \"source\": \"iana\",\n \"extensions\": [\"3g2\"]\n },\n \"video/av1\": {\n \"source\": \"iana\"\n },\n \"video/bmpeg\": {\n \"source\": \"iana\"\n },\n \"video/bt656\": {\n \"source\": \"iana\"\n },\n \"video/celb\": {\n \"source\": \"iana\"\n },\n \"video/dv\": {\n \"source\": \"iana\"\n },\n \"video/encaprtp\": {\n \"source\": \"iana\"\n },\n \"video/ffv1\": {\n \"source\": \"iana\"\n },\n \"video/flexfec\": {\n \"source\": \"iana\"\n },\n \"video/h261\": {\n \"source\": \"iana\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"iana\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"iana\"\n },\n \"video/h263-2000\": {\n \"source\": \"iana\"\n },\n \"video/h264\": {\n \"source\": \"iana\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"iana\"\n },\n \"video/h264-svc\": {\n \"source\": \"iana\"\n },\n \"video/h265\": {\n \"source\": \"iana\"\n },\n \"video/iso.segment\": {\n \"source\": \"iana\",\n \"extensions\": [\"m4s\"]\n },\n \"video/jpeg\": {\n \"source\": \"iana\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"iana\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/jxsv\": {\n \"source\": \"iana\"\n },\n \"video/mj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"iana\"\n },\n \"video/mp2p\": {\n \"source\": \"iana\"\n },\n \"video/mp2t\": {\n \"source\": \"iana\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"iana\"\n },\n \"video/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"video/mpv\": {\n \"source\": \"iana\"\n },\n \"video/nv\": {\n \"source\": \"iana\"\n },\n \"video/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"iana\"\n },\n \"video/pointer\": {\n \"source\": \"iana\"\n },\n \"video/quicktime\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raptorfec\": {\n \"source\": \"iana\"\n },\n \"video/raw\": {\n \"source\": \"iana\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"video/rtploopback\": {\n \"source\": \"iana\"\n },\n \"video/rtx\": {\n \"source\": \"iana\"\n },\n \"video/scip\": {\n \"source\": \"iana\"\n },\n \"video/smpte291\": {\n \"source\": \"iana\"\n },\n \"video/smpte292m\": {\n \"source\": \"iana\"\n },\n \"video/ulpfec\": {\n \"source\": \"iana\"\n },\n \"video/vc1\": {\n \"source\": \"iana\"\n },\n \"video/vc2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"iana\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"iana\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"iana\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.mp4vr\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"iana\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.bink\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.smacker\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"iana\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"iana\",\n \"extensions\": [\"viv\"]\n },\n \"video/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"video/vp8\": {\n \"source\": \"iana\"\n },\n \"video/vp9\": {\n \"source\": \"iana\"\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}\n", "/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n", "/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n", "module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n", "var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n", "// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n", "var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n", "// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n", "var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n", "var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n", "var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n", "var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n", "module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n", "'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n", "'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n", "'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n", "'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n", "'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n", "'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n", "'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n", "'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n", "'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n", "'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n", "'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n", "'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n", "'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n", "'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n", "'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n", "'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n", "'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n", "'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n", "'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n", "'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n", "'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n", "'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n", "'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n", "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n", "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n", "'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n", "'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n", "'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n", "'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n", "'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n", "'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n", "'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n", "'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n", "'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n", "'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n", "'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n", "'use strict';\n\n// populates missing values\nmodule.exports = function (dst, src) {\n Object.keys(src).forEach(function (prop) {\n dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign\n });\n\n return dst;\n};\n", "'use strict';\n\nvar CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar hasOwn = require('hasown');\nvar populate = require('./populate.js');\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {}; // eslint-disable-line no-param-reassign\n for (var option in options) { // eslint-disable-line no-restricted-syntax\n this[option] = options[option];\n }\n}\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function (field, value, options) {\n options = options || {}; // eslint-disable-line no-param-reassign\n\n // allow filename as single option\n if (typeof options === 'string') {\n options = { filename: options }; // eslint-disable-line no-param-reassign\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value === 'number' || value == null) {\n value = String(value); // eslint-disable-line no-param-reassign\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n /*\n * Please convert your array into string\n * the way web server expects it\n */\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function (header, value, options) {\n var valueLength = 0;\n\n /*\n * used w/ getLengthSync(), when length is known.\n * e.g. for streaming directly from a remote server,\n * w/ a known file a size, and not wanting to wait for\n * incoming file to finish to get its size.\n */\n if (options.knownLength != null) {\n valueLength += Number(options.knownLength);\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function (value, callback) {\n if (hasOwn(value, 'fd')) {\n // take read range into a account\n // `end` = Infinity \u2013> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function (err, stat) {\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n var fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (hasOwn(value, 'httpVersion')) {\n callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return\n\n // or request stream http://github.com/mikeal/request\n } else if (hasOwn(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function (response) {\n value.pause();\n callback(null, Number(response.headers['content-length']));\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream'); // eslint-disable-line callback-return\n }\n};\n\nFormData.prototype._multiPartHeader = function (field, value, options) {\n /*\n * custom header specified (as string)?\n * it becomes responsible for boundary\n * (e.g. to handle extra CRLFs on .NET servers)\n */\n if (typeof options.header === 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header === 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return\n var filename;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || (value && (value.name || value.path))) {\n /*\n * custom filename take precedence\n * formidable and the browser add a name property\n * fs- and request- streams have path property\n */\n filename = path.basename(options.filename || (value && (value.name || value.path)));\n } else if (value && value.readable && hasOwn(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n return 'filename=\"' + filename + '\"';\n }\n};\n\nFormData.prototype._getContentType = function (value, options) {\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && value && typeof value === 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function () {\n return function (next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = this._streams.length === 0;\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function () {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function (userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function (boundary) {\n if (typeof boundary !== 'string') {\n throw new TypeError('FormData boundary must be a string');\n }\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function () {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function () {\n var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n // Add content to the buffer.\n if (Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);\n } else {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]);\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);\n};\n\nFormData.prototype._generateBoundary = function () {\n // This generates a 50 character boundary similar to those used by Firefox.\n\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually and add it as knownLength option\nFormData.prototype.getLengthSync = function () {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n /*\n * Some async length retrievers are present\n * therefore synchronous length calculation is false.\n * Please use getLength(callback) to get proper length\n */\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function () {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function (cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function (length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function (params, cb) {\n var request;\n var options;\n var defaults = { method: 'post' };\n\n // parse provided url if it's string or treat it as options object\n if (typeof params === 'string') {\n params = parseUrl(params); // eslint-disable-line no-param-reassign\n /* eslint sort-keys: 0 */\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n } else { // use custom params\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol === 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol === 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function (err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce); // eslint-disable-line no-invalid-this\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function (err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData, 'FormData');\n\n// Public API\nmodule.exports = FormData;\n", "'use strict';\n\nvar parseUrl = require('url').parse;\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nvar stringEndsWith = String.prototype.endsWith || function(s) {\n return s.length <= this.length &&\n this.indexOf(s, this.length - s.length) !== -1;\n};\n\n/**\n * @param {string|object} url - The URL, or the result from url.parse.\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nfunction getProxyForUrl(url) {\n var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy =\n getEnv('npm_config_' + proto + '_proxy') ||\n getEnv(proto + '_proxy') ||\n getEnv('npm_config_proxy') ||\n getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY =\n (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !stringEndsWith.call(hostname, parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n\nexports.getProxyForUrl = getProxyForUrl;\n", "/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n", "/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n", "var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n", "var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230\u00A75.3.1: When making a request directly to an origin server, [\u2026]\n // a client MUST send only the absolute path [\u2026] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, [\u2026]\n // a client MUST send the target URI in absolute-form [\u2026].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231\u00A76.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231\u00A76.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231\u00A76.4: Automatic redirection needs to done with\n // care for methods not known to be safe, [\u2026]\n // RFC7231\u00A76.4.2\u20133: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231\u00A76.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource [\u2026]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) [\u2026]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n", "import path from \"node:path\";\n\nimport findUp from \"find-up\";\nimport pkgDir from \"pkg-dir\";\n\nimport { throwError } from \"../errors\";\nimport { NoJSConfigFileFound } from \"../errors/errors-data\";\n\n// Consts\nconst isComponentLibrary = __dirname.includes(\"node_modules\");\nconst componentLibraryPathAlias = getComponentsLibAliases();\n\n/**\n * Returns the instance or monorepo paths.\n *\n * @param customPath The path for the instance components\n */\nfunction resolveComponentsPath(customPath = \"\") {\n\treturn isComponentLibrary\n\t\t? path.resolve(pkgDir.sync(__dirname) as string, \"../../../\", customPath)\n\t\t: path.resolve(\n\t\t\t\tpkgDir.sync(__dirname) as string,\n\t\t\t\t\"../griddo-components\",\n\t\t\t\tcustomPath,\n\t\t\t);\n}\n\n/**\n * Return the instance or monorepo components {t|j}sconfig.json file.\n */\nfunction getComponentsJSConfig() {\n\tconst jsConfigPath = findUp.sync(\"jsconfig.json\", {\n\t\tcwd: resolveComponentsPath(),\n\t});\n\tconst tsConfigPath = findUp.sync(\"tsconfig.json\", {\n\t\tcwd: resolveComponentsPath(),\n\t});\n\n\treturn tsConfigPath || jsConfigPath;\n}\n\n/**\n * Get the instance webpack aliases\n */\nfunction getComponentsLibAliases() {\n\tconst xsConfig = require(getComponentsJSConfig() as string);\n\n\tif (!xsConfig) {\n\t\tthrowError(NoJSConfigFileFound);\n\t}\n\n\treturn Object.keys(xsConfig.compilerOptions?.paths).reduce(\n\t\t(currentAlias, pathKey) => {\n\t\t\tconst [aliasKey] = pathKey.split(\"/\");\n\t\t\tconst [pathAtJsConfig] = xsConfig.compilerOptions.paths[pathKey];\n\t\t\tconst [relativePathToDir] = pathAtJsConfig.split(\"/*\");\n\t\t\tconst absolutePath = resolveComponentsPath(relativePathToDir);\n\n\t\t\treturn {\n\t\t\t\t...currentAlias,\n\t\t\t\t[aliasKey]: absolutePath,\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\t// Por este motivo se puede hacer `... import from \"@griddo-instance\" en\n\t\t\t// los packages del monorepo.\n\t\t\t\"@griddo-instance\": `${resolveComponentsPath()}/src/index.js`,\n\t\t},\n\t);\n}\n\nexport {\n\tcomponentLibraryPathAlias,\n\tgetComponentsJSConfig,\n\tgetComponentsLibAliases,\n\tisComponentLibrary,\n\tresolveComponentsPath,\n};\n", "import path from \"node:path\";\n\nimport pkgDir from \"pkg-dir\";\n\nimport { resolveComponentsPath } from \"./exporter/utils/instance\";\n\n// Paths\nconst REPO_ROOT_DIR = pkgDir.sync(path.resolve(__dirname, \"../..\"));\nconst CX_ROOT_DIR = pkgDir.sync(__dirname);\nconst SSG_DIR = path.resolve(pkgDir.sync(__dirname));\nconst CX_CACHE_DIR = path.resolve(CX_ROOT_DIR, \".cx-cache\");\nconst COMPONENTS_DIR = resolveComponentsPath();\nconst EXPORTS_DIR = path.join(REPO_ROOT_DIR, \"exports/sites\");\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: griddoVersion } = require(\n\tpath.join(CX_ROOT_DIR, \"package.json\"),\n);\n\nconst config = {\n\tproDomain: \"pro-\",\n\tgriddoVersion,\n\tbuildReportFileName: \"build-report.json\",\n\tpaths: (domain) => ({\n\t\t__cache: path.join(CX_CACHE_DIR, domain || \"\"),\n\t\t__components: COMPONENTS_DIR,\n\t\t__cx: CX_ROOT_DIR,\n\t\t__exports: path.join(EXPORTS_DIR, domain || \"\"),\n\t\t__root: REPO_ROOT_DIR,\n\t\t__ssg: SSG_DIR,\n\t\t__exports_dist: domain ? path.join(EXPORTS_DIR, domain, \"dist\") : \"\",\n\t\t__cx_dist: path.join(CX_ROOT_DIR, \"dist\"),\n\t}),\n};\n\nexport default config;\n", "import fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport { getConfig } from \"../utils/core-utils\";\nimport { getInstanceDomains } from \"../utils/domains\";\nimport { infoLog, successLog } from \"../utils/loggin\";\nimport { getSitesToRender } from \"../utils/sites\";\n\n(async () => {\n\tinfoLog(\"Checking domains size\");\n\n\tconst { __cx } = getConfig().paths();\n\n\tconst domains = await getInstanceDomains();\n\tconst domainsInfo = [];\n\tconst domainsFilePath = path.join(__cx, \"domains.json\");\n\n\tfor (const domain of domains) {\n\t\tconst { sitesToPublish } = await getSitesToRender(domain);\n\n\t\t// Only count pages (changedPages) if sitesToPublish is not empty.\n\t\t// Otherwise we set the domain has having 0 pages.\n\t\tconst pages = [];\n\t\tif (sitesToPublish.length > 0) {\n\t\t\tfor (const site of sitesToPublish) {\n\t\t\t\tpages.push(site.changedPages.length);\n\t\t\t}\n\t\t} else {\n\t\t\tpages.push(0);\n\t\t}\n\n\t\tconst totalPages = pages.reduce((a, b) => a + b);\n\t\tdomainsInfo.push({ domain, totalPages });\n\t}\n\n\t// sort domains, smaller first\n\tdomainsInfo.sort((a, b) => a.totalPages - b.totalPages);\n\tconst domainSorted = domainsInfo.map(({ domain }) => domain);\n\n\tfs.writeFileSync(domainsFilePath, JSON.stringify(domainSorted));\n\n\tsuccessLog(`Checking domains size`);\n})().catch((err) => {\n\tconsole.error(err);\n\tprocess.exit(1);\n});\n", "import type { APIResponses } from \"../types/api\";\nimport type {\n\tCXConfig,\n\tLifeCyclesNames,\n\tLifeCycleSteps,\n} from \"../types/global\";\nimport type { APIPageObject } from \"../types/pages\";\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport fsx from \"fs-extra\";\nimport kleur from \"kleur\";\nimport { bgRed, black } from \"kleur/colors\";\nimport pkgDir from \"pkg-dir\";\n\nimport { envs } from \"../constants\";\nimport { throwError } from \"../errors\";\nimport { prependFileSync } from \"./folders\";\nimport { boxLog, infoLog, successLog } from \"./loggin\";\nimport { generateBuildReport, generateSitemaps } from \"./sites\";\nimport { LifecycleExecutionError } from \"../errors/errors-data\";\nimport { RobotsService } from \"../services/robots\";\n\nconst config = getConfig();\n\nconst instanceRootDir = pkgDir.sync()!; // instance root dir\n\n/**\n * Returns the configuration file content.\n *\n * @example\n * const config = getConfig()\n * const { __cx } = config.paths()\n * const { griddoVersion, proDomain } = config\n */\nfunction getConfig(): CXConfig {\n\ttry {\n\t\tconst configModule = require(\"../../cx.config.js\");\n\t\tconst config = configModule.default;\n\n\t\treturn config;\n\t} catch (error) {\n\t\tconsole.log(error);\n\t\tthrow new Error(\"Error while reading configuration file\");\n\t}\n}\n\n/**\n * Returns true for \"true\", \"on\", true and positive numbers.\n * Returns false for \"false\", \"off\", false, 0, negative integers and anything else.\n */\nfunction isTruthy(value: any): boolean {\n\t// Return if Boolean\n\tif (typeof value === \"boolean\") {\n\t\treturn value;\n\t}\n\n\t// Return false if null or undefined\n\tif (value === undefined || value === null) {\n\t\treturn false;\n\t}\n\n\t// If the String is true or false\n\tif (value.toLowerCase() === \"true\") {\n\t\treturn true;\n\t}\n\tif (value.toLowerCase() === \"false\") {\n\t\treturn false;\n\t}\n\n\t// \"on\" | \"off\", We love them in Griddo ^^.\n\tif (value.toLowerCase() === \"on\") {\n\t\treturn true;\n\t}\n\tif (value.toLowerCase() === \"off\") {\n\t\treturn false;\n\t}\n\n\t// Now check if it's a number\n\tconst number = Number.parseInt(value, 10);\n\tif (Number.isNaN(number)) {\n\t\treturn false;\n\t}\n\tif (number > 0) {\n\t\treturn true;\n\t}\n\n\t// Default to false\n\treturn false;\n}\n\n/**\n * Walk a directory and returns the file pathts.\n *\n * @param dir A directory path.\n */\nfunction walk(dir: string) {\n\tconst results: Array<string> = [];\n\tconst list = fs.readdirSync(dir);\n\tfor (const file of list) {\n\t\tresults.push(path.join(dir, file));\n\t}\n\n\treturn results;\n}\n\n/**\n * Walk a directory and returns the JSON file absolute paths with one level of depth.\n * Bypass the `metadata` folder.\n * /abs/.../sotre/<siteId>/jsonfile.json\n * /abs/.../sotre/<siteId>/jsonfile.json\n * /abs/.../sotre/<siteId>/jsonfile.json\n * /abs/.../sotre/<siteId>/jsonfile.json\n */\nfunction walkStore(dir: string): Array<string> {\n\tconst results: Array<string> = [];\n\n\t// Listamos todas las subcarpetas y evitamos entrar en 'metadata'\n\tconst subdirs = fs.readdirSync(dir).filter((file) => {\n\t\tconst fullPath = path.join(dir, file);\n\t\treturn fs.statSync(fullPath).isDirectory() && file !== \"metadata\";\n\t});\n\n\t// Iteramos sobre las subcarpetas\n\tfor (const subdir of subdirs) {\n\t\tconst subdirPath = path.join(dir, subdir);\n\n\t\t// Listamos los archivos en cada subcarpeta y filtramos los .json\n\t\tconst files = fs\n\t\t\t.readdirSync(subdirPath)\n\t\t\t.filter((file) => file.endsWith(\".json\"));\n\n\t\tfor (const file of files) {\n\t\t\tresults.push(path.join(subdirPath, file));\n\t\t}\n\t}\n\n\treturn results;\n}\n\n/**\n * Custom delay using the \"promise hack\",\n *\n * @param ms Amount of miliseconds to be delayed\n */\nfunction delay(ms: number) {\n\treturn new Promise((res) => setTimeout(res, ms));\n}\n\n/**\n * Converts milliseconds to seconds with a fixed number of decimals.\n *\n * @param ms The number in milliseconds.\n * @param fixed The amount of fixed decimals.\n * @returns The converted number in seconds with the fixed number of decimals.\n */\nfunction msToSec(ms: number, decimals = 3) {\n\treturn (ms / 1000).toFixed(decimals);\n}\n\n/**\n * Return a siteID from a response object if exist\n * @param response A response object\n */\nfunction getSafeSiteId(response: APIResponses) {\n\tif (typeof response === \"string\") {\n\t\treturn undefined;\n\t}\n\n\treturn \"site\" in response && response.site ? response?.site : undefined;\n}\n\n/**\n * Remove props from an object\n *\n * @param obj The object\n * @param props An array of props to be removed\n */\nfunction removeProperties(obj: Record<string, unknown>, props: Array<string>) {\n\tfor (const key in obj) {\n\t\tif (props.includes(key)) {\n\t\t\tdelete obj[key];\n\t\t} else if (typeof obj[key] === \"object\") {\n\t\t\tremoveProperties(obj[key] as Record<string, unknown>, props);\n\t\t}\n\t}\n}\n\n/**\n * Remove unused files (old) inside the `apiCache` dir\n *\n * @todo remove other file types: sites, socials, etc..\n */\nfunction sanitizeAPICacheDir() {\n\tconst { __cx } = config.paths();\n\tconst dirPath = path.join(__cx, \"apiCache\");\n\tconst allCachedFiles = fs.readdirSync(dirPath);\n\n\t// Object to store the the more rencent file names\n\t// Record<string, string> = { \"234856872634\", \"3268746238747238.json\"};\n\tconst filesByIdMap: Record<string, string> = {};\n\t// ^id ^path\n\n\t// Page files.\n\t// We only need files that describes a page object.\n\tconst pageFilePaths = allCachedFiles.filter((fileName) => {\n\t\tconst filePath = `${dirPath}/${fileName}`;\n\t\tconst fileObject = fsx.readJSONSync(filePath, \"utf-8\") as APIPageObject;\n\t\tconst { id, entity, fullUrl } = fileObject;\n\n\t\t// Is a page file if has id, entity and fullUrl\n\t\treturn !!(id && entity && fullUrl);\n\t});\n\n\t// Fill the filesById object\n\tfor (const fileName of pageFilePaths) {\n\t\tconst filePath = `${dirPath}/${fileName}`;\n\t\tconst fileObject = fsx.readJSONSync(filePath, \"utf-8\") as APIPageObject;\n\t\tconst fileCreationDate = fs.statSync(filePath).mtimeMs;\n\n\t\tconst { id } = fileObject;\n\n\t\t// Is a valid page if doesn't exists in the store object or is newer\n\t\t// that the stored one.\n\t\tconst validPageFile =\n\t\t\t!filesByIdMap[id] ||\n\t\t\tfileCreationDate > fs.statSync(`${dirPath}/${filesByIdMap[id]}`).mtimeMs;\n\n\t\tif (validPageFile) {\n\t\t\tfilesByIdMap[id] = fileName;\n\t\t}\n\t}\n\n\tlet counter = 0;\n\n\t// Delete files using the store object filesById as reference map.\n\tfor (const fileName of pageFilePaths) {\n\t\tconst filePath = `${dirPath}/${fileName}`;\n\t\tconst fileObject = fsx.readJSONSync(filePath, \"utf-8\") as APIPageObject;\n\n\t\tconst { id } = fileObject;\n\n\t\t// If the filename is not present in the map, remove it!\n\t\tif (fileName !== filesByIdMap[id]) {\n\t\t\tfs.unlinkSync(filePath);\n\t\t\tcounter++;\n\t\t}\n\t}\n\n\tconsole.log(`Sanitize apiCache dir for ${counter} files`);\n}\n\n/**\n * Measures the execution time of a series of sync or async functions.\n *\n * @async\n * @param functions - Functions to be executed to measure their execution time.\n * @returns A promise that resolves with the total execution time in seconds.\n */\nasync function measureExecutionTime(\n\tfunctions: Array<(...args: Array<unknown>) => unknown | Promise<unknown>>,\n) {\n\tconst start = process.hrtime();\n\n\tfor (const func of functions) {\n\t\tawait func();\n\t}\n\n\tconst [seconds, miliseconds] = process.hrtime(start);\n\tconst timeInSeconds = seconds + miliseconds / 1e9;\n\n\treturn +timeInSeconds.toFixed(3);\n}\n\n/**\n * Pause the process until a key is pressed.\n *\n * @param title\n * @returns\n */\nfunction pause(title: string) {\n\tconst isPauseEnabled = !!envs.GRIDDO_RENDER_BREAKPOINTS_FEATURE;\n\n\tif (!isPauseEnabled) {\n\t\treturn;\n\t}\n\n\treturn new Promise<void>((resolve) => {\n\t\tconsole.log(\"\\n\");\n\t\tboxLog(`\u231B\uFE0F ${title}`, \"\", 1, 0);\n\t\tprocess.stdin.once(\"data\", () => {\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n/**\n * Executes a life cycle process, which involves executing an array of\n * functions, printing to the console, and handling errors with optional\n * retries.\n *\n * @async\n * @param name - The name of the life cycle.\n * @param options - The arguments object.\n * @param options.steps - An array of functions to execute.\n * @returns - A promise that resolves when the life cycle process is completed.\n */\nasync function doLifeCycle(name: LifeCyclesNames, steps: LifeCycleSteps) {\n\tconst attemptsByLifeCycleName: Record<LifeCyclesNames, number> = {\n\t\tInit: envs.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,\n\t\tArchive: envs.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,\n\t\tData: envs.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,\n\t\tMeta: envs.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,\n\t\tRelocation: envs.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,\n\t\tClean: envs.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,\n\t\tRestore: envs.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,\n\t\tPrepare: envs.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,\n\t\tClose: envs.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,\n\t\tSSG: envs.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,\n\t\tHealthCheck: 1,\n\t\t__DEBUG__: 1,\n\t};\n\n\tlet trysCount = 0;\n\tconst maxTrysAccepted = attemptsByLifeCycleName[name] || 1;\n\n\twhile (trysCount < maxTrysAccepted) {\n\t\ttry {\n\t\t\tinfoLog(`start ${name} life-cycle`);\n\t\t\tconst exeTime = await measureExecutionTime(steps);\n\t\t\tsuccessLog(`${name} - ${exeTime}s\\n`);\n\t\t\t// if no errors, print and go out\n\t\t\tawait pause(`${name} LifeCycle`);\n\t\t\tbreak;\n\t\t} catch (error) {\n\t\t\tconst errorString = bgRed(black(` Error in ${name} LifeCycle `));\n\t\t\tconst attemptsString = kleur.yellow(`Attempt (${trysCount + 1})`);\n\t\t\tconsole.log(`\\n${errorString} ${attemptsString}\\n`);\n\t\t\tconsole.log(error);\n\t\t\tconsole.log();\n\n\t\t\ttrysCount++;\n\t\t}\n\t}\n\n\tif (trysCount === maxTrysAccepted) {\n\t\tthrowError(LifecycleExecutionError(maxTrysAccepted, name));\n\t}\n}\n\n/**\n * Creates additional files after the render: sitemaps, robots and a report of\n * the finished render.\n *\n * @async\n * @param domain\n */\nasync function createDomainMetadata(domain: string) {\n\tawait generateBuildReport();\n\tawait generateSitemaps();\n\tawait RobotsService.writeFiles(domain);\n}\n\nfunction removeAllSiteDirsFromStore() {\n\tconst { __cx } = config.paths();\n\tconst storeDir = path.join(__cx, \"store\");\n\tconst allDirs = fs.readdirSync(storeDir);\n\n\tconst allSiteDirs = allDirs.filter((dirname) => dirname !== \"metadata\");\n\n\tconst allSiteDirsFullPath = allSiteDirs.map((name) =>\n\t\tpath.join(storeDir, name),\n\t);\n\n\t// Remove all site directories except \"metadata\" directory.\n\tfor (const site of allSiteDirsFullPath) {\n\t\tfs.rmSync(site, { recursive: true, force: true });\n\t}\n}\n\nfunction getFormattedDateTime() {\n\tconst now = new Date();\n\tconst date = [\n\t\tString(now.getDate()).padStart(2, \"0\"),\n\t\tString(now.getMonth() + 1).padStart(2, \"0\"),\n\t\tnow.getFullYear(),\n\t].join(\"-\");\n\n\tconst time = [\n\t\tString(now.getHours()).padStart(2, \"0\"),\n\t\tString(now.getMinutes()).padStart(2, \"0\"),\n\t\tString(now.getSeconds()).padStart(2, \"0\"),\n\t].join(\":\");\n\n\treturn `${date}_${time}`;\n}\n\n/**\n * Save render information to a file to use as debug log.\n *\n * This information will **not** be sent to any API.\n */\nfunction saveBuildEndLogs() {\n\tconst { __cx } = config.paths();\n\tconst { sitesToPublish, createdPages, buildProcessData } = fsx.readJSONSync(\n\t\tpath.join(__cx, \"render-metadata.json\"),\n\t);\n\n\tconst dateString = getFormattedDateTime();\n\tconst buildEndLogsDir = path.join(__cx, \"debug\", \"build-end\");\n\n\tif (!fs.existsSync(buildEndLogsDir)) {\n\t\tfs.mkdirSync(buildEndLogsDir, { recursive: true });\n\t}\n\n\t// Log\n\tfs.writeFileSync(\n\t\tpath.join(buildEndLogsDir, `${dateString}.json`),\n\t\tJSON.stringify(\n\t\t\t{\n\t\t\t\tdate: new Date().toLocaleString(),\n\t\t\t\tlog: {\n\t\t\t\t\tsitesToPublish,\n\t\t\t\t\tcreatedPages,\n\t\t\t\t\tbuildProcessData,\n\t\t\t\t},\n\t\t\t},\n\t\t\tnull,\n\t\t\t2,\n\t\t),\n\t);\n\n\t// Update index\n\tprependFileSync(\n\t\tpath.join(buildEndLogsDir, \"index.html\"),\n\t\t`<pre><a href=\"${dateString}.json\">${dateString}</a></pre>\\n`,\n\t);\n}\n\nexport {\n\tcreateDomainMetadata,\n\tdelay,\n\tdoLifeCycle,\n\tgetConfig,\n\tgetSafeSiteId,\n\tinstanceRootDir,\n\tisTruthy,\n\tmeasureExecutionTime,\n\tmsToSec,\n\tpause,\n\tremoveAllSiteDirsFromStore,\n\tremoveProperties,\n\tsanitizeAPICacheDir,\n\tsaveBuildEndLogs,\n\twalk,\n\twalkStore,\n};\n", "let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nexport const $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t)\n}\n\nfunction init(x, y) {\n\tlet rgx = new RegExp(`\\\\x1b\\\\[${y}m`, 'g');\n\tlet open = `\\x1b[${x}m`, close = `\\x1b[${y}m`;\n\n\treturn function (txt) {\n\t\tif (!$.enabled || txt == null) return txt;\n\t\treturn open + (!!~(''+txt).indexOf(close) ? txt.replace(rgx, close + open) : txt) + close;\n\t};\n}\n\n// modifiers\nexport const reset = init(0, 0);\nexport const bold = init(1, 22);\nexport const dim = init(2, 22);\nexport const italic = init(3, 23);\nexport const underline = init(4, 24);\nexport const inverse = init(7, 27);\nexport const hidden = init(8, 28);\nexport const strikethrough = init(9, 29);\n\n// colors\nexport const black = init(30, 39);\nexport const red = init(31, 39);\nexport const green = init(32, 39);\nexport const yellow = init(33, 39);\nexport const blue = init(34, 39);\nexport const magenta = init(35, 39);\nexport const cyan = init(36, 39);\nexport const white = init(37, 39);\nexport const gray = init(90, 39);\nexport const grey = init(90, 39);\n\n// background colors\nexport const bgBlack = init(40, 49);\nexport const bgRed = init(41, 49);\nexport const bgGreen = init(42, 49);\nexport const bgYellow = init(43, 49);\nexport const bgBlue = init(44, 49);\nexport const bgMagenta = init(45, 49);\nexport const bgCyan = init(46, 49);\nexport const bgWhite = init(47, 49);\n", "/**\n * Here are all the environment variables that the CX code uses.\n */\n\nimport dotenv from \"dotenv\";\n\nimport { isTruthy } from \"../utils/core-utils\";\n\ndotenv.config();\n\n//\n// Credentials\n//\n/* prettier-ignore */ const GRIDDO_API_URL = process.env.GRIDDO_API_URL || process.env.API_URL;\n/* prettier-ignore */ const GRIDDO_PUBLIC_API_URL = process.env.GRIDDO_PUBLIC_API_URL || process.env.PUBLIC_API_URL;\n/* prettier-ignore */ const GRIDDO_BOT_USER = process.env.botEmail || process.env.GRIDDO_BOT_USER;\n/* prettier-ignore */ const GRIDDO_BOT_PASSWORD = process.env.botPassword|| process.env.GRIDDO_BOT_PASSWORD;\n\n//\n// Rendering\n//\n/* prettier-ignore */ const GRIDDO_API_CONCURRENCY_COUNT = Number.parseInt( process.env.GRIDDO_API_CONCURRENCY_COUNT || \"10\");\n/* prettier-ignore */ const GRIDDO_RENDER_ALL_SITES = isTruthy(process.env.GRIDDO_RENDER_ALL_SITES || process.env.updateAllSites);\n/* prettier-ignore */ const GRIDDO_RENDER_SITE = Number.parseInt(process.env.GRIDDO_RENDER_SITE || \"\")\n/* prettier-ignore */ const GRIDDO_RENDER_PAGES = (process.env.GRIDDO_RENDER_PAGES || \"\").split(\",\").map((item) => Number.parseInt(item)).filter(Boolean);\n/* prettier-ignore */ const GRIDDO_SKIP_BUILD_CHECKS = isTruthy(process.env.GRIDDO_SKIP_BUILD_CHECKS)\n/* prettier-ignore */ const GRIDDO_DEBUG_LOGS = isTruthy(process.env.GRIDDO_DEBUG_LOGS);\n/* prettier-ignore */ const GRIDDO_BUILD_LOGS = isTruthy(process.env.GRIDDO_BUILD_LOGS);\n/* prettier-ignore */ const GRIDDO_RENDER_BREAKPOINTS_FEATURE = isTruthy(process.env.GRIDDO_RENDER_BREAKPOINTS_FEATURE);\n/* prettier-ignore */ const GRIDDO_SSG_VERBOSE_LOGS = isTruthy(process.env.GRIDDO_SSG_VERBOSE_LOGS)\n/* prettier-ignore */ const GRIDDO_SEARCH_FEATURE = isTruthy(process.env.GRIDDO_SEARCH_FEATURE);\n/* prettier-ignore */ const GRIDDO_ASSET_PREFIX = process.env.GRIDDO_ASSET_PREFIX || process.env.ASSET_PREFIX;\n/* prettier-ignore */ const GRIDDO_REACT_APP_INSTANCE = process.env.GRIDDO_REACT_APP_INSTANCE || process.env.REACT_APP_INSTANCE;\n/* prettier-ignore */ const GRIDDO_AI_EMBEDDINGS = isTruthy(process.env.GRIDDO_AI_EMBEDDINGS);\n/* prettier-ignore */ const GRIDDO_VERBOSE_LOGS = isTruthy(process.env.GRIDDO_VERBOSE_LOGS);\n/* prettier-ignore */ const GRIDDO_ALERT_FEATURE = isTruthy(process.env.GRIDDO_ALERT_FEATURE);\n/* prettier-ignore */ const GRIDDO_API_MAX_RESPONSE_SIZE = Number.parseInt(process.env.GRIDDO_API_MAX_RESPONSE_SIZE || \"81920\") // 80KB\n/* prettier-ignore */ const GRIDDO_SSG_MAX_PAGE_SIZE = Number.parseInt(process.env.GRIDDO_SSG_MAX_PAGE_SIZE || \"524288\") // 512KB\n\n//\n// LifeCycle\n//\n/* prettier-ignore */ const GRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS || \"2\");\n/* prettier-ignore */ const GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n/* prettier-ignore */ const GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS || \"4\");\n/* prettier-ignore */ const GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS || \"1\");\n\n//\n// Testing\n//\n/* prettier-ignore */ const GRIDDO_FIXTURES_DOMAIN_NAMES = process.env.GRIDDO_CX_FIXTURES_DOMAIN_NAMES;\n/* prettier-ignore */ const GRIDDO_FIXTURES_SITE_NAMES = process.env.GRIDDO_CX_FIXTURES_SITE_NAMES;\n\nexport {\n\tGRIDDO_AI_EMBEDDINGS,\n\tGRIDDO_ALERT_FEATURE,\n\tGRIDDO_API_CONCURRENCY_COUNT,\n\tGRIDDO_API_MAX_RESPONSE_SIZE,\n\tGRIDDO_API_URL,\n\tGRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_ASSET_PREFIX,\n\tGRIDDO_BOT_PASSWORD,\n\tGRIDDO_BOT_USER,\n\tGRIDDO_BUILD_LOGS,\n\tGRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_DEBUG_LOGS,\n\tGRIDDO_FIXTURES_DOMAIN_NAMES,\n\tGRIDDO_FIXTURES_SITE_NAMES,\n\tGRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_PUBLIC_API_URL,\n\tGRIDDO_REACT_APP_INSTANCE,\n\tGRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_RENDER_ALL_SITES,\n\tGRIDDO_RENDER_BREAKPOINTS_FEATURE,\n\tGRIDDO_RENDER_PAGES,\n\tGRIDDO_RENDER_SITE,\n\tGRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_SEARCH_FEATURE,\n\tGRIDDO_SKIP_BUILD_CHECKS,\n\tGRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_SSG_MAX_PAGE_SIZE,\n\tGRIDDO_SSG_VERBOSE_LOGS,\n\tGRIDDO_VERBOSE_LOGS,\n};\n", "import { GRIDDO_API_URL, GRIDDO_PUBLIC_API_URL } from \"./envs\";\n\nconst WITH_URI = `${GRIDDO_API_URL}/site/`;\n\nconst AI_EMBEDDINGS = `${GRIDDO_API_URL}/ai/embeddings`;\nconst ALERT = `${GRIDDO_PUBLIC_API_URL}/alert`;\nconst DOMAINS = `${GRIDDO_API_URL}/domains`;\nconst GET_ALL = `${GRIDDO_API_URL}/sites/all`;\nconst GET_PAGE = `${GRIDDO_API_URL}/page`;\nconst LOGIN = `${GRIDDO_API_URL}/login_check`;\nconst RESET_RENDER = `${GRIDDO_API_URL}/debug/reset-render`;\nconst ROBOTS = `${GRIDDO_API_URL}/domains/robots`;\nconst SEARCH = `${GRIDDO_API_URL}/search`;\nconst SETTINGS = `${GRIDDO_API_URL}/settings`;\n\nconst BUILD_END = [WITH_URI, \"/build/end\"];\nconst BUILD_START = [WITH_URI, \"/build/start\"];\nconst GET_PAGES = [WITH_URI, \"/pages?pagination=false\"];\nconst GET_REFERENCE_FIELD_DATA = [WITH_URI, \"/distributor\"];\nconst GET_SITEMAP = [WITH_URI, \"/sitemap\"];\nconst INFO = [WITH_URI, \"/all\"];\nconst LANGUAGES = [WITH_URI, \"/languages\"];\nconst SOCIALS = [WITH_URI, \"/socials\"];\n\nexport {\n\tAI_EMBEDDINGS,\n\tALERT,\n\tBUILD_END,\n\tBUILD_START,\n\tDOMAINS,\n\tGET_ALL,\n\tGET_PAGE,\n\tGET_PAGES,\n\tGET_REFERENCE_FIELD_DATA,\n\tGET_SITEMAP,\n\tINFO,\n\tLANGUAGES,\n\tLOGIN,\n\tRESET_RENDER,\n\tROBOTS,\n\tSEARCH,\n\tSETTINGS,\n\tSOCIALS,\n};\n", "import type { LifeCyclesNames } from \"../types/global\";\n\nimport {\n\tAI_EMBEDDINGS,\n\tALERT,\n\tBUILD_END,\n\tBUILD_START,\n\tDOMAINS,\n\tGET_ALL,\n\tGET_PAGE,\n\tGET_PAGES,\n\tGET_REFERENCE_FIELD_DATA,\n\tGET_SITEMAP,\n\tINFO,\n\tLANGUAGES,\n\tLOGIN,\n\tRESET_RENDER,\n\tROBOTS,\n\tSEARCH,\n\tSETTINGS,\n\tSOCIALS,\n} from \"./endpoints\";\nimport {\n\tGRIDDO_AI_EMBEDDINGS,\n\tGRIDDO_ALERT_FEATURE,\n\tGRIDDO_API_CONCURRENCY_COUNT,\n\tGRIDDO_API_MAX_RESPONSE_SIZE,\n\tGRIDDO_API_URL,\n\tGRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_ASSET_PREFIX,\n\tGRIDDO_BOT_PASSWORD,\n\tGRIDDO_BOT_USER,\n\tGRIDDO_BUILD_LOGS,\n\tGRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_DEBUG_LOGS,\n\tGRIDDO_FIXTURES_DOMAIN_NAMES,\n\tGRIDDO_FIXTURES_SITE_NAMES,\n\tGRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_PUBLIC_API_URL,\n\tGRIDDO_REACT_APP_INSTANCE,\n\tGRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_RENDER_ALL_SITES,\n\tGRIDDO_RENDER_BREAKPOINTS_FEATURE,\n\tGRIDDO_RENDER_PAGES,\n\tGRIDDO_RENDER_SITE,\n\tGRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_SEARCH_FEATURE,\n\tGRIDDO_SKIP_BUILD_CHECKS,\n\tGRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_SSG_MAX_PAGE_SIZE,\n\tGRIDDO_SSG_VERBOSE_LOGS,\n\tGRIDDO_VERBOSE_LOGS,\n} from \"./envs\";\n\nconst endpoints = {\n\tALERT,\n\tAI_EMBEDDINGS,\n\tBUILD_END,\n\tBUILD_START,\n\tDOMAINS,\n\tGET_ALL,\n\tGET_PAGE,\n\tGET_PAGES,\n\tGET_REFERENCE_FIELD_DATA,\n\tGET_SITEMAP,\n\tINFO,\n\tLANGUAGES,\n\tLOGIN,\n\tRESET_RENDER,\n\tROBOTS,\n\tSEARCH,\n\tSETTINGS,\n\tSOCIALS,\n};\n\nconst envs = {\n\tGRIDDO_AI_EMBEDDINGS,\n\tGRIDDO_ALERT_FEATURE,\n\tGRIDDO_API_CONCURRENCY_COUNT,\n\tGRIDDO_API_MAX_RESPONSE_SIZE,\n\tGRIDDO_API_URL,\n\tGRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_ASSET_PREFIX,\n\tGRIDDO_BOT_PASSWORD,\n\tGRIDDO_BOT_USER,\n\tGRIDDO_BUILD_LOGS,\n\tGRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_DEBUG_LOGS,\n\tGRIDDO_FIXTURES_DOMAIN_NAMES,\n\tGRIDDO_FIXTURES_SITE_NAMES,\n\tGRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_PUBLIC_API_URL,\n\tGRIDDO_REACT_APP_INSTANCE,\n\tGRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_RENDER_ALL_SITES,\n\tGRIDDO_RENDER_BREAKPOINTS_FEATURE,\n\tGRIDDO_RENDER_PAGES,\n\tGRIDDO_RENDER_SITE,\n\tGRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_SEARCH_FEATURE,\n\tGRIDDO_SKIP_BUILD_CHECKS,\n\tGRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,\n\tGRIDDO_SSG_MAX_PAGE_SIZE,\n\tGRIDDO_SSG_VERBOSE_LOGS,\n\tGRIDDO_VERBOSE_LOGS,\n};\n\nconst lifeCycleNames: Record<LifeCyclesNames, LifeCyclesNames> = {\n\t__DEBUG__: \"__DEBUG__\",\n\tArchive: \"Archive\",\n\tClean: \"Clean\",\n\tClose: \"Close\",\n\tData: \"Data\",\n\tHealthCheck: \"HealthCheck\",\n\tInit: \"Init\",\n\tMeta: \"Meta\",\n\tPrepare: \"Prepare\",\n\tRelocation: \"Relocation\",\n\tRestore: \"Restore\",\n\tSSG: \"SSG\",\n} as const;\n\nexport { endpoints, envs, lifeCycleNames };\n", "import fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport fsx, { type MakeDirectoryOptions } from \"fs-extra\";\n\nimport { throwError } from \"../errors\";\nimport { getConfig, walkStore } from \"./core-utils\";\nimport { verboseLog } from \"./loggin\";\nimport { ArtifactError } from \"../errors/errors-data\";\n\nconst config = getConfig();\n\n/**\n * Remove an empty directory from the basePath recursively.\n * If the directory has only .xml files it will handle as empty too (empty site)\n *\n * @param baseDir - The base directory.\n */\nfunction deleteDisposableSiteDirs() {\n\tconst { __cx } = config.paths();\n\tconst baseDir = path.join(__cx, \"dist\");\n\n\tif (!fs.existsSync(baseDir)) {\n\t\treturn;\n\t}\n\n\tconst sitesDirs = fs\n\t\t.readdirSync(baseDir, { withFileTypes: true })\n\t\t.filter((file) => file.isDirectory());\n\n\tfor (const siteDir of sitesDirs) {\n\t\tconst sitePath = path.join(baseDir, siteDir.name);\n\t\tif (siteIsEmpty(sitePath)) {\n\t\t\tfs.rmSync(sitePath, { recursive: true });\n\t\t}\n\t}\n}\n\n/**\n * Creates multiple directories.\n *\n * @param dirs - An array of directory paths.\n * @param options - Same option as `fs.mkdirSync()`\n */\nfunction createArtifacts(dirs: Array<string>, options?: MakeDirectoryOptions) {\n\tfor (const dir of dirs) {\n\t\ttry {\n\t\t\tif (!fs.existsSync(dir)) {\n\t\t\t\tfs.mkdirSync(dir, { recursive: true, ...options });\n\t\t\t\tverboseLog(`create directory: ${dir}`);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrowError(ArtifactError, error);\n\t\t}\n\t}\n}\n\nfunction renameArtifact(src: string, dst: string) {\n\ttry {\n\t\tif (fs.existsSync(src)) {\n\t\t\tfs.renameSync(src, dst);\n\t\t\tverboseLog(`rename ${src} to ${dst}`);\n\t\t}\n\t} catch (error) {\n\t\tthrowError(ArtifactError, error);\n\t}\n}\n\n/**\n * Copy multiple directories with backup option.\n *\n * @param src - Source directory.\n * @param dst - Destination directory.\n * @param dirs - Directories to copy.\n * @param options.withBackup - Create a previous backup before copy.\n */\nfunction copyArtifacts(\n\tsrc: string,\n\tdst: string,\n\tdirs: Array<string>,\n\toptions = {\n\t\twithBackup: false,\n\t},\n) {\n\tconst { withBackup } = options;\n\tfor (const dir of dirs) {\n\t\tconst srcCompose = path.join(src, dir);\n\t\tconst dstCompose = path.join(dst, dir);\n\n\t\t// The dir we want to copy, doesn't exist.\n\t\tif (!fsx.existsSync(srcCompose)) {\n\t\t\tconsole.log(\n\t\t\t\t`(Maybe first render) Source directory does not exist: ${srcCompose}`,\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Create the backup\n\t\tif (withBackup) {\n\t\t\tcreateBackup(dstCompose);\n\t\t\tverboseLog(`create backup: ${dstCompose}`);\n\t\t}\n\n\t\t// Copy directory\n\t\ttry {\n\t\t\t// First clean destination\n\t\t\tif (fsx.existsSync(dstCompose)) {\n\t\t\t\tfs.rmSync(dstCompose, { recursive: true, force: true });\n\t\t\t\tverboseLog(`clean destination: ${dstCompose}`);\n\t\t\t}\n\n\t\t\t// Then copy src to dst\n\t\t\tfs.cpSync(srcCompose, dstCompose, {\n\t\t\t\trecursive: true,\n\t\t\t\tpreserveTimestamps: true,\n\t\t\t});\n\t\t\tverboseLog(`copy: ${srcCompose} to ${dstCompose}`);\n\n\t\t\tif (withBackup) {\n\t\t\t\tdeleteBackup(dstCompose);\n\t\t\t\tverboseLog(`delete backup: ${dstCompose}`);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (withBackup) {\n\t\t\t\trestoreBackup(dstCompose);\n\t\t\t\tconsole.log(\"Backup has been restored.\");\n\t\t\t}\n\n\t\t\tthrowError(ArtifactError, error);\n\t\t}\n\t}\n}\n\n/**\n * Move artifacts between cx-paths\n *\n * @param src - Source directory.\n * @param dst - Destination directory.\n * @param dirs - Directories to move.\n * @param options - Options.\n */\nfunction moveArtifacts(\n\tsrc: string,\n\tdst: string,\n\tdirs: Array<string>,\n\toptions?: { withBackup?: boolean; override?: boolean },\n) {\n\tconst { override, withBackup } = options || {};\n\n\tfor (const dir of dirs) {\n\t\tconst srcCompose = path.join(src, dir);\n\t\tconst dstCompose = path.join(dst, dir);\n\n\t\tif (!fsx.existsSync(srcCompose)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (withBackup) {\n\t\t\tcreateBackup(dstCompose);\n\t\t}\n\n\t\ttry {\n\t\t\t// Clean destination\n\t\t\tif (override && fsx.existsSync(dstCompose)) {\n\t\t\t\tfs.rmSync(dstCompose, { recursive: true, force: true });\n\t\t\t}\n\n\t\t\tfs.renameSync(srcCompose, dstCompose);\n\t\t\tverboseLog(`moved: ${srcCompose} to ${dstCompose}`);\n\n\t\t\tif (withBackup) {\n\t\t\t\tdeleteBackup(dstCompose);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (withBackup) {\n\t\t\t\trestoreBackup(dstCompose);\n\t\t\t\tconsole.log(\"Backup has been restored.\");\n\t\t\t}\n\n\t\t\tthrowError(ArtifactError, error);\n\t\t}\n\t}\n}\n\n/**\n * Removes multiple artifact directories.\n *\n * @param artifacts - An array of artifact directory paths.\n */\nfunction removeArtifacts(artifacts: Array<string>) {\n\tfor (const dir of artifacts) {\n\t\tif (!dir) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tif (fsx.existsSync(dir)) {\n\t\t\t\tconst kind = fs.statSync(dir).isDirectory() ? \"dir\" : \"file\";\n\t\t\t\tfs.rmSync(dir, { recursive: true, force: true });\n\t\t\t\tverboseLog(`artifact (${kind}) removed: ${dir}`);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrowError(ArtifactError, error);\n\t\t}\n\t}\n}\n\nfunction restoreBackup(src: string, suffix = \"-BACKUP\") {\n\tconst dst = src + suffix;\n\ttry {\n\t\tfs.renameSync(dst, src);\n\t\tconsole.log(`Backup ${dst} has been restored`);\n\t} catch (error) {\n\t\tconsole.log(error);\n\t\tthrow new Error(`Error while delete ${dst} backup`);\n\t}\n}\n\nfunction deleteBackup(src: string, suffix = \"-BACKUP\") {\n\tconst dst = src + suffix;\n\n\tif (!fsx.existsSync(dst)) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tfs.rmSync(dst, { recursive: true, force: true });\n\t\tconsole.log(`Backup ${dst} has been deleted`);\n\t} catch (error) {\n\t\tconsole.log(error);\n\t\tthrow new Error(`Error while delete ${dst} backup`);\n\t}\n}\n\nfunction createBackup(src: string, suffix = \"-BACKUP\") {\n\tconst dst = src + suffix;\n\n\tif (!fsx.existsSync(src)) {\n\t\treturn;\n\t}\n\n\tif (fsx.existsSync(dst)) {\n\t\tconsole.log(`Destination ${dst} already exists`);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tfs.renameSync(src, dst);\n\t\tconsole.log(`Backup of ${src} has been created in ${dst}`);\n\t} catch (error) {\n\t\tconsole.log(`Error while coping ${src} to ${dst} backup`);\n\t\tthrowError(ArtifactError, error);\n\t}\n}\n\n/**\n * Elimina todas las p\u00E1ginas del store (de todos los sites) cuyo nombre empiece con un gui\u00F3n \"-\".\n * Estas p\u00E1ginas son \"virtuales\" y no tienen ids desde API por lo que mantenerlas en el store es un problema cuando se hacen modificaciones en la p\u00E1gina \"madre\".\n * La soluci\u00F3n por ahora es borrarlas del store y rehacerlas en todos los renders.\n */\nasync function removeVirtualPagesFromStore() {\n\tconst { __cx } = config.paths();\n\tconst storePath = path.join(__cx, \"store\");\n\n\ttry {\n\t\tconst allJsonPageFilesPath = walkStore(storePath);\n\n\t\tfor (const filePath of allJsonPageFilesPath) {\n\t\t\tif (path.basename(filePath).startsWith(\"-\")) {\n\t\t\t\tfs.unlinkSync(filePath);\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\tconsole.info(\n\t\t\t\"`store` folder does not exist. Skipping multipage or static list template cleaning.\",\n\t\t\terror,\n\t\t);\n\t}\n}\n\n/**\n * Return true if the site folder is empty or only has xml files. (Recursively)\n */\nfunction siteIsEmpty(sitePath: string) {\n\tconst siteFiles = fs\n\t\t.readdirSync(sitePath, {\n\t\t\twithFileTypes: true,\n\t\t\trecursive: true,\n\t\t})\n\t\t.filter(\n\t\t\t(file) => file.isFile() && !path.basename(file.name).startsWith(\".\"),\n\t\t);\n\n\tconst xmlFiles = siteFiles.filter((file) => file.name.endsWith(\".xml\"));\n\n\tif (siteFiles.length === xmlFiles.length) {\n\t\treturn true;\n\t}\n}\n\nfunction prependFileSync(filePath: string, content: string) {\n\tlet currentContent = \"\";\n\n\tif (fs.existsSync(filePath)) {\n\t\tcurrentContent = fs.readFileSync(filePath, \"utf8\");\n\t}\n\n\tfs.writeFileSync(filePath, content + currentContent, \"utf8\");\n}\n\nexport {\n\tcopyArtifacts,\n\tcreateArtifacts,\n\tdeleteDisposableSiteDirs,\n\tmoveArtifacts,\n\tprependFileSync,\n\tremoveArtifacts,\n\tremoveVirtualPagesFromStore,\n\trenameArtifact,\n};\n", "import type { Site } from \"../types/sites\";\n\nimport kleur from \"kleur\";\n\nimport { envs } from \"../constants\";\nimport { getConfig } from \"./core-utils\";\n\n/**\n * Custom basic logging function controlled by a environment variable.\n *\n * @param str The string to be logged.\n */\nfunction verboseLog(str: string) {\n\tif (envs.GRIDDO_VERBOSE_LOGS) {\n\t\tconsole.log(\n\t\t\tkleur.yellow(\"verbose\"),\n\t\t\tkleur.dim(str.replace(/(\\s)\\s+/g, \"$1\").trim()),\n\t\t);\n\t}\n}\n\n/**\n * Custom log inside a line-box.\n *\n * @param stringValue The string to be logged.\n * @param paddingInline The number of white spaces inside the box at left and right.\n * @param paddingBlock The number of white spaces inside the box at top and bottom.\n */\nfunction boxLog(\n\tstringValue: string,\n\ttitle = \"\",\n\tpaddingInline = 1,\n\tpaddingBlock = 1,\n) {\n\tconst lines = stringValue\n\t\t.split(\"\\n\") // lines\n\t\t.map((line) => line.trim()); // remove extra spaces\n\tconst windowTitle = title ? ` ${title} ` : \"\";\n\tconst windowTitleLength = title ? windowTitle.length : 0;\n\tconst longerContent =\n\t\tMath.max(...lines.map((l) => l.length)) + paddingInline * 2;\n\tconst longerLine = Math.max(longerContent, windowTitleLength);\n\tconst paddingBlockString = `\u2502${\" \".repeat(longerLine)}\u2502\\n`.repeat(\n\t\tpaddingBlock,\n\t);\n\tconst minWidth = longerLine;\n\tconst borderTop = `\u256D${windowTitle}${\"\u2500\".repeat(\n\t\tminWidth - windowTitleLength,\n\t)}\u256E\\n`;\n\tconst borderBottom = `\u2570${\"\u2500\".repeat(minWidth)}\u256F`;\n\tconst content = lines\n\t\t.map((l) => {\n\t\t\tconst mr = \" \".repeat(longerLine - l.length - paddingInline);\n\t\t\treturn `\u2502${\" \".repeat(paddingInline)}${l}${mr}\u2502\\n`;\n\t\t})\n\t\t.join(\"\");\n\n\tconsole.log(\n\t\t`${borderTop}${paddingBlockString}${content}${paddingBlockString}${borderBottom}`,\n\t);\n}\n\n/**\n * Custom basic logging function controlled by a environment variable.\n * Strip double spaces.\n *\n * @param str The string to be logged.\n */\nfunction buildLog(str: string) {\n\tif (envs.GRIDDO_BUILD_LOGS) {\n\t\tconsole.log(str.replace(/(\\s)\\s+/g, \"$1\").trim());\n\t}\n}\n\n/**\n * Console log with a blue color in the info prefix.\n * @param str The string to be logged.\n */\nfunction infoLog(str: string) {\n\tconsole.log(`${kleur.blue(\"info\")} ${str}`);\n}\n\n/**\n * Console log with a green color in the success prefix.\n * @param str The string to be logged.\n */\nfunction successLog(str: string) {\n\tconsole.log(`${kleur.green(\"success\")} ${str}`);\n}\n\n/**\n * Internal log\n * @param values The values to be logged.\n */\nfunction debugLog(...values: Array<unknown>) {\n\tif (!envs.GRIDDO_DEBUG_LOGS) {\n\t\treturn;\n\t}\n\tconsole.log(...values);\n}\n\n/**\n * Return a scale size colors with a number and a measure string (KB by default).\n *\n * @param size The page size in KB.\n * @param measure The measure string to be added in the log.\n */\nfunction pageSizeLog(size: number, measure = \"KB\") {\n\tconst sizeScale = {\n\t\tlow: 50,\n\t\tmid: 80,\n\t\tlarge: 130,\n\t\textraLarge: 210,\n\t};\n\n\t// Ternary pawa!\n\tconst color =\n\t\tsize > sizeScale.large\n\t\t\t? \"red\"\n\t\t\t: size > sizeScale.mid\n\t\t\t\t? \"magenta\"\n\t\t\t\t: size > sizeScale.low\n\t\t\t\t\t? \"blue\"\n\t\t\t\t\t: \"green\";\n\n\treturn kleur[color](kleur.bold(`${size}${measure}`));\n}\n\n/**\n * Console log the Griddo exporter version.\n */\nfunction showExporterVersion() {\n\tconsole.clear();\n\tconst config = getConfig();\n\tconst { griddoVersion } = config;\n\tconst logo = `\\n${kleur\n\t\t.bgYellow()\n\t\t.black()\n\t\t.bold(\" Griddo Exporter \" + griddoVersion + \" \")}\\n`;\n\n\tconsole.log(logo);\n}\n\nfunction listSitesLog(title: string, sites: Array<Site>) {\n\tconst maxline = Math.max(\n\t\t...sites.map(\n\t\t\t(s) =>\n\t\t\t\ts.name.length + (s.shouldBeUpdated ? 1 : 0) + s.id.toString().length,\n\t\t),\n\t);\n\n\tconst sitesStr = sites.map((s) => {\n\t\tconst shouldBeUpdated = s.shouldBeUpdated ? \"*\" : \"\";\n\t\tconst lineLen =\n\t\t\ts.name.length + shouldBeUpdated.length + s.id.toString().length;\n\t\tconst padding = \" \".repeat(maxline - lineLen);\n\t\treturn `${kleur.bold(s.name)} ${kleur.dim(\"(\" + s.id + \")\")} ${shouldBeUpdated} ${padding}${kleur.dim(\"-\")} ${kleur.dim(s.slug)}`;\n\t});\n\n\tconst sitesOutput =\n\t\tsitesStr.length > 0\n\t\t\t? \"\\n\\n\" + sitesStr.join(\"\\n\")\n\t\t\t: kleur.dim(\"--none--\\n\");\n\n\tconsole.log(`\n${title} ${sitesOutput}`);\n}\n\nfunction errorLabelLog(msg: string) {\n\tconsole.error(\"\\n\" + kleur.black().bgRed(\" \" + msg + \" \") + \"\\n\");\n}\n\nexport {\n\tboxLog,\n\tbuildLog,\n\tdebugLog,\n\terrorLabelLog,\n\tinfoLog,\n\tlistSitesLog,\n\tpageSizeLog,\n\tshowExporterVersion,\n\tsuccessLog,\n\tverboseLog,\n};\n", "import type { Site, SiteData } from \"../types/sites\";\n\nimport path from \"node:path\";\n\nimport fs from \"fs-extra\";\nimport { parse } from \"js2xmlparser\";\n\nimport { envs } from \"../constants\";\nimport { getConfig } from \"./core-utils\";\nimport { buildLog, verboseLog } from \"./loggin\";\nimport { getBuildMetadata } from \"./store\";\nimport { AuthService } from \"../services/auth\";\nimport {\n\tendSiteRender,\n\tgetAllSites,\n\tgetSiteInfo,\n\tgetSiteLanguages,\n\tgetSitemap,\n\tgetSiteSocials,\n\tstartSiteRender,\n} from \"../services/sites\";\n\nconst config = getConfig();\n\n/**\n * Check the instance sites and returns site prepared to be published and unpublished.\n */\nasync function getSitesToRender(domain: string) {\n\tconsole.info(`API URL ${envs.GRIDDO_API_URL as string}`);\n\n\t// Login to API\n\tawait AuthService.login();\n\n\t// Get all sites. An array of Site\n\tconst allSites = await getAllSites(domain);\n\n\t// Filter the array of sites to get only the ones to build/render\n\tconst validSites = envs.GRIDDO_RENDER_ALL_SITES\n\t\t? allSites.filter(\n\t\t\t\t(site) =>\n\t\t\t\t\t!envs.GRIDDO_RENDER_SITE || site.id === envs.GRIDDO_RENDER_SITE,\n\t\t\t)\n\t\t: allSites.filter((site) =>\n\t\t\t\tenvs.GRIDDO_RENDER_SITE\n\t\t\t\t\t? site.id === envs.GRIDDO_RENDER_SITE\n\t\t\t\t\t: !!site.shouldBeUpdated,\n\t\t\t);\n\n\t// If there are valid sites...\n\t// En este paso se a\u00F1ade al objeto `Site` la informaci\u00F3n de los dominios\n\t// utilizando los idiomas.\n\tif (validSites.length) {\n\t\tfor (const site of validSites) {\n\t\t\tconst { items } = await getSiteLanguages(site.id);\n\n\t\t\t// A\u00F1adimos la prop domains con el dominio \"cocinado\" con los\n\t\t\t// idiomas y teniendo en cuenta solo el dominio actual.\n\t\t\tsite.domains = items\n\t\t\t\t.filter(\n\t\t\t\t\t(item) =>\n\t\t\t\t\t\titem.domain &&\n\t\t\t\t\t\t(item.domain.slug === domain || item.domain.slug === `/${domain}`),\n\t\t\t\t)\n\t\t\t\t.map((item) => ({ [item.id]: `${item.domain.slug}${item.path}` }));\n\t\t}\n\t}\n\n\t// Save sites object to publish\n\tconst sitesToPublish = validSites.filter((site) =>\n\t\tenvs.GRIDDO_RENDER_SITE\n\t\t\t? site.id === envs.GRIDDO_RENDER_SITE\n\t\t\t: !!site.isPublished,\n\t);\n\n\t// Save sites object to unpublish\n\tconst sitesToUnpublish = validSites.filter(\n\t\t(site) => !site.isPublished && site.shouldBeUpdated,\n\t);\n\n\treturn {\n\t\tsitesToPublish,\n\t\tsitesToUnpublish,\n\t};\n}\n\n/**\n * Unpublish an array of sites sending the information to the API.\n *\n * @param sites An array of sites\n * @see https://griddoio.notion.site/Sites-d7bb0b7cb8d24894a5337e1139fc3d09#2019d3255bda4d219c7e19cf28d0c4fe\n */\nasync function unpublishSites(sites: Array<Site>) {\n\tconst { __cx } = config.paths();\n\n\tfor (const site of sites) {\n\t\t// API\n\t\tconst buildInfo = await startSiteRender(site.id);\n\t\tconst { siteHash } = buildInfo;\n\t\tconst body = {\n\t\t\tsiteHash,\n\t\t\tpublishHashes: [],\n\t\t\tunpublishHashes: [],\n\t\t\tpublishPagesIds: [],\n\t\t};\n\n\t\tawait endSiteRender(site.id, body);\n\n\t\t// STORE\n\t\t// Remove site directory from the Store\n\t\tfs.rmSync(path.join(__cx, \"store\", site.id.toString()), {\n\t\t\tforce: true,\n\t\t\trecursive: true,\n\t\t});\n\t}\n}\n\n/**\n * Return a single site generic data.\n *\n * @param siteID The site id.\n * @see SiteData\n */\nasync function getSiteData(siteID: number) {\n\tconst buildData = await startSiteRender(siteID);\n\tconst siteInfo = await getSiteInfo(siteID);\n\tconst siteLangs = await getSiteLanguages(siteID);\n\tconst socials = await getSiteSocials(siteID);\n\tconst siteLangsInfo = siteLangs.items;\n\tconst defaultLang = siteLangsInfo.find((lang) => lang.isDefault);\n\n\tconst { siteHash, unpublishHashes, publishIds } = buildData;\n\tconst { headers, footers } = siteInfo;\n\tconst validPagesIds = envs.GRIDDO_RENDER_PAGES.length\n\t\t? envs.GRIDDO_RENDER_PAGES.filter((item) => publishIds.includes(item))\n\t\t: publishIds;\n\n\tconst siteData: SiteData = {\n\t\tsiteInfo,\n\t\tvalidPagesIds,\n\t\tsiteHash,\n\t\tunpublishHashes,\n\t\tsiteLangs: siteLangsInfo,\n\t\tdefaultLang,\n\t\theaders,\n\t\tfooters,\n\t\tsocials,\n\t};\n\n\treturn siteData;\n}\n\n/**\n * Save a file with the end of build process to use as `build-end` signal.\n */\nasync function generateBuildReport() {\n\tconst { __cx } = config.paths();\n\tconst { buildReportFileName } = config;\n\n\tconst { buildProcessData } = await getBuildMetadata();\n\n\t// Get the token\n\tconst authControl = await AuthService.login();\n\n\tconst buildSitesInfo = Object.keys(buildProcessData).map((siteID) => ({\n\t\t...buildProcessData[siteID],\n\t\tsiteId: Number.parseInt(siteID),\n\t}));\n\n\tconst report = {\n\t\tauthControl,\n\t\tsites: buildSitesInfo,\n\t};\n\n\tconst reportFilePath = path.join(__cx, \"dist\", buildReportFileName);\n\tfs.writeFileSync(reportFilePath, JSON.stringify(report));\n\n\tverboseLog(`build report saved in ${reportFilePath}`);\n\n\tbuildLog(`Build report saved for ${buildSitesInfo.length} site(s)`);\n}\n\n/**\n * Generate sitemaps and save them into file system.\n */\nasync function generateSitemaps() {\n\tconst { sitesToPublish } = await getBuildMetadata();\n\tconst { __cx } = config.paths();\n\tconst distDir = path.join(__cx, \"dist\");\n\n\tconst templateSitemapPrefix = \"sitemap-\";\n\n\tconst isGriddoSitemapFile = (file: string) =>\n\t\tfile === \"sitemap.xml\" ||\n\t\t(file.startsWith(templateSitemapPrefix) && file.endsWith(\".xml\"));\n\n\tfor (const site of sitesToPublish) {\n\t\tconst { id, languages } = site;\n\n\t\tfor (const lang of languages) {\n\t\t\tif (AuthService.headers) {\n\t\t\t\tAuthService.headers.lang = lang.id.toString();\n\t\t\t}\n\n\t\t\tconst response = await getSitemap(id);\n\n\t\t\tif (!response) continue;\n\n\t\t\tconst {\n\t\t\t\titems: sitemapPagesGroup,\n\t\t\t\turl: { home, domain },\n\t\t\t} = response;\n\n\t\t\tif (!home) continue;\n\n\t\t\tconst domainLanguage = site.domains.find(\n\t\t\t\t(domain) => Object.keys(domain)[0] === lang.id.toString(),\n\t\t\t);\n\n\t\t\tif (!domainLanguage) continue;\n\n\t\t\tconst slug = Object.values(domainLanguage)[0];\n\t\t\tconst sitemaps: Array<string> = [];\n\t\t\tconst sitemapPageGroupKeys = Object.keys(sitemapPagesGroup);\n\t\t\tconst sitemapBasePath = path.join(distDir, slug.replace(domain, \"\"));\n\n\t\t\t/** delete every griddo sitemap file before create the new ones */\n\t\t\tif (fs.existsSync(sitemapBasePath)) {\n\t\t\t\ttry {\n\t\t\t\t\tconst files = fs.readdirSync(sitemapBasePath);\n\t\t\t\t\tfor (const file of files) {\n\t\t\t\t\t\tif (isGriddoSitemapFile(file)) {\n\t\t\t\t\t\t\tconst filePath = path.join(sitemapBasePath, file);\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tfs.unlinkSync(filePath);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(`Error removing ${filePath}:`, err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(`Error reading ${sitemapBasePath}:`, err);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const templateId of sitemapPageGroupKeys) {\n\t\t\t\tconst sitemapPages = sitemapPagesGroup[templateId];\n\n\t\t\t\tif (!sitemapPages.length) continue;\n\n\t\t\t\tconst siteMap = parse(\"urlset\", {\n\t\t\t\t\t\"@\": {\n\t\t\t\t\t\txmlns: \"http://www.sitemaps.org/schemas/sitemap/0.9\",\n\t\t\t\t\t\t\"xmlns:xsi\": \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t\t\t\t\"xsi:schemaLocation\":\n\t\t\t\t\t\t\t\"http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\",\n\t\t\t\t\t},\n\t\t\t\t\turl: sitemapPages,\n\t\t\t\t});\n\n\t\t\t\tconst sitemapName = `/${templateSitemapPrefix}${templateId.toLowerCase()}.xml`;\n\t\t\t\tconst exactPath = path.join(sitemapBasePath, sitemapName);\n\n\t\t\t\tsaveFile(exactPath, siteMap);\n\n\t\t\t\tsitemaps.push(\n\t\t\t\t\t`${home.endsWith(\"/\") ? home.slice(0, -1) : home}${sitemapName}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!sitemaps.length) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst siteMap = parse(\"sitemapindex\", {\n\t\t\t\t\"@\": { xmlns: \"http://www.sitemaps.org/schemas/sitemap/0.9\" },\n\t\t\t\tsitemap: sitemaps.map((loc) => ({ loc })),\n\t\t\t});\n\n\t\t\tconst exactPath = path.join(sitemapBasePath, \"sitemap.xml\");\n\n\t\t\tsaveFile(exactPath, siteMap);\n\t\t\tverboseLog(`sitemap generated in ${exactPath}`);\n\t\t}\n\t}\n}\n\n/**\n * Saves the content to a file specified by its path. If the file exists, it will be overwritten.\n *\n * @param filePath The path of the file to save the content to.\n * @param content The content to save to the file.\n */\nfunction saveFile(filePath: string, content: string) {\n\ttry {\n\t\tconst pathName = path.dirname(filePath);\n\t\tif (!fs.existsSync(pathName)) {\n\t\t\tfs.mkdirSync(pathName, { recursive: true });\n\t\t}\n\t\tfs.writeFileSync(filePath, content);\n\t} catch (error) {\n\t\tconsole.log(error);\n\t\tthrow new Error(`Error saving a file`);\n\t}\n}\n\nexport {\n\tgenerateBuildReport,\n\tgenerateSitemaps,\n\tgetSiteData,\n\tgetSitesToRender,\n\tunpublishSites,\n};\n", "import type { BuildMetaData } from \"../types/api\";\nimport type { RenderInfo } from \"../types/global\";\nimport type { GriddoPageObject } from \"../types/pages\";\nimport type { Site } from \"../types/sites\";\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport fsx from \"fs-extra\";\n\nimport { throwError } from \"../errors\";\nimport { getConfig, removeProperties, walk, walkStore } from \"./core-utils\";\nimport { verboseLog } from \"./loggin\";\nimport { ReadFromStoreError, WriteToStoreError } from \"../errors/errors-data\";\n\nconst config = getConfig();\n\n/**\n * Read all path pages stored in the `store` Griddo directory and returns the\n * absolute file path.\n *\n * @param domain - The domain to get the pages from.\n */\nfunction getBuildPagesFromCachedStore<PageType extends GriddoPageObject>(\n\tdomain: string,\n) {\n\tconst { __cache } = config.paths(domain);\n\treturn getBuildPagesFromStore<PageType>({\n\t\tbasePath: path.join(__cache, \"store\"),\n\t\twithSizeProp: false,\n\t});\n}\n\n/**\n * Read all pages stored in the `store` Griddo directory and returns one by one\n * with a generator.\n *\n * @param basePath - Base directory to get pages from.\n * @param options.withSizeProp - Add size prop to the page object.\n * @todo throw error if the basePath is not an store folder\n */\nfunction* getBuildPagesFromStore<PageType extends GriddoPageObject>(args?: {\n\tbasePath?: string;\n\twithSizeProp?: boolean;\n}) {\n\tconst { basePath, withSizeProp } = args || {};\n\tconst { __cx } = config.paths();\n\tconst pagesDirPath = basePath || path.join(__cx, \"store\");\n\n\tconst jsonFilePaths = walkStore(pagesDirPath).filter(\n\t\t(file) => path.extname(file) === \".json\",\n\t);\n\n\tfor (const filePath of jsonFilePaths) {\n\t\ttry {\n\t\t\tconst page = fsx.readJsonSync(filePath, {\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t}) as PageType;\n\n\t\t\tif (withSizeProp) {\n\t\t\t\tconst fileStats = fs.statSync(filePath);\n\t\t\t\tpage.size = fileStats.size / 1024;\n\t\t\t}\n\n\t\t\t// SECURITY: Only returns valid page objects\n\t\t\tif (page.path) {\n\t\t\t\tyield page;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrowError(ReadFromStoreError, error);\n\t\t}\n\t}\n}\n\n/**\n * Read all pages stored in `store` Griddo directory and return the absolute\n * path.\n */\nfunction getBuildPagesPath() {\n\tconst config = getConfig();\n\tconst { __cx } = config.paths();\n\n\tconst PAGES_DIR = path.join(__cx, \"store\");\n\tconst PAGE_FILES = walk(PAGES_DIR).filter(\n\t\t(file) => path.extname(file) === \".json\",\n\t);\n\n\treturn PAGE_FILES;\n}\n\n/**\n * Get the build metadata from the Store.\n */\nasync function getBuildMetadata(): Promise<BuildMetaData> {\n\tconst { __cx } = config.paths();\n\tconst { sitesToPublish, createdPages, buildProcessData } = fsx.readJSONSync(\n\t\tpath.join(__cx, \"render-metadata.json\"),\n\t);\n\n\treturn {\n\t\tbuildProcessData,\n\t\tcreatedPages,\n\t\tsitesToPublish,\n\t};\n}\n\n/**\n * Write render info into a file.\n * @param renderInfo - Data that will be saved related to the render process.\n */\nfunction saveRenderInfoInStore(renderInfo: RenderInfo) {\n\tconst { __cx } = config.paths();\n\n\tfs.writeFileSync(\n\t\tpath.join(__cx, \"render-metadata.json\"),\n\t\tJSON.stringify(renderInfo),\n\t);\n}\n\n/**\n * Return an array of ids only from `.json` files (no dirs) in the `basePath` dir based in the file name and filtered by the pages ids in a concrete site.\n * @param basePath - Absolute path of the dir from which files will be read.\n * @returns A Array<number> of pages ids in `basePath` dir filtered by pages ids in a concrete site.\n */\n// function getPagesInStoreDirBySitePages(\n// \tbasePath: string,\n// \tpages: Array<number>,\n// ): Array<number> {\n// \tconst allPagesInStore = getPageInStoreDir(basePath);\n// \tconst pagesBySite = allPagesInStore.filter((page) => pages.includes(page));\n\n// \treturn pagesBySite;\n// }\n\n/**\n * Return an array of ids only from `.json` files (no dirs) in the `basePath` dir based in the file name.\n * @param basePath - Absolute path of the dir from which files will be read.\n * @returns A Array<number> of pages ids in `basePath` dir.\n */\nfunction getPageInStoreDir(basePath: string): Array<number> {\n\tconst filesInStore = fs.readdirSync(basePath);\n\n\treturn (\n\t\tfilesInStore\n\t\t\t.filter((file) => {\n\t\t\t\tconst fullPathFile = `${basePath}/${file}`;\n\t\t\t\tconst stat = fs.statSync(fullPathFile);\n\t\t\t\t// Si es un directorio, no lo incluimos.\n\t\t\t\tif (stat?.isDirectory()) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Si es un archivo pero no tiene la extensi\u00F3n `.json`, no lo incluimos\n\t\t\t\tif (path.extname(file) !== \".json\") {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Si es un archivo con el nombre NO pasable a n\u00FAmero (NaN), no lo incluimos.\n\t\t\t\tconst baseFilename = path.basename(file, path.extname(file));\n\t\t\t\tif (Number.isNaN(Number.parseInt(baseFilename))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// no es dir, es json y con nombre pasable a n\u00FAmero, ok :)\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t// Tenemos solo jsons donde el nombre es un \"n\u00FAmero\": \"21345.json\"\n\t\t\t.map((page) => {\n\t\t\t\tconst filename = path.basename(page, path.extname(page));\n\t\t\t\treturn Number.parseInt(filename);\n\t\t\t})\n\t);\n}\n\n/**\n * Save the pages into the file system.\n * @param pages - An array of Griddo page objects to be saved.\n */\nfunction saveSitePagesInStore(\n\tsiteDirName: string,\n\tpages: Array<GriddoPageObject>,\n) {\n\tconst { __cx } = config.paths();\n\n\ttry {\n\t\tfor (const page of pages) {\n\t\t\tremoveProperties(page, [\"editorID\", \"parentEditorID\"]);\n\t\t\tconst filename = `${page.context.page.id}.json`;\n\t\t\tconst filePath = path.join(__cx, \"store\", siteDirName, filename);\n\t\t\tfsx.writeJSONSync(filePath, page);\n\t\t}\n\t} catch (error) {\n\t\tthrowError(WriteToStoreError, error);\n\t}\n}\n\n/**\n * Removes JSON files from the specified site directory based on the provided arrays of page numbers.\n * For each number in the arrays, a corresponding file with the format `<number>.json` is removed if it exists.\n *\n * WARNING: This function may end up handling large arrays, so don't be tempted\n * to refactor it to use something cool like the spread operator and make a\n * single array, etc..\n *\n * @param siteDirName - The name of the site directory containing the pages.\n * @param pageIdsArray - A two-dimensional array where each inner array contains numbers representing page files to be removed.\n */\nfunction removeSitePagesFromStore(\n\tsiteDirName: string,\n\tpageIdsArray: Array<Array<number>>,\n) {\n\tconst { __cx } = config.paths();\n\n\tconst processPageIdsArray = (pageIds: Array<number>) => {\n\t\tfor (const filename of pageIds) {\n\t\t\tconst filePath = path.join(\n\t\t\t\t__cx,\n\t\t\t\t\"store\",\n\t\t\t\tsiteDirName,\n\t\t\t\t`${filename}.json`,\n\t\t\t);\n\t\t\ttry {\n\t\t\t\tif (fs.existsSync(filePath)) {\n\t\t\t\t\tfs.unlinkSync(filePath);\n\t\t\t\t\tverboseLog(`Removed file: ${filePath}`);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t\tthrow new Error(`Error removing file ${filename}`);\n\t\t\t}\n\t\t}\n\t};\n\n\tfor (const pageIds of pageIdsArray) {\n\t\tprocessPageIdsArray(pageIds);\n\t}\n}\n\n/**\n * Removes sites that exist in the store that should no longer be there because\n * the domain has been changed. This is necessary because those sites will not\n * be marked as `sitesToUnpublish` so they must be removed manually.\n */\nfunction removeOrphanSites(sitesToPublish: Array<Site>, domain: string) {\n\tconst { __cx } = getConfig().paths(domain);\n\tconst currentSitesInStore = fs.readdirSync(path.join(__cx, \"store\"));\n\tconst sitesFromAPI = sitesToPublish.map(({ id }) => `${id}`);\n\tconst sitesToDelete = currentSitesInStore.filter(\n\t\t(site) => !sitesFromAPI.includes(site),\n\t);\n\n\tfor (const site of sitesToDelete) {\n\t\tfs.rmSync(path.join(__cx, \"store\", site), { recursive: true, force: true });\n\t\tverboseLog(`Removed orphan site id: ${site}`);\n\t}\n}\n\n/**\n * Returns the list of `activePages` pages that do not currently exist in a\n * site's store (probably due to a failed render).\n */\nfunction getMissingPublishedPagesInStore(\n\tsiteName: string,\n\tactivePages: Array<number>,\n) {\n\tconst { __cx } = config.paths();\n\tconst pagesInStore = getPageInStoreDir(path.join(__cx, \"store\", siteName));\n\tconst missingActivePages: Array<number> = [];\n\tfor (const activePage of activePages) {\n\t\tif (!pagesInStore.includes(activePage)) {\n\t\t\tmissingActivePages.push(activePage);\n\t\t}\n\t}\n\treturn missingActivePages;\n}\n\n/**\n * Get pages that are not active anymore but are in the store.\n */\nfunction getZombiePagesInStore(siteDir: string, activePages: Array<number>) {\n\tconst { __cx } = getConfig().paths();\n\tconst storeDir = path.join(__cx, \"store\", siteDir);\n\tconst sitePages = fs.readdirSync(storeDir);\n\n\tlet zombiePages: Array<number> = [];\n\tfor (const pageFileName of sitePages) {\n\t\tconst pageFileNameWithoutExtension = pageFileName.split(\".\")[0];\n\t\tconst pageInStore = Number.parseInt(pageFileNameWithoutExtension);\n\n\t\t// What the hell is `pageIdInStore > 0` ??\n\t\t// Las p\u00E1ginas de listados est\u00E1ticos y multipage tiene ids \"basura\", que\n\t\t// en este caso son ids negativos y siempre so borran al final del render.\n\t\t// En este caso hay que ignorarlas porque NUNCA van a estar en el\n\t\t// `activePages`, estar\u00EDamos borr\u00E1ndolas siempre antes de la fase de\n\t\t// SSG.\n\t\tif (!activePages.includes(pageInStore) && pageInStore > 0) {\n\t\t\tzombiePages.push(pageInStore);\n\t\t}\n\t}\n\n\treturn zombiePages;\n}\n\nexport {\n\tgetBuildMetadata,\n\tgetBuildPagesFromCachedStore,\n\tgetBuildPagesFromStore,\n\tgetBuildPagesPath,\n\tgetMissingPublishedPagesInStore,\n\tgetPageInStoreDir,\n\tgetZombiePagesInStore,\n\tremoveOrphanSites,\n\tremoveSitePagesFromStore,\n\tsaveSitePagesInStore,\n\tsaveRenderInfoInStore,\n};\n", "import type { AuthHeaders } from \"../types/api\";\n\nimport { endpoints, envs } from \"../constants\";\nimport { throwError } from \"../errors\";\nimport { LoginError } from \"../errors/errors-data\";\n\n/**\n * Service for authentication in the Griddo Private API\n */\nclass AuthService {\n\theaders: AuthHeaders | undefined;\n\n\tasync login() {\n\t\ttry {\n\t\t\tconst response = await fetch(endpoints.LOGIN, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: { \"Content-Type\": \"application/json\", Connection: \"close\" },\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tusername: envs.GRIDDO_BOT_USER,\n\t\t\t\t\tpassword: envs.GRIDDO_BOT_PASSWORD,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(\"Error while login in the API\");\n\t\t\t}\n\n\t\t\tconst { token } = await response.json();\n\t\t\tthis.headers = {\n\t\t\t\tAuthorization: `bearer ${token}`,\n\t\t\t\t\"Cache-Control\": \"no-store\",\n\t\t\t};\n\n\t\t\treturn this.headers;\n\t\t} catch (e) {\n\t\t\tthrowError(LoginError, e);\n\t\t}\n\t}\n}\n\nconst authService = new AuthService();\n\nexport { authService as AuthService };\n", "'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n", "'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n", "import FormData from 'form-data';\n\nexport default FormData;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n", "'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n", "'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n", "'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n", "'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n", "import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n", "const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n", "import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n", "'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n", "'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n", "'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n", "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n", "'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n", "'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n", "'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport proxyFromEnv from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\nconst flushOnFinish = (stream, [throttled, flush]) => {\n stream\n .on('end', flush)\n .on('error', flush);\n\n return throttled;\n}\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = proxyFromEnv.getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n // temporary internal emitter until the AxiosRequest class will be implemented\n const emitter = new EventEmitter();\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n emitter.removeAllListeners();\n }\n\n onDone((value, isRejected) => {\n isDone = true;\n if (isRejected) {\n rejected = true;\n onFinished();\n }\n });\n\n function abort(reason) {\n emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n }\n\n emitter.once('abort', reject);\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url);\n const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const {onUploadProgress, onDownloadProgress} = config;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data) || utils.isFile(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', flushOnFinish(\n data,\n progressEventDecorator(\n contentLength,\n progressEventReducer(asyncDecorator(onUploadProgress), false, 3)\n )\n ));\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {}\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname.startsWith(\"[\") ? parsed.hostname.slice(1, -1) : parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = +res.headers['content-length'];\n\n if (onDownloadProgress || maxDownloadRate) {\n const transformStream = new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', flushOnFinish(\n transformStream,\n progressEventDecorator(\n responseLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)\n )\n ));\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n const offListeners = stream.finished(responseStream, () => {\n offListeners();\n onFinished();\n });\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'stream has been aborted',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n emitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n emitter.once('abort', err => {\n reject(err);\n req.destroy(err);\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n abort();\n });\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n req.end(data);\n }\n });\n}\n\nexport const __setProxy = setProxy;\n", "export const VERSION = \"1.7.9\";", "'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n", "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n", "'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const internals = this[kInternals] = {\n timeWindow: options.timeWindow,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n const pushChunk = (_chunk, _callback) => {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n internals.isCaptured && this.emit('progress', internals.bytesSeen);\n\n if (this.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n}\n\nexport default AxiosTransformStream;\n", "import util from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\n\nconst BOUNDARY_ALPHABET = utils.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + utils.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n", "const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n", "\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n", "import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n", "'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n", "/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n", "import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n", "import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n", "import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n", "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n", "import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n", "import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n", "\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n", "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n", "import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n", "'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n", "'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n", "'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n", "'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n", "'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n", "const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n", "'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n", "import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n", "import type {\n\tAPIRequest,\n\tAPIResponses,\n\tGetAPI,\n\tPostAPI,\n\tPutAPI,\n\tShowApiErrorOptions,\n} from \"../types/api\";\nimport type { AxiosError, Method } from \"axios\";\n\nimport axios from \"axios\";\nimport dotenv from \"dotenv\";\nimport kleur from \"kleur\";\n\nimport { saveCache, searchCacheData } from \"./cache\";\nimport { delay, getSafeSiteId, msToSec } from \"./core-utils\";\nimport { buildLog } from \"./loggin\";\nimport { envs } from \"../constants\";\nimport { apiRegister } from \"../registers\";\nimport { AuthService } from \"../services/auth\";\n\ndotenv.config();\n\n// Envs\nconst {\n\tenv: { RETRY_WAIT_SECONDS = \"4\", RETRY_ATTEMPTS = \"4\" },\n} = process;\n\n/**\n * Make a GET/PUT/POST request to the Griddo API.\n *\n * @template T Response Type returned.\n * @returns {Promise<T>} A promise that is resolved with the data from the API response.\n *\n * @example\n *\tconst response = await requestAPI<Site>(\n *\t\t{ endpoint: \"...\", cacheKey: \"...\", ... },\n *\t\t\"get\",\n *\t\t\"...\"\n *\t);\n */\nasync function requestAPI<T extends APIResponses>(\n\tprops: APIRequest,\n\tmethod: Method,\n\tappendToLog = \"\",\n): Promise<T> {\n\tconst {\n\t\tendpoint,\n\t\tbody,\n\t\tcacheKey = \"\",\n\t\tattempt = 1,\n\t\theaders,\n\t\tuseApiCacheDir = true,\n\t} = props;\n\tconst cacheOptions = { endpoint, body, headers, cacheKey };\n\n\t// Cache\n\tif (cacheKey && useApiCacheDir) {\n\t\tconst start = new Date();\n\t\tconst cacheData = searchCacheData<T>(cacheOptions);\n\n\t\tif (cacheData) {\n\t\t\tconst siteId = getSafeSiteId(cacheData);\n\t\t\tconst siteIdMsg = siteId ? `site: ${siteId}` : \"\";\n\t\t\tconst duration = msToSec(new Date().getTime() - start.getTime());\n\t\t\tbuildLog(\n\t\t\t\t`${method} (cache) ${siteIdMsg} ${endpoint} - ${duration}s ${appendToLog}`,\n\t\t\t);\n\t\t\treturn cacheData;\n\t\t}\n\t}\n\n\t// Network\n\ttry {\n\t\tconst start = new Date();\n\t\tconst {\n\t\t\tdata,\n\t\t\theaders: responseHeaders,\n\t\t}: { data: T; headers: { \"content-length\": string } } = await axios({\n\t\t\turl: endpoint,\n\t\t\tmethod,\n\t\t\theaders: Object.assign({}, headers, AuthService.headers),\n\t\t\tdata: body,\n\t\t});\n\n\t\tconst siteId = getSafeSiteId(data);\n\t\tconst siteIdMsg = siteId ? `site: ${siteId}` : \"\";\n\t\tconst duration = msToSec(new Date().getTime() - start.getTime());\n\t\tbuildLog(\n\t\t\t`${method} (fetch) ${siteIdMsg} ${endpoint} - ${duration}s ${appendToLog}`,\n\t\t);\n\n\t\tif (useApiCacheDir) {\n\t\t\tsaveCache(cacheOptions, data);\n\t\t}\n\n\t\t// Only save registers if alerts are enabled\n\t\tif (envs.GRIDDO_ALERT_FEATURE) {\n\t\t\tconst responseSize = Number.parseInt(responseHeaders[\"content-length\"]);\n\t\t\tif (responseSize > envs.GRIDDO_API_MAX_RESPONSE_SIZE) {\n\t\t\t\tapiRegister.insert(\"API_RESPONSE_TOO_BIG\", {\n\t\t\t\t\tendpoint,\n\t\t\t\t\tresponseSize,\n\t\t\t\t\tduration,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn data;\n\t} catch (e) {\n\t\tconst error = e as AxiosError;\n\n\t\tif (error.response?.status === 404) {\n\t\t\t// @ts-expect-error page maybe will be 404\n\t\t\treturn null;\n\t\t}\n\n\t\tif (attempt > parseInt(RETRY_ATTEMPTS)) {\n\t\t\tconsole.log(`\nMax attempts ${RETRY_ATTEMPTS} reached\n--------------------------------------\n- ${method.toUpperCase()} ${endpoint}\n- BODY: ${JSON.stringify(body)}\n- HEADERS: ${JSON.stringify(headers)}\n- RESPONSE: ${error.response?.status} ${JSON.stringify(error.response?.data)}\n--------------------------------------\n`);\n\n\t\t\tconsole.log(JSON.stringify(error, null, 2));\n\t\t\tprocess.exit(1);\n\t\t}\n\n\t\tif (!error.response) {\n\t\t\tconsole.log(\"Unknown error occurred\");\n\t\t\tconsole.log(JSON.stringify(error, null, 2));\n\t\t\tprocess.exit(1);\n\t\t}\n\n\t\tshowApiError(error, {\n\t\t\tcallInfo: { endpoint, body },\n\t\t});\n\n\t\tconsole.warn(`Waiting for retry: ${method}`, endpoint);\n\n\t\tawait delay(parseInt(RETRY_WAIT_SECONDS) * 1000);\n\n\t\treturn requestAPI<T>(\n\t\t\t{\n\t\t\t\tendpoint,\n\t\t\t\tbody,\n\t\t\t\theaders,\n\t\t\t\tcacheKey,\n\t\t\t\tattempt: attempt + 1,\n\t\t\t},\n\t\t\tmethod,\n\t\t\tappendToLog,\n\t\t);\n\t}\n}\n\n/**\n * Make a GET request to the Griddo API.\n *\n * @template T Response Type returned.\n * @returns A promise that is resolved with the data from the API response.\n */\nasync function getApi<T extends APIResponses>(props: GetAPI) {\n\treturn requestAPI<T>(props, \"get\");\n}\n\n/**\n * Make a PUT request to the Griddo API.\n *\n * @template T Response Type returned.\n * @returns A promise that is resolved with the data from the API response.\n */\nasync function putApi<T extends APIResponses>(props: PutAPI) {\n\treturn requestAPI<T>(props, \"put\");\n}\n\n/**\n * Make a POST request to the Griddo API.\n *\n * @template T Response Type returned.\n * @returns A promise that is resolved with the data from the API response.\n */\nasync function postApi<T extends APIResponses>(props: PostAPI) {\n\tconst { endpoint, body, headers } = props;\n\tconst referenceFieldBodyParams =\n\t\tendpoint.endsWith(\"/distributor\") &&\n\t\t`# ReferenceField body: ${JSON.stringify(body)} lang: ${JSON.stringify(\n\t\t\theaders?.lang,\n\t\t)}`;\n\n\treturn requestAPI<T>(props, \"post\", referenceFieldBodyParams || \"\");\n}\n\n/**\n * Shows an API error through the terminal.\n */\nfunction showApiError(error: AxiosError, options: ShowApiErrorOptions) {\n\tconst { response, message, stack } = error;\n\tconst { callInfo } = options;\n\tconst { status, statusText, data } = response || {};\n\tconst callInfoArray = [];\n\n\tfor (const item of Object.keys(callInfo) as Array<keyof typeof callInfo>) {\n\t\tcallInfoArray.push(\n\t\t\t`${item}: ${\n\t\t\t\ttypeof callInfo[item] === \"object\"\n\t\t\t\t\t? JSON.stringify(callInfo[item])\n\t\t\t\t\t: callInfo[item]\n\t\t\t}`,\n\t\t);\n\t}\n\n\t// Compose the errors output\n\tconst callInfoStr = callInfoArray.join(\"\\n\");\n\tconst apiResponseStr = response\n\t\t? `Code: ${status} - ${statusText}\\nResponse: ${JSON.stringify(data)}`\n\t\t: \"\";\n\tconst errorDetailsStr = `${message}\\n${stack}`;\n\n\t// Print the error\n\tconsole.warn(\n\t\tkleur.red(`\n=============\n\n{ Call info }\n${callInfoStr}\n\n{ API Response }\n${apiResponseStr}\n\n{ Error details }\n${errorDetailsStr}\n\n=============\n`),\n\t);\n}\n\nexport { getApi as get, postApi as post, putApi as put };\n", "import type { Petition } from \"../types/global\";\nimport type { HashSites, SiteHash } from \"../types/sites\";\n\nimport crypto from \"node:crypto\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport fsx from \"fs-extra\";\n\nimport { getConfig } from \"./core-utils\";\n\nconst config = getConfig();\n\n/**\n * Creates an `apiCache` dir to store pages fetched from them API.\n */\nfunction createAPICacheDir() {\n\tconst { __cx } = config.paths();\n\tconst apiCacheDir = path.join(__cx, \"apiCache\");\n\n\tif (!fs.existsSync(apiCacheDir)) {\n\t\tfs.mkdirSync(apiCacheDir);\n\t}\n\n\tconsole.info(\"Cache initialized\");\n}\n\n/**\n * Generate a filename with a hash using a Petition object\n *\n * @todo Merge with createSha256\n * @param petition An object\n */\nfunction generateFilenameWithHash(petition: Petition) {\n\tconst { __cx } = config.paths();\n\tconst apiCacheDir = path.join(__cx, \"apiCache\");\n\n\tconst hashSum = crypto.createHash(\"sha256\");\n\thashSum.update(JSON.stringify(petition));\n\n\treturn `${apiCacheDir}/${hashSum.digest(\"hex\")}`;\n}\n\n/**\n * Generate a filename with a hash using a string.\n *\n * @todo Merge with generateFilenameWithHash\n * @param data A string to create a sha256 based on.\n */\nfunction createSha256(data: string) {\n\tconst uniqueString = crypto.randomBytes(16).toString(\"hex\");\n\tconst hash = crypto.createHash(\"sha256\");\n\thash.update(`${data}${uniqueString}`);\n\n\treturn hash.digest(\"hex\");\n}\n\n/**\n * Save a file using a hash name.\n *\n * @param petition An object.\n * @param content Content to be saved.\n */\nfunction saveCache<T>(petition: Petition, content: T) {\n\tconst stringContent =\n\t\ttypeof content === \"string\" ? content : JSON.stringify(content);\n\tconst filename = generateFilenameWithHash(petition);\n\tconst filepath = path.dirname(filename);\n\tif (!fs.existsSync(filepath)) {\n\t\tfs.mkdirSync(filepath, { recursive: true });\n\t}\n\tfs.writeFileSync(filename, stringContent, \"utf8\");\n}\n\n/**\n * Search in the `apiCache` dir for a file using the petition as hash generator.\n * Return the file content if found or null if not.\n *\n * @param petition An object\n */\nfunction searchCacheData<T>(petition: Petition) {\n\ttry {\n\t\tconst file = generateFilenameWithHash(petition);\n\t\tconst jsonData = fsx.readJSONSync(file, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\t\treturn jsonData as T;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\n/**\n * Get site hashes from the file as an object\n */\nfunction getHashSites(): HashSites {\n\tconst { __cx } = config.paths();\n\tconst apiCacheDir = path.join(__cx, \"apiCache\");\n\tconst siteHasFilename = `${apiCacheDir}/siteHash.json`;\n\n\ttry {\n\t\tconst jsonData = fsx.readJSONSync(siteHasFilename, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\t\treturn jsonData || {};\n\t} catch {\n\t\treturn {};\n\t}\n}\n\n/**\n * Update (write) the site hash file.\n *\n * @param siteId The id of the site.\n * @param siteHash The has of the site.\n */\nfunction updatedSiteHash(siteId: number, siteHash: SiteHash) {\n\tconst allHash = getHashSites();\n\tconst lastHash = allHash[siteId];\n\tconst currentHash = siteHash || lastHash || new Date().valueOf();\n\n\tconst { __cx } = config.paths();\n\tconst apiCacheDir = path.join(__cx, \"apiCache\");\n\tconst siteHasFilename = `${apiCacheDir}/siteHash.json`;\n\n\tif (currentHash !== lastHash) {\n\t\tallHash[siteId] = currentHash;\n\t\tfs.writeFileSync(siteHasFilename, JSON.stringify(allHash), {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\t}\n\n\treturn currentHash.toString();\n}\n\nexport {\n\tcreateAPICacheDir,\n\tcreateSha256,\n\tsaveCache,\n\tsearchCacheData,\n\tupdatedSiteHash,\n};\n", "import fsx from \"fs-extra\";\n\ntype Entry = Record<string, unknown>;\n\ntype EntryData = {\n\ttitle: string;\n\tdescription: string;\n\tentries: Array<Entry>;\n};\n\ntype Entries = Record<string, EntryData>;\n\ninterface RegisterBase<T extends Entries> {\n\tinsert(name: keyof T, entry: Entry): void;\n\tget(name: keyof T): EntryData;\n\tgetAll(): T;\n}\n\nclass MemoryRegister<T extends Entries> implements RegisterBase<T> {\n\tentries: T;\n\n\tconstructor(entries: T) {\n\t\tthis.entries = entries;\n\t}\n\n\tinsert(name: keyof T, entry: Entry) {\n\t\tthis.entries[name].entries.push(entry);\n\t}\n\n\tget(name: keyof T) {\n\t\treturn this.entries[name];\n\t}\n\n\tgetAll() {\n\t\treturn this.entries;\n\t}\n}\n\nclass FileRegister<T extends Entries> implements RegisterBase<T> {\n\tprivate readonly filePath: string;\n\tentries: T;\n\n\tconstructor(filePath: string, entries: T) {\n\t\tthis.entries = entries;\n\t\tthis.filePath = filePath;\n\t\ttry {\n\t\t\tfsx.writeJSONSync(this.filePath, this.entries);\n\t\t} catch (e) {\n\t\t\tconsole.error(`Error writing ${this.filePath}`, e);\n\t\t}\n\t}\n\n\tprivate getCurrentEntries(): T {\n\t\treturn fsx.readJSONSync(this.filePath, \"utf8\") as T;\n\t}\n\n\tinsert(name: keyof T, entry: Entry) {\n\t\ttry {\n\t\t\tconst currentEntries = this.getCurrentEntries();\n\t\t\tcurrentEntries[name].entries.push(entry);\n\t\t\tfsx.writeJSONSync(this.filePath, currentEntries);\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t}\n\t}\n\n\tget(name: keyof T) {\n\t\ttry {\n\t\t\treturn fsx.readJSONSync(this.filePath, \"utf8\")[name] as EntryData;\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t\tthrow new Error(`Error reading ${this.filePath}`);\n\t\t}\n\t}\n\n\tgetAll() {\n\t\ttry {\n\t\t\treturn fsx.readJSONSync(this.filePath, \"utf8\") as T;\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t\tthrow new Error(`Error reading ${this.filePath}`);\n\t\t}\n\t}\n}\n\nclass Register<T extends Entries> {\n\tprivate strategy: RegisterBase<T>;\n\n\tconstructor(strategy: RegisterBase<T>) {\n\t\tthis.strategy = strategy;\n\t}\n\n\tinsert<K extends keyof T>(name: K, entry: Entry) {\n\t\tthis.strategy.insert(name, entry);\n\t}\n\n\tget<K extends keyof T>(name: K) {\n\t\treturn this.strategy.get(name);\n\t}\n\n\tgetAll() {\n\t\treturn this.strategy.getAll();\n\t}\n}\n\nexport {\n\tFileRegister,\n\tMemoryRegister,\n\tRegister,\n\ttype Entries,\n\ttype Entry,\n\ttype EntryData,\n};\n", "import { MemoryRegister, Register } from \"../services/register\";\n\nconst entries = {\n\tAPI_RESPONSE_TOO_BIG: {\n\t\ttitle: \"API response size is too large\",\n\t\tdescription:\n\t\t\t\"API response size is too large and may affect rendering performance\",\n\t\tentries: [],\n\t},\n};\n\nconst register = new Register(new MemoryRegister(entries));\n\nexport default register;\n", "import { MemoryRegister, Register } from \"../services/register\";\n\nconst entries = {\n\tGATSBY_PAGE_SIZE_TOO_BIG: {\n\t\ttitle: \"Gatsby JSON page size is too large\",\n\t\tdescription:\n\t\t\t\"The JSON of some Gatsby pages (page-data folder) are too large and may affect rendering performance\",\n\t\tentries: [],\n\t},\n};\n\nconst register = new Register(new MemoryRegister(entries));\n\nexport default register;\n", "import type {\n\tAllSitesReponse,\n\tEndPageInfoResponse,\n\tEndSiteRenderBody,\n\tLanguagesResponse,\n\tPageResponse,\n\tReferenceFieldBody,\n\tReferenceFieldResponse,\n\tSitemapAPIResponse,\n\tSocialsResponse,\n\tStartPageRenderResponse,\n} from \"../types/api\";\nimport type { Site } from \"../types/sites\";\nimport type { Core } from \"@griddo/core\";\n\nimport { endpoints } from \"../constants\";\nimport { get, post } from \"../utils/api\";\n\n/**\n * Get a list of site objects.\n */\nasync function getAllSites(domain: string) {\n\treturn await get<AllSitesReponse>({\n\t\tendpoint: `${endpoints.GET_ALL}?domainSlug=${domain}`,\n\t});\n}\n\n/**\n * Get a list of site objects from a domain.\n */\nasync function getAllSitesFromDomain(domain: string) {\n\tconst allSites = await get<AllSitesReponse>({ endpoint: endpoints.GET_ALL });\n\n\tif (allSites.length) {\n\t\tfor (const site of allSites) {\n\t\t\tconst { items } = await getSiteLanguages(site.id);\n\n\t\t\t// A\u00F1adimos la prop domains con el dominio \"cocinado\" con los\n\t\t\t// idiomas y teniendo en cuenta solo el dominio actual.\n\t\t\tsite.domains = items\n\t\t\t\t.filter(\n\t\t\t\t\t(item) =>\n\t\t\t\t\t\titem.domain &&\n\t\t\t\t\t\t(item.domain.slug === domain || item.domain.slug === `/${domain}`),\n\t\t\t\t)\n\t\t\t\t.map((item) => ({ [item.id]: `${item.domain.slug}${item.path}` }));\n\t\t}\n\t}\n\n\treturn allSites.filter((site) => site.domains.length > 0);\n}\n\n/**\n * Fetch a page object from API.\n */\nasync function getPage(id: number, cacheKey: string) {\n\treturn await get<PageResponse>({\n\t\tendpoint: `${endpoints.GET_PAGE}/${id}`,\n\t\tcacheKey,\n\t});\n}\n\n/**\n * Get site info\n */\nasync function getSiteInfo(id: number, cacheKey = \"\") {\n\tconst [prefix, suffix] = endpoints.INFO;\n\n\treturn await get<Site>({\n\t\tendpoint: `${prefix}${id}${suffix}`,\n\t\tcacheKey,\n\t});\n}\n\nasync function getSiteLanguages(id: number, cacheKey = \"\") {\n\tconst [prefix, suffix] = endpoints.LANGUAGES;\n\n\treturn await get<LanguagesResponse>({\n\t\tendpoint: `${prefix}${id}${suffix}`,\n\t\tcacheKey,\n\t});\n}\n\nasync function startSiteRender(id: number) {\n\tconst [prefix, suffix] = endpoints.BUILD_START;\n\n\treturn await get<StartPageRenderResponse>({\n\t\tendpoint: `${prefix}${id}${suffix}`,\n\t});\n}\n\n/**\n * Send the end signal to API for a render site.\n */\nasync function endSiteRender(id: number, body: EndSiteRenderBody) {\n\tconst [prefix, suffix] = endpoints.BUILD_END;\n\n\treturn await post<EndPageInfoResponse>({\n\t\tendpoint: `${prefix}${id}${suffix}`,\n\t\tbody,\n\t\tuseApiCacheDir: false,\n\t});\n}\n\nasync function getReferenceFieldSiteData(\n\tpage: Core.Page,\n\tbody: ReferenceFieldBody,\n\tcacheKey: string,\n\tdataSiteId?: number,\n\tdataLangID?: number,\n) {\n\tconst [prefix, suffix] = endpoints.GET_REFERENCE_FIELD_DATA;\n\tconst site = dataSiteId || page.site;\n\tconst lang = dataLangID || page.language;\n\n\treturn await post<ReferenceFieldResponse>({\n\t\tendpoint: `${prefix}${site}${suffix}`,\n\t\tbody,\n\t\theaders: { lang },\n\t\tcacheKey,\n\t});\n}\n\nasync function getSitemap(id: number) {\n\tconst [prefix, suffix] = endpoints.GET_SITEMAP;\n\n\treturn get<SitemapAPIResponse>({\n\t\tendpoint: `${prefix}${id}${suffix}`,\n\t});\n}\n\nasync function getSiteSocials(id: number, cacheKey = \"\") {\n\tconst [prefix, suffix] = endpoints.SOCIALS;\n\n\treturn await get<SocialsResponse>({\n\t\tendpoint: `${prefix}${id}${suffix}`,\n\t\tcacheKey,\n\t});\n}\n\nexport {\n\tendSiteRender,\n\tgetAllSites,\n\tgetAllSitesFromDomain,\n\tgetPage,\n\tgetReferenceFieldSiteData,\n\tgetSiteInfo,\n\tgetSiteLanguages,\n\tgetSitemap,\n\tgetSiteSocials,\n\tstartSiteRender,\n};\n", "import type { Robots } from \"../types/global\";\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport { endpoints } from \"../constants\";\nimport { get } from \"../utils/api\";\nimport { getConfig } from \"../utils/core-utils\";\nimport { verboseLog } from \"../utils/loggin\";\n\nconst config = getConfig();\n\n/**\n * TODO: JSDoc\n */\nclass RobotsService {\n\trobots: Robots;\n\tsettings: Record<string, unknown>;\n\n\tconstructor() {\n\t\tthis.robots = [];\n\t\tthis.settings = {};\n\t}\n\n\t/**\n\t * TODO: JSDoc\n\t */\n\tprivate async getRobots() {\n\t\ttry {\n\t\t\tconst apiRobots = await get<Robots>({ endpoint: endpoints.ROBOTS });\n\t\t\tthis.robots =\n\t\t\t\tapiRobots\n\t\t\t\t\t?.filter((r) => !!r.path)\n\t\t\t\t\t.map(({ path, content }) => ({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tcontent: content || \"User-agent: *\\n\\r\\n\\rAllow: /\",\n\t\t\t\t\t})) || [];\n\t\t} catch (e) {\n\t\t\tconsole.warn(`${this.constructor.name}: ${(e as Error).message}`);\n\t\t}\n\t}\n\n\t/**\n\t * Write robots.txt files for the domain.\n\t */\n\tasync writeFiles(domain: string) {\n\t\tconst { __cx } = config.paths(domain);\n\t\tconst distDirectory = path.join(__cx, \"dist\");\n\n\t\tawait this.getRobots();\n\n\t\tconst robot = this.robots.find(({ path }) => path === `/${domain}`);\n\n\t\tif (!robot) {\n\t\t\tconsole.log(`Robots not found for ${domain}`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (fs.existsSync(distDirectory)) {\n\t\t\tconst fileLocation = path.join(distDirectory, \"robots.txt\");\n\t\t\tfs.writeFileSync(fileLocation, robot?.content);\n\t\t\tverboseLog(`wrote robots.txt to ${fileLocation}`);\n\t\t} else {\n\t\t\tconsole.log(`${distDirectory} not found`);\n\t\t}\n\t}\n}\n\nconst robotsService = new RobotsService();\n\nexport { robotsService as RobotsService };\n", "import type { Domains } from \"../types/global\";\n\nimport { verboseLog } from \"./loggin\";\nimport { throwError } from \"../errors\";\nimport { NoDomainsFoundError } from \"../errors/errors-data\";\nimport { AuthService } from \"../services/auth\";\nimport { getAllDomains } from \"../services/domains\";\n\n/**\n * Return an array of domains name (string) of the current instance.\n */\nasync function getInstanceDomains() {\n\tawait AuthService.login();\n\tconst domains = await getAllDomains();\n\n\tif (!domains.length) {\n\t\tthrowError(NoDomainsFoundError);\n\t}\n\n\tverboseLog(`getting domains names (${domains.length})`);\n\n\treturn getDomainSlugs(domains);\n}\n\n/**\n * Return an unique array of domains, filtered without \"/\".\n *\n * @param domains An array of domains\n * @see Domains\n */\nfunction getDomainSlugs(domains: Domains) {\n\tconst filteredDomains = domains\n\t\t.filter(({ slug }) => !!slug)\n\t\t.map(({ slug }) => slug.replace(\"/\", \"\"));\n\n\treturn [...new Set(filteredDomains)];\n}\n\nexport { getInstanceDomains, getDomainSlugs };\n", "import type { Domains } from \"../types/global\";\n\nimport { endpoints } from \"../constants\";\nimport { get } from \"../utils/api\";\n\n/**\n * Get an array of available domain.\n */\nasync function getAllDomains() {\n\treturn get<Domains>({\n\t\tendpoint: endpoints.DOMAINS,\n\t\tuseApiCacheDir: false,\n\t});\n}\n\nexport { getAllDomains };\n"],
5
- "mappings": "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",
6
- "names": ["require_universalify", "__commonJSMin", "exports", "fn", "args", "resolve", "reject", "err", "res", "cb", "r", "require_polyfills", "__commonJSMin", "exports", "module", "constants", "origCwd", "cwd", "platform", "chdir", "d", "patch", "fs", "patchLchmod", "patchLutimes", "chownFix", "chmodFix", "chownFixSync", "chmodFixSync", "statFix", "statFixSync", "path", "mode", "cb", "uid", "gid", "fs$rename", "rename", "from", "to", "start", "backoff", "CB", "er", "stater", "st", "fs$read", "read", "fd", "buffer", "offset", "length", "position", "callback_", "callback", "eagCounter", "_", "__", "fs$readSync", "err", "err2", "threw", "ret", "at", "mt", "er2", "_a", "_b", "_c", "orig", "target", "chownErOk", "options", "stats", "nonroot", "require_legacy_streams", "__commonJSMin", "exports", "module", "Stream", "legacy", "fs", "ReadStream", "WriteStream", "path", "options", "self", "keys", "index", "length", "key", "err", "fd", "require_clone", "__commonJSMin", "exports", "module", "clone", "getPrototypeOf", "obj", "copy", "key", "require_graceful_fs", "__commonJSMin", "exports", "module", "fs", "polyfills", "legacy", "clone", "util", "gracefulQueue", "previousSymbol", "noop", "publishQueue", "context", "queue", "debug", "m", "fs$close", "close", "fd", "cb", "err", "resetQueue", "fs$closeSync", "closeSync", "patch", "createReadStream", "createWriteStream", "fs$readFile", "readFile", "path", "options", "go$readFile", "startTime", "enqueue", "fs$writeFile", "writeFile", "data", "go$writeFile", "fs$appendFile", "appendFile", "go$appendFile", "fs$copyFile", "copyFile", "src", "dest", "flags", "go$copyFile", "fs$readdir", "readdir", "noReaddirOptionVersions", "go$readdir", "fs$readdirCallback", "files", "legStreams", "ReadStream", "WriteStream", "fs$ReadStream", "ReadStream$open", "fs$WriteStream", "WriteStream$open", "val", "FileReadStream", "FileWriteStream", "that", "open", "fs$open", "mode", "go$open", "elem", "retry", "retryTimer", "now", "i", "fn", "args", "lastTime", "sinceAttempt", "sinceStart", "desiredDelay", "require_fs", "__commonJSMin", "exports", "u", "fs", "api", "key", "method", "filename", "callback", "resolve", "fd", "buffer", "offset", "length", "position", "reject", "err", "bytesRead", "args", "bytesWritten", "buffers", "require_utils", "__commonJSMin", "exports", "module", "path", "pth", "error", "require_make_dir", "__commonJSMin", "exports", "module", "fs", "checkPath", "getMode", "options", "defaults", "dir", "require_mkdirs", "__commonJSMin", "exports", "module", "u", "_makeDir", "makeDirSync", "makeDir", "require_path_exists", "__commonJSMin", "exports", "module", "u", "fs", "pathExists", "path", "require_utimes", "__commonJSMin", "exports", "module", "fs", "u", "utimesMillis", "path", "atime", "mtime", "fd", "closeErr", "e", "utimesMillisSync", "require_stat", "__commonJSMin", "exports", "module", "fs", "path", "u", "getStats", "src", "dest", "opts", "statFunc", "file", "err", "srcStat", "destStat", "getStatsSync", "checkPaths", "funcName", "areIdentical", "srcBaseName", "destBaseName", "isSrcSubdir", "errMsg", "checkPathsSync", "checkParentPaths", "srcParent", "destParent", "checkParentPathsSync", "srcArr", "i", "destArr", "cur", "require_copy", "__commonJSMin", "exports", "module", "fs", "path", "mkdirs", "pathExists", "utimesMillis", "stat", "copy", "src", "dest", "opts", "srcStat", "destStat", "runFilter", "destParent", "getStatsAndPerformCopy", "onDir", "onFile", "onLink", "copyFile", "fileIsNotWritable", "makeFileWritable", "updatedSrcStat", "srcMode", "items", "item", "srcItem", "destItem", "resolvedSrc", "resolvedDest", "e", "require_copy_sync", "__commonJSMin", "exports", "module", "fs", "path", "mkdirsSync", "utimesMillisSync", "stat", "copySync", "src", "dest", "opts", "srcStat", "destStat", "destParent", "getStats", "onDir", "onFile", "onLink", "mayCopyFile", "copyFile", "handleTimestamps", "setDestMode", "srcMode", "fileIsNotWritable", "makeFileWritable", "setDestTimestamps", "updatedSrcStat", "copyDir", "mkDirAndCopy", "item", "copyDirItem", "srcItem", "destItem", "resolvedSrc", "resolvedDest", "err", "copyLink", "require_copy", "__commonJSMin", "exports", "module", "u", "require_remove", "__commonJSMin", "exports", "module", "fs", "u", "remove", "path", "callback", "removeSync", "require_empty", "__commonJSMin", "exports", "module", "u", "fs", "path", "mkdir", "remove", "emptyDir", "dir", "items", "item", "emptyDirSync", "require_file", "__commonJSMin", "exports", "module", "u", "path", "fs", "mkdir", "createFile", "file", "stats", "dir", "dirStats", "err", "createFileSync", "require_link", "__commonJSMin", "exports", "module", "u", "path", "fs", "mkdir", "pathExists", "areIdentical", "createLink", "srcpath", "dstpath", "dstStat", "srcStat", "err", "dir", "createLinkSync", "require_symlink_paths", "__commonJSMin", "exports", "module", "path", "fs", "pathExists", "u", "symlinkPaths", "srcpath", "dstpath", "err", "dstdir", "relativeToDst", "symlinkPathsSync", "require_symlink_type", "__commonJSMin", "exports", "module", "fs", "u", "symlinkType", "srcpath", "type", "stats", "symlinkTypeSync", "require_symlink", "__commonJSMin", "exports", "module", "u", "path", "fs", "mkdirs", "mkdirsSync", "symlinkPaths", "symlinkPathsSync", "symlinkType", "symlinkTypeSync", "pathExists", "areIdentical", "createSymlink", "srcpath", "dstpath", "type", "stats", "srcStat", "dstStat", "relative", "toType", "dir", "createSymlinkSync", "require_ensure", "__commonJSMin", "exports", "module", "createFile", "createFileSync", "createLink", "createLinkSync", "createSymlink", "createSymlinkSync", "require_utils", "__commonJSMin", "exports", "module", "stringify", "obj", "EOL", "finalEOL", "replacer", "spaces", "EOF", "stripBom", "content", "require_jsonfile", "__commonJSMin", "exports", "module", "_fs", "universalify", "stringify", "stripBom", "_readFile", "file", "options", "fs", "shouldThrow", "data", "obj", "err", "readFile", "readFileSync", "content", "_writeFile", "str", "writeFile", "writeFileSync", "jsonfile", "require_jsonfile", "__commonJSMin", "exports", "module", "jsonFile", "require_output_file", "__commonJSMin", "exports", "module", "u", "fs", "path", "mkdir", "pathExists", "outputFile", "file", "data", "encoding", "dir", "outputFileSync", "args", "require_output_json", "__commonJSMin", "exports", "module", "stringify", "outputFile", "outputJson", "file", "data", "options", "str", "require_output_json_sync", "__commonJSMin", "exports", "module", "stringify", "outputFileSync", "outputJsonSync", "file", "data", "options", "str", "require_json", "__commonJSMin", "exports", "module", "u", "jsonFile", "require_move", "__commonJSMin", "exports", "module", "fs", "path", "copy", "remove", "mkdirp", "pathExists", "stat", "move", "src", "dest", "opts", "overwrite", "srcStat", "isChangingCase", "destParent", "doRename", "err", "moveAcrossDevice", "require_move_sync", "__commonJSMin", "exports", "module", "fs", "path", "copySync", "removeSync", "mkdirpSync", "stat", "moveSync", "src", "dest", "opts", "overwrite", "srcStat", "isChangingCase", "isParentRoot", "doRename", "parent", "rename", "err", "moveAcrossDevice", "require_move", "__commonJSMin", "exports", "module", "u", "require_lib", "__commonJSMin", "exports", "module", "run", "arr", "str", "i", "tmp", "beg", "end", "chain", "has", "keys", "ctx", "$", "init", "open", "close", "blk", "txt", "FORCE_COLOR", "NODE_DISABLE_COLORS", "NO_COLOR", "TERM", "isTTY", "kleur_default", "init_kleur", "__esmMin", "require_yocto_queue", "__commonJSMin", "exports", "module", "Node", "value", "Queue", "node", "current", "require_p_limit", "__commonJSMin", "exports", "module", "Queue", "pLimit", "concurrency", "queue", "activeCount", "next", "run", "fn", "resolve", "args", "result", "enqueue", "generator", "require_p_locate", "__commonJSMin", "exports", "module", "pLimit", "EndError", "value", "testElement", "element", "tester", "finder", "values", "pLocate", "iterable", "options", "limit", "items", "checkLimit", "error", "require_locate_path", "__commonJSMin", "exports", "module", "path", "fs", "promisify", "pLocate", "fsStat", "fsLStat", "typeMappings", "checkType", "type", "matchType", "stat", "paths", "options", "statFn", "path_", "require_path_exists", "__commonJSMin", "exports", "module", "fs", "promisify", "pAccess", "path", "require_find_up", "__commonJSMin", "exports", "module", "path", "locatePath", "pathExists", "stop", "name", "options", "directory", "root", "paths", "runMatcher", "locateOptions", "foundPath", "require_pkg_dir", "__commonJSMin", "exports", "module", "path", "findUp", "pkgDir", "cwd", "filePath", "require_package", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "fs", "path", "os", "crypto", "packageJson", "version", "LINE", "parse", "src", "obj", "lines", "match", "key", "value", "maybeQuote", "_parseVault", "options", "vaultPath", "_vaultPath", "result", "DotenvModule", "err", "keys", "_dotenvKey", "length", "decrypted", "i", "attrs", "_instructions", "error", "_log", "message", "_warn", "_debug", "dotenvKey", "uri", "environment", "environmentKey", "ciphertext", "possibleVaultPath", "filepath", "_resolveHome", "envPath", "_configVault", "parsed", "processEnv", "configDotenv", "dotenvPath", "encoding", "debug", "optionPaths", "lastError", "parsedAll", "e", "config", "decrypt", "encrypted", "keyStr", "nonce", "authTag", "aesgcm", "isRange", "invalidKeyLength", "decryptionFailed", "populate", "override", "throwError", "options", "stack", "error", "message", "expected", "hint", "errorColor", "kleur_default", "extraText", "RenderError", "init_errors", "__esmMin", "init_kleur", "LoginError", "NoDomainsFoundError", "NoJSConfigFileFound", "init_errors_data", "__esmMin", "require_validate", "__commonJSMin", "exports", "validateChar", "str", "i", "firstChar", "secondChar", "fixChar", "newStr", "validateSingleChar", "validateName", "initialFirstChar", "initialFirstCharMatch", "initialSecondChar", "initialSecondCharMatch", "start", "fixName", "isUndefined", "val", "require_options", "__commonJSMin", "exports", "validate_1", "StringOptions", "options", "require_escape", "__commonJSMin", "exports", "escapeAmpersands", "str", "escapeLeftAngleBrackets", "escapeRightAngleBracketsInCdataTerminator", "escapeSingleQuotes", "escapeDoubleQuotes", "require_XmlAttributeText", "__commonJSMin", "exports", "error_1", "escape_1", "validate_1", "XmlAttributeText", "parent", "validation", "options", "charData", "str", "require_XmlCharRef", "__commonJSMin", "exports", "error_1", "validate_1", "XmlCharRef", "parent", "validation", "options", "char", "hex", "first", "second", "require_XmlEntityRef", "__commonJSMin", "exports", "error_1", "validate_1", "XmlEntityRef", "parent", "validation", "options", "name", "require_XmlAttribute", "__commonJSMin", "exports", "__importDefault", "mod", "error_1", "escape_1", "options_1", "validate_1", "XmlAttributeText_1", "XmlCharRef_1", "XmlEntityRef_1", "XmlAttribute", "parent", "validation", "options", "name", "charRef", "textNode", "optionsObj", "quote", "str", "_i", "_a", "child", "require_XmlDtdAttlist", "__commonJSMin", "exports", "error_1", "validate_1", "XmlDtdAttlist", "parent", "validation", "options", "charData", "require_XmlDtdElement", "__commonJSMin", "exports", "error_1", "validate_1", "XmlDtdElement", "parent", "validation", "options", "charData", "require_XmlDtdEntity", "__commonJSMin", "exports", "error_1", "validate_1", "XmlDtdEntity", "parent", "validation", "options", "charData", "require_XmlDtdNotation", "__commonJSMin", "exports", "error_1", "validate_1", "XmlDtdNotation", "parent", "validation", "options", "charData", "require_XmlDtdParamEntityRef", "__commonJSMin", "exports", "error_1", "validate_1", "XmlDtdParamEntityRef", "parent", "validation", "options", "name", "require_XmlProcInst", "__commonJSMin", "exports", "error_1", "validate_1", "XmlProcInst", "parent", "validation", "options", "content", "target", "require_XmlDtd", "__commonJSMin", "exports", "__importDefault", "mod", "error_1", "options_1", "validate_1", "XmlComment_1", "XmlDtdAttlist_1", "XmlDtdElement_1", "XmlDtdEntity_1", "XmlDtdNotation_1", "XmlDtdParamEntityRef_1", "XmlProcInst_1", "XmlDtd", "parent", "validation", "options", "name", "pubId", "validatePubId", "sysId", "attlist", "comment", "element", "entity", "notation", "paramEntity", "procInst", "optionsObj", "str", "_i", "_a", "node", "type", "value", "i", "char", "require_XmlCdata", "__commonJSMin", "exports", "error_1", "validate_1", "XmlCdata", "parent", "validation", "options", "charData", "require_XmlCharData", "__commonJSMin", "exports", "error_1", "escape_1", "validate_1", "XmlCharData", "parent", "validation", "options", "charData", "str", "require_XmlElement", "__commonJSMin", "exports", "__importDefault", "mod", "error_1", "options_1", "validate_1", "XmlAttribute_1", "XmlCdata_1", "XmlCharData_1", "XmlCharRef_1", "XmlComment_1", "XmlEntityRef_1", "XmlProcInst_1", "XmlElement", "parent", "validation", "options", "name", "attribute", "cdata", "charDataNode", "charRef", "comment", "element", "entityRef", "procInst", "indent", "optionsObj", "newIndent", "str", "nodes", "_i", "_a", "node", "childStr", "i", "next", "nextStr", "prev", "nodes_1", "require_error", "__commonJSMin", "exports", "__importDefault", "mod", "XmlAttribute_1", "XmlDocument_1", "XmlDtd_1", "XmlElement_1", "getContext", "obj", "require_XmlComment", "__commonJSMin", "exports", "error_1", "validate_1", "XmlComment", "parent", "validation", "options", "charData", "require_XmlDecl", "__commonJSMin", "exports", "error_1", "options_1", "validate_1", "XmlDecl", "parent", "validation", "options", "encoding", "validateEncoding", "standalone", "version", "validateVersion", "optionsObj", "quote", "str", "initialChar", "i", "char", "require_XmlDocument", "__commonJSMin", "exports", "__importDefault", "mod", "options_1", "validate_1", "XmlComment_1", "XmlDecl_1", "XmlDtd_1", "XmlElement_1", "XmlProcInst_1", "XmlDocument", "options", "comment", "declaration", "filteredChildren", "value", "dtd", "element", "procInst", "optionsObj", "str", "_i", "_a", "node", "len", "require_main", "__commonJSMin", "exports", "__importDefault", "mod", "XmlDocument_1", "XmlAttribute_1", "XmlAttributeText_1", "XmlCdata_1", "XmlCharData_1", "XmlCharRef_1", "XmlComment_1", "XmlDecl_1", "XmlDocument_2", "XmlDtd_1", "XmlDtdAttlist_1", "XmlDtdElement_1", "XmlDtdEntity_1", "XmlDtdNotation_1", "XmlDtdParamEntityRef_1", "XmlElement_1", "XmlEntityRef_1", "XmlProcInst_1", "document", "options", "require_utils", "__commonJSMin", "exports", "isUndefined", "val", "isNull", "isObject", "isArray", "isFunction", "isSet", "isMap", "stringify", "value", "require_options", "__commonJSMin", "exports", "utils_1", "Options", "options", "DeclarationOptions", "DtdOptions", "FormatOptions", "TypeHandlers", "WrapHandlers", "declarationOptions", "validation", "dtdOptions", "formatOptions", "typeHandlers", "key", "wrapHandlers", "require_main", "__commonJSMin", "exports", "xmlcreate_1", "options_1", "utils_1", "Absent", "getHandler", "value", "options", "type", "handler", "parseString", "str", "parentElement", "requiresCdata", "s", "cdataStrs", "i", "parseAttribute", "name", "attribute", "parseObjectOrMapEntry", "key", "_i", "_a", "subkey", "subvalue", "parseValue", "element", "parseObjectOrMap", "objectOrMap", "parseArrayOrSet", "arrayOrSet", "arrayNameFunc", "arrayKey", "arrayElement", "arrayNameFuncKey", "item", "parseToExistingElement", "object", "opts", "parse", "root", "document", "rootElement", "require_delayed_stream", "__commonJSMin", "exports", "module", "Stream", "util", "DelayedStream", "source", "options", "delayedStream", "option", "realEmit", "args", "r", "message", "require_combined_stream", "__commonJSMin", "exports", "module", "util", "Stream", "DelayedStream", "CombinedStream", "options", "combinedStream", "option", "stream", "isStreamLike", "newStream", "dest", "getStream", "value", "self", "err", "data", "message", "require_db", "__commonJSMin", "exports", "module", "require_mime_db", "__commonJSMin", "exports", "module", "require_mime_types", "__commonJSMin", "exports", "db", "extname", "EXTRACT_TYPE_REGEXP", "TEXT_TYPE_REGEXP", "charset", "contentType", "extension", "lookup", "populateMaps", "type", "match", "mime", "str", "exts", "path", "extensions", "types", "preference", "i", "from", "to", "require_defer", "__commonJSMin", "exports", "module", "defer", "fn", "nextTick", "require_async", "__commonJSMin", "exports", "module", "defer", "async", "callback", "isAsync", "err", "result", "require_abort", "__commonJSMin", "exports", "module", "abort", "state", "clean", "key", "require_iterate", "__commonJSMin", "exports", "module", "async", "abort", "iterate", "list", "iterator", "state", "callback", "key", "runJob", "error", "output", "item", "aborter", "require_state", "__commonJSMin", "exports", "module", "state", "list", "sortMethod", "isNamedList", "initState", "b", "require_terminator", "__commonJSMin", "exports", "module", "abort", "async", "terminator", "callback", "require_parallel", "__commonJSMin", "exports", "module", "iterate", "initState", "terminator", "parallel", "list", "iterator", "callback", "state", "error", "result", "require_serialOrdered", "__commonJSMin", "exports", "module", "iterate", "initState", "terminator", "serialOrdered", "ascending", "descending", "list", "iterator", "sortMethod", "callback", "state", "iteratorHandler", "error", "result", "a", "b", "require_serial", "__commonJSMin", "exports", "module", "serialOrdered", "serial", "list", "iterator", "callback", "require_asynckit", "__commonJSMin", "exports", "module", "require_es_object_atoms", "__commonJSMin", "exports", "module", "require_es_errors", "__commonJSMin", "exports", "module", "require_eval", "__commonJSMin", "exports", "module", "require_range", "__commonJSMin", "exports", "module", "require_ref", "__commonJSMin", "exports", "module", "require_syntax", "__commonJSMin", "exports", "module", "require_type", "__commonJSMin", "exports", "module", "require_uri", "__commonJSMin", "exports", "module", "require_abs", "__commonJSMin", "exports", "module", "require_floor", "__commonJSMin", "exports", "module", "require_max", "__commonJSMin", "exports", "module", "require_min", "__commonJSMin", "exports", "module", "require_pow", "__commonJSMin", "exports", "module", "require_round", "__commonJSMin", "exports", "module", "require_isNaN", "__commonJSMin", "exports", "module", "a", "require_sign", "__commonJSMin", "exports", "module", "$isNaN", "number", "require_gOPD", "__commonJSMin", "exports", "module", "require_gopd", "__commonJSMin", "exports", "module", "$gOPD", "require_es_define_property", "__commonJSMin", "exports", "module", "$defineProperty", "require_shams", "__commonJSMin", "exports", "module", "obj", "sym", "symObj", "symVal", "_", "syms", "descriptor", "require_has_symbols", "__commonJSMin", "exports", "module", "origSymbol", "hasSymbolSham", "require_Reflect_getPrototypeOf", "__commonJSMin", "exports", "module", "require_Object_getPrototypeOf", "__commonJSMin", "exports", "module", "$Object", "require_implementation", "__commonJSMin", "exports", "module", "ERROR_MESSAGE", "toStr", "max", "funcType", "concatty", "a", "b", "arr", "i", "j", "slicy", "arrLike", "offset", "joiny", "joiner", "str", "that", "target", "args", "bound", "binder", "result", "boundLength", "boundArgs", "Empty", "require_function_bind", "__commonJSMin", "exports", "module", "implementation", "require_functionCall", "__commonJSMin", "exports", "module", "require_functionApply", "__commonJSMin", "exports", "module", "require_reflectApply", "__commonJSMin", "exports", "module", "require_actualApply", "__commonJSMin", "exports", "module", "bind", "$apply", "$call", "$reflectApply", "require_call_bind_apply_helpers", "__commonJSMin", "exports", "module", "bind", "$TypeError", "$call", "$actualApply", "args", "require_get", "__commonJSMin", "exports", "module", "callBind", "gOPD", "hasProtoAccessor", "desc", "$Object", "$getPrototypeOf", "value", "require_get_proto", "__commonJSMin", "exports", "module", "reflectGetProto", "originalGetProto", "getDunderProto", "O", "require_hasown", "__commonJSMin", "exports", "module", "call", "$hasOwn", "bind", "require_get_intrinsic", "__commonJSMin", "exports", "module", "undefined", "$Object", "$Error", "$EvalError", "$RangeError", "$ReferenceError", "$SyntaxError", "$TypeError", "$URIError", "abs", "floor", "max", "min", "pow", "round", "sign", "$Function", "getEvalledConstructor", "expressionSyntax", "$gOPD", "$defineProperty", "throwTypeError", "ThrowTypeError", "hasSymbols", "getProto", "$ObjectGPO", "$ReflectGPO", "$apply", "$call", "needsEval", "TypedArray", "INTRINSICS", "errorProto", "doEval", "name", "value", "fn", "gen", "LEGACY_ALIASES", "bind", "hasOwn", "$concat", "$spliceApply", "$replace", "$strSlice", "$exec", "rePropName", "reEscapeChar", "stringToPath", "string", "first", "last", "result", "match", "number", "quote", "subString", "getBaseIntrinsic", "allowMissing", "intrinsicName", "alias", "parts", "intrinsicBaseName", "intrinsic", "intrinsicRealName", "skipFurtherCaching", "i", "isOwn", "part", "desc", "require_shams", "__commonJSMin", "exports", "module", "hasSymbols", "require_es_set_tostringtag", "__commonJSMin", "exports", "module", "GetIntrinsic", "$defineProperty", "hasToStringTag", "hasOwn", "$TypeError", "toStringTag", "object", "value", "overrideIfSet", "nonConfigurable", "require_populate", "__commonJSMin", "exports", "module", "dst", "src", "prop", "require_form_data", "__commonJSMin", "exports", "module", "CombinedStream", "util", "path", "http", "https", "parseUrl", "fs", "Stream", "mime", "asynckit", "setToStringTag", "hasOwn", "populate", "FormData", "options", "option", "field", "value", "append", "header", "footer", "valueLength", "callback", "err", "stat", "fileSize", "response", "contentDisposition", "contentType", "contents", "headers", "prop", "filename", "next", "lastPart", "userHeaders", "formHeaders", "boundary", "dataBuffer", "i", "len", "knownLength", "hasKnownLength", "cb", "values", "length", "params", "request", "defaults", "onResponse", "error", "responce", "require_proxy_from_env", "__commonJSMin", "exports", "parseUrl", "DEFAULT_PORTS", "stringEndsWith", "s", "getProxyForUrl", "url", "parsedUrl", "proto", "hostname", "port", "shouldProxy", "proxy", "getEnv", "NO_PROXY", "parsedProxy", "parsedProxyHostname", "parsedProxyPort", "key", "require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "ns", "matchesTemplate", "search", "template", "searchIndex", "templateIndex", "starIndex", "matchIndex", "name", "skip", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "m", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "require_has_flag", "__commonJSMin", "exports", "module", "flag", "argv", "prefix", "position", "terminatorPosition", "require_supports_color", "__commonJSMin", "exports", "module", "os", "tty", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "haveStream", "streamIsTTY", "min", "osRelease", "sign", "version", "getSupportLevel", "stream", "require_node", "__commonJSMin", "exports", "module", "tty", "util", "init", "log", "formatArgs", "save", "load", "useColors", "supportsColor", "key", "obj", "prop", "_", "k", "val", "args", "name", "c", "colorCode", "prefix", "getDate", "namespaces", "debug", "keys", "i", "formatters", "v", "str", "require_src", "__commonJSMin", "exports", "module", "require_debug", "__commonJSMin", "exports", "module", "debug", "require_follow_redirects", "__commonJSMin", "exports", "module", "url", "URL", "http", "https", "Writable", "assert", "debug", "looksLikeNode", "looksLikeBrowser", "looksLikeV8", "isFunction", "useNativeURL", "error", "preservedUrlFields", "events", "eventHandlers", "event", "arg1", "arg2", "arg3", "InvalidUrlError", "createErrorType", "RedirectionError", "TooManyRedirectsError", "MaxBodyLengthExceededError", "WriteAfterEndError", "destroy", "noop", "RedirectableRequest", "options", "responseCallback", "self", "response", "cause", "destroyRequest", "data", "encoding", "callback", "isString", "isBuffer", "currentRequest", "name", "value", "msecs", "destroyOnTimeout", "socket", "startTimer", "clearTimer", "method", "a", "b", "property", "searchPos", "protocol", "nativeProtocol", "scheme", "request", "i", "buffers", "writeNext", "buffer", "statusCode", "location", "requestHeaders", "beforeRedirect", "removeMatchingHeaders", "currentHostHeader", "currentUrlParts", "parseUrl", "currentHost", "currentUrl", "redirectUrl", "resolveUrl", "spreadUrlObject", "isSubdomain", "responseDetails", "requestDetails", "wrap", "protocols", "nativeProtocols", "wrappedProtocol", "input", "isURL", "validateUrl", "get", "wrappedRequest", "parsed", "relative", "base", "urlObject", "target", "spread", "key", "regex", "headers", "lastValue", "header", "code", "message", "baseClass", "CustomError", "properties", "subdomain", "domain", "dot", "resolveComponentsPath", "customPath", "isComponentLibrary", "path", "pkgDir", "getComponentsJSConfig", "jsConfigPath", "findUp", "getComponentsLibAliases", "xsConfig", "throwError", "NoJSConfigFileFound", "currentAlias", "pathKey", "aliasKey", "pathAtJsConfig", "relativePathToDir", "absolutePath", "import_node_path", "import_find_up", "import_pkg_dir", "componentLibraryPathAlias", "init_instance", "__esmMin", "init_errors", "init_errors_data", "cx_config_exports", "__export", "cx_config_default", "import_node_path", "import_pkg_dir", "REPO_ROOT_DIR", "CX_ROOT_DIR", "SSG_DIR", "CX_CACHE_DIR", "COMPONENTS_DIR", "EXPORTS_DIR", "griddoVersion", "config", "init_cx_config", "__esmMin", "init_instance", "pkgDir", "path", "resolveComponentsPath", "domain", "import_node_fs", "import_node_path", "init_kleur", "FORCE_COLOR", "NODE_DISABLE_COLORS", "NO_COLOR", "TERM", "isTTY", "$", "init", "x", "y", "rgx", "open", "close", "txt", "reset", "bold", "dim", "italic", "underline", "inverse", "hidden", "strikethrough", "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "gray", "grey", "bgBlack", "bgRed", "bgGreen", "bgYellow", "bgBlue", "bgMagenta", "bgCyan", "bgWhite", "import_pkg_dir", "import_dotenv", "dotenv", "GRIDDO_API_URL", "GRIDDO_PUBLIC_API_URL", "GRIDDO_BOT_USER", "GRIDDO_BOT_PASSWORD", "GRIDDO_API_CONCURRENCY_COUNT", "GRIDDO_RENDER_ALL_SITES", "isTruthy", "GRIDDO_RENDER_SITE", "GRIDDO_RENDER_PAGES", "item", "GRIDDO_SKIP_BUILD_CHECKS", "GRIDDO_DEBUG_LOGS", "GRIDDO_BUILD_LOGS", "GRIDDO_RENDER_BREAKPOINTS_FEATURE", "GRIDDO_SSG_VERBOSE_LOGS", "GRIDDO_SEARCH_FEATURE", "GRIDDO_ASSET_PREFIX", "GRIDDO_REACT_APP_INSTANCE", "GRIDDO_AI_EMBEDDINGS", "GRIDDO_VERBOSE_LOGS", "GRIDDO_ALERT_FEATURE", "GRIDDO_API_MAX_RESPONSE_SIZE", "GRIDDO_SSG_MAX_PAGE_SIZE", "GRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_FIXTURES_DOMAIN_NAMES", "GRIDDO_FIXTURES_SITE_NAMES", "WITH_URI", "GRIDDO_API_URL", "AI_EMBEDDINGS", "ALERT", "GRIDDO_PUBLIC_API_URL", "DOMAINS", "GET_ALL", "GET_PAGE", "LOGIN", "RESET_RENDER", "ROBOTS", "SEARCH", "SETTINGS", "BUILD_END", "BUILD_START", "GET_PAGES", "GET_REFERENCE_FIELD_DATA", "GET_SITEMAP", "INFO", "LANGUAGES", "SOCIALS", "endpoints", "ALERT", "AI_EMBEDDINGS", "BUILD_END", "BUILD_START", "DOMAINS", "GET_ALL", "GET_PAGE", "GET_PAGES", "GET_REFERENCE_FIELD_DATA", "GET_SITEMAP", "INFO", "LANGUAGES", "LOGIN", "RESET_RENDER", "ROBOTS", "SEARCH", "SETTINGS", "SOCIALS", "envs", "GRIDDO_AI_EMBEDDINGS", "GRIDDO_ALERT_FEATURE", "GRIDDO_API_CONCURRENCY_COUNT", "GRIDDO_API_MAX_RESPONSE_SIZE", "GRIDDO_API_URL", "GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_ASSET_PREFIX", "GRIDDO_BOT_PASSWORD", "GRIDDO_BOT_USER", "GRIDDO_BUILD_LOGS", "GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_DEBUG_LOGS", "GRIDDO_FIXTURES_DOMAIN_NAMES", "GRIDDO_FIXTURES_SITE_NAMES", "GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_PUBLIC_API_URL", "GRIDDO_REACT_APP_INSTANCE", "GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_RENDER_ALL_SITES", "GRIDDO_RENDER_BREAKPOINTS_FEATURE", "GRIDDO_RENDER_PAGES", "GRIDDO_RENDER_SITE", "GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_SEARCH_FEATURE", "GRIDDO_SKIP_BUILD_CHECKS", "GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS", "GRIDDO_SSG_MAX_PAGE_SIZE", "GRIDDO_SSG_VERBOSE_LOGS", "GRIDDO_VERBOSE_LOGS", "init_errors", "init_errors", "init_kleur", "verboseLog", "str", "envs", "kleur_default", "buildLog", "str", "envs", "infoLog", "kleur_default", "successLog", "init_errors_data", "config", "getConfig", "import_js2xmlparser", "init_errors", "init_errors_data", "config", "getConfig", "init_errors", "init_errors_data", "AuthService", "response", "endpoints", "envs", "token", "e", "throwError", "LoginError", "authService", "bind", "fn", "thisArg", "toString", "getPrototypeOf", "kindOf", "cache", "thing", "str", "kindOfTest", "type", "typeOfTest", "isArray", "isUndefined", "isBuffer", "val", "isFunction", "isArrayBuffer", "isArrayBufferView", "result", "isString", "isNumber", "isObject", "isBoolean", "isPlainObject", "prototype", "isDate", "isFile", "isBlob", "isFileList", "isStream", "isFormData", "kind", "isURLSearchParams", "isReadableStream", "isRequest", "isResponse", "isHeaders", "trim", "forEach", "obj", "fn", "allOwnKeys", "l", "keys", "len", "key", "findKey", "_key", "_global", "isContextDefined", "context", "merge", "caseless", "assignValue", "targetKey", "extend", "a", "b", "thisArg", "bind", "stripBOM", "content", "inherits", "constructor", "superConstructor", "props", "descriptors", "toFlatObject", "sourceObj", "destObj", "filter", "propFilter", "i", "prop", "merged", "endsWith", "searchString", "position", "lastIndex", "toArray", "arr", "isTypedArray", "TypedArray", "forEachEntry", "iterator", "pair", "matchAll", "regExp", "matches", "isHTMLForm", "toCamelCase", "m", "p1", "p2", "hasOwnProperty", "isRegExp", "reduceDescriptors", "reducer", "reducedDescriptors", "descriptor", "name", "ret", "freezeMethods", "value", "toObjectSet", "arrayOrString", "delimiter", "define", "noop", "toFiniteNumber", "defaultValue", "ALPHA", "DIGIT", "ALPHABET", "generateString", "size", "alphabet", "length", "isSpecCompliantForm", "toJSONObject", "stack", "visit", "source", "target", "reducedValue", "isAsyncFn", "isThenable", "_setImmediate", "setImmediateSupported", "postMessageSupported", "token", "callbacks", "data", "cb", "asap", "utils_default", "AxiosError", "message", "code", "config", "request", "response", "utils_default", "prototype", "descriptors", "error", "customProps", "axiosError", "obj", "prop", "AxiosError_default", "import_form_data", "FormData_default", "FormData", "isVisitable", "thing", "utils_default", "removeBrackets", "key", "renderKey", "path", "dots", "token", "i", "isFlatArray", "arr", "predicates", "prop", "toFormData", "obj", "formData", "options", "FormData_default", "option", "source", "metaTokens", "visitor", "defaultVisitor", "indexes", "useBlob", "convertValue", "value", "AxiosError_default", "el", "index", "stack", "exposedHelpers", "build", "toFormData_default", "encode", "str", "charMap", "match", "AxiosURLSearchParams", "params", "options", "toFormData_default", "prototype", "name", "value", "encoder", "_encode", "pair", "AxiosURLSearchParams_default", "encode", "val", "buildURL", "url", "params", "options", "_encode", "utils_default", "serializeFn", "serializedParams", "AxiosURLSearchParams_default", "hashmarkIndex", "InterceptorManager", "fulfilled", "rejected", "options", "id", "fn", "utils_default", "h", "InterceptorManager_default", "transitional_default", "import_url", "URLSearchParams_default", "url", "node_default", "URLSearchParams_default", "FormData_default", "utils_exports", "__export", "hasBrowserEnv", "hasStandardBrowserEnv", "hasStandardBrowserWebWorkerEnv", "_navigator", "origin", "platform_default", "utils_exports", "node_default", "toURLEncodedForm", "data", "options", "toFormData_default", "platform_default", "value", "key", "path", "helpers", "utils_default", "parsePropPath", "name", "utils_default", "match", "arrayToObject", "arr", "obj", "keys", "len", "key", "formDataToJSON", "formData", "buildPath", "path", "value", "target", "index", "isNumericKey", "isLast", "formDataToJSON_default", "stringifySafely", "rawValue", "parser", "encoder", "utils_default", "e", "defaults", "transitional_default", "data", "headers", "contentType", "hasJSONContentType", "isObjectPayload", "formDataToJSON_default", "isFileList", "toURLEncodedForm", "_FormData", "toFormData_default", "transitional", "forcedJSONParsing", "JSONRequested", "strictJSONParsing", "AxiosError_default", "platform_default", "status", "method", "defaults_default", "ignoreDuplicateOf", "utils_default", "parseHeaders_default", "rawHeaders", "parsed", "key", "val", "i", "line", "$internals", "normalizeHeader", "header", "normalizeValue", "value", "utils_default", "parseTokens", "str", "tokens", "tokensRE", "match", "isValidHeaderName", "matchHeaderValue", "context", "filter", "isHeaderNameFilter", "formatHeader", "w", "char", "buildAccessors", "obj", "accessorName", "methodName", "arg1", "arg2", "arg3", "AxiosHeaders", "headers", "valueOrRewrite", "rewrite", "self", "setHeader", "_value", "_header", "_rewrite", "lHeader", "key", "setHeaders", "parseHeaders_default", "parser", "matcher", "deleted", "deleteHeader", "keys", "format", "normalized", "targets", "asStrings", "thing", "first", "computed", "target", "accessors", "prototype", "defineAccessor", "mapped", "headerValue", "AxiosHeaders_default", "transformData", "fns", "response", "config", "defaults_default", "context", "headers", "AxiosHeaders_default", "data", "utils_default", "fn", "isCancel", "value", "CanceledError", "message", "config", "request", "AxiosError_default", "utils_default", "CanceledError_default", "settle", "resolve", "reject", "response", "validateStatus", "AxiosError_default", "isAbsoluteURL", "url", "combineURLs", "baseURL", "relativeURL", "buildFullPath", "baseURL", "requestedURL", "isAbsoluteURL", "combineURLs", "import_proxy_from_env", "import_http", "import_https", "import_util", "import_follow_redirects", "import_zlib", "VERSION", "parseProtocol", "url", "match", "DATA_URL_PATTERN", "fromDataURI", "uri", "asBlob", "options", "_Blob", "platform_default", "protocol", "parseProtocol", "match", "AxiosError_default", "mime", "isBase64", "body", "buffer", "import_stream", "import_stream", "kInternals", "AxiosTransformStream", "stream", "options", "utils_default", "prop", "source", "internals", "event", "size", "chunk", "encoding", "callback", "maxRate", "readableHighWaterMark", "timeWindow", "divider", "bytesThreshold", "minChunkSize", "pushChunk", "_chunk", "_callback", "bytes", "transformChunk", "chunkSize", "chunkRemainder", "maxChunkSize", "bytesLeft", "passed", "now", "transformNextChunk", "err", "AxiosTransformStream_default", "import_events", "import_util", "import_stream", "asyncIterator", "readBlob", "blob", "readBlob_default", "BOUNDARY_ALPHABET", "utils_default", "textEncoder", "util", "CRLF", "CRLF_BYTES", "CRLF_BYTES_COUNT", "FormDataPart", "name", "value", "escapeName", "isStringValue", "headers", "readBlob_default", "match", "formDataToStream", "form", "headersHandler", "options", "tag", "size", "boundary", "boundaryBytes", "footerBytes", "contentLength", "parts", "part", "computedHeaders", "formDataToStream_default", "import_stream", "ZlibHeaderTransformStream", "stream", "chunk", "encoding", "callback", "header", "ZlibHeaderTransformStream_default", "callbackify", "fn", "reducer", "utils_default", "args", "cb", "value", "err", "callbackify_default", "speedometer", "samplesCount", "min", "bytes", "timestamps", "head", "tail", "firstSampleTS", "chunkLength", "now", "startedAt", "i", "bytesCount", "passed", "speedometer_default", "throttle", "fn", "freq", "timestamp", "threshold", "lastArgs", "timer", "invoke", "args", "now", "passed", "throttle_default", "progressEventReducer", "listener", "isDownloadStream", "freq", "bytesNotified", "_speedometer", "speedometer_default", "throttle_default", "e", "loaded", "total", "progressBytes", "rate", "inRange", "data", "progressEventDecorator", "throttled", "lengthComputable", "asyncDecorator", "fn", "args", "utils_default", "zlibOptions", "zlib", "brotliOptions", "isBrotliSupported", "utils_default", "httpFollow", "httpsFollow", "followRedirects", "isHttps", "supportedProtocols", "platform_default", "protocol", "flushOnFinish", "stream", "throttled", "flush", "dispatchBeforeRedirect", "options", "responseDetails", "setProxy", "configProxy", "location", "proxy", "proxyUrl", "proxyFromEnv", "base64", "proxyHost", "redirectOptions", "isHttpAdapterSupported", "wrapAsync", "asyncExecutor", "resolve", "reject", "onDone", "isDone", "done", "value", "isRejected", "_resolve", "_reject", "reason", "onDoneHandler", "resolveFamily", "address", "family", "buildAddressEntry", "http_default", "config", "data", "lookup", "responseType", "responseEncoding", "method", "rejected", "req", "_lookup", "callbackify_default", "hostname", "opt", "cb", "err", "arg0", "arg1", "addresses", "addr", "emitter", "onFinished", "abort", "CanceledError_default", "fullPath", "buildFullPath", "parsed", "convertedData", "settle", "fromDataURI", "AxiosError_default", "AxiosHeaders_default", "headers", "VERSION", "onUploadProgress", "onDownloadProgress", "maxRate", "maxUploadRate", "maxDownloadRate", "userBoundary", "formDataToStream_default", "formHeaders", "knownLength", "util", "readBlob_default", "contentLength", "AxiosTransformStream_default", "progressEventDecorator", "progressEventReducer", "asyncDecorator", "auth", "username", "password", "urlUsername", "urlPassword", "path", "buildURL", "customErr", "transport", "isHttpsRequest", "https", "http", "res", "streams", "responseLength", "transformStream", "responseStream", "lastRequest", "ZlibHeaderTransformStream_default", "offListeners", "response", "responseBuffer", "totalResponseBytes", "chunk", "responseData", "socket", "timeout", "timeoutErrorMessage", "transitional", "transitional_default", "ended", "errored", "isURLSameOrigin_default", "platform_default", "origin", "isMSIE", "url", "cookies_default", "platform_default", "name", "value", "expires", "path", "domain", "secure", "cookie", "utils_default", "match", "headersToObject", "thing", "AxiosHeaders_default", "mergeConfig", "config1", "config2", "config", "getMergedValue", "target", "source", "prop", "caseless", "utils_default", "mergeDeepProperties", "a", "b", "valueFromConfig2", "defaultToConfig2", "mergeDirectKeys", "mergeMap", "merge", "configValue", "resolveConfig_default", "config", "newConfig", "mergeConfig", "data", "withXSRFToken", "xsrfHeaderName", "xsrfCookieName", "headers", "auth", "AxiosHeaders_default", "buildURL", "buildFullPath", "contentType", "utils_default", "platform_default", "type", "tokens", "token", "isURLSameOrigin_default", "xsrfValue", "cookies_default", "isXHRAdapterSupported", "xhr_default", "config", "resolve", "reject", "_config", "resolveConfig_default", "requestData", "requestHeaders", "AxiosHeaders_default", "responseType", "onUploadProgress", "onDownloadProgress", "onCanceled", "uploadThrottled", "downloadThrottled", "flushUpload", "flushDownload", "done", "request", "onloadend", "responseHeaders", "response", "settle", "value", "err", "AxiosError_default", "timeoutErrorMessage", "transitional", "transitional_default", "utils_default", "val", "key", "progressEventReducer", "cancel", "CanceledError_default", "protocol", "parseProtocol", "platform_default", "composeSignals", "signals", "timeout", "length", "controller", "aborted", "onabort", "reason", "unsubscribe", "err", "AxiosError_default", "CanceledError_default", "timer", "signal", "utils_default", "composeSignals_default", "streamChunk", "chunk", "chunkSize", "len", "pos", "end", "readBytes", "iterable", "readStream", "stream", "reader", "done", "value", "trackStream", "onProgress", "onFinish", "iterator", "bytes", "_onFinish", "e", "controller", "loadedBytes", "err", "reason", "isFetchSupported", "isReadableStreamSupported", "encodeText", "encoder", "str", "test", "fn", "args", "supportsRequestStream", "duplexAccessed", "hasContentType", "platform_default", "DEFAULT_CHUNK_SIZE", "supportsResponseStream", "utils_default", "resolvers", "res", "type", "_", "config", "AxiosError_default", "getBodyLength", "body", "resolveBodyLength", "headers", "length", "fetch_default", "url", "method", "data", "signal", "cancelToken", "timeout", "onDownloadProgress", "onUploadProgress", "responseType", "withCredentials", "fetchOptions", "resolveConfig_default", "composedSignal", "composeSignals_default", "request", "unsubscribe", "requestContentLength", "_request", "contentTypeHeader", "onProgress", "flush", "progressEventDecorator", "progressEventReducer", "asyncDecorator", "trackStream", "isCredentialsSupported", "response", "isStreamResponse", "options", "prop", "responseContentLength", "responseData", "resolve", "reject", "settle", "AxiosHeaders_default", "err", "knownAdapters", "http_default", "xhr_default", "fetch_default", "utils_default", "fn", "value", "renderReason", "reason", "isResolvedHandle", "adapter", "adapters_default", "adapters", "length", "nameOrAdapter", "rejectedReasons", "i", "id", "AxiosError_default", "reasons", "state", "s", "throwIfCancellationRequested", "config", "CanceledError_default", "dispatchRequest", "AxiosHeaders_default", "transformData", "adapters_default", "defaults_default", "response", "reason", "isCancel", "validators", "type", "i", "thing", "deprecatedWarnings", "validator", "version", "message", "formatMessage", "opt", "desc", "VERSION", "value", "opts", "AxiosError_default", "correctSpelling", "assertOptions", "options", "schema", "allowUnknown", "keys", "result", "validator_default", "validators", "validator_default", "Axios", "instanceConfig", "InterceptorManager_default", "configOrUrl", "config", "err", "dummy", "stack", "mergeConfig", "transitional", "paramsSerializer", "headers", "utils_default", "contextHeaders", "method", "AxiosHeaders_default", "requestInterceptorChain", "synchronousRequestInterceptors", "interceptor", "responseInterceptorChain", "promise", "i", "len", "chain", "dispatchRequest", "newConfig", "onFulfilled", "onRejected", "error", "fullPath", "buildFullPath", "buildURL", "url", "generateHTTPMethod", "isForm", "data", "Axios_default", "CancelToken", "_CancelToken", "executor", "resolvePromise", "resolve", "token", "cancel", "i", "onfulfilled", "_resolve", "promise", "message", "config", "request", "CanceledError_default", "listener", "index", "controller", "abort", "err", "c", "CancelToken_default", "spread", "callback", "arr", "isAxiosError", "payload", "utils_default", "HttpStatusCode", "key", "value", "HttpStatusCode_default", "createInstance", "defaultConfig", "context", "Axios_default", "instance", "bind", "utils_default", "instanceConfig", "mergeConfig", "axios", "defaults_default", "CanceledError_default", "CancelToken_default", "isCancel", "VERSION", "toFormData_default", "AxiosError_default", "promises", "spread", "isAxiosError", "AxiosHeaders_default", "thing", "formDataToJSON_default", "adapters_default", "HttpStatusCode_default", "axios_default", "Axios", "AxiosError", "CanceledError", "isCancel", "CancelToken", "VERSION", "all", "Cancel", "isAxiosError", "spread", "toFormData", "AxiosHeaders", "HttpStatusCode", "formToJSON", "getAdapter", "mergeConfig", "axios_default", "import_dotenv", "init_kleur", "import_node_crypto", "import_node_fs", "import_node_path", "import_fs_extra", "config", "getConfig", "generateFilenameWithHash", "petition", "__cx", "config", "apiCacheDir", "path", "hashSum", "crypto", "saveCache", "petition", "content", "stringContent", "filename", "generateFilenameWithHash", "filepath", "path", "fs", "searchCacheData", "file", "fsx", "MemoryRegister", "entries", "name", "entry", "Register", "strategy", "name", "entry", "entries", "register", "Register", "MemoryRegister", "api_default", "entries", "register", "Register", "MemoryRegister", "dotenv", "RETRY_WAIT_SECONDS", "RETRY_ATTEMPTS", "requestAPI", "props", "method", "appendToLog", "endpoint", "body", "cacheKey", "attempt", "headers", "useApiCacheDir", "cacheOptions", "start", "cacheData", "searchCacheData", "siteId", "getSafeSiteId", "siteIdMsg", "duration", "msToSec", "buildLog", "data", "responseHeaders", "axios_default", "authService", "saveCache", "envs", "responseSize", "api_default", "e", "error", "showApiError", "delay", "getApi", "showApiError", "error", "options", "response", "message", "stack", "callInfo", "status", "statusText", "data", "callInfoArray", "item", "callInfoStr", "apiResponseStr", "errorDetailsStr", "kleur_default", "getAllSites", "domain", "getApi", "endpoints", "getSiteLanguages", "id", "cacheKey", "prefix", "suffix", "endpoints", "getApi", "config", "getConfig", "getSitesToRender", "domain", "envs", "authService", "allSites", "getAllSites", "validSites", "site", "items", "getSiteLanguages", "item", "sitesToPublish", "sitesToUnpublish", "init_errors_data", "import_node_fs", "import_node_path", "config", "getConfig", "RobotsService", "apiRobots", "getApi", "endpoints", "r", "path", "content", "e", "domain", "__cx", "distDirectory", "robot", "fs", "fileLocation", "verboseLog", "robotsService", "config", "getConfig", "instanceRootDir", "pkgDir", "error", "isTruthy", "value", "number", "delay", "ms", "res", "msToSec", "decimals", "getSafeSiteId", "response", "init_errors", "init_errors_data", "getAllDomains", "getApi", "endpoints", "getInstanceDomains", "authService", "domains", "getAllDomains", "throwError", "NoDomainsFoundError", "verboseLog", "getDomainSlugs", "filteredDomains", "slug", "infoLog", "__cx", "getConfig", "domains", "getInstanceDomains", "domainsInfo", "domainsFilePath", "path", "domain", "sitesToPublish", "getSitesToRender", "pages", "site", "totalPages", "a", "b", "domainSorted", "fs", "successLog", "err"]
7
- }