dd-trace 6.12.0 → 6.14.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 (251) hide show
  1. package/LICENSE-3rdparty.csv +3 -1
  2. package/ci/init.js +8 -3
  3. package/ci/test-optimization-validation/ci-package-scripts.js +2 -2
  4. package/ci/test-optimization-validation/ci-remediation.js +6 -6
  5. package/ci/test-optimization-validation/command-blocker.js +7 -5
  6. package/ci/test-optimization-validation/framework-adapters/cucumber.js +1 -1
  7. package/ci/test-optimization-validation/framework-adapters/cypress.js +9 -11
  8. package/ci/test-optimization-validation/framework-adapters/vitest.js +3 -3
  9. package/ci/test-optimization-validation/package-check.js +1 -1
  10. package/ci/test-optimization-validation/report-writer.js +7 -5
  11. package/ci/test-optimization-validation/scenarios/ci-wiring.js +5 -4
  12. package/ci/vitest-no-worker-init-runner-setup.mjs +8 -0
  13. package/ci/vitest-no-worker-init-setup.mjs +13 -13
  14. package/ci/vitest-no-worker-init-v5-setup.mjs +4 -0
  15. package/index.d.ts +127 -26
  16. package/package.json +22 -19
  17. package/packages/datadog-esbuild/index.js +3 -1
  18. package/packages/datadog-instrumentations/src/bunyan.js +4 -2
  19. package/packages/datadog-instrumentations/src/cypress-config.js +19 -17
  20. package/packages/datadog-instrumentations/src/fs.js +24 -20
  21. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -2
  22. package/packages/datadog-instrumentations/src/graphql.js +16 -16
  23. package/packages/datadog-instrumentations/src/helpers/bunyan.js +12 -3
  24. package/packages/datadog-instrumentations/src/helpers/graphql-jit-runtime.js +504 -0
  25. package/packages/datadog-instrumentations/src/helpers/hooks.js +2 -0
  26. package/packages/datadog-instrumentations/src/helpers/pool-acquire.js +266 -0
  27. package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +1 -2
  28. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +95 -30
  29. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/ai.js +0 -25
  30. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql-jit.js +83 -0
  31. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql.js +85 -1
  32. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -0
  33. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/mercurius.js +30 -12
  34. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/playwright.js +13 -0
  35. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/webdriverio.js +279 -0
  36. package/packages/datadog-instrumentations/src/helpers/rewriter/targets.json +12 -1
  37. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +562 -27
  38. package/packages/datadog-instrumentations/src/jest.js +165 -38
  39. package/packages/datadog-instrumentations/src/knex.js +76 -0
  40. package/packages/datadog-instrumentations/src/mariadb-bundle.js +1597 -0
  41. package/packages/datadog-instrumentations/src/mariadb.js +13 -0
  42. package/packages/datadog-instrumentations/src/mocha/common.js +59 -2
  43. package/packages/datadog-instrumentations/src/mocha/main.js +25 -15
  44. package/packages/datadog-instrumentations/src/mocha/utils.js +2 -1
  45. package/packages/datadog-instrumentations/src/mocha/webdriverio-protocol.js +98 -0
  46. package/packages/datadog-instrumentations/src/mocha/worker.js +12 -8
  47. package/packages/datadog-instrumentations/src/net.js +14 -17
  48. package/packages/datadog-instrumentations/src/next.js +212 -62
  49. package/packages/datadog-instrumentations/src/openai.js +42 -40
  50. package/packages/datadog-instrumentations/src/pg.js +15 -0
  51. package/packages/datadog-instrumentations/src/pino.js +15 -4
  52. package/packages/datadog-instrumentations/src/playwright.js +137 -27
  53. package/packages/datadog-instrumentations/src/rum-browser-scripts.js +40 -0
  54. package/packages/datadog-instrumentations/src/sequelize.js +94 -2
  55. package/packages/datadog-instrumentations/src/undici.js +53 -4
  56. package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +44 -7
  57. package/packages/datadog-instrumentations/src/vitest-main.js +92 -9
  58. package/packages/datadog-instrumentations/src/vitest-worker.js +82 -14
  59. package/packages/datadog-instrumentations/src/webdriverio.js +986 -1
  60. package/packages/datadog-instrumentations/src/winston.js +6 -3
  61. package/packages/datadog-plugin-amqp10/src/consumer.js +3 -1
  62. package/packages/datadog-plugin-amqp10/src/producer.js +3 -1
  63. package/packages/datadog-plugin-amqp10/src/util.js +2 -1
  64. package/packages/datadog-plugin-avsc/src/schema_iterator.js +6 -1
  65. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +16 -5
  66. package/packages/datadog-plugin-cassandra-driver/src/index.js +8 -3
  67. package/packages/datadog-plugin-cucumber/src/index.js +0 -2
  68. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +262 -48
  69. package/packages/datadog-plugin-cypress/src/support.js +1 -0
  70. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +4 -1
  71. package/packages/datadog-plugin-graphql/src/execute.js +998 -196
  72. package/packages/datadog-plugin-graphql/src/index.js +27 -7
  73. package/packages/datadog-plugin-graphql/src/jit.js +136 -0
  74. package/packages/datadog-plugin-graphql/src/request.js +18 -27
  75. package/packages/datadog-plugin-graphql/src/resolve-error.js +108 -0
  76. package/packages/datadog-plugin-graphql/src/tools/signature.js +1 -2
  77. package/packages/datadog-plugin-graphql/src/tools/transforms.js +45 -3
  78. package/packages/datadog-plugin-graphql/src/utils.js +208 -120
  79. package/packages/datadog-plugin-graphql/src/validate.js +10 -23
  80. package/packages/datadog-plugin-http/src/client.js +2 -15
  81. package/packages/datadog-plugin-http2/src/client.js +2 -15
  82. package/packages/datadog-plugin-jest/src/index.js +0 -6
  83. package/packages/datadog-plugin-langchain/src/tracing.js +7 -0
  84. package/packages/datadog-plugin-mocha/src/index.js +403 -75
  85. package/packages/datadog-plugin-mongodb-core/src/query.js +6 -0
  86. package/packages/datadog-plugin-mysql/src/index.js +41 -15
  87. package/packages/datadog-plugin-net/src/tcp.js +3 -1
  88. package/packages/datadog-plugin-next/src/index.js +63 -29
  89. package/packages/datadog-plugin-openai-agents/src/integration.js +15 -11
  90. package/packages/datadog-plugin-playwright/src/index.js +176 -28
  91. package/packages/datadog-plugin-undici/src/index.js +29 -56
  92. package/packages/datadog-plugin-vitest/src/index.js +6 -12
  93. package/packages/dd-trace/src/aiguard/evaluation.js +96 -21
  94. package/packages/dd-trace/src/aiguard/integrations/vercel-ai.js +2 -3
  95. package/packages/dd-trace/src/aiguard/messages/anthropic.js +29 -10
  96. package/packages/dd-trace/src/aiguard/messages/openai.js +8 -1
  97. package/packages/dd-trace/src/aiguard/messages/vercel-ai.js +20 -6
  98. package/packages/dd-trace/src/aiguard/noop.js +9 -1
  99. package/packages/dd-trace/src/aiguard/redaction.js +183 -0
  100. package/packages/dd-trace/src/aiguard/sdk.js +7 -2
  101. package/packages/dd-trace/src/aiguard/tags.js +2 -0
  102. package/packages/dd-trace/src/appsec/api_security/index.js +23 -6
  103. package/packages/dd-trace/src/appsec/api_security/sampler.js +99 -40
  104. package/packages/dd-trace/src/appsec/graphql.js +6 -2
  105. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +3 -3
  106. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -1
  107. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +8 -2
  108. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +11 -36
  109. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/url-sensitive-analyzer.js +1 -1
  110. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +10 -9
  111. package/packages/dd-trace/src/appsec/lambda.js +44 -26
  112. package/packages/dd-trace/src/appsec/rule_manager.js +2 -0
  113. package/packages/dd-trace/src/ci-visibility/encode/json-encoder.js +32 -2
  114. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -8
  115. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +6 -4
  116. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +20 -4
  117. package/packages/dd-trace/src/ci-visibility/exporters/agentless/request-tracker.js +7 -150
  118. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +7 -6
  119. package/packages/dd-trace/src/ci-visibility/exporters/agents.js +54 -0
  120. package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/writer.js +1 -2
  121. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +397 -234
  122. package/packages/dd-trace/src/ci-visibility/exporters/limits.js +9 -0
  123. package/packages/dd-trace/src/ci-visibility/exporters/request.js +323 -31
  124. package/packages/dd-trace/src/ci-visibility/exporters/settings-cache-key.js +42 -0
  125. package/packages/dd-trace/src/ci-visibility/final-flush.js +21 -0
  126. package/packages/dd-trace/src/ci-visibility/requests/fs-cache.js +57 -18
  127. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +0 -3
  128. package/packages/dd-trace/src/ci-visibility/requests/upload-test-screenshot.js +164 -71
  129. package/packages/dd-trace/src/ci-visibility/requests/video-request.js +176 -0
  130. package/packages/dd-trace/src/ci-visibility/telemetry.js +10 -7
  131. package/packages/dd-trace/src/ci-visibility/test-video.js +61 -0
  132. package/packages/dd-trace/src/config/generated-config-types.d.ts +10 -0
  133. package/packages/dd-trace/src/config/index.js +75 -14
  134. package/packages/dd-trace/src/config/parsers.js +11 -1
  135. package/packages/dd-trace/src/config/stable.js +3 -3
  136. package/packages/dd-trace/src/config/supported-configurations.json +47 -2
  137. package/packages/dd-trace/src/crashtracking/crashtracker.js +82 -18
  138. package/packages/dd-trace/src/debugger/config.js +12 -1
  139. package/packages/dd-trace/src/debugger/constants.js +1 -0
  140. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +2 -1
  141. package/packages/dd-trace/src/debugger/devtools_client/request-options.js +33 -0
  142. package/packages/dd-trace/src/debugger/devtools_client/send.js +7 -39
  143. package/packages/dd-trace/src/debugger/devtools_client/status.js +11 -6
  144. package/packages/dd-trace/src/debugger/devtools_client/tags.js +41 -0
  145. package/packages/dd-trace/src/debugger/index.js +23 -3
  146. package/packages/dd-trace/src/dogstatsd.js +532 -71
  147. package/packages/dd-trace/src/encode/0.4-cross-payload.js +170 -0
  148. package/packages/dd-trace/src/encode/0.4.js +5 -5
  149. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +9 -8
  150. package/packages/dd-trace/src/evp_proxy/direct.js +27 -23
  151. package/packages/dd-trace/src/exporters/agent/index.js +24 -3
  152. package/packages/dd-trace/src/exporters/agent/writer.js +28 -11
  153. package/packages/dd-trace/src/exporters/agentless/index.js +7 -9
  154. package/packages/dd-trace/src/exporters/agentless/writer.js +100 -118
  155. package/packages/dd-trace/src/exporters/common/agents.js +28 -6
  156. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
  157. package/packages/dd-trace/src/exporters/common/final-flush-request-tracker.js +191 -0
  158. package/packages/dd-trace/src/exporters/common/request.js +31 -11
  159. package/packages/dd-trace/src/exporters/common/url.js +40 -1
  160. package/packages/dd-trace/src/exporters/common/writer.js +31 -7
  161. package/packages/dd-trace/src/exporters/span-stats/index.js +23 -4
  162. package/packages/dd-trace/src/external-logger/src/index.js +4 -3
  163. package/packages/dd-trace/src/flush.js +105 -0
  164. package/packages/dd-trace/src/id.js +14 -0
  165. package/packages/dd-trace/src/index.js +5 -2
  166. package/packages/dd-trace/src/llmobs/experiments/client.js +4 -0
  167. package/packages/dd-trace/src/llmobs/experiments/dataset.js +52 -2
  168. package/packages/dd-trace/src/llmobs/experiments/experiment.js +420 -105
  169. package/packages/dd-trace/src/llmobs/experiments/index.js +54 -42
  170. package/packages/dd-trace/src/llmobs/experiments/noop.js +39 -8
  171. package/packages/dd-trace/src/llmobs/experiments/result.js +1 -0
  172. package/packages/dd-trace/src/llmobs/experiments/util.js +21 -0
  173. package/packages/dd-trace/src/llmobs/index.js +111 -48
  174. package/packages/dd-trace/src/llmobs/noop.js +2 -1
  175. package/packages/dd-trace/src/llmobs/plugins/ai/ddTelemetry.js +22 -71
  176. package/packages/dd-trace/src/llmobs/plugins/ai/vercelTelemetry.js +23 -13
  177. package/packages/dd-trace/src/llmobs/plugins/anthropic/util.js +8 -4
  178. package/packages/dd-trace/src/llmobs/plugins/claude-agent-sdk/index.js +6 -3
  179. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +7 -0
  180. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +13 -6
  181. package/packages/dd-trace/src/llmobs/plugins/openai-agents/utils.js +5 -7
  182. package/packages/dd-trace/src/llmobs/util.js +0 -33
  183. package/packages/dd-trace/src/llmobs/writers/base.js +106 -53
  184. package/packages/dd-trace/src/log/index.js +7 -1
  185. package/packages/dd-trace/src/log-submission/log-submission-plugin.js +249 -0
  186. package/packages/dd-trace/src/noop/span.js +5 -0
  187. package/packages/dd-trace/src/openfeature/writers/base.js +14 -12
  188. package/packages/dd-trace/src/openfeature/writers/exposures.js +8 -1
  189. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  190. package/packages/dd-trace/src/opentelemetry/logs/batch_log_processor.js +45 -3
  191. package/packages/dd-trace/src/opentelemetry/logs/index.js +9 -25
  192. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +7 -4
  193. package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +14 -4
  194. package/packages/dd-trace/src/opentelemetry/metrics/index.js +18 -23
  195. package/packages/dd-trace/src/opentelemetry/metrics/meter_provider.js +8 -0
  196. package/packages/dd-trace/src/opentelemetry/metrics/otlp_http_metric_exporter.js +18 -6
  197. package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_exporter.js +14 -2
  198. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +25 -5
  199. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +61 -25
  200. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +19 -4
  201. package/packages/dd-trace/src/opentelemetry/resource-attributes.js +55 -0
  202. package/packages/dd-trace/src/opentelemetry/trace/index.js +6 -1
  203. package/packages/dd-trace/src/opentelemetry/trace/otlp_http_trace_exporter.js +10 -0
  204. package/packages/dd-trace/src/opentelemetry/tracer.js +26 -2
  205. package/packages/dd-trace/src/opentracing/propagation/text_map.js +494 -351
  206. package/packages/dd-trace/src/opentracing/span.js +28 -0
  207. package/packages/dd-trace/src/otel-thread-ctx.js +23 -5
  208. package/packages/dd-trace/src/payload-tagging/index.js +2 -1
  209. package/packages/dd-trace/src/plugin_manager.js +2 -0
  210. package/packages/dd-trace/src/plugins/ci_plugin.js +1 -6
  211. package/packages/dd-trace/src/plugins/tracing.js +12 -10
  212. package/packages/dd-trace/src/plugins/util/ci.js +3 -1
  213. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +16 -15
  214. package/packages/dd-trace/src/plugins/util/status-validator.js +98 -0
  215. package/packages/dd-trace/src/plugins/util/test.js +157 -41
  216. package/packages/dd-trace/src/plugins/util/url.js +2 -2
  217. package/packages/dd-trace/src/plugins/util/web.js +6 -74
  218. package/packages/dd-trace/src/profiling/config.js +1 -0
  219. package/packages/dd-trace/src/profiling/oom.js +11 -5
  220. package/packages/dd-trace/src/profiling/profiler.js +30 -13
  221. package/packages/dd-trace/src/profiling/profilers/events.js +3 -3
  222. package/packages/dd-trace/src/profiling/profilers/space.js +38 -11
  223. package/packages/dd-trace/src/profiling/profilers/wall.js +14 -14
  224. package/packages/dd-trace/src/profiling/webspan-utils.js +7 -4
  225. package/packages/dd-trace/src/proxy.js +108 -10
  226. package/packages/dd-trace/src/remote_config/index.js +319 -101
  227. package/packages/dd-trace/src/remote_config/scheduler.js +37 -12
  228. package/packages/dd-trace/src/runtime_metrics/client.js +37 -8
  229. package/packages/dd-trace/src/runtime_metrics/index.js +5 -0
  230. package/packages/dd-trace/src/runtime_metrics/otlp_runtime_metrics.js +10 -1
  231. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +22 -7
  232. package/packages/dd-trace/src/sampling_rule.js +36 -9
  233. package/packages/dd-trace/src/serverless/telemetry-delivery-tracker.js +51 -0
  234. package/packages/dd-trace/src/serverless/vercel.js +155 -0
  235. package/packages/dd-trace/src/serverless.js +45 -21
  236. package/packages/dd-trace/src/service-naming/schemas/util.js +1 -1
  237. package/packages/dd-trace/src/span_stats.js +64 -31
  238. package/packages/dd-trace/src/startup-log.js +3 -2
  239. package/packages/dd-trace/src/telemetry/agentless-url.js +28 -0
  240. package/packages/dd-trace/src/telemetry/send-data.js +18 -16
  241. package/packages/dd-trace/src/telemetry/session-propagation.js +3 -2
  242. package/packages/dd-trace/src/tracer.js +26 -5
  243. package/packages/dd-trace/src/tracer_metadata.js +11 -3
  244. package/packages/dd-trace/src/web-tags-cache.js +67 -13
  245. package/vendor/dist/@datadog/openfeature-node-server/index.js +1 -1
  246. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  247. package/vendor/dist/protobufjs/index.js +1 -1
  248. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  249. package/packages/datadog-instrumentations/src/playwright-browser-scripts.js +0 -27
  250. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +0 -53
  251. package/packages/dd-trace/src/encode/agentless-json.js +0 -209
@@ -1 +1 @@
1
- (()=>{var e={"./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractAssignmentCache=void 0,t.assignmentCacheKeyToString=assignmentCacheKeyToString,t.assignmentCacheValueToString=assignmentCacheValueToString;let r=a("./@datadog/flagging-core/cjs/obfuscation.js");function assignmentCacheKeyToString(e){let t={flag:{key:e.flag.key},subject:{id:e.subject.id,attributes:e.subject.attributes}};return(0,r.getMD5Hash)(JSON.stringify(t))}function assignmentCacheValueToString(e){return(0,r.getMD5Hash)(JSON.stringify(e))}let AbstractAssignmentCache=class AbstractAssignmentCache{constructor(e){this.delegate=e}init(){return Promise.resolve()}has(e){return this.get(e)===assignmentCacheValueToString(e)}get(e){return this.delegate.get(assignmentCacheKeyToString(e))}set(e){this.delegate.set(assignmentCacheKeyToString(e),assignmentCacheValueToString(e))}entries(){return this.delegate.entries()}clear(){this.delegate.clear()}};t.AbstractAssignmentCache=AbstractAssignmentCache},"./@datadog/flagging-core/cjs/cache/index.js"(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||r(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),n(a("./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js"),t),n(a("./@datadog/flagging-core/cjs/cache/lru-in-memory-assignment-cache.js"),t),n(a("./@datadog/flagging-core/cjs/cache/non-expiring-in-memory-cache-assignment.js"),t)},"./@datadog/flagging-core/cjs/cache/lru-cache.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;let LRUCache=class LRUCache{constructor(e){this.capacity=e,this.cache=new Map}entries(){return this.cache.entries()}clear(){this.cache.clear()}delete(e){return this.cache.delete(e)}keys(){return this.cache.keys()}values(){return this.cache.values()}has(e){return this.cache.has(e)}get(e){if(!this.has(e))return;let t=this.cache.get(e);return void 0!==t&&(this.delete(e),this.cache.set(e,t)),t}set(e,t){if(0===this.capacity)return this;if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let e=this.cache.keys().next().value;e&&this.delete(e)}return this.cache.set(e,t),this}};t.LRUCache=LRUCache},"./@datadog/flagging-core/cjs/cache/lru-in-memory-assignment-cache.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUInMemoryAssignmentCache=void 0;let r=a("./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js"),n=a("./@datadog/flagging-core/cjs/cache/lru-cache.js");let LRUInMemoryAssignmentCache=class LRUInMemoryAssignmentCache extends r.AbstractAssignmentCache{constructor(e){super(new n.LRUCache(e))}};t.LRUInMemoryAssignmentCache=LRUInMemoryAssignmentCache},"./@datadog/flagging-core/cjs/cache/non-expiring-in-memory-cache-assignment.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NonExpiringInMemoryAssignmentCache=void 0;let r=a("./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js");let NonExpiringInMemoryAssignmentCache=class NonExpiringInMemoryAssignmentCache extends r.AbstractAssignmentCache{constructor(e=new Map){super(e)}};t.NonExpiringInMemoryAssignmentCache=NonExpiringInMemoryAssignmentCache},"./@datadog/flagging-core/cjs/configuration/configuration.js"(e,t){"use strict";function configMatchesContext(e,t){if(!(null==e?void 0:e.precomputed))return!1;let a=e.precomputed.context;return!a||contextsEqual(a,t)}function contextsEqual(e,t){return objectsEqual(e,t)}function objectsEqual(e,t){let a=Object.keys(e).sort(),r=Object.keys(t).sort();if(a.length!==r.length)return!1;for(let n=0;n<a.length;n++)if(a[n]!==r[n]||!valuesEqual(e[a[n]],t[r[n]]))return!1;return!0}function isRecord(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function valuesEqual(e,t){return e===t||null!=e&&null!=t&&typeof e==typeof t&&(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,a)=>valuesEqual(e,t[a])):!!(isRecord(e)&&isRecord(t))&&objectsEqual(e,t))}Object.defineProperty(t,"__esModule",{value:!0}),t.configMatchesContext=configMatchesContext},"./@datadog/flagging-core/cjs/configuration/exposureEvent.js"(e,t){"use strict";function createExposureEvent(e,t){var a,r;if(!(null==(a=t.flagMetadata)?void 0:a.doLog))return;let n=null==(r=t.flagMetadata)?void 0:r.allocationKey,i=t.variant;if(!n||!i)return;let{targetingKey:o="",...s}=e;return{allocation:{key:n},flag:{key:t.flagKey},variant:{key:i},subject:{id:o,attributes:s}}}Object.defineProperty(t,"__esModule",{value:!0}),t.createExposureEvent=createExposureEvent},"./@datadog/flagging-core/cjs/configuration/exposureEvent.types.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./@datadog/flagging-core/cjs/configuration/flagEvaluationAggregator.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FlagEvaluationAggregator=void 0;let r=a("./@datadog/flagging-core/cjs/obfuscation.js"),n=a("./@datadog/flagging-core/cjs/time.js"),i=a("./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.js");let FlagEvaluationAggregator=class FlagEvaluationAggregator{constructor(e,t){this.aggregatedData=new Map,this.flushInterval=e,this.onFlush=t}start(){this.intervalId=setInterval(()=>{this.flush()},this.flushInterval)}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0),this.flush()}addEvaluation(e,t,a){var r,n;let i=this.createAggregationKeyString(e,t,a),o=getEvaluationTimestamp(t),s=this.aggregatedData.get(i);if(s)s.count++,s.lastEvaluation=o,a&&(s.error=a);else{let s=isRuntimeDefaultUsed(t),l=null==(r=t.flagMetadata)?void 0:r.allocationKey,u=null==(n=t.flagMetadata)?void 0:n.targetingRuleKey,{targetingKey:c,...g}=e;this.aggregatedData.set(i,{flagKey:t.flagKey,variantKey:t.variant,allocationKey:l,targetingRuleKey:u,targetingKey:c,targetingContext:g,count:1,firstEvaluation:o,lastEvaluation:o,runtimeDefaultUsed:s,error:a})}}flush(){if(0===this.aggregatedData.size)return;let e=(0,n.timeStampNow)(),t=Array.from(this.aggregatedData.values()).map(t=>(0,i.createFlagEvaluationEvent)(t,e));this.aggregatedData.clear(),this.onFlush(t)}createAggregationKeyString(e,t,a){var n,i;let o=null==(n=t.flagMetadata)?void 0:n.allocationKey,s=null==(i=t.flagMetadata)?void 0:i.targetingRuleKey,{targetingKey:l,...u}=e;return(0,r.getMD5Hash)(JSON.stringify({flagKey:t.flagKey,variant:t.variant||"",allocationKey:o||"",targetingRuleKey:s||"",targetingKey:l||"",targetingContext:u,error:a||""}))}};function getEvaluationTimestamp(e){var t;let a=null==(t=e.flagMetadata)?void 0:t.__dd_eval_timestamp_ms;return Number.isFinite(a)?a:(0,n.timeStampNow)()}function isRuntimeDefaultUsed(e){return null==e.variant}t.FlagEvaluationAggregator=FlagEvaluationAggregator},"./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.js"(e,t){"use strict";function createFlagEvaluationEvent(e,t){let a={flag:{key:e.flagKey},first_evaluation:e.firstEvaluation,last_evaluation:e.lastEvaluation,evaluation_count:e.count,runtime_default_used:e.runtimeDefaultUsed,timestamp:t};return null!=e.targetingKey&&(a.targeting_key=e.targetingKey),e.error&&(a.error={message:e.error}),e.variantKey&&(a.variant={key:e.variantKey}),e.allocationKey&&(a.allocation={key:e.allocationKey}),e.targetingRuleKey&&(a.targeting_rule={key:e.targetingRuleKey}),e.targetingContext&&Object.keys(e.targetingContext).length>0&&(a.context={evaluation:e.targetingContext}),a}Object.defineProperty(t,"__esModule",{value:!0}),t.createFlagEvaluationEvent=createFlagEvaluationEvent},"./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.types.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./@datadog/flagging-core/cjs/configuration/index.js"(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||r(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),n(a("./@datadog/flagging-core/cjs/configuration/configuration.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/exposureEvent.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/exposureEvent.types.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/flagEvaluationAggregator.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.types.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/wire.js"),t)},"./@datadog/flagging-core/cjs/configuration/wire.js"(e,t){"use strict";function configurationFromString(e){try{let t=JSON.parse(e);if(1!==t.version)return{};let a={};return t.precomputed&&(a.precomputed={...t.precomputed,response:JSON.parse(t.precomputed.response)}),a}catch(e){return{}}}function configurationToString(e){let t={version:1};return e.precomputed&&(t.precomputed={...e.precomputed,response:JSON.stringify(e.precomputed.response)}),JSON.stringify(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.configurationFromString=configurationFromString,t.configurationToString=configurationToString},"./@datadog/flagging-core/cjs/evaluation/errors.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TargetingKeyMissingError=void 0;let TargetingKeyMissingError=class TargetingKeyMissingError extends Error{constructor(){super("Targeting key is required for split evaluation"),this.name="TargetingKeyMissingError"}};t.TargetingKeyMissingError=TargetingKeyMissingError},"./@datadog/flagging-core/cjs/evaluation/evaluateForSubject.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateForSubject=evaluateForSubject,t.containsMatchingRule=containsMatchingRule;let r=a("./@datadog/flagging-core/cjs/time.js"),n=a("./@datadog/flagging-core/cjs/evaluation/errors.js"),i=a("./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js"),o=a("./@datadog/flagging-core/cjs/evaluation/matchesShard.js"),s=a("./@datadog/flagging-core/cjs/evaluation/rules.js"),l=a("./@datadog/flagging-core/cjs/evaluation/ufc-v1.js");function evaluateForSubject(e,t,a,n,o,s,u=(0,r.timeStampNow)()){var c;if(!e.enabled)return s.debug("returning default assignment because flag is disabled",{flagKey:e.key,subjectKey:a}),{value:o,reason:"DISABLED",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)};if(!isValidFlag(e))return s.debug("returning default assignment because flag configuration is invalid",{flagKey:e.key,subjectKey:a}),{value:o,reason:"DEFAULT",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)};if(!validateTypeMatch(t,e.variationType))return s.debug("variant value type mismatch, returning default value",{flagKey:e.key,subjectKey:a,expectedType:t,variantType:e.variationType}),{value:o,reason:"ERROR",errorCode:"TYPE_MISMATCH",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)};let g=new Date(u);for(let t of e.allocations){if(t.startAt&&g<new Date(t.startAt)){s.debug("allocation before start date",{flagKey:e.key,subjectKey:a,allocationKey:t.key,startAt:t.startAt});continue}if(t.endAt&&g>=new Date(t.endAt)){s.debug("allocation after end date",{flagKey:e.key,subjectKey:a,allocationKey:t.key,endAt:t.endAt});continue}if(!containsMatchingRule(t.rules,n,s))continue;let r=selectSplitUsingSharding(t.splits,a,e.key,s);if(r){let n=e.variations[r.variationKey];if(n){s.debug("evaluated a flag",{flagKey:e.key,subjectKey:a,assignment:n.value});let o=(null==(c=t.rules)?void 0:c.length)?"TARGETING_MATCH":r.shards.length?"SPLIT":t.startAt||t.endAt?"DEFAULT":"STATIC";return{value:n.value,reason:o,variant:n.key,flagMetadata:{...(0,i.createEvaluationTimestampMetadata)(u),__dd_allocation_key:t.key,__dd_do_log:!!t.doLog,__dd_split_serial_id:r.serialId,allocationKey:t.key,variationType:(0,l.variantTypeToFlagValueType)(e.variationType),doLog:!!t.doLog}}}}else s.debug("no matching split found for subject",{flagKey:e.key,subjectKey:a,allocationKey:t.key})}return s.debug("returning default assignment because no allocation matched",{flagKey:e.key,subjectKey:a}),{value:o,reason:"DEFAULT",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)}}function validateTypeMatch(e,t){if("boolean"===e)return"BOOLEAN"===t;if("string"===e)return"STRING"===t;if("number"===e)return"INTEGER"===t||"NUMERIC"===t;if("object"===e)return"JSON"===t;throw Error(`Invalid expected type: ${e}`)}function isValidFlag(e){return Array.isArray(e.allocations)&&e.allocations.every(e=>Array.isArray(e.splits)&&e.splits.every(e=>Array.isArray(e.shards))&&(void 0===e.rules||Array.isArray(e.rules)&&e.rules.every(e=>(0,s.isValidRule)(e))))}function containsMatchingRule(e,t,a){return null==e||!e.length||(a.debug("evaluating rules",{rules:JSON.stringify(e),subjectAttributes:t}),e.some(e=>(0,s.matchesRule)(e,t)))}function selectSplitUsingSharding(e,t,a,r){if(!e||0===e.length)return null;for(let i of e)if(r.debug("evaluating split sharding",{flagKey:a,subjectKey:t,variationKey:i.variationKey,shards:i.shards}),i.shards.every(e=>{if(null==t)throw new n.TargetingKeyMissingError;let s=(0,o.matchesShard)(e,t);return r.debug("shard match result",{flagKey:a,subjectKey:t,variationKey:i.variationKey,shard:e,matches:s}),s}))return r.debug("subject matches split",{flagKey:a,subjectKey:t,variationKey:i.variationKey}),i;return r.debug("subject matches no splits",{flagKey:a,subjectKey:t}),null}},"./@datadog/flagging-core/cjs/evaluation/evaluation.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateRulesBasedConfiguration=evaluateRulesBasedConfiguration;let r=a("./@datadog/flagging-core/cjs/time.js"),n=a("./@datadog/flagging-core/cjs/evaluation/errors.js"),i=a("./@datadog/flagging-core/cjs/evaluation/evaluateForSubject.js"),o=a("./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js");function evaluateRulesBasedConfiguration(e,t,a,s,l,u){let c=(0,r.timeStampNow)();if(!e)return{value:s,reason:"ERROR",errorCode:"PROVIDER_NOT_READY",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)};let{targetingKey:g,...d}=l,f={...null!=g?{id:g}:{},...d},h=e.flags[a];if(!h)return u.debug("returning default value because flag is not found",{flagKey:a,subjectKey:g}),{value:s,reason:"ERROR",errorCode:"FLAG_NOT_FOUND",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)};try{return(0,i.evaluateForSubject)(h,t,g,f,s,u,c)}catch(e){if(e instanceof n.TargetingKeyMissingError)return{value:s,reason:"ERROR",errorCode:"TARGETING_KEY_MISSING",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)};return u.error("Error evaluating flag",{error:e}),{value:s,reason:"ERROR",errorCode:"GENERAL",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)}}}},"./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js"(e,t){"use strict";function createEvaluationTimestampMetadata(e){return{__dd_eval_timestamp_ms:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.createEvaluationTimestampMetadata=createEvaluationTimestampMetadata},"./@datadog/flagging-core/cjs/evaluation/index.js"(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||r(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),n(a("./@datadog/flagging-core/cjs/evaluation/errors.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/evaluateForSubject.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/evaluation.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/matchesShard.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/rules.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/sharders.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/ufc-v1.js"),t)},"./@datadog/flagging-core/cjs/evaluation/matchesShard.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matchesShard=matchesShard;let r=a("./@datadog/flagging-core/cjs/evaluation/sharders.js");function matchesShard(e,t,a){let n=(null!=a?a:new r.MD5Sharder).getShard(hashKey(e.salt,t),e.totalShards);return e.ranges.some(e=>isInShardRange(n,e))}function isInShardRange(e,t){return t.start<=e&&e<t.end}function hashKey(e,t){return`${e}-${t}`}},"./@datadog/flagging-core/cjs/evaluation/rules.js"(e,t){"use strict";var a,r;Object.defineProperty(t,"__esModule",{value:!0}),t.OperatorType=void 0,t.isValidRule=isValidRule,t.matchesRule=matchesRule,(r=a||(t.OperatorType=a={})).MATCHES="MATCHES",r.NOT_MATCHES="NOT_MATCHES",r.GTE="GTE",r.GT="GT",r.LTE="LTE",r.LT="LT",r.ONE_OF="ONE_OF",r.NOT_ONE_OF="NOT_ONE_OF",r.IS_NULL="IS_NULL";let n=new Set(Object.values(a));function isValidRule(e){return!!Array.isArray(e.conditions)&&e.conditions.every(e=>{if(!n.has(e.operator))return!1;if(e.operator!==a.MATCHES&&e.operator!==a.NOT_MATCHES)return!0;try{return compileRegex(e.value),!0}catch(e){return!1}})}function matchesRule(e,t){return!evaluateRuleConditions(t,e.conditions).includes(!1)}function evaluateRuleConditions(e,t){return t.map(t=>evaluateCondition(e,t))}function evaluateCondition(e,t){let r=e[t.attribute];if(t.operator===a.IS_NULL)return t.value?null==r:null!=r;if(null!=r)switch(t.operator){case a.GTE:case a.GT:case a.LTE:case a.LT:return compareNumber(r,t.value,(e,r)=>t.operator===a.GTE?e>=r:t.operator===a.GT?e>r:t.operator===a.LTE?e<=r:e<r);case a.MATCHES:return compileRegex(t.value).test(String(r));case a.NOT_MATCHES:return!compileRegex(t.value).test(String(r));case a.ONE_OF:var n;return n=r.toString(),t.value.includes(n);case a.NOT_ONE_OF:return isNotOneOf(r.toString(),t.value)}return!1}function compileRegex(e){let t=e.match(/^\(\?([imsu]+)\)/),a=t?[...new Set(t[1])].join(""):"";return new RegExp((t?e.slice(t[0].length):e).split("[:alnum:]").join("A-Za-z0-9"),a)}function isNotOneOf(e,t){return!t.includes(e)}function compareNumber(e,t,a){return a(Number(e),Number(t))}},"./@datadog/flagging-core/cjs/evaluation/sharders.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeterministicSharder=t.MD5Sharder=t.Sharder=void 0;let r=a("./@datadog/flagging-core/cjs/obfuscation.js");let Sharder=class Sharder{};t.Sharder=Sharder;let MD5Sharder=class MD5Sharder extends Sharder{getShard(e,t){return parseInt((0,r.getMD5Hash)(e).slice(0,8),16)%t}};t.MD5Sharder=MD5Sharder;let DeterministicSharder=class DeterministicSharder extends Sharder{constructor(e){super(),this.lookup=e}getShard(e,t){var a;return null!=(a=this.lookup[e])?a:0}};t.DeterministicSharder=DeterministicSharder},"./@datadog/flagging-core/cjs/evaluation/ufc-v1.js"(e,t){"use strict";function variantTypeToFlagValueType(e){if("BOOLEAN"===e)return"boolean";if("STRING"===e)return"string";if("INTEGER"===e||"NUMERIC"===e)return"number";if("JSON"===e)return"object";throw Error(`Cannot convert variant type to flag value type: ${e}`)}Object.defineProperty(t,"__esModule",{value:!0}),t.variantTypeToFlagValueType=variantTypeToFlagValueType},"./@datadog/flagging-core/cjs/index.js"(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||r(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),n(a("./@datadog/flagging-core/cjs/cache/index.js"),t),n(a("./@datadog/flagging-core/cjs/configuration/index.js"),t),n(a("./@datadog/flagging-core/cjs/evaluation/index.js"),t),n(a("./@datadog/flagging-core/cjs/obfuscation.js"),t),n(a("./@datadog/flagging-core/cjs/time.js"),t)},"./@datadog/flagging-core/cjs/obfuscation.js"(e,t,a){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getMD5Hash=getMD5Hash,t.buildStorageKeySuffix=buildStorageKeySuffix;let n=r(a("./spark-md5/spark-md5.js"));function getMD5Hash(e,t=""){return new n.default().append(t).append(e).end()}function buildStorageKeySuffix(e){return getMD5Hash(e).slice(0,16)}},"./@datadog/flagging-core/cjs/time.js"(e,t){"use strict";function timeStampNow(){return new Date().getTime()}Object.defineProperty(t,"__esModule",{value:!0}),t.timeStampNow=timeStampNow},"./@datadog/openfeature-node-server/cjs/configuration/evaluation.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluate=void 0;var r=a("./@datadog/flagging-core/cjs/index.js");Object.defineProperty(t,"evaluate",{enumerable:!0,get:function(){return r.evaluateRulesBasedConfiguration}})},"./@datadog/openfeature-node-server/cjs/index.js"(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||r(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),n(a("./@datadog/openfeature-node-server/cjs/provider.js"),t)},"./@datadog/openfeature-node-server/cjs/initialization-controller.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InitializationController=void 0;let InitializationController=class InitializationController{constructor(e,t){this.promise=Promise.race([new Promise((e,t)=>{this.resolve=()=>{this.cleanup(),e()},this.reject=e=>{this.cleanup(),t(e)}}),new Promise(()=>{this.timeoutId=setTimeout(()=>{t()},e)})])}async wait(){try{await this.promise}finally{this.cleanup()}}complete(){this.resolve&&this.resolve()}fail(e){this.reject&&this.reject(e)}isInitializing(){return void 0!==this.resolve}cleanup(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.resolve=void 0,this.reject=void 0}};t.InitializationController=InitializationController},"./@datadog/openfeature-node-server/cjs/provider-event-emitter.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeProviderEventEmitter=void 0;let r=a("node:events");let NodeProviderEventEmitter=class NodeProviderEventEmitter{constructor(){this.eventEmitter=new r.EventEmitter,this.handlers=new Map}emit(e,t){this.eventEmitter.emit(e,t)}addHandler(e,t){var a,r;let asyncHandler=async e=>{try{await t(e)}catch(e){this.logHandlerError(e)}},n=null!=(a=this.handlers.get(e))?a:new Map,i=null!=(r=n.get(t))?r:[];i.push(asyncHandler),n.set(t,i),this.handlers.set(e,n),this.eventEmitter.on(e,asyncHandler)}removeHandler(e,t){let a=this.handlers.get(e),r=null==a?void 0:a.get(t),n=null==r?void 0:r.pop();n&&this.eventEmitter.removeListener(e,n),(null==r?void 0:r.length)===0&&(null==a||a.delete(t)),(null==a?void 0:a.size)===0&&this.handlers.delete(e)}removeAllHandlers(e){if(e){this.eventEmitter.removeAllListeners(e),this.handlers.delete(e);return}this.eventEmitter.removeAllListeners(),this.handlers.clear()}getHandlers(e){return this.eventEmitter.listeners(e)}setLogger(e){return this.logger=e,this}logHandlerError(e){var t;try{null==(t=this.logger)||t.error("Error running event handler:",e)}catch(e){}}};t.NodeProviderEventEmitter=NodeProviderEventEmitter},"./@datadog/openfeature-node-server/cjs/provider.js"(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatadogNodeServerProvider=void 0;let r=a("./@datadog/flagging-core/cjs/index.js"),n=a("./@datadog/openfeature-node-server/cjs/configuration/evaluation.js"),i=a("./@datadog/openfeature-node-server/cjs/initialization-controller.js"),o=a("./@datadog/openfeature-node-server/cjs/provider-event-emitter.js");let DatadogNodeServerProvider=class DatadogNodeServerProvider{constructor(e){this.options=e,this.metadata={name:"datadog-node-server"},this.runsOn="server",this.hooks=[],this.events=new o.NodeProviderEventEmitter,this.exposureCache=new r.LRUInMemoryAssignmentCache(5e4)}getConfiguration(){return this.configuration}setConfiguration(e){var t,a,r;let n=null==(t=this.configuration)?void 0:t.createdAt,i=!!this.configuration;if(i&&this.configuration!==e){this.events.emit("PROVIDER_CONFIGURATION_CHANGED"),n!==(null==e?void 0:e.createdAt)&&(null==(a=this.exposureCache)||a.clear()),this.configuration=e;return}this.configuration=e,(null==(r=this.initController)?void 0:r.isInitializing())?this.initController.complete():i||this.events.emit("PROVIDER_READY")}setError(e){var t;(null==(t=this.initController)?void 0:t.isInitializing())?this.initController.fail(e):this.events.emit("PROVIDER_ERROR",{error:e})}async initialize(){var e,t;if(this.configuration)return;let a=null!=(e=this.options.initializationTimeoutMs)?e:3e4;this.initController=new i.InitializationController(a,()=>this.setError(Error(`Initialization timeout after ${a}ms`))),await this.initController.wait(),await (null==(t=this.exposureCache)?void 0:t.init())}async resolveBooleanEvaluation(e,t,a,r){let i=(0,n.evaluate)(this.configuration,"boolean",e,t,a,r);return this.handleExposure(e,a,i),i}async resolveStringEvaluation(e,t,a,r){let i=(0,n.evaluate)(this.configuration,"string",e,t,a,r);return this.handleExposure(e,a,i),i}async resolveNumberEvaluation(e,t,a,r){let i=(0,n.evaluate)(this.configuration,"number",e,t,a,r);return this.handleExposure(e,a,i),i}async resolveObjectEvaluation(e,t,a,r){let i=(0,n.evaluate)(this.configuration,"object",e,t,a,r);return this.handleExposure(e,a,i),i}handleExposure(e,t,a){var n,i,o;let s=(0,r.timeStampNow)(),l={...a,flagKey:e,flagMetadata:null!=(n=a.flagMetadata)?n:{}},u=(0,r.createExposureEvent)(t,l);!u||(null==(i=this.exposureCache)?void 0:i.has(u))||this.options.exposureChannel.hasSubscribers&&(this.options.exposureChannel.publish({...u,timestamp:s}),null==(o=this.exposureCache)||o.set(u))}};t.DatadogNodeServerProvider=DatadogNodeServerProvider},"./spark-md5/spark-md5.js"(e){e.exports=function(){"use strict";var e=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function md5cycle(e,t){var a=e[0],r=e[1],n=e[2],i=e[3];a+=(r&n|~r&i)+t[0]-0x28955b88|0,i+=((a=(a<<7|a>>>25)+r|0)&r|~a&n)+t[1]-0x173848aa|0,n+=((i=(i<<12|i>>>20)+a|0)&a|~i&r)+t[2]+0x242070db|0,r+=((n=(n<<17|n>>>15)+i|0)&i|~n&a)+t[3]-0x3e423112|0,a+=((r=(r<<22|r>>>10)+n|0)&n|~r&i)+t[4]-0xa83f051|0,i+=((a=(a<<7|a>>>25)+r|0)&r|~a&n)+t[5]+0x4787c62a|0,n+=((i=(i<<12|i>>>20)+a|0)&a|~i&r)+t[6]-0x57cfb9ed|0,r+=((n=(n<<17|n>>>15)+i|0)&i|~n&a)+t[7]-0x2b96aff|0,a+=((r=(r<<22|r>>>10)+n|0)&n|~r&i)+t[8]+0x698098d8|0,i+=((a=(a<<7|a>>>25)+r|0)&r|~a&n)+t[9]-0x74bb0851|0,n+=((i=(i<<12|i>>>20)+a|0)&a|~i&r)+t[10]-42063|0,r+=((n=(n<<17|n>>>15)+i|0)&i|~n&a)+t[11]-0x76a32842|0,a+=((r=(r<<22|r>>>10)+n|0)&n|~r&i)+t[12]+0x6b901122|0,i+=((a=(a<<7|a>>>25)+r|0)&r|~a&n)+t[13]-0x2678e6d|0,n+=((i=(i<<12|i>>>20)+a|0)&a|~i&r)+t[14]-0x5986bc72|0,r+=((n=(n<<17|n>>>15)+i|0)&i|~n&a)+t[15]+0x49b40821|0,a+=((r=(r<<22|r>>>10)+n|0)&i|n&~i)+t[1]-0x9e1da9e|0,i+=((a=(a<<5|a>>>27)+r|0)&n|r&~n)+t[6]-0x3fbf4cc0|0,n+=((i=(i<<9|i>>>23)+a|0)&r|a&~r)+t[11]+0x265e5a51|0,r+=((n=(n<<14|n>>>18)+i|0)&a|i&~a)+t[0]-0x16493856|0,a+=((r=(r<<20|r>>>12)+n|0)&i|n&~i)+t[5]-0x29d0efa3|0,i+=((a=(a<<5|a>>>27)+r|0)&n|r&~n)+t[10]+0x2441453|0,n+=((i=(i<<9|i>>>23)+a|0)&r|a&~r)+t[15]-0x275e197f|0,r+=((n=(n<<14|n>>>18)+i|0)&a|i&~a)+t[4]-0x182c0438|0,a+=((r=(r<<20|r>>>12)+n|0)&i|n&~i)+t[9]+0x21e1cde6|0,i+=((a=(a<<5|a>>>27)+r|0)&n|r&~n)+t[14]-0x3cc8f82a|0,n+=((i=(i<<9|i>>>23)+a|0)&r|a&~r)+t[3]-0xb2af279|0,r+=((n=(n<<14|n>>>18)+i|0)&a|i&~a)+t[8]+0x455a14ed|0,a+=((r=(r<<20|r>>>12)+n|0)&i|n&~i)+t[13]-0x561c16fb|0,i+=((a=(a<<5|a>>>27)+r|0)&n|r&~n)+t[2]-0x3105c08|0,n+=((i=(i<<9|i>>>23)+a|0)&r|a&~r)+t[7]+0x676f02d9|0,r+=((n=(n<<14|n>>>18)+i|0)&a|i&~a)+t[12]-0x72d5b376|0,a+=((r=(r<<20|r>>>12)+n|0)^n^i)+t[5]-378558|0,i+=((a=(a<<4|a>>>28)+r|0)^r^n)+t[8]-0x788e097f|0,n+=((i=(i<<11|i>>>21)+a|0)^a^r)+t[11]+0x6d9d6122|0,r+=((n=(n<<16|n>>>16)+i|0)^i^a)+t[14]-0x21ac7f4|0,a+=((r=(r<<23|r>>>9)+n|0)^n^i)+t[1]-0x5b4115bc|0,i+=((a=(a<<4|a>>>28)+r|0)^r^n)+t[4]+0x4bdecfa9|0,n+=((i=(i<<11|i>>>21)+a|0)^a^r)+t[7]-0x944b4a0|0,r+=((n=(n<<16|n>>>16)+i|0)^i^a)+t[10]-0x41404390|0,a+=((r=(r<<23|r>>>9)+n|0)^n^i)+t[13]+0x289b7ec6|0,i+=((a=(a<<4|a>>>28)+r|0)^r^n)+t[0]-0x155ed806|0,n+=((i=(i<<11|i>>>21)+a|0)^a^r)+t[3]-0x2b10cf7b|0,r+=((n=(n<<16|n>>>16)+i|0)^i^a)+t[6]+0x4881d05|0,a+=((r=(r<<23|r>>>9)+n|0)^n^i)+t[9]-0x262b2fc7|0,i+=((a=(a<<4|a>>>28)+r|0)^r^n)+t[12]-0x1924661b|0,n+=((i=(i<<11|i>>>21)+a|0)^a^r)+t[15]+0x1fa27cf8|0,r+=((n=(n<<16|n>>>16)+i|0)^i^a)+t[2]-0x3b53a99b|0,r=(r<<23|r>>>9)+n|0,a+=(n^(r|~i))+t[0]-0xbd6ddbc|0,a=(a<<6|a>>>26)+r|0,i+=(r^(a|~n))+t[7]+0x432aff97|0,i=(i<<10|i>>>22)+a|0,n+=(a^(i|~r))+t[14]-0x546bdc59|0,n=(n<<15|n>>>17)+i|0,r+=(i^(n|~a))+t[5]-0x36c5fc7|0,r=(r<<21|r>>>11)+n|0,a+=(n^(r|~i))+t[12]+0x655b59c3|0,a=(a<<6|a>>>26)+r|0,i+=(r^(a|~n))+t[3]-0x70f3336e|0,i=(i<<10|i>>>22)+a|0,n+=(a^(i|~r))+t[10]-1051523|0,n=(n<<15|n>>>17)+i|0,r+=(i^(n|~a))+t[1]-0x7a7ba22f|0,r=(r<<21|r>>>11)+n|0,a+=(n^(r|~i))+t[8]+0x6fa87e4f|0,a=(a<<6|a>>>26)+r|0,i+=(r^(a|~n))+t[15]-0x1d31920|0,i=(i<<10|i>>>22)+a|0,n+=(a^(i|~r))+t[6]-0x5cfebcec|0,n=(n<<15|n>>>17)+i|0,r+=(i^(n|~a))+t[13]+0x4e0811a1|0,r=(r<<21|r>>>11)+n|0,a+=(n^(r|~i))+t[4]-0x8ac817e|0,a=(a<<6|a>>>26)+r|0,i+=(r^(a|~n))+t[11]-0x42c50dcb|0,i=(i<<10|i>>>22)+a|0,n+=(a^(i|~r))+t[2]+0x2ad7d2bb|0,n=(n<<15|n>>>17)+i|0,r+=(i^(n|~a))+t[9]-0x14792c6f|0,r=(r<<21|r>>>11)+n|0,e[0]=a+e[0]|0,e[1]=r+e[1]|0,e[2]=n+e[2]|0,e[3]=i+e[3]|0}function md5blk(e){var t,a=[];for(t=0;t<64;t+=4)a[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return a}function md5blk_array(e){var t,a=[];for(t=0;t<64;t+=4)a[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return a}function md51(e){var t,a,r,n,i,o,s=e.length,l=[0x67452301,-0x10325477,-0x67452302,0x10325476];for(t=64;t<=s;t+=64)md5cycle(l,md5blk(e.substring(t-64,t)));for(a=(e=e.substring(t-64)).length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<a;t+=1)r[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(r[t>>2]|=128<<(t%4<<3),t>55)for(md5cycle(l,r),t=0;t<16;t+=1)r[t]=0;return i=parseInt((n=(n=8*s).toString(16).match(/(.*?)(.{0,8})$/))[2],16),o=parseInt(n[1],16)||0,r[14]=i,r[15]=o,md5cycle(l,r),l}function md51_array(e){var t,a,r,n,i,o,s=e.length,l=[0x67452301,-0x10325477,-0x67452302,0x10325476];for(t=64;t<=s;t+=64)md5cycle(l,md5blk_array(e.subarray(t-64,t)));for(a=(e=t-64<s?e.subarray(t-64):new Uint8Array(0)).length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<a;t+=1)r[t>>2]|=e[t]<<(t%4<<3);if(r[t>>2]|=128<<(t%4<<3),t>55)for(md5cycle(l,r),t=0;t<16;t+=1)r[t]=0;return i=parseInt((n=(n=8*s).toString(16).match(/(.*?)(.{0,8})$/))[2],16),o=parseInt(n[1],16)||0,r[14]=i,r[15]=o,md5cycle(l,r),l}function rhex(t){var a,r="";for(a=0;a<4;a+=1)r+=e[t>>8*a+4&15]+e[t>>8*a&15];return r}function hex(e){var t;for(t=0;t<e.length;t+=1)e[t]=rhex(e[t]);return e.join("")}function toUtf8(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function utf8Str2ArrayBuffer(e,t){var a,r=e.length,n=new ArrayBuffer(r),i=new Uint8Array(n);for(a=0;a<r;a+=1)i[a]=e.charCodeAt(a);return t?i:n}function arrayBuffer2Utf8Str(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function concatenateArrayBuffers(e,t,a){var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e)),r.set(new Uint8Array(t),e.byteLength),a?r:r.buffer}function hexToBinaryString(e){var t,a=[],r=e.length;for(t=0;t<r-1;t+=2)a.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,a)}function SparkMD5(){this.reset()}return hex(md51("hello")),"u">typeof ArrayBuffer&&!ArrayBuffer.prototype.slice&&function(){function clamp(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(e,t){var a,r,n,i,o=this.byteLength,s=clamp(e,o),l=o;return(void 0!==t&&(l=clamp(t,o)),s>l)?new ArrayBuffer(0):(n=new Uint8Array(r=new ArrayBuffer(a=l-s)),i=new Uint8Array(this,s,a),n.set(i),r)}}(),SparkMD5.prototype.append=function(e){return this.appendBinary(toUtf8(e)),this},SparkMD5.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,a=this._buff.length;for(t=64;t<=a;t+=64)md5cycle(this._hash,md5blk(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},SparkMD5.prototype.end=function(e){var t,a,r=this._buff,n=r.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)i[t>>2]|=r.charCodeAt(t)<<(t%4<<3);return this._finish(i,n),a=hex(this._hash),e&&(a=hexToBinaryString(a)),this.reset(),a},SparkMD5.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[0x67452301,-0x10325477,-0x67452302,0x10325476],this},SparkMD5.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},SparkMD5.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},SparkMD5.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},SparkMD5.prototype._finish=function(e,t){var a,r,n,i=t;if(e[i>>2]|=128<<(i%4<<3),i>55)for(md5cycle(this._hash,e),i=0;i<16;i+=1)e[i]=0;r=parseInt((a=(a=8*this._length).toString(16).match(/(.*?)(.{0,8})$/))[2],16),n=parseInt(a[1],16)||0,e[14]=r,e[15]=n,md5cycle(this._hash,e)},SparkMD5.hash=function(e,t){return SparkMD5.hashBinary(toUtf8(e),t)},SparkMD5.hashBinary=function(e,t){var a=hex(md51(e));return t?hexToBinaryString(a):a},SparkMD5.ArrayBuffer=function(){this.reset()},SparkMD5.ArrayBuffer.prototype.append=function(e){var t,a=concatenateArrayBuffers(this._buff.buffer,e,!0),r=a.length;for(this._length+=e.byteLength,t=64;t<=r;t+=64)md5cycle(this._hash,md5blk_array(a.subarray(t-64,t)));return this._buff=new Uint8Array(t-64<r?a.buffer.slice(t-64):0),this},SparkMD5.ArrayBuffer.prototype.end=function(e){var t,a,r=this._buff,n=r.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)i[t>>2]|=r[t]<<(t%4<<3);return this._finish(i,n),a=hex(this._hash),e&&(a=hexToBinaryString(a)),this.reset(),a},SparkMD5.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[0x67452301,-0x10325477,-0x67452302,0x10325476],this},SparkMD5.ArrayBuffer.prototype.getState=function(){var e=SparkMD5.prototype.getState.call(this);return e.buff=arrayBuffer2Utf8Str(e.buff),e},SparkMD5.ArrayBuffer.prototype.setState=function(e){return e.buff=utf8Str2ArrayBuffer(e.buff,!0),SparkMD5.prototype.setState.call(this,e)},SparkMD5.ArrayBuffer.prototype.destroy=SparkMD5.prototype.destroy,SparkMD5.ArrayBuffer.prototype._finish=SparkMD5.prototype._finish,SparkMD5.ArrayBuffer.hash=function(e,t){var a=hex(md51_array(new Uint8Array(e)));return t?hexToBinaryString(a):a},SparkMD5}()},"node:events"(e){"use strict";e.exports=require("node:events")}},t={};function __webpack_require__(a){var r=t[a];if(void 0!==r)return r.exports;var n=t[a]={exports:{}};return e[a].call(n.exports,n,n.exports,__webpack_require__),n.exports}var a=__webpack_require__("./@datadog/openfeature-node-server/cjs/index.js");module.exports=a})();
1
+ (()=>{var e={"./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractAssignmentCache=void 0,t.assignmentCacheKeyToString=assignmentCacheKeyToString,t.assignmentCacheValueToString=assignmentCacheValueToString;let a=r("./@datadog/flagging-core/cjs/obfuscation.js");function assignmentCacheKeyToString(e){let t={flag:{key:e.flag.key},subject:{id:e.subject.id,attributes:e.subject.attributes}};return(0,a.getMD5Hash)(JSON.stringify(t))}function assignmentCacheValueToString(e){return(0,a.getMD5Hash)(JSON.stringify(e))}let AbstractAssignmentCache=class AbstractAssignmentCache{constructor(e){this.delegate=e}init(){return Promise.resolve()}has(e){return this.get(e)===assignmentCacheValueToString(e)}get(e){return this.delegate.get(assignmentCacheKeyToString(e))}set(e){this.delegate.set(assignmentCacheKeyToString(e),assignmentCacheValueToString(e))}entries(){return this.delegate.entries()}clear(){this.delegate.clear()}};t.AbstractAssignmentCache=AbstractAssignmentCache},"./@datadog/flagging-core/cjs/cache/index.js"(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r("./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js"),t),n(r("./@datadog/flagging-core/cjs/cache/lru-in-memory-assignment-cache.js"),t),n(r("./@datadog/flagging-core/cjs/cache/non-expiring-in-memory-cache-assignment.js"),t)},"./@datadog/flagging-core/cjs/cache/lru-cache.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;let LRUCache=class LRUCache{constructor(e){this.capacity=e,this.cache=new Map}entries(){return this.cache.entries()}clear(){this.cache.clear()}delete(e){return this.cache.delete(e)}keys(){return this.cache.keys()}values(){return this.cache.values()}has(e){return this.cache.has(e)}get(e){if(!this.has(e))return;let t=this.cache.get(e);return void 0!==t&&(this.delete(e),this.cache.set(e,t)),t}set(e,t){if(0===this.capacity)return this;if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let e=this.cache.keys().next().value;e&&this.delete(e)}return this.cache.set(e,t),this}};t.LRUCache=LRUCache},"./@datadog/flagging-core/cjs/cache/lru-in-memory-assignment-cache.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUInMemoryAssignmentCache=void 0;let a=r("./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js"),n=r("./@datadog/flagging-core/cjs/cache/lru-cache.js");let LRUInMemoryAssignmentCache=class LRUInMemoryAssignmentCache extends a.AbstractAssignmentCache{constructor(e){super(new n.LRUCache(e))}};t.LRUInMemoryAssignmentCache=LRUInMemoryAssignmentCache},"./@datadog/flagging-core/cjs/cache/non-expiring-in-memory-cache-assignment.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NonExpiringInMemoryAssignmentCache=void 0;let a=r("./@datadog/flagging-core/cjs/cache/abstract-assignment-cache.js");let NonExpiringInMemoryAssignmentCache=class NonExpiringInMemoryAssignmentCache extends a.AbstractAssignmentCache{constructor(e=new Map){super(e)}};t.NonExpiringInMemoryAssignmentCache=NonExpiringInMemoryAssignmentCache},"./@datadog/flagging-core/cjs/configuration/configuration.js"(e,t){"use strict";function configMatchesContext(e,t){if(!(null==e?void 0:e.precomputed))return!1;let r=e.precomputed.context;return!r||contextsEqual(r,t)}function contextsEqual(e,t){return objectsEqual(e,t)}function objectsEqual(e,t){let r=Object.keys(e).sort(),a=Object.keys(t).sort();if(r.length!==a.length)return!1;for(let n=0;n<r.length;n++)if(r[n]!==a[n]||!valuesEqual(e[r[n]],t[a[n]]))return!1;return!0}function isRecord(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function valuesEqual(e,t){return e===t||null!=e&&null!=t&&typeof e==typeof t&&(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,r)=>valuesEqual(e,t[r])):!!(isRecord(e)&&isRecord(t))&&objectsEqual(e,t))}Object.defineProperty(t,"__esModule",{value:!0}),t.configMatchesContext=configMatchesContext},"./@datadog/flagging-core/cjs/configuration/exposureEvent.js"(e,t){"use strict";function createExposureEvent(e,t){var r,a,n;if(!(null==(r=t.flagMetadata)?void 0:r.doLog))return;let i=null==(a=t.flagMetadata)?void 0:a.allocationKey,o=t.variant;if(!i||!o)return;let{targetingKey:s="",...l}=e,u=null==(n=t.flagMetadata)?void 0:n.__dd_split_serial_id;return{allocation:{key:i},flag:{key:t.flagKey},variant:{key:o},..."number"==typeof u?{serial_id:u}:{},subject:{id:s,attributes:l}}}Object.defineProperty(t,"__esModule",{value:!0}),t.createExposureEvent=createExposureEvent},"./@datadog/flagging-core/cjs/configuration/exposureEvent.types.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./@datadog/flagging-core/cjs/configuration/flagEvaluationAggregator.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FlagEvaluationAggregator=void 0;let a=r("./@datadog/flagging-core/cjs/obfuscation.js"),n=r("./@datadog/flagging-core/cjs/time.js"),i=r("./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.js");let FlagEvaluationAggregator=class FlagEvaluationAggregator{constructor(e,t){this.aggregatedData=new Map,this.flushInterval=e,this.onFlush=t}start(){this.intervalId=setInterval(()=>{this.flush()},this.flushInterval)}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0),this.flush()}addEvaluation(e,t,r){var a,n;let i=this.createAggregationKeyString(e,t,r),o=getEvaluationTimestamp(t),s=this.aggregatedData.get(i);if(s)s.count++,s.lastEvaluation=o,r&&(s.error=r);else{let s=isRuntimeDefaultUsed(t),l=null==(a=t.flagMetadata)?void 0:a.allocationKey,u=null==(n=t.flagMetadata)?void 0:n.targetingRuleKey,{targetingKey:c,...g}=e;this.aggregatedData.set(i,{flagKey:t.flagKey,variantKey:t.variant,allocationKey:l,targetingRuleKey:u,targetingKey:c,targetingContext:g,count:1,firstEvaluation:o,lastEvaluation:o,runtimeDefaultUsed:s,error:r})}}flush(){if(0===this.aggregatedData.size)return;let e=(0,n.timeStampNow)(),t=Array.from(this.aggregatedData.values()).map(t=>(0,i.createFlagEvaluationEvent)(t,e));this.aggregatedData.clear(),this.onFlush(t)}createAggregationKeyString(e,t,r){var n,i;let o=null==(n=t.flagMetadata)?void 0:n.allocationKey,s=null==(i=t.flagMetadata)?void 0:i.targetingRuleKey,{targetingKey:l,...u}=e;return(0,a.getMD5Hash)(JSON.stringify({flagKey:t.flagKey,variant:t.variant||"",allocationKey:o||"",targetingRuleKey:s||"",targetingKey:l||"",targetingContext:u,error:r||""}))}};function getEvaluationTimestamp(e){var t;let r=null==(t=e.flagMetadata)?void 0:t.__dd_eval_timestamp_ms;return Number.isFinite(r)?r:(0,n.timeStampNow)()}function isRuntimeDefaultUsed(e){return null==e.variant}t.FlagEvaluationAggregator=FlagEvaluationAggregator},"./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.js"(e,t){"use strict";function createFlagEvaluationEvent(e,t){let r={flag:{key:e.flagKey},first_evaluation:e.firstEvaluation,last_evaluation:e.lastEvaluation,evaluation_count:e.count,runtime_default_used:e.runtimeDefaultUsed,timestamp:t};return null!=e.targetingKey&&(r.targeting_key=e.targetingKey),e.error&&(r.error={message:e.error}),e.variantKey&&(r.variant={key:e.variantKey}),e.allocationKey&&(r.allocation={key:e.allocationKey}),e.targetingRuleKey&&(r.targeting_rule={key:e.targetingRuleKey}),e.targetingContext&&Object.keys(e.targetingContext).length>0&&(r.context={evaluation:e.targetingContext}),r}Object.defineProperty(t,"__esModule",{value:!0}),t.createFlagEvaluationEvent=createFlagEvaluationEvent},"./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.types.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./@datadog/flagging-core/cjs/configuration/index.js"(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r("./@datadog/flagging-core/cjs/configuration/configuration.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/exposureEvent.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/exposureEvent.types.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/flagEvaluationAggregator.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/flagEvaluationEvent.types.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/wire.js"),t)},"./@datadog/flagging-core/cjs/configuration/wire.js"(e,t){"use strict";function configurationFromString(e){try{let t=JSON.parse(e);if(1!==t.version)return{};let r={};return t.precomputed&&(r.precomputed={...t.precomputed,response:JSON.parse(t.precomputed.response)}),r}catch(e){return{}}}function configurationToString(e){let t={version:1};return e.precomputed&&(t.precomputed={...e.precomputed,response:JSON.stringify(e.precomputed.response)}),JSON.stringify(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.configurationFromString=configurationFromString,t.configurationToString=configurationToString},"./@datadog/flagging-core/cjs/evaluation/errors.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TargetingKeyMissingError=void 0;let TargetingKeyMissingError=class TargetingKeyMissingError extends Error{constructor(){super("Targeting key is required for split evaluation"),this.name="TargetingKeyMissingError"}};t.TargetingKeyMissingError=TargetingKeyMissingError},"./@datadog/flagging-core/cjs/evaluation/evaluateForSubject.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateForSubject=evaluateForSubject,t.containsMatchingRule=containsMatchingRule;let a=r("./@datadog/flagging-core/cjs/time.js"),n=r("./@datadog/flagging-core/cjs/evaluation/errors.js"),i=r("./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js"),o=r("./@datadog/flagging-core/cjs/evaluation/matchesShard.js"),s=r("./@datadog/flagging-core/cjs/evaluation/rules.js"),l=r("./@datadog/flagging-core/cjs/evaluation/ufc-v1.js");function evaluateForSubject(e,t,r,n,o,s,u=(0,a.timeStampNow)()){var c;if(!e.enabled)return s.debug("returning default assignment because flag is disabled",{flagKey:e.key,subjectKey:r}),{value:o,reason:"DISABLED",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)};if(!isValidFlag(e))return s.debug("returning default assignment because flag configuration is invalid",{flagKey:e.key,subjectKey:r}),{value:o,reason:"DEFAULT",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)};if(!validateTypeMatch(t,e.variationType))return s.debug("variant value type mismatch, returning default value",{flagKey:e.key,subjectKey:r,expectedType:t,variantType:e.variationType}),{value:o,reason:"ERROR",errorCode:"TYPE_MISMATCH",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)};let g=new Date(u);for(let t of e.allocations){if(t.startAt&&g<new Date(t.startAt)){s.debug("allocation before start date",{flagKey:e.key,subjectKey:r,allocationKey:t.key,startAt:t.startAt});continue}if(t.endAt&&g>=new Date(t.endAt)){s.debug("allocation after end date",{flagKey:e.key,subjectKey:r,allocationKey:t.key,endAt:t.endAt});continue}if(!containsMatchingRule(t.rules,n,s))continue;let a=selectSplitUsingSharding(t.splits,r,e.key,s);if(a){let n=e.variations[a.variationKey];if(n){s.debug("evaluated a flag",{flagKey:e.key,subjectKey:r,assignment:n.value});let o=(null==(c=t.rules)?void 0:c.length)?"TARGETING_MATCH":a.shards.length?"SPLIT":t.startAt||t.endAt?"DEFAULT":"STATIC";return{value:n.value,reason:o,variant:n.key,flagMetadata:{...(0,i.createEvaluationTimestampMetadata)(u),__dd_allocation_key:t.key,__dd_do_log:!!t.doLog,__dd_split_serial_id:a.serialId,allocationKey:t.key,variationType:(0,l.variantTypeToFlagValueType)(e.variationType),doLog:!!t.doLog}}}}else s.debug("no matching split found for subject",{flagKey:e.key,subjectKey:r,allocationKey:t.key})}return s.debug("returning default assignment because no allocation matched",{flagKey:e.key,subjectKey:r}),{value:o,reason:"DEFAULT",flagMetadata:(0,i.createEvaluationTimestampMetadata)(u)}}function validateTypeMatch(e,t){if("boolean"===e)return"BOOLEAN"===t;if("string"===e)return"STRING"===t;if("number"===e)return"INTEGER"===t||"NUMERIC"===t;if("object"===e)return"JSON"===t;throw Error(`Invalid expected type: ${e}`)}function isValidFlag(e){if(!Array.isArray(e.allocations))return!1;if(e.allocations.some(e=>Array.isArray(e.rules)&&e.rules.some(e=>(0,s.hasInvalidSemverComparand)(e))))throw Error("invalid semantic version comparand");return e.allocations.every(e=>Array.isArray(e.splits)&&e.splits.every(e=>Array.isArray(e.shards))&&(void 0===e.rules||Array.isArray(e.rules)&&e.rules.every(e=>(0,s.isValidRule)(e))))}function containsMatchingRule(e,t,r){return null==e||!e.length||(r.debug("evaluating rules",{rules:JSON.stringify(e),subjectAttributes:t}),e.some(e=>(0,s.matchesRule)(e,t)))}function selectSplitUsingSharding(e,t,r,a){if(!e||0===e.length)return null;for(let i of e)if(a.debug("evaluating split sharding",{flagKey:r,subjectKey:t,variationKey:i.variationKey,shards:i.shards}),i.shards.every(e=>{if(null==t)throw new n.TargetingKeyMissingError;let s=(0,o.matchesShard)(e,t);return a.debug("shard match result",{flagKey:r,subjectKey:t,variationKey:i.variationKey,shard:e,matches:s}),s}))return a.debug("subject matches split",{flagKey:r,subjectKey:t,variationKey:i.variationKey}),i;return a.debug("subject matches no splits",{flagKey:r,subjectKey:t}),null}},"./@datadog/flagging-core/cjs/evaluation/evaluation.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateRulesBasedConfiguration=evaluateRulesBasedConfiguration;let a=r("./@datadog/flagging-core/cjs/time.js"),n=r("./@datadog/flagging-core/cjs/evaluation/errors.js"),i=r("./@datadog/flagging-core/cjs/evaluation/evaluateForSubject.js"),o=r("./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js");function evaluateRulesBasedConfiguration(e,t,r,s,l,u){let c=(0,a.timeStampNow)();if(!e)return{value:s,reason:"ERROR",errorCode:"PROVIDER_NOT_READY",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)};let{targetingKey:g,...d}=l,f={...null!=g?{id:g}:{},...d},h=e.flags[r];if(!h)return u.debug("returning default value because flag is not found",{flagKey:r,subjectKey:g}),{value:s,reason:"ERROR",errorCode:"FLAG_NOT_FOUND",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)};try{return(0,i.evaluateForSubject)(h,t,g,f,s,u,c)}catch(e){if(e instanceof n.TargetingKeyMissingError)return{value:s,reason:"ERROR",errorCode:"TARGETING_KEY_MISSING",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)};return u.error("Error evaluating flag",{error:e}),{value:s,reason:"ERROR",errorCode:"GENERAL",flagMetadata:(0,o.createEvaluationTimestampMetadata)(c)}}}},"./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js"(e,t){"use strict";function createEvaluationTimestampMetadata(e){return{__dd_eval_timestamp_ms:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.createEvaluationTimestampMetadata=createEvaluationTimestampMetadata},"./@datadog/flagging-core/cjs/evaluation/index.js"(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r("./@datadog/flagging-core/cjs/evaluation/errors.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/evaluateForSubject.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/evaluation.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/evaluationMetadata.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/matchesShard.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/rules.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/sharders.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/ufc-v1.js"),t)},"./@datadog/flagging-core/cjs/evaluation/matchesShard.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matchesShard=matchesShard;let a=r("./@datadog/flagging-core/cjs/evaluation/sharders.js");function matchesShard(e,t,r){let n=(null!=r?r:new a.MD5Sharder).getShard(hashKey(e.salt,t),e.totalShards);return e.ranges.some(e=>isInShardRange(n,e))}function isInShardRange(e,t){return t.start<=e&&e<t.end}function hashKey(e,t){return`${e}-${t}`}},"./@datadog/flagging-core/cjs/evaluation/rules.js"(e,t,r){"use strict";var a,n;Object.defineProperty(t,"__esModule",{value:!0}),t.OperatorType=void 0,t.isValidRule=isValidRule,t.matchesRule=matchesRule,t.isSemverOperator=isSemverOperator,t.hasInvalidSemverComparand=hasInvalidSemverComparand;let i=r("./@datadog/flagging-core/cjs/evaluation/semver.js");(n=a||(t.OperatorType=a={})).MATCHES="MATCHES",n.NOT_MATCHES="NOT_MATCHES",n.GTE="GTE",n.GT="GT",n.LTE="LTE",n.LT="LT",n.ONE_OF="ONE_OF",n.NOT_ONE_OF="NOT_ONE_OF",n.IS_NULL="IS_NULL",n.SEMVER_EQ="SEMVER_EQ",n.SEMVER_NEQ="SEMVER_NEQ",n.SEMVER_LT="SEMVER_LT",n.SEMVER_LTE="SEMVER_LTE",n.SEMVER_GT="SEMVER_GT",n.SEMVER_GTE="SEMVER_GTE";let o=new Set(Object.values(a));function isValidRule(e){return!!Array.isArray(e.conditions)&&e.conditions.every(e=>{if(!o.has(e.operator))return!1;if(isSemverOperator(e.operator))return null!==(0,i.parseSemver)(e.value);if(e.operator!==a.MATCHES&&e.operator!==a.NOT_MATCHES)return!0;try{return compileRegex(e.value),!0}catch(e){return!1}})}function matchesRule(e,t){return!evaluateRuleConditions(t,e.conditions).includes(!1)}function evaluateRuleConditions(e,t){return t.map(t=>evaluateCondition(e,t))}function evaluateCondition(e,t){let r=e[t.attribute];if(t.operator===a.IS_NULL)return t.value?null==r:null!=r;if(null!=r)switch(t.operator){case a.GTE:case a.GT:case a.LTE:case a.LT:return compareNumber(r,t.value,(e,r)=>t.operator===a.GTE?e>=r:t.operator===a.GT?e>r:t.operator===a.LTE?e<=r:e<r);case a.MATCHES:return compileRegex(t.value).test(String(r));case a.NOT_MATCHES:return!compileRegex(t.value).test(String(r));case a.ONE_OF:var n;return n=r.toString(),t.value.includes(n);case a.NOT_ONE_OF:return isNotOneOf(r.toString(),t.value);case a.SEMVER_EQ:case a.SEMVER_NEQ:case a.SEMVER_LT:case a.SEMVER_LTE:case a.SEMVER_GT:case a.SEMVER_GTE:return evaluateSemverCondition(r,t.value,t.operator)}return!1}function isSemverOperator(e){return e===a.SEMVER_EQ||e===a.SEMVER_NEQ||e===a.SEMVER_LT||e===a.SEMVER_LTE||e===a.SEMVER_GT||e===a.SEMVER_GTE}function hasInvalidSemverComparand(e){return e.conditions.some(e=>isSemverOperator(e.operator)&&null===(0,i.parseSemver)(e.value))}function evaluateSemverCondition(e,t,r){if("string"!=typeof e)return!1;let n=(0,i.parseSemver)(e),o=(0,i.parseSemver)(t);if(!n||!o)return!1;let s=(0,i.compareSemver)(n,o);switch(r){case a.SEMVER_EQ:return 0===s;case a.SEMVER_NEQ:return 0!==s;case a.SEMVER_LT:return s<0;case a.SEMVER_LTE:return s<=0;case a.SEMVER_GT:return s>0;case a.SEMVER_GTE:return s>=0}}function compileRegex(e){let t=e.match(/^\(\?([imsu]+)\)/),r=t?[...new Set(t[1])].join(""):"";return new RegExp((t?e.slice(t[0].length):e).split("[:alnum:]").join("A-Za-z0-9"),r)}function isNotOneOf(e,t){return!t.includes(e)}function compareNumber(e,t,r){return r(Number(e),Number(t))}},"./@datadog/flagging-core/cjs/evaluation/semver.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseSemver=parseSemver,t.compareSemver=compareSemver;let r="18446744073709551615";function parseSemver(e){if("string"!=typeof e)return null;let t=parseCoreIdentifier(e,0);if(!t||t.next>=e.length||"."!==e[t.next])return null;let r=parseCoreIdentifier(e,t.next+1);if(!r||r.next>=e.length||"."!==e[r.next])return null;let a=parseCoreIdentifier(e,r.next+1);if(!a)return null;let n={major:t.value,minor:r.value,patch:a.value,prerelease:""};if(a.next===e.length)return n;let i=e.slice(a.next);if(i.startsWith("-")){let e=(i=i.slice(1)).indexOf("+");if(-1===e)return isValidSemverIdentifiers(i,!1)?{...n,prerelease:i}:null;let t=i.slice(0,e);if(!isValidSemverIdentifiers(t,!1))return null;n.prerelease=t,i=i.slice(e+1)}else{if(!i.startsWith("+"))return null;i=i.slice(1)}return isValidSemverIdentifiers(i,!0)?n:null}function compareSemver(e,t){for(let[r,a]of[[e.major,t.major],[e.minor,t.minor],[e.patch,t.patch]]){let e=compareNumericStrings(r,a);if(0!==e)return e}return compareSemverPrerelease(e.prerelease,t.prerelease)}function parseCoreIdentifier(e,t){if(t>=e.length||!isAsciiDigit(e.charCodeAt(t)))return null;if("0"===e[t])return{value:"0",next:t+1};let a=t;for(;a<e.length&&isAsciiDigit(e.charCodeAt(a));)a++;let n=e.slice(t,a);return n.length>r.length||n.length===r.length&&n>r?null:{value:n,next:a}}function isValidSemverIdentifiers(e,t){let r=0,a=!0;for(let n=0;n<=e.length;n++){if(n===e.length||"."===e[n]){if(n===r||!t&&a&&n-r>1&&"0"===e[r])return!1;r=n+1,a=!0;continue}let i=e.charCodeAt(n);if(!isAsciiAlphanumeric(i)&&"-"!==e[n])return!1;isAsciiDigit(i)||(a=!1)}return!0}function compareSemverPrerelease(e,t){if(e===t)return 0;if(""===e)return 1;if(""===t)return -1;let r=e,a=t;for(;;){let[e,t]=nextSemverIdentifier(r),[n,i]=nextSemverIdentifier(a),o=compareSemverIdentifier(e,n);if(0!==o)return o;if(""===t||""===i){if(""===t&&""===i)return 0;return""===t?-1:1}r=t.slice(1),a=i.slice(1)}}function nextSemverIdentifier(e){let t=e.indexOf(".");return -1===t?[e,""]:[e.slice(0,t),e.slice(t)]}function compareSemverIdentifier(e,t){let r=isSemverNumericIdentifier(e),a=isSemverNumericIdentifier(t);return r&&a?compareNumericStrings(e,t):r?-1:a?1:compareAsciiStrings(e,t)}function isSemverNumericIdentifier(e){for(let t=0;t<e.length;t++)if(!isAsciiDigit(e.charCodeAt(t)))return!1;return!0}function compareNumericStrings(e,t){return e.length!==t.length?e.length<t.length?-1:1:compareAsciiStrings(e,t)}function compareAsciiStrings(e,t){let r=Math.min(e.length,t.length);for(let a=0;a<r;a++){let r=e.charCodeAt(a),n=t.charCodeAt(a);if(r!==n)return r<n?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function isAsciiDigit(e){return e>=48&&e<=57}function isAsciiAlphanumeric(e){return isAsciiDigit(e)||e>=65&&e<=90||e>=97&&e<=122}},"./@datadog/flagging-core/cjs/evaluation/sharders.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeterministicSharder=t.MD5Sharder=t.Sharder=void 0;let a=r("./@datadog/flagging-core/cjs/obfuscation.js");let Sharder=class Sharder{};t.Sharder=Sharder;let MD5Sharder=class MD5Sharder extends Sharder{getShard(e,t){return parseInt((0,a.getMD5Hash)(e).slice(0,8),16)%t}};t.MD5Sharder=MD5Sharder;let DeterministicSharder=class DeterministicSharder extends Sharder{constructor(e){super(),this.lookup=e}getShard(e,t){var r;return null!=(r=this.lookup[e])?r:0}};t.DeterministicSharder=DeterministicSharder},"./@datadog/flagging-core/cjs/evaluation/ufc-v1.js"(e,t){"use strict";function variantTypeToFlagValueType(e){if("BOOLEAN"===e)return"boolean";if("STRING"===e)return"string";if("INTEGER"===e||"NUMERIC"===e)return"number";if("JSON"===e)return"object";throw Error(`Cannot convert variant type to flag value type: ${e}`)}Object.defineProperty(t,"__esModule",{value:!0}),t.variantTypeToFlagValueType=variantTypeToFlagValueType},"./@datadog/flagging-core/cjs/index.js"(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r("./@datadog/flagging-core/cjs/cache/index.js"),t),n(r("./@datadog/flagging-core/cjs/configuration/index.js"),t),n(r("./@datadog/flagging-core/cjs/evaluation/index.js"),t),n(r("./@datadog/flagging-core/cjs/obfuscation.js"),t),n(r("./@datadog/flagging-core/cjs/time.js"),t)},"./@datadog/flagging-core/cjs/obfuscation.js"(e,t,r){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getMD5Hash=getMD5Hash,t.buildStorageKeySuffix=buildStorageKeySuffix;let n=a(r("./spark-md5/spark-md5.js"));function getMD5Hash(e,t=""){return new n.default().append(t).append(e).end()}function buildStorageKeySuffix(e){return getMD5Hash(e).slice(0,16)}},"./@datadog/flagging-core/cjs/time.js"(e,t){"use strict";function timeStampNow(){return new Date().getTime()}Object.defineProperty(t,"__esModule",{value:!0}),t.timeStampNow=timeStampNow},"./@datadog/openfeature-node-server/cjs/configuration/evaluation.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluate=void 0;var a=r("./@datadog/flagging-core/cjs/index.js");Object.defineProperty(t,"evaluate",{enumerable:!0,get:function(){return a.evaluateRulesBasedConfiguration}})},"./@datadog/openfeature-node-server/cjs/index.js"(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r("./@datadog/openfeature-node-server/cjs/provider.js"),t)},"./@datadog/openfeature-node-server/cjs/initialization-controller.js"(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InitializationController=void 0;let InitializationController=class InitializationController{constructor(e,t){this.promise=Promise.race([new Promise((e,t)=>{this.resolve=()=>{this.cleanup(),e()},this.reject=e=>{this.cleanup(),t(e)}}),new Promise(()=>{var r,a;this.timeoutId=setTimeout(()=>{t()},e),null==(a=(r=this.timeoutId).unref)||a.call(r)})])}async wait(){try{await this.promise}finally{this.cleanup()}}complete(){this.resolve&&this.resolve()}fail(e){this.reject&&this.reject(e)}isInitializing(){return void 0!==this.resolve}cleanup(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.resolve=void 0,this.reject=void 0}};t.InitializationController=InitializationController},"./@datadog/openfeature-node-server/cjs/provider-event-emitter.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeProviderEventEmitter=void 0;let a=r("node:events");let NodeProviderEventEmitter=class NodeProviderEventEmitter{constructor(){this.eventEmitter=new a.EventEmitter,this.handlers=new Map}emit(e,t){this.eventEmitter.emit(e,t)}addHandler(e,t){var r,a;let asyncHandler=async e=>{try{await t(e)}catch(e){this.logHandlerError(e)}},n=null!=(r=this.handlers.get(e))?r:new Map,i=null!=(a=n.get(t))?a:[];i.push(asyncHandler),n.set(t,i),this.handlers.set(e,n),this.eventEmitter.on(e,asyncHandler)}removeHandler(e,t){let r=this.handlers.get(e),a=null==r?void 0:r.get(t),n=null==a?void 0:a.pop();n&&this.eventEmitter.removeListener(e,n),(null==a?void 0:a.length)===0&&(null==r||r.delete(t)),(null==r?void 0:r.size)===0&&this.handlers.delete(e)}removeAllHandlers(e){if(e){this.eventEmitter.removeAllListeners(e),this.handlers.delete(e);return}this.eventEmitter.removeAllListeners(),this.handlers.clear()}getHandlers(e){return this.eventEmitter.listeners(e)}setLogger(e){return this.logger=e,this}logHandlerError(e){var t;try{null==(t=this.logger)||t.error("Error running event handler:",e)}catch(e){}}};t.NodeProviderEventEmitter=NodeProviderEventEmitter},"./@datadog/openfeature-node-server/cjs/provider.js"(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatadogNodeServerProvider=void 0;let a=r("./@datadog/flagging-core/cjs/index.js"),n=r("./@datadog/openfeature-node-server/cjs/configuration/evaluation.js"),i=r("./@datadog/openfeature-node-server/cjs/initialization-controller.js"),o=r("./@datadog/openfeature-node-server/cjs/provider-event-emitter.js");let DatadogNodeServerProvider=class DatadogNodeServerProvider{constructor(e){this.options=e,this.metadata={name:"datadog-node-server"},this.runsOn="server",this.hooks=[],this.events=new o.NodeProviderEventEmitter,this.exposureCache=new a.LRUInMemoryAssignmentCache(5e4)}getConfiguration(){return this.configuration}setConfiguration(e){var t,r,a;let n=null==(t=this.configuration)?void 0:t.createdAt,i=!!this.configuration;if(i&&this.configuration!==e){this.events.emit("PROVIDER_CONFIGURATION_CHANGED"),n!==(null==e?void 0:e.createdAt)&&(null==(r=this.exposureCache)||r.clear()),this.configuration=e;return}this.configuration=e,(null==(a=this.initController)?void 0:a.isInitializing())?this.initController.complete():i||this.events.emit("PROVIDER_READY")}setError(e){var t;(null==(t=this.initController)?void 0:t.isInitializing())?this.initController.fail(e):this.events.emit("PROVIDER_ERROR",{error:e})}async initialize(){var e,t;if(this.configuration)return;let r=null!=(e=this.options.initializationTimeoutMs)?e:3e4;this.initController=new i.InitializationController(r,()=>this.setError(Error(`Initialization timeout after ${r}ms`))),await this.initController.wait(),await (null==(t=this.exposureCache)?void 0:t.init())}async resolveBooleanEvaluation(e,t,r,a){let i=(0,n.evaluate)(this.configuration,"boolean",e,t,r,a);return this.handleExposure(e,r,i),i}async resolveStringEvaluation(e,t,r,a){let i=(0,n.evaluate)(this.configuration,"string",e,t,r,a);return this.handleExposure(e,r,i),i}async resolveNumberEvaluation(e,t,r,a){let i=(0,n.evaluate)(this.configuration,"number",e,t,r,a);return this.handleExposure(e,r,i),i}async resolveObjectEvaluation(e,t,r,a){let i=(0,n.evaluate)(this.configuration,"object",e,t,r,a);return this.handleExposure(e,r,i),i}handleExposure(e,t,r){var n,i,o;let s=(0,a.timeStampNow)(),l={...r,flagKey:e,flagMetadata:null!=(n=r.flagMetadata)?n:{}},u=(0,a.createExposureEvent)(t,l);!u||(null==(i=this.exposureCache)?void 0:i.has(u))||this.options.exposureChannel.hasSubscribers&&(this.options.exposureChannel.publish({...u,timestamp:s}),null==(o=this.exposureCache)||o.set(u))}};t.DatadogNodeServerProvider=DatadogNodeServerProvider},"./spark-md5/spark-md5.js"(e){e.exports=function(){"use strict";var e=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function md5cycle(e,t){var r=e[0],a=e[1],n=e[2],i=e[3];r+=(a&n|~a&i)+t[0]-0x28955b88|0,i+=((r=(r<<7|r>>>25)+a|0)&a|~r&n)+t[1]-0x173848aa|0,n+=((i=(i<<12|i>>>20)+r|0)&r|~i&a)+t[2]+0x242070db|0,a+=((n=(n<<17|n>>>15)+i|0)&i|~n&r)+t[3]-0x3e423112|0,r+=((a=(a<<22|a>>>10)+n|0)&n|~a&i)+t[4]-0xa83f051|0,i+=((r=(r<<7|r>>>25)+a|0)&a|~r&n)+t[5]+0x4787c62a|0,n+=((i=(i<<12|i>>>20)+r|0)&r|~i&a)+t[6]-0x57cfb9ed|0,a+=((n=(n<<17|n>>>15)+i|0)&i|~n&r)+t[7]-0x2b96aff|0,r+=((a=(a<<22|a>>>10)+n|0)&n|~a&i)+t[8]+0x698098d8|0,i+=((r=(r<<7|r>>>25)+a|0)&a|~r&n)+t[9]-0x74bb0851|0,n+=((i=(i<<12|i>>>20)+r|0)&r|~i&a)+t[10]-42063|0,a+=((n=(n<<17|n>>>15)+i|0)&i|~n&r)+t[11]-0x76a32842|0,r+=((a=(a<<22|a>>>10)+n|0)&n|~a&i)+t[12]+0x6b901122|0,i+=((r=(r<<7|r>>>25)+a|0)&a|~r&n)+t[13]-0x2678e6d|0,n+=((i=(i<<12|i>>>20)+r|0)&r|~i&a)+t[14]-0x5986bc72|0,a+=((n=(n<<17|n>>>15)+i|0)&i|~n&r)+t[15]+0x49b40821|0,r+=((a=(a<<22|a>>>10)+n|0)&i|n&~i)+t[1]-0x9e1da9e|0,i+=((r=(r<<5|r>>>27)+a|0)&n|a&~n)+t[6]-0x3fbf4cc0|0,n+=((i=(i<<9|i>>>23)+r|0)&a|r&~a)+t[11]+0x265e5a51|0,a+=((n=(n<<14|n>>>18)+i|0)&r|i&~r)+t[0]-0x16493856|0,r+=((a=(a<<20|a>>>12)+n|0)&i|n&~i)+t[5]-0x29d0efa3|0,i+=((r=(r<<5|r>>>27)+a|0)&n|a&~n)+t[10]+0x2441453|0,n+=((i=(i<<9|i>>>23)+r|0)&a|r&~a)+t[15]-0x275e197f|0,a+=((n=(n<<14|n>>>18)+i|0)&r|i&~r)+t[4]-0x182c0438|0,r+=((a=(a<<20|a>>>12)+n|0)&i|n&~i)+t[9]+0x21e1cde6|0,i+=((r=(r<<5|r>>>27)+a|0)&n|a&~n)+t[14]-0x3cc8f82a|0,n+=((i=(i<<9|i>>>23)+r|0)&a|r&~a)+t[3]-0xb2af279|0,a+=((n=(n<<14|n>>>18)+i|0)&r|i&~r)+t[8]+0x455a14ed|0,r+=((a=(a<<20|a>>>12)+n|0)&i|n&~i)+t[13]-0x561c16fb|0,i+=((r=(r<<5|r>>>27)+a|0)&n|a&~n)+t[2]-0x3105c08|0,n+=((i=(i<<9|i>>>23)+r|0)&a|r&~a)+t[7]+0x676f02d9|0,a+=((n=(n<<14|n>>>18)+i|0)&r|i&~r)+t[12]-0x72d5b376|0,r+=((a=(a<<20|a>>>12)+n|0)^n^i)+t[5]-378558|0,i+=((r=(r<<4|r>>>28)+a|0)^a^n)+t[8]-0x788e097f|0,n+=((i=(i<<11|i>>>21)+r|0)^r^a)+t[11]+0x6d9d6122|0,a+=((n=(n<<16|n>>>16)+i|0)^i^r)+t[14]-0x21ac7f4|0,r+=((a=(a<<23|a>>>9)+n|0)^n^i)+t[1]-0x5b4115bc|0,i+=((r=(r<<4|r>>>28)+a|0)^a^n)+t[4]+0x4bdecfa9|0,n+=((i=(i<<11|i>>>21)+r|0)^r^a)+t[7]-0x944b4a0|0,a+=((n=(n<<16|n>>>16)+i|0)^i^r)+t[10]-0x41404390|0,r+=((a=(a<<23|a>>>9)+n|0)^n^i)+t[13]+0x289b7ec6|0,i+=((r=(r<<4|r>>>28)+a|0)^a^n)+t[0]-0x155ed806|0,n+=((i=(i<<11|i>>>21)+r|0)^r^a)+t[3]-0x2b10cf7b|0,a+=((n=(n<<16|n>>>16)+i|0)^i^r)+t[6]+0x4881d05|0,r+=((a=(a<<23|a>>>9)+n|0)^n^i)+t[9]-0x262b2fc7|0,i+=((r=(r<<4|r>>>28)+a|0)^a^n)+t[12]-0x1924661b|0,n+=((i=(i<<11|i>>>21)+r|0)^r^a)+t[15]+0x1fa27cf8|0,a+=((n=(n<<16|n>>>16)+i|0)^i^r)+t[2]-0x3b53a99b|0,a=(a<<23|a>>>9)+n|0,r+=(n^(a|~i))+t[0]-0xbd6ddbc|0,r=(r<<6|r>>>26)+a|0,i+=(a^(r|~n))+t[7]+0x432aff97|0,i=(i<<10|i>>>22)+r|0,n+=(r^(i|~a))+t[14]-0x546bdc59|0,n=(n<<15|n>>>17)+i|0,a+=(i^(n|~r))+t[5]-0x36c5fc7|0,a=(a<<21|a>>>11)+n|0,r+=(n^(a|~i))+t[12]+0x655b59c3|0,r=(r<<6|r>>>26)+a|0,i+=(a^(r|~n))+t[3]-0x70f3336e|0,i=(i<<10|i>>>22)+r|0,n+=(r^(i|~a))+t[10]-1051523|0,n=(n<<15|n>>>17)+i|0,a+=(i^(n|~r))+t[1]-0x7a7ba22f|0,a=(a<<21|a>>>11)+n|0,r+=(n^(a|~i))+t[8]+0x6fa87e4f|0,r=(r<<6|r>>>26)+a|0,i+=(a^(r|~n))+t[15]-0x1d31920|0,i=(i<<10|i>>>22)+r|0,n+=(r^(i|~a))+t[6]-0x5cfebcec|0,n=(n<<15|n>>>17)+i|0,a+=(i^(n|~r))+t[13]+0x4e0811a1|0,a=(a<<21|a>>>11)+n|0,r+=(n^(a|~i))+t[4]-0x8ac817e|0,r=(r<<6|r>>>26)+a|0,i+=(a^(r|~n))+t[11]-0x42c50dcb|0,i=(i<<10|i>>>22)+r|0,n+=(r^(i|~a))+t[2]+0x2ad7d2bb|0,n=(n<<15|n>>>17)+i|0,a+=(i^(n|~r))+t[9]-0x14792c6f|0,a=(a<<21|a>>>11)+n|0,e[0]=r+e[0]|0,e[1]=a+e[1]|0,e[2]=n+e[2]|0,e[3]=i+e[3]|0}function md5blk(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return r}function md5blk_array(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return r}function md51(e){var t,r,a,n,i,o,s=e.length,l=[0x67452301,-0x10325477,-0x67452302,0x10325476];for(t=64;t<=s;t+=64)md5cycle(l,md5blk(e.substring(t-64,t)));for(r=(e=e.substring(t-64)).length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<r;t+=1)a[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(a[t>>2]|=128<<(t%4<<3),t>55)for(md5cycle(l,a),t=0;t<16;t+=1)a[t]=0;return i=parseInt((n=(n=8*s).toString(16).match(/(.*?)(.{0,8})$/))[2],16),o=parseInt(n[1],16)||0,a[14]=i,a[15]=o,md5cycle(l,a),l}function md51_array(e){var t,r,a,n,i,o,s=e.length,l=[0x67452301,-0x10325477,-0x67452302,0x10325476];for(t=64;t<=s;t+=64)md5cycle(l,md5blk_array(e.subarray(t-64,t)));for(r=(e=t-64<s?e.subarray(t-64):new Uint8Array(0)).length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<r;t+=1)a[t>>2]|=e[t]<<(t%4<<3);if(a[t>>2]|=128<<(t%4<<3),t>55)for(md5cycle(l,a),t=0;t<16;t+=1)a[t]=0;return i=parseInt((n=(n=8*s).toString(16).match(/(.*?)(.{0,8})$/))[2],16),o=parseInt(n[1],16)||0,a[14]=i,a[15]=o,md5cycle(l,a),l}function rhex(t){var r,a="";for(r=0;r<4;r+=1)a+=e[t>>8*r+4&15]+e[t>>8*r&15];return a}function hex(e){var t;for(t=0;t<e.length;t+=1)e[t]=rhex(e[t]);return e.join("")}function toUtf8(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function utf8Str2ArrayBuffer(e,t){var r,a=e.length,n=new ArrayBuffer(a),i=new Uint8Array(n);for(r=0;r<a;r+=1)i[r]=e.charCodeAt(r);return t?i:n}function arrayBuffer2Utf8Str(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function concatenateArrayBuffers(e,t,r){var a=new Uint8Array(e.byteLength+t.byteLength);return a.set(new Uint8Array(e)),a.set(new Uint8Array(t),e.byteLength),r?a:a.buffer}function hexToBinaryString(e){var t,r=[],a=e.length;for(t=0;t<a-1;t+=2)r.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,r)}function SparkMD5(){this.reset()}return hex(md51("hello")),"u">typeof ArrayBuffer&&!ArrayBuffer.prototype.slice&&function(){function clamp(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(e,t){var r,a,n,i,o=this.byteLength,s=clamp(e,o),l=o;return(void 0!==t&&(l=clamp(t,o)),s>l)?new ArrayBuffer(0):(n=new Uint8Array(a=new ArrayBuffer(r=l-s)),i=new Uint8Array(this,s,r),n.set(i),a)}}(),SparkMD5.prototype.append=function(e){return this.appendBinary(toUtf8(e)),this},SparkMD5.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,r=this._buff.length;for(t=64;t<=r;t+=64)md5cycle(this._hash,md5blk(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},SparkMD5.prototype.end=function(e){var t,r,a=this._buff,n=a.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)i[t>>2]|=a.charCodeAt(t)<<(t%4<<3);return this._finish(i,n),r=hex(this._hash),e&&(r=hexToBinaryString(r)),this.reset(),r},SparkMD5.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[0x67452301,-0x10325477,-0x67452302,0x10325476],this},SparkMD5.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},SparkMD5.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},SparkMD5.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},SparkMD5.prototype._finish=function(e,t){var r,a,n,i=t;if(e[i>>2]|=128<<(i%4<<3),i>55)for(md5cycle(this._hash,e),i=0;i<16;i+=1)e[i]=0;a=parseInt((r=(r=8*this._length).toString(16).match(/(.*?)(.{0,8})$/))[2],16),n=parseInt(r[1],16)||0,e[14]=a,e[15]=n,md5cycle(this._hash,e)},SparkMD5.hash=function(e,t){return SparkMD5.hashBinary(toUtf8(e),t)},SparkMD5.hashBinary=function(e,t){var r=hex(md51(e));return t?hexToBinaryString(r):r},SparkMD5.ArrayBuffer=function(){this.reset()},SparkMD5.ArrayBuffer.prototype.append=function(e){var t,r=concatenateArrayBuffers(this._buff.buffer,e,!0),a=r.length;for(this._length+=e.byteLength,t=64;t<=a;t+=64)md5cycle(this._hash,md5blk_array(r.subarray(t-64,t)));return this._buff=new Uint8Array(t-64<a?r.buffer.slice(t-64):0),this},SparkMD5.ArrayBuffer.prototype.end=function(e){var t,r,a=this._buff,n=a.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)i[t>>2]|=a[t]<<(t%4<<3);return this._finish(i,n),r=hex(this._hash),e&&(r=hexToBinaryString(r)),this.reset(),r},SparkMD5.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[0x67452301,-0x10325477,-0x67452302,0x10325476],this},SparkMD5.ArrayBuffer.prototype.getState=function(){var e=SparkMD5.prototype.getState.call(this);return e.buff=arrayBuffer2Utf8Str(e.buff),e},SparkMD5.ArrayBuffer.prototype.setState=function(e){return e.buff=utf8Str2ArrayBuffer(e.buff,!0),SparkMD5.prototype.setState.call(this,e)},SparkMD5.ArrayBuffer.prototype.destroy=SparkMD5.prototype.destroy,SparkMD5.ArrayBuffer.prototype._finish=SparkMD5.prototype._finish,SparkMD5.ArrayBuffer.hash=function(e,t){var r=hex(md51_array(new Uint8Array(e)));return t?hexToBinaryString(r):r},SparkMD5}()},"node:events"(e){"use strict";e.exports=require("node:events")}},t={};function __webpack_require__(r){var a=t[r];if(void 0!==a)return a.exports;var n=t[r]={exports:{}};return e[r].call(n.exports,n,n.exports,__webpack_require__),n.exports}var r=__webpack_require__("./@datadog/openfeature-node-server/cjs/index.js");module.exports=r})();