@sentry/node 10.70.0 → 11.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/bundler-plugin/esbuild.js +19 -0
- package/build/cjs/bundler-plugin/esbuild.js.map +1 -0
- package/build/cjs/bundler-plugin/rollup.js +12 -0
- package/build/cjs/bundler-plugin/rollup.js.map +1 -0
- package/build/cjs/bundler-plugin/vite.js +12 -0
- package/build/cjs/bundler-plugin/vite.js.map +1 -0
- package/build/cjs/bundler-plugin/webpack.js +18 -0
- package/build/cjs/bundler-plugin/webpack.js.map +1 -0
- package/build/cjs/cron/common.js +52 -0
- package/build/cjs/cron/common.js.map +1 -0
- package/build/cjs/cron/cron.js +88 -0
- package/build/cjs/cron/cron.js.map +1 -0
- package/build/cjs/cron/index.js +14 -0
- package/build/cjs/cron/index.js.map +1 -0
- package/build/cjs/cron/node-cron.js +52 -0
- package/build/cjs/cron/node-cron.js.map +1 -0
- package/build/cjs/cron/node-schedule.js +41 -0
- package/build/cjs/cron/node-schedule.js.map +1 -0
- package/build/cjs/index.js +112 -123
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/integrations/anr/index.js +159 -0
- package/build/cjs/integrations/anr/index.js.map +1 -0
- package/build/cjs/integrations/childProcess.js +81 -0
- package/build/cjs/integrations/childProcess.js.map +1 -0
- package/build/cjs/integrations/console.js +95 -0
- package/build/cjs/integrations/console.js.map +1 -0
- package/build/cjs/integrations/context.js +391 -0
- package/build/cjs/integrations/context.js.map +1 -0
- package/build/cjs/integrations/contextlines.js +251 -0
- package/build/cjs/integrations/contextlines.js.map +1 -0
- package/build/cjs/integrations/fs/index.js +1 -1
- package/build/cjs/integrations/fs/index.js.map +1 -1
- package/build/cjs/integrations/fs/vendored/constants.js.map +1 -1
- package/build/cjs/integrations/http/SentryHttpInstrumentation.js +67 -0
- package/build/cjs/integrations/http/SentryHttpInstrumentation.js.map +1 -0
- package/build/cjs/integrations/http/httpServerIntegration.js +77 -0
- package/build/cjs/integrations/http/httpServerIntegration.js.map +1 -0
- package/build/cjs/integrations/http/httpServerSpansIntegration.js +241 -0
- package/build/cjs/integrations/http/httpServerSpansIntegration.js.map +1 -0
- package/build/cjs/integrations/http/index.js +71 -0
- package/build/cjs/integrations/http/index.js.map +1 -0
- package/build/cjs/integrations/local-variables/common.js +20 -0
- package/build/cjs/integrations/local-variables/common.js.map +1 -0
- package/build/cjs/integrations/local-variables/index.js +10 -0
- package/build/cjs/integrations/local-variables/index.js.map +1 -0
- package/build/cjs/integrations/local-variables/local-variables-async.js +106 -0
- package/build/cjs/integrations/local-variables/local-variables-async.js.map +1 -0
- package/build/cjs/integrations/modules.js +98 -0
- package/build/cjs/integrations/modules.js.map +1 -0
- package/build/cjs/integrations/node-fetch/index.js +24 -0
- package/build/cjs/integrations/node-fetch/index.js.map +1 -0
- package/build/cjs/integrations/node-fetch/undici-instrumentation.js +262 -0
- package/build/cjs/integrations/node-fetch/undici-instrumentation.js.map +1 -0
- package/build/cjs/integrations/nodeRuntimeMetrics.js +181 -0
- package/build/cjs/integrations/nodeRuntimeMetrics.js.map +1 -0
- package/build/cjs/integrations/onuncaughtexception.js +92 -0
- package/build/cjs/integrations/onuncaughtexception.js.map +1 -0
- package/build/cjs/integrations/onunhandledrejection.js +92 -0
- package/build/cjs/integrations/onunhandledrejection.js.map +1 -0
- package/build/cjs/integrations/pino.js +116 -0
- package/build/cjs/integrations/pino.js.map +1 -0
- package/build/cjs/integrations/processSession.js +22 -0
- package/build/cjs/integrations/processSession.js.map +1 -0
- package/build/cjs/integrations/spotlight.js +79 -0
- package/build/cjs/integrations/spotlight.js.map +1 -0
- package/build/cjs/integrations/systemError.js +54 -0
- package/build/cjs/integrations/systemError.js.map +1 -0
- package/build/cjs/integrations/tracing/express.js +0 -52
- package/build/cjs/integrations/tracing/express.js.map +1 -1
- package/build/cjs/integrations/tracing/fastify/index.js +1 -16
- package/build/cjs/integrations/tracing/fastify/index.js.map +1 -1
- package/build/cjs/integrations/tracing/hapi/index.js +0 -16
- package/build/cjs/integrations/tracing/hapi/index.js.map +1 -1
- package/build/cjs/integrations/tracing/index.js +29 -87
- package/build/cjs/integrations/tracing/index.js.map +1 -1
- package/build/cjs/integrations/tracing/koa/index.js +0 -24
- package/build/cjs/integrations/tracing/koa/index.js.map +1 -1
- package/build/cjs/integrations/tracing/redis/cache.js +6 -4
- package/build/cjs/integrations/tracing/redis/cache.js.map +1 -1
- package/build/cjs/integrations/tracing/redis/index.js +10 -26
- package/build/cjs/integrations/tracing/redis/index.js.map +1 -1
- package/build/cjs/integrations/winston.js +84 -0
- package/build/cjs/integrations/winston.js.map +1 -0
- package/build/cjs/logs/capture.js +26 -0
- package/build/cjs/logs/capture.js.map +1 -0
- package/build/cjs/logs/exports.js +32 -0
- package/build/cjs/logs/exports.js.map +1 -0
- package/build/cjs/nodeVersion.js +10 -0
- package/build/cjs/nodeVersion.js.map +1 -0
- package/build/cjs/otel/logger.js +21 -0
- package/build/cjs/otel/logger.js.map +1 -0
- package/build/cjs/proxy/base.js +69 -0
- package/build/cjs/proxy/base.js.map +1 -0
- package/build/cjs/proxy/index.js +112 -0
- package/build/cjs/proxy/index.js.map +1 -0
- package/build/cjs/proxy/parse-proxy-response.js +88 -0
- package/build/cjs/proxy/parse-proxy-response.js.map +1 -0
- package/build/cjs/sdk/api.js +61 -0
- package/build/cjs/sdk/api.js.map +1 -0
- package/build/cjs/sdk/client.js +113 -0
- package/build/cjs/sdk/client.js.map +1 -0
- package/build/cjs/sdk/index.js +183 -41
- package/build/cjs/sdk/index.js.map +1 -1
- package/build/cjs/sdk/initOtel.js +9 -95
- package/build/cjs/sdk/initOtel.js.map +1 -1
- package/build/cjs/transports/http.js +102 -0
- package/build/cjs/transports/http.js.map +1 -0
- package/build/cjs/utils/debug.js +17 -0
- package/build/cjs/utils/debug.js.map +1 -0
- package/build/cjs/utils/entry-point.js +36 -0
- package/build/cjs/utils/entry-point.js.map +1 -0
- package/build/cjs/utils/errorhandling.js +33 -0
- package/build/cjs/utils/errorhandling.js.map +1 -0
- package/build/cjs/utils/module.js +37 -0
- package/build/cjs/utils/module.js.map +1 -0
- package/build/cjs/utils/outgoingFetchRequest.js +178 -0
- package/build/cjs/utils/outgoingFetchRequest.js.map +1 -0
- package/build/cjs/utils/spotlight.js +18 -0
- package/build/cjs/utils/spotlight.js.map +1 -0
- package/build/esm/bundler-plugin/esbuild.js +17 -0
- package/build/esm/bundler-plugin/esbuild.js.map +1 -0
- package/build/esm/bundler-plugin/rollup.js +10 -0
- package/build/esm/bundler-plugin/rollup.js.map +1 -0
- package/build/esm/bundler-plugin/vite.js +10 -0
- package/build/esm/bundler-plugin/vite.js.map +1 -0
- package/build/esm/bundler-plugin/webpack.js +16 -0
- package/build/esm/bundler-plugin/webpack.js.map +1 -0
- package/build/esm/cron/common.js +50 -0
- package/build/esm/cron/common.js.map +1 -0
- package/build/esm/cron/cron.js +86 -0
- package/build/esm/cron/cron.js.map +1 -0
- package/build/esm/cron/index.js +12 -0
- package/build/esm/cron/index.js.map +1 -0
- package/build/esm/cron/node-cron.js +50 -0
- package/build/esm/cron/node-cron.js.map +1 -0
- package/build/esm/cron/node-schedule.js +39 -0
- package/build/esm/cron/node-schedule.js.map +1 -0
- package/build/esm/index.js +36 -36
- package/build/esm/integrations/anr/index.js +155 -0
- package/build/esm/integrations/anr/index.js.map +1 -0
- package/build/esm/integrations/anr/worker-script.js +2 -0
- package/build/esm/integrations/childProcess.js +79 -0
- package/build/esm/integrations/childProcess.js.map +1 -0
- package/build/esm/integrations/console.js +93 -0
- package/build/esm/integrations/console.js.map +1 -0
- package/build/esm/integrations/context.js +383 -0
- package/build/esm/integrations/context.js.map +1 -0
- package/build/esm/integrations/contextlines.js +245 -0
- package/build/esm/integrations/contextlines.js.map +1 -0
- package/build/esm/integrations/fs/index.js +1 -1
- package/build/esm/integrations/fs/index.js.map +1 -1
- package/build/esm/integrations/fs/vendored/constants.js.map +1 -1
- package/build/esm/integrations/http/SentryHttpInstrumentation.js +65 -0
- package/build/esm/integrations/http/SentryHttpInstrumentation.js.map +1 -0
- package/build/esm/integrations/http/httpServerIntegration.js +74 -0
- package/build/esm/integrations/http/httpServerIntegration.js.map +1 -0
- package/build/esm/integrations/http/httpServerSpansIntegration.js +238 -0
- package/build/esm/integrations/http/httpServerSpansIntegration.js.map +1 -0
- package/build/esm/integrations/http/index.js +69 -0
- package/build/esm/integrations/http/index.js.map +1 -0
- package/build/esm/integrations/local-variables/common.js +15 -0
- package/build/esm/integrations/local-variables/common.js.map +1 -0
- package/build/esm/integrations/local-variables/index.js +8 -0
- package/build/esm/integrations/local-variables/index.js.map +1 -0
- package/build/esm/integrations/local-variables/local-variables-async.js +103 -0
- package/build/esm/integrations/local-variables/local-variables-async.js.map +1 -0
- package/build/esm/integrations/local-variables/worker-script.js +2 -0
- package/build/esm/integrations/modules.js +57 -0
- package/build/esm/integrations/modules.js.map +1 -0
- package/build/esm/integrations/node-fetch/index.js +22 -0
- package/build/esm/integrations/node-fetch/index.js.map +1 -0
- package/build/esm/integrations/node-fetch/undici-instrumentation.js +260 -0
- package/build/esm/integrations/node-fetch/undici-instrumentation.js.map +1 -0
- package/build/esm/integrations/nodeRuntimeMetrics.js +178 -0
- package/build/esm/integrations/nodeRuntimeMetrics.js.map +1 -0
- package/build/esm/integrations/onuncaughtexception.js +89 -0
- package/build/esm/integrations/onuncaughtexception.js.map +1 -0
- package/build/esm/integrations/onunhandledrejection.js +89 -0
- package/build/esm/integrations/onunhandledrejection.js.map +1 -0
- package/build/esm/integrations/pino.js +114 -0
- package/build/esm/integrations/pino.js.map +1 -0
- package/build/esm/integrations/processSession.js +20 -0
- package/build/esm/integrations/processSession.js.map +1 -0
- package/build/esm/integrations/spotlight.js +76 -0
- package/build/esm/integrations/spotlight.js.map +1 -0
- package/build/esm/integrations/systemError.js +52 -0
- package/build/esm/integrations/systemError.js.map +1 -0
- package/build/esm/integrations/tracing/express.js +2 -51
- package/build/esm/integrations/tracing/express.js.map +1 -1
- package/build/esm/integrations/tracing/fastify/index.js +3 -17
- package/build/esm/integrations/tracing/fastify/index.js.map +1 -1
- package/build/esm/integrations/tracing/hapi/index.js +2 -16
- package/build/esm/integrations/tracing/hapi/index.js.map +1 -1
- package/build/esm/integrations/tracing/index.js +12 -69
- package/build/esm/integrations/tracing/index.js.map +1 -1
- package/build/esm/integrations/tracing/koa/index.js +2 -24
- package/build/esm/integrations/tracing/koa/index.js.map +1 -1
- package/build/esm/integrations/tracing/redis/cache.js +7 -5
- package/build/esm/integrations/tracing/redis/cache.js.map +1 -1
- package/build/esm/integrations/tracing/redis/index.js +11 -26
- package/build/esm/integrations/tracing/redis/index.js.map +1 -1
- package/build/esm/integrations/winston.js +82 -0
- package/build/esm/integrations/winston.js.map +1 -0
- package/build/esm/logs/capture.js +24 -0
- package/build/esm/logs/capture.js.map +1 -0
- package/build/esm/logs/exports.js +24 -0
- package/build/esm/logs/exports.js.map +1 -0
- package/build/esm/nodeVersion.js +8 -0
- package/build/esm/nodeVersion.js.map +1 -0
- package/build/esm/otel/logger.js +19 -0
- package/build/esm/otel/logger.js.map +1 -0
- package/build/esm/package.json +1 -1
- package/build/esm/proxy/base.js +67 -0
- package/build/esm/proxy/base.js.map +1 -0
- package/build/esm/proxy/index.js +110 -0
- package/build/esm/proxy/index.js.map +1 -0
- package/build/esm/proxy/parse-proxy-response.js +86 -0
- package/build/esm/proxy/parse-proxy-response.js.map +1 -0
- package/build/esm/sdk/api.js +58 -0
- package/build/esm/sdk/api.js.map +1 -0
- package/build/esm/sdk/client.js +111 -0
- package/build/esm/sdk/client.js.map +1 -0
- package/build/esm/sdk/index.js +184 -41
- package/build/esm/sdk/index.js.map +1 -1
- package/build/esm/sdk/initOtel.js +12 -96
- package/build/esm/sdk/initOtel.js.map +1 -1
- package/build/esm/transports/http.js +100 -0
- package/build/esm/transports/http.js.map +1 -0
- package/build/esm/utils/debug.js +15 -0
- package/build/esm/utils/debug.js.map +1 -0
- package/build/esm/utils/entry-point.js +33 -0
- package/build/esm/utils/entry-point.js.map +1 -0
- package/build/esm/utils/errorhandling.js +31 -0
- package/build/esm/utils/errorhandling.js.map +1 -0
- package/build/esm/utils/module.js +35 -0
- package/build/esm/utils/module.js.map +1 -0
- package/build/esm/utils/outgoingFetchRequest.js +174 -0
- package/build/esm/utils/outgoingFetchRequest.js.map +1 -0
- package/build/esm/utils/spotlight.js +16 -0
- package/build/esm/utils/spotlight.js.map +1 -0
- package/build/import-hook.mjs +0 -10
- package/build/types/bundler-plugin/esbuild.d.ts +34 -0
- package/build/types/bundler-plugin/esbuild.d.ts.map +1 -0
- package/build/types/bundler-plugin/rollup.d.ts +35 -0
- package/build/types/bundler-plugin/rollup.d.ts.map +1 -0
- package/build/types/bundler-plugin/vite.d.ts +36 -0
- package/build/types/bundler-plugin/vite.d.ts.map +1 -0
- package/build/types/bundler-plugin/webpack.d.ts +37 -0
- package/build/types/bundler-plugin/webpack.d.ts.map +1 -0
- package/build/types/cron/common.d.ts +5 -0
- package/build/types/cron/common.d.ts.map +1 -0
- package/build/types/cron/cron.d.ts +43 -0
- package/build/types/cron/cron.d.ts.map +1 -0
- package/build/types/cron/index.d.ts +10 -0
- package/build/types/cron/index.d.ts.map +1 -0
- package/build/types/cron/node-cron.d.ts +28 -0
- package/build/types/cron/node-cron.d.ts.map +1 -0
- package/build/types/cron/node-schedule.d.ts +19 -0
- package/build/types/cron/node-schedule.d.ts.map +1 -0
- package/build/types/index.d.ts +34 -34
- package/build/types/index.d.ts.map +1 -1
- package/build/types/integrations/anr/common.d.ts +79 -0
- package/build/types/integrations/anr/common.d.ts.map +1 -0
- package/build/types/integrations/anr/index.d.ts +59 -0
- package/build/types/integrations/anr/index.d.ts.map +1 -0
- package/build/types/integrations/anr/worker.d.ts +2 -0
- package/build/types/integrations/anr/worker.d.ts.map +1 -0
- package/build/types/integrations/childProcess.d.ts +22 -0
- package/build/types/integrations/childProcess.d.ts.map +1 -0
- package/build/types/integrations/console.d.ts +23 -0
- package/build/types/integrations/console.d.ts.map +1 -0
- package/build/types/integrations/context.d.ts +33 -0
- package/build/types/integrations/context.d.ts.map +1 -0
- package/build/types/integrations/contextlines.d.ts +35 -0
- package/build/types/integrations/contextlines.d.ts.map +1 -0
- package/build/types/integrations/featureFlagShims/openFeature.d.ts.map +1 -1
- package/build/types/integrations/fs/index.d.ts.map +1 -1
- package/build/types/integrations/http/SentryHttpInstrumentation.d.ts +102 -0
- package/build/types/integrations/http/SentryHttpInstrumentation.d.ts.map +1 -0
- package/build/types/integrations/http/httpServerIntegration.d.ts +67 -0
- package/build/types/integrations/http/httpServerIntegration.d.ts.map +1 -0
- package/build/types/integrations/http/httpServerSpansIntegration.d.ts +59 -0
- package/build/types/integrations/http/httpServerSpansIntegration.d.ts.map +1 -0
- package/build/types/integrations/http/index.d.ts +127 -0
- package/build/types/integrations/http/index.d.ts.map +1 -0
- package/build/types/integrations/local-variables/common.d.ts +79 -0
- package/build/types/integrations/local-variables/common.d.ts.map +1 -0
- package/build/types/integrations/local-variables/index.d.ts +4 -0
- package/build/types/integrations/local-variables/index.d.ts.map +1 -0
- package/build/types/integrations/local-variables/local-variables-async.d.ts +9 -0
- package/build/types/integrations/local-variables/local-variables-async.d.ts.map +1 -0
- package/build/types/integrations/local-variables/worker.d.ts +2 -0
- package/build/types/integrations/local-variables/worker.d.ts.map +1 -0
- package/build/types/integrations/modules.d.ts +17 -0
- package/build/types/integrations/modules.d.ts.map +1 -0
- package/build/types/integrations/node-fetch/index.d.ts +9 -0
- package/build/types/integrations/node-fetch/index.d.ts.map +1 -0
- package/build/types/integrations/node-fetch/types.d.ts +95 -0
- package/build/types/integrations/node-fetch/types.d.ts.map +1 -0
- package/build/types/integrations/node-fetch/undici-instrumentation.d.ts +17 -0
- package/build/types/integrations/node-fetch/undici-instrumentation.d.ts.map +1 -0
- package/build/types/integrations/nodeRuntimeMetrics.d.ts +66 -0
- package/build/types/integrations/nodeRuntimeMetrics.d.ts.map +1 -0
- package/build/types/integrations/onuncaughtexception.d.ts +33 -0
- package/build/types/integrations/onuncaughtexception.d.ts.map +1 -0
- package/build/types/integrations/onunhandledrejection.d.ts +22 -0
- package/build/types/integrations/onunhandledrejection.d.ts.map +1 -0
- package/build/types/integrations/pino.d.ts +61 -0
- package/build/types/integrations/pino.d.ts.map +1 -0
- package/build/types/integrations/processSession.d.ts +7 -0
- package/build/types/integrations/processSession.d.ts.map +1 -0
- package/build/types/integrations/spotlight.d.ts +18 -0
- package/build/types/integrations/spotlight.d.ts.map +1 -0
- package/build/types/integrations/systemError.d.ts +14 -0
- package/build/types/integrations/systemError.d.ts.map +1 -0
- package/build/types/integrations/tracing/express.d.ts +1 -14
- package/build/types/integrations/tracing/express.d.ts.map +1 -1
- package/build/types/integrations/tracing/fastify/index.d.ts +1 -5
- package/build/types/integrations/tracing/fastify/index.d.ts.map +1 -1
- package/build/types/integrations/tracing/hapi/index.d.ts +0 -23
- package/build/types/integrations/tracing/hapi/index.d.ts.map +1 -1
- package/build/types/integrations/tracing/index.d.ts +0 -9
- package/build/types/integrations/tracing/index.d.ts.map +1 -1
- package/build/types/integrations/tracing/koa/index.d.ts +0 -46
- package/build/types/integrations/tracing/koa/index.d.ts.map +1 -1
- package/build/types/integrations/tracing/redis/cache.d.ts.map +1 -1
- package/build/types/integrations/tracing/redis/index.d.ts +0 -7
- package/build/types/integrations/tracing/redis/index.d.ts.map +1 -1
- package/build/types/integrations/tracing/redis/vendored/types.d.ts +0 -15
- package/build/types/integrations/tracing/redis/vendored/types.d.ts.map +1 -1
- package/build/types/integrations/winston.d.ts +55 -0
- package/build/types/integrations/winston.d.ts.map +1 -0
- package/build/types/logs/capture.d.ts +29 -0
- package/build/types/logs/capture.d.ts.map +1 -0
- package/build/types/logs/exports.d.ts +150 -0
- package/build/types/logs/exports.d.ts.map +1 -0
- package/build/types/nodeVersion.d.ts +8 -0
- package/build/types/nodeVersion.d.ts.map +1 -0
- package/build/types/otel/logger.d.ts +5 -0
- package/build/types/otel/logger.d.ts.map +1 -0
- package/build/types/proxy/base.d.ts +61 -0
- package/build/types/proxy/base.d.ts.map +1 -0
- package/build/types/proxy/helpers.d.ts +37 -0
- package/build/types/proxy/helpers.d.ts.map +1 -0
- package/build/types/proxy/index.d.ts +70 -0
- package/build/types/proxy/index.d.ts.map +1 -0
- package/build/types/proxy/parse-proxy-response.d.ts +39 -0
- package/build/types/proxy/parse-proxy-response.d.ts.map +1 -0
- package/build/types/sdk/api.d.ts +8 -0
- package/build/types/sdk/api.d.ts.map +1 -0
- package/build/types/sdk/client.d.ts +31 -0
- package/build/types/sdk/client.d.ts.map +1 -0
- package/build/types/sdk/index.d.ts +1 -19
- package/build/types/sdk/index.d.ts.map +1 -1
- package/build/types/sdk/initOtel.d.ts +4 -22
- package/build/types/sdk/initOtel.d.ts.map +1 -1
- package/build/types/sdk/scope.d.ts +7 -0
- package/build/types/sdk/scope.d.ts.map +1 -0
- package/build/types/transports/http-module.d.ts +27 -0
- package/build/types/transports/http-module.d.ts.map +1 -0
- package/build/types/transports/http.d.ts +17 -0
- package/build/types/transports/http.d.ts.map +1 -0
- package/build/types/transports/index.d.ts +3 -0
- package/build/types/transports/index.d.ts.map +1 -0
- package/build/types/types.d.ts +23 -39
- package/build/types/types.d.ts.map +1 -1
- package/build/types/utils/addOriginToSpan.d.ts +5 -0
- package/build/types/utils/addOriginToSpan.d.ts.map +1 -0
- package/build/types/utils/debug.d.ts +5 -0
- package/build/types/utils/debug.d.ts.map +1 -0
- package/build/types/utils/entry-point.d.ts +24 -0
- package/build/types/utils/entry-point.d.ts.map +1 -0
- package/build/types/utils/errorhandling.d.ts +5 -0
- package/build/types/utils/errorhandling.d.ts.map +1 -0
- package/build/types/utils/module.d.ts +3 -0
- package/build/types/utils/module.d.ts.map +1 -0
- package/build/types/utils/outgoingFetchRequest.d.ts +20 -0
- package/build/types/utils/outgoingFetchRequest.d.ts.map +1 -0
- package/build/types/utils/prepareEvent.d.ts +17 -0
- package/build/types/utils/prepareEvent.d.ts.map +1 -0
- package/build/types/utils/spotlight.d.ts +8 -0
- package/build/types/utils/spotlight.d.ts.map +1 -0
- package/package.json +38 -32
- package/build/cjs/init.js +0 -4
- package/build/cjs/init.js.map +0 -1
- package/build/cjs/integrations/http.js +0 -69
- package/build/cjs/integrations/http.js.map +0 -1
- package/build/cjs/integrations/node-fetch.js +0 -24
- package/build/cjs/integrations/node-fetch.js.map +0 -1
- package/build/cjs/integrations/tracing/InstrumentationNodeModuleFile.js +0 -15
- package/build/cjs/integrations/tracing/InstrumentationNodeModuleFile.js.map +0 -1
- package/build/cjs/integrations/tracing/amqplib/index.js +0 -21
- package/build/cjs/integrations/tracing/amqplib/index.js.map +0 -1
- package/build/cjs/integrations/tracing/amqplib/vendored/instrumentation.js +0 -117
- package/build/cjs/integrations/tracing/amqplib/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/amqplib/vendored/patches.js +0 -185
- package/build/cjs/integrations/tracing/amqplib/vendored/patches.js.map +0 -1
- package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js +0 -26
- package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/amqplib/vendored/types.js +0 -17
- package/build/cjs/integrations/tracing/amqplib/vendored/types.js.map +0 -1
- package/build/cjs/integrations/tracing/amqplib/vendored/utils.js +0 -129
- package/build/cjs/integrations/tracing/amqplib/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/anthropic-ai/index.js +0 -24
- package/build/cjs/integrations/tracing/anthropic-ai/index.js.map +0 -1
- package/build/cjs/integrations/tracing/anthropic-ai/instrumentation.js +0 -72
- package/build/cjs/integrations/tracing/anthropic-ai/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/connect/index.js +0 -35
- package/build/cjs/integrations/tracing/connect/index.js.map +0 -1
- package/build/cjs/integrations/tracing/connect/vendored/enums/AttributeNames.js +0 -16
- package/build/cjs/integrations/tracing/connect/vendored/enums/AttributeNames.js.map +0 -1
- package/build/cjs/integrations/tracing/connect/vendored/instrumentation.js +0 -137
- package/build/cjs/integrations/tracing/connect/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/connect/vendored/internal-types.js +0 -8
- package/build/cjs/integrations/tracing/connect/vendored/internal-types.js.map +0 -1
- package/build/cjs/integrations/tracing/connect/vendored/utils.js +0 -36
- package/build/cjs/integrations/tracing/connect/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/dataloader/index.js +0 -26
- package/build/cjs/integrations/tracing/dataloader/index.js.map +0 -1
- package/build/cjs/integrations/tracing/dataloader/vendored/instrumentation.js +0 -227
- package/build/cjs/integrations/tracing/dataloader/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/fastify/v3/constants.js +0 -6
- package/build/cjs/integrations/tracing/fastify/v3/constants.js.map +0 -1
- package/build/cjs/integrations/tracing/fastify/v3/enums/AttributeNames.js +0 -24
- package/build/cjs/integrations/tracing/fastify/v3/enums/AttributeNames.js.map +0 -1
- package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js +0 -220
- package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/fastify/v3/utils.js +0 -64
- package/build/cjs/integrations/tracing/fastify/v3/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/firebase/firebase.js +0 -21
- package/build/cjs/integrations/tracing/firebase/firebase.js.map +0 -1
- package/build/cjs/integrations/tracing/firebase/otel/firebaseInstrumentation.js +0 -28
- package/build/cjs/integrations/tracing/firebase/otel/firebaseInstrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/firebase/otel/patches/firestore.js +0 -155
- package/build/cjs/integrations/tracing/firebase/otel/patches/firestore.js.map +0 -1
- package/build/cjs/integrations/tracing/firebase/otel/patches/functions.js +0 -141
- package/build/cjs/integrations/tracing/firebase/otel/patches/functions.js.map +0 -1
- package/build/cjs/integrations/tracing/genericPool/index.js +0 -21
- package/build/cjs/integrations/tracing/genericPool/index.js.map +0 -1
- package/build/cjs/integrations/tracing/genericPool/vendored/instrumentation.js +0 -122
- package/build/cjs/integrations/tracing/genericPool/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/google-genai/index.js +0 -23
- package/build/cjs/integrations/tracing/google-genai/index.js.map +0 -1
- package/build/cjs/integrations/tracing/google-genai/instrumentation.js +0 -68
- package/build/cjs/integrations/tracing/google-genai/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/index.js +0 -34
- package/build/cjs/integrations/tracing/graphql/index.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/vendored/enum.js +0 -47
- package/build/cjs/integrations/tracing/graphql/vendored/enum.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/vendored/enums/AttributeNames.js +0 -15
- package/build/cjs/integrations/tracing/graphql/vendored/enums/AttributeNames.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/vendored/instrumentation.js +0 -329
- package/build/cjs/integrations/tracing/graphql/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/vendored/internal-types.js +0 -6
- package/build/cjs/integrations/tracing/graphql/vendored/internal-types.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/vendored/symbols.js +0 -8
- package/build/cjs/integrations/tracing/graphql/vendored/symbols.js.map +0 -1
- package/build/cjs/integrations/tracing/graphql/vendored/utils.js +0 -265
- package/build/cjs/integrations/tracing/graphql/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/hapi/vendored/enums/AttributeNames.js +0 -11
- package/build/cjs/integrations/tracing/hapi/vendored/enums/AttributeNames.js.map +0 -1
- package/build/cjs/integrations/tracing/hapi/vendored/instrumentation.js +0 -255
- package/build/cjs/integrations/tracing/hapi/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/hapi/vendored/internal-types.js +0 -24
- package/build/cjs/integrations/tracing/hapi/vendored/internal-types.js.map +0 -1
- package/build/cjs/integrations/tracing/hapi/vendored/utils.js +0 -85
- package/build/cjs/integrations/tracing/hapi/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/hono/constants.js +0 -14
- package/build/cjs/integrations/tracing/hono/constants.js.map +0 -1
- package/build/cjs/integrations/tracing/hono/index.js +0 -86
- package/build/cjs/integrations/tracing/hono/index.js.map +0 -1
- package/build/cjs/integrations/tracing/hono/instrumentation.js +0 -201
- package/build/cjs/integrations/tracing/hono/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/kafka/index.js +0 -21
- package/build/cjs/integrations/tracing/kafka/index.js.map +0 -1
- package/build/cjs/integrations/tracing/kafka/vendored/instrumentation.js +0 -237
- package/build/cjs/integrations/tracing/kafka/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/kafka/vendored/semconv.js +0 -22
- package/build/cjs/integrations/tracing/kafka/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/kafka/vendored/utils.js +0 -114
- package/build/cjs/integrations/tracing/kafka/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/knex/index.js +0 -26
- package/build/cjs/integrations/tracing/knex/index.js.map +0 -1
- package/build/cjs/integrations/tracing/knex/vendored/instrumentation.js +0 -135
- package/build/cjs/integrations/tracing/knex/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/knex/vendored/semconv.js +0 -10
- package/build/cjs/integrations/tracing/knex/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/knex/vendored/utils.js +0 -84
- package/build/cjs/integrations/tracing/knex/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/koa/vendored/enums/AttributeNames.js +0 -10
- package/build/cjs/integrations/tracing/koa/vendored/enums/AttributeNames.js.map +0 -1
- package/build/cjs/integrations/tracing/koa/vendored/instrumentation.js +0 -127
- package/build/cjs/integrations/tracing/koa/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/koa/vendored/internal-types.js +0 -6
- package/build/cjs/integrations/tracing/koa/vendored/internal-types.js.map +0 -1
- package/build/cjs/integrations/tracing/koa/vendored/types.js +0 -10
- package/build/cjs/integrations/tracing/koa/vendored/types.js.map +0 -1
- package/build/cjs/integrations/tracing/koa/vendored/utils.js +0 -36
- package/build/cjs/integrations/tracing/koa/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/langchain/index.js +0 -23
- package/build/cjs/integrations/tracing/langchain/index.js.map +0 -1
- package/build/cjs/integrations/tracing/langchain/instrumentation.js +0 -160
- package/build/cjs/integrations/tracing/langchain/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/langgraph/index.js +0 -23
- package/build/cjs/integrations/tracing/langgraph/index.js.map +0 -1
- package/build/cjs/integrations/tracing/langgraph/instrumentation.js +0 -96
- package/build/cjs/integrations/tracing/langgraph/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/lrumemoizer/index.js +0 -21
- package/build/cjs/integrations/tracing/lrumemoizer/index.js.map +0 -1
- package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js +0 -38
- package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/mongo/index.js +0 -21
- package/build/cjs/integrations/tracing/mongo/index.js.map +0 -1
- package/build/cjs/integrations/tracing/mongo/vendored/instrumentation.js +0 -129
- package/build/cjs/integrations/tracing/mongo/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/mongo/vendored/patches.js +0 -150
- package/build/cjs/integrations/tracing/mongo/vendored/patches.js.map +0 -1
- package/build/cjs/integrations/tracing/mongo/vendored/utils.js +0 -40
- package/build/cjs/integrations/tracing/mongo/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/mongoose/index.js +0 -22
- package/build/cjs/integrations/tracing/mongoose/index.js.map +0 -1
- package/build/cjs/integrations/tracing/mongoose/vendored/mongoose.js +0 -240
- package/build/cjs/integrations/tracing/mongoose/vendored/mongoose.js.map +0 -1
- package/build/cjs/integrations/tracing/mongoose/vendored/utils.js +0 -41
- package/build/cjs/integrations/tracing/mongoose/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql/index.js +0 -21
- package/build/cjs/integrations/tracing/mysql/index.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js +0 -185
- package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql/vendored/semconv.js +0 -8
- package/build/cjs/integrations/tracing/mysql/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql/vendored/utils.js +0 -38
- package/build/cjs/integrations/tracing/mysql/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql2/index.js +0 -22
- package/build/cjs/integrations/tracing/mysql2/index.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql2/vendored/instrumentation.js +0 -138
- package/build/cjs/integrations/tracing/mysql2/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql2/vendored/semconv.js +0 -8
- package/build/cjs/integrations/tracing/mysql2/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/mysql2/vendored/utils.js +0 -81
- package/build/cjs/integrations/tracing/mysql2/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/openai/index.js +0 -23
- package/build/cjs/integrations/tracing/openai/index.js.map +0 -1
- package/build/cjs/integrations/tracing/openai/instrumentation.js +0 -80
- package/build/cjs/integrations/tracing/openai/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/postgres/index.js +0 -27
- package/build/cjs/integrations/tracing/postgres/index.js.map +0 -1
- package/build/cjs/integrations/tracing/postgres/vendored/enums/AttributeNames.js +0 -11
- package/build/cjs/integrations/tracing/postgres/vendored/enums/AttributeNames.js.map +0 -1
- package/build/cjs/integrations/tracing/postgres/vendored/enums/SpanNames.js +0 -11
- package/build/cjs/integrations/tracing/postgres/vendored/enums/SpanNames.js.map +0 -1
- package/build/cjs/integrations/tracing/postgres/vendored/instrumentation.js +0 -225
- package/build/cjs/integrations/tracing/postgres/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/postgres/vendored/semconv.js +0 -8
- package/build/cjs/integrations/tracing/postgres/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/postgres/vendored/utils.js +0 -151
- package/build/cjs/integrations/tracing/postgres/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/postgresjs.js +0 -265
- package/build/cjs/integrations/tracing/postgresjs.js.map +0 -1
- package/build/cjs/integrations/tracing/redis/vendored/ioredis-instrumentation.js +0 -147
- package/build/cjs/integrations/tracing/redis/vendored/ioredis-instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/redis/vendored/redis-instrumentation.js +0 -445
- package/build/cjs/integrations/tracing/redis/vendored/redis-instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/redis/vendored/semconv.js +0 -8
- package/build/cjs/integrations/tracing/redis/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/tedious/index.js +0 -21
- package/build/cjs/integrations/tracing/tedious/index.js.map +0 -1
- package/build/cjs/integrations/tracing/tedious/vendored/instrumentation.js +0 -154
- package/build/cjs/integrations/tracing/tedious/vendored/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing/tedious/vendored/semconv.js +0 -8
- package/build/cjs/integrations/tracing/tedious/vendored/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing/tedious/vendored/utils.js +0 -29
- package/build/cjs/integrations/tracing/tedious/vendored/utils.js.map +0 -1
- package/build/cjs/integrations/tracing/vercelai/constants.js +0 -6
- package/build/cjs/integrations/tracing/vercelai/constants.js.map +0 -1
- package/build/cjs/integrations/tracing/vercelai/index.js +0 -36
- package/build/cjs/integrations/tracing/vercelai/index.js.map +0 -1
- package/build/cjs/integrations/tracing/vercelai/instrumentation.js +0 -176
- package/build/cjs/integrations/tracing/vercelai/instrumentation.js.map +0 -1
- package/build/cjs/preload.js +0 -8
- package/build/cjs/preload.js.map +0 -1
- package/build/cjs/sdk/diagnosticsChannelInjection.js +0 -21
- package/build/cjs/sdk/diagnosticsChannelInjection.js.map +0 -1
- package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js +0 -33
- package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js.map +0 -1
- package/build/cjs/utils/setHttpServerSpanRouteAttribute.js +0 -21
- package/build/cjs/utils/setHttpServerSpanRouteAttribute.js.map +0 -1
- package/build/esm/init.js +0 -4
- package/build/esm/init.js.map +0 -1
- package/build/esm/integrations/http.js +0 -66
- package/build/esm/integrations/http.js.map +0 -1
- package/build/esm/integrations/node-fetch.js +0 -22
- package/build/esm/integrations/node-fetch.js.map +0 -1
- package/build/esm/integrations/tracing/InstrumentationNodeModuleFile.js +0 -13
- package/build/esm/integrations/tracing/InstrumentationNodeModuleFile.js.map +0 -1
- package/build/esm/integrations/tracing/amqplib/index.js +0 -18
- package/build/esm/integrations/tracing/amqplib/index.js.map +0 -1
- package/build/esm/integrations/tracing/amqplib/vendored/instrumentation.js +0 -115
- package/build/esm/integrations/tracing/amqplib/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/amqplib/vendored/patches.js +0 -177
- package/build/esm/integrations/tracing/amqplib/vendored/patches.js.map +0 -1
- package/build/esm/integrations/tracing/amqplib/vendored/semconv.js +0 -14
- package/build/esm/integrations/tracing/amqplib/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/amqplib/vendored/types.js +0 -15
- package/build/esm/integrations/tracing/amqplib/vendored/types.js.map +0 -1
- package/build/esm/integrations/tracing/amqplib/vendored/utils.js +0 -117
- package/build/esm/integrations/tracing/amqplib/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/anthropic-ai/index.js +0 -21
- package/build/esm/integrations/tracing/anthropic-ai/index.js.map +0 -1
- package/build/esm/integrations/tracing/anthropic-ai/instrumentation.js +0 -70
- package/build/esm/integrations/tracing/anthropic-ai/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/connect/index.js +0 -31
- package/build/esm/integrations/tracing/connect/index.js.map +0 -1
- package/build/esm/integrations/tracing/connect/vendored/enums/AttributeNames.js +0 -13
- package/build/esm/integrations/tracing/connect/vendored/enums/AttributeNames.js.map +0 -1
- package/build/esm/integrations/tracing/connect/vendored/instrumentation.js +0 -135
- package/build/esm/integrations/tracing/connect/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/connect/vendored/internal-types.js +0 -6
- package/build/esm/integrations/tracing/connect/vendored/internal-types.js.map +0 -1
- package/build/esm/integrations/tracing/connect/vendored/utils.js +0 -32
- package/build/esm/integrations/tracing/connect/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/dataloader/index.js +0 -23
- package/build/esm/integrations/tracing/dataloader/index.js.map +0 -1
- package/build/esm/integrations/tracing/dataloader/vendored/instrumentation.js +0 -225
- package/build/esm/integrations/tracing/dataloader/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/fastify/v3/constants.js +0 -4
- package/build/esm/integrations/tracing/fastify/v3/constants.js.map +0 -1
- package/build/esm/integrations/tracing/fastify/v3/enums/AttributeNames.js +0 -20
- package/build/esm/integrations/tracing/fastify/v3/enums/AttributeNames.js.map +0 -1
- package/build/esm/integrations/tracing/fastify/v3/instrumentation.js +0 -218
- package/build/esm/integrations/tracing/fastify/v3/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/fastify/v3/utils.js +0 -60
- package/build/esm/integrations/tracing/fastify/v3/utils.js.map +0 -1
- package/build/esm/integrations/tracing/firebase/firebase.js +0 -18
- package/build/esm/integrations/tracing/firebase/firebase.js.map +0 -1
- package/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js +0 -26
- package/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/firebase/otel/patches/firestore.js +0 -152
- package/build/esm/integrations/tracing/firebase/otel/patches/firestore.js.map +0 -1
- package/build/esm/integrations/tracing/firebase/otel/patches/functions.js +0 -138
- package/build/esm/integrations/tracing/firebase/otel/patches/functions.js.map +0 -1
- package/build/esm/integrations/tracing/genericPool/index.js +0 -18
- package/build/esm/integrations/tracing/genericPool/index.js.map +0 -1
- package/build/esm/integrations/tracing/genericPool/vendored/instrumentation.js +0 -120
- package/build/esm/integrations/tracing/genericPool/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/google-genai/index.js +0 -20
- package/build/esm/integrations/tracing/google-genai/index.js.map +0 -1
- package/build/esm/integrations/tracing/google-genai/instrumentation.js +0 -66
- package/build/esm/integrations/tracing/google-genai/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/index.js +0 -31
- package/build/esm/integrations/tracing/graphql/index.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/vendored/enum.js +0 -43
- package/build/esm/integrations/tracing/graphql/vendored/enum.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/vendored/enums/AttributeNames.js +0 -13
- package/build/esm/integrations/tracing/graphql/vendored/enums/AttributeNames.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/vendored/instrumentation.js +0 -327
- package/build/esm/integrations/tracing/graphql/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/vendored/internal-types.js +0 -4
- package/build/esm/integrations/tracing/graphql/vendored/internal-types.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/vendored/symbols.js +0 -5
- package/build/esm/integrations/tracing/graphql/vendored/symbols.js.map +0 -1
- package/build/esm/integrations/tracing/graphql/vendored/utils.js +0 -257
- package/build/esm/integrations/tracing/graphql/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/hapi/vendored/enums/AttributeNames.js +0 -9
- package/build/esm/integrations/tracing/hapi/vendored/enums/AttributeNames.js.map +0 -1
- package/build/esm/integrations/tracing/hapi/vendored/instrumentation.js +0 -253
- package/build/esm/integrations/tracing/hapi/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/hapi/vendored/internal-types.js +0 -19
- package/build/esm/integrations/tracing/hapi/vendored/internal-types.js.map +0 -1
- package/build/esm/integrations/tracing/hapi/vendored/utils.js +0 -76
- package/build/esm/integrations/tracing/hapi/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/hono/constants.js +0 -11
- package/build/esm/integrations/tracing/hono/constants.js.map +0 -1
- package/build/esm/integrations/tracing/hono/index.js +0 -82
- package/build/esm/integrations/tracing/hono/index.js.map +0 -1
- package/build/esm/integrations/tracing/hono/instrumentation.js +0 -199
- package/build/esm/integrations/tracing/hono/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/kafka/index.js +0 -18
- package/build/esm/integrations/tracing/kafka/index.js.map +0 -1
- package/build/esm/integrations/tracing/kafka/vendored/instrumentation.js +0 -235
- package/build/esm/integrations/tracing/kafka/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/kafka/vendored/semconv.js +0 -12
- package/build/esm/integrations/tracing/kafka/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/kafka/vendored/utils.js +0 -108
- package/build/esm/integrations/tracing/kafka/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/knex/index.js +0 -23
- package/build/esm/integrations/tracing/knex/index.js.map +0 -1
- package/build/esm/integrations/tracing/knex/vendored/instrumentation.js +0 -133
- package/build/esm/integrations/tracing/knex/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/knex/vendored/semconv.js +0 -6
- package/build/esm/integrations/tracing/knex/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/knex/vendored/utils.js +0 -75
- package/build/esm/integrations/tracing/knex/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/koa/vendored/enums/AttributeNames.js +0 -8
- package/build/esm/integrations/tracing/koa/vendored/enums/AttributeNames.js.map +0 -1
- package/build/esm/integrations/tracing/koa/vendored/instrumentation.js +0 -125
- package/build/esm/integrations/tracing/koa/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/koa/vendored/internal-types.js +0 -4
- package/build/esm/integrations/tracing/koa/vendored/internal-types.js.map +0 -1
- package/build/esm/integrations/tracing/koa/vendored/types.js +0 -8
- package/build/esm/integrations/tracing/koa/vendored/types.js.map +0 -1
- package/build/esm/integrations/tracing/koa/vendored/utils.js +0 -33
- package/build/esm/integrations/tracing/koa/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/langchain/index.js +0 -20
- package/build/esm/integrations/tracing/langchain/index.js.map +0 -1
- package/build/esm/integrations/tracing/langchain/instrumentation.js +0 -158
- package/build/esm/integrations/tracing/langchain/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/langgraph/index.js +0 -20
- package/build/esm/integrations/tracing/langgraph/index.js.map +0 -1
- package/build/esm/integrations/tracing/langgraph/instrumentation.js +0 -94
- package/build/esm/integrations/tracing/langgraph/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/lrumemoizer/index.js +0 -18
- package/build/esm/integrations/tracing/lrumemoizer/index.js.map +0 -1
- package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js +0 -36
- package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/mongo/index.js +0 -18
- package/build/esm/integrations/tracing/mongo/index.js.map +0 -1
- package/build/esm/integrations/tracing/mongo/vendored/instrumentation.js +0 -127
- package/build/esm/integrations/tracing/mongo/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/mongo/vendored/patches.js +0 -142
- package/build/esm/integrations/tracing/mongo/vendored/patches.js.map +0 -1
- package/build/esm/integrations/tracing/mongo/vendored/utils.js +0 -34
- package/build/esm/integrations/tracing/mongo/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/mongoose/index.js +0 -19
- package/build/esm/integrations/tracing/mongoose/index.js.map +0 -1
- package/build/esm/integrations/tracing/mongoose/vendored/mongoose.js +0 -236
- package/build/esm/integrations/tracing/mongoose/vendored/mongoose.js.map +0 -1
- package/build/esm/integrations/tracing/mongoose/vendored/utils.js +0 -38
- package/build/esm/integrations/tracing/mongoose/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/mysql/index.js +0 -18
- package/build/esm/integrations/tracing/mysql/index.js.map +0 -1
- package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js +0 -183
- package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/mysql/vendored/semconv.js +0 -5
- package/build/esm/integrations/tracing/mysql/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/mysql/vendored/utils.js +0 -33
- package/build/esm/integrations/tracing/mysql/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/mysql2/index.js +0 -19
- package/build/esm/integrations/tracing/mysql2/index.js.map +0 -1
- package/build/esm/integrations/tracing/mysql2/vendored/instrumentation.js +0 -136
- package/build/esm/integrations/tracing/mysql2/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/mysql2/vendored/semconv.js +0 -5
- package/build/esm/integrations/tracing/mysql2/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/mysql2/vendored/utils.js +0 -75
- package/build/esm/integrations/tracing/mysql2/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/openai/index.js +0 -20
- package/build/esm/integrations/tracing/openai/index.js.map +0 -1
- package/build/esm/integrations/tracing/openai/instrumentation.js +0 -78
- package/build/esm/integrations/tracing/openai/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/postgres/index.js +0 -24
- package/build/esm/integrations/tracing/postgres/index.js.map +0 -1
- package/build/esm/integrations/tracing/postgres/vendored/enums/AttributeNames.js +0 -9
- package/build/esm/integrations/tracing/postgres/vendored/enums/AttributeNames.js.map +0 -1
- package/build/esm/integrations/tracing/postgres/vendored/enums/SpanNames.js +0 -9
- package/build/esm/integrations/tracing/postgres/vendored/enums/SpanNames.js.map +0 -1
- package/build/esm/integrations/tracing/postgres/vendored/instrumentation.js +0 -223
- package/build/esm/integrations/tracing/postgres/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/postgres/vendored/semconv.js +0 -5
- package/build/esm/integrations/tracing/postgres/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/postgres/vendored/utils.js +0 -136
- package/build/esm/integrations/tracing/postgres/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/postgresjs.js +0 -261
- package/build/esm/integrations/tracing/postgresjs.js.map +0 -1
- package/build/esm/integrations/tracing/redis/vendored/ioredis-instrumentation.js +0 -145
- package/build/esm/integrations/tracing/redis/vendored/ioredis-instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/redis/vendored/redis-instrumentation.js +0 -443
- package/build/esm/integrations/tracing/redis/vendored/redis-instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/redis/vendored/semconv.js +0 -5
- package/build/esm/integrations/tracing/redis/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/tedious/index.js +0 -18
- package/build/esm/integrations/tracing/tedious/index.js.map +0 -1
- package/build/esm/integrations/tracing/tedious/vendored/instrumentation.js +0 -152
- package/build/esm/integrations/tracing/tedious/vendored/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing/tedious/vendored/semconv.js +0 -5
- package/build/esm/integrations/tracing/tedious/vendored/semconv.js.map +0 -1
- package/build/esm/integrations/tracing/tedious/vendored/utils.js +0 -26
- package/build/esm/integrations/tracing/tedious/vendored/utils.js.map +0 -1
- package/build/esm/integrations/tracing/vercelai/constants.js +0 -4
- package/build/esm/integrations/tracing/vercelai/constants.js.map +0 -1
- package/build/esm/integrations/tracing/vercelai/index.js +0 -33
- package/build/esm/integrations/tracing/vercelai/index.js.map +0 -1
- package/build/esm/integrations/tracing/vercelai/instrumentation.js +0 -171
- package/build/esm/integrations/tracing/vercelai/instrumentation.js.map +0 -1
- package/build/esm/preload.js +0 -8
- package/build/esm/preload.js.map +0 -1
- package/build/esm/sdk/diagnosticsChannelInjection.js +0 -17
- package/build/esm/sdk/diagnosticsChannelInjection.js.map +0 -1
- package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js +0 -30
- package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js.map +0 -1
- package/build/esm/utils/setHttpServerSpanRouteAttribute.js +0 -19
- package/build/esm/utils/setHttpServerSpanRouteAttribute.js.map +0 -1
- package/build/loader-hook.mjs +0 -1
- package/build/types/init.d.ts +0 -2
- package/build/types/init.d.ts.map +0 -1
- package/build/types/integrations/http.d.ts +0 -131
- package/build/types/integrations/http.d.ts.map +0 -1
- package/build/types/integrations/node-fetch.d.ts +0 -9
- package/build/types/integrations/node-fetch.d.ts.map +0 -1
- package/build/types/integrations/tracing/InstrumentationNodeModuleFile.d.ts +0 -9
- package/build/types/integrations/tracing/InstrumentationNodeModuleFile.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/index.d.ts +0 -22
- package/build/types/integrations/tracing/amqplib/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/vendored/amqplib-types.d.ts +0 -44
- package/build/types/integrations/tracing/amqplib/vendored/amqplib-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/vendored/instrumentation.d.ts +0 -11
- package/build/types/integrations/tracing/amqplib/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/vendored/patches.d.ts +0 -11
- package/build/types/integrations/tracing/amqplib/vendored/patches.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts +0 -23
- package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/vendored/types.d.ts +0 -49
- package/build/types/integrations/tracing/amqplib/vendored/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts +0 -42
- package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/anthropic-ai/index.d.ts +0 -62
- package/build/types/integrations/tracing/anthropic-ai/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/anthropic-ai/instrumentation.d.ts +0 -19
- package/build/types/integrations/tracing/anthropic-ai/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/connect/index.d.ts +0 -48
- package/build/types/integrations/tracing/connect/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/connect/vendored/enums/AttributeNames.d.ts +0 -9
- package/build/types/integrations/tracing/connect/vendored/enums/AttributeNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/connect/vendored/instrumentation.d.ts +0 -18
- package/build/types/integrations/tracing/connect/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/connect/vendored/internal-types.d.ts +0 -31
- package/build/types/integrations/tracing/connect/vendored/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/connect/vendored/utils.d.ts +0 -5
- package/build/types/integrations/tracing/connect/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/dataloader/index.d.ts +0 -22
- package/build/types/integrations/tracing/dataloader/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/dataloader/vendored/instrumentation.d.ts +0 -18
- package/build/types/integrations/tracing/dataloader/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/dataloader/vendored/types.d.ts +0 -22
- package/build/types/integrations/tracing/dataloader/vendored/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/fastify/v3/constants.d.ts +0 -3
- package/build/types/integrations/tracing/fastify/v3/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing/fastify/v3/enums/AttributeNames.d.ts +0 -15
- package/build/types/integrations/tracing/fastify/v3/enums/AttributeNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/fastify/v3/instrumentation.d.ts +0 -16
- package/build/types/integrations/tracing/fastify/v3/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/fastify/v3/internal-types.d.ts +0 -7
- package/build/types/integrations/tracing/fastify/v3/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/fastify/v3/types.d.ts +0 -21
- package/build/types/integrations/tracing/fastify/v3/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/fastify/v3/utils.d.ts +0 -28
- package/build/types/integrations/tracing/fastify/v3/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/firebase.d.ts +0 -8
- package/build/types/integrations/tracing/firebase/firebase.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/index.d.ts +0 -2
- package/build/types/integrations/tracing/firebase/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts +0 -14
- package/build/types/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/otel/index.d.ts +0 -3
- package/build/types/integrations/tracing/firebase/otel/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/otel/patches/firestore.d.ts +0 -22
- package/build/types/integrations/tracing/firebase/otel/patches/firestore.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/otel/patches/functions.d.ts +0 -18
- package/build/types/integrations/tracing/firebase/otel/patches/functions.d.ts.map +0 -1
- package/build/types/integrations/tracing/firebase/otel/types.d.ts +0 -100
- package/build/types/integrations/tracing/firebase/otel/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/genericPool/index.d.ts +0 -22
- package/build/types/integrations/tracing/genericPool/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/genericPool/vendored/generic-pool-types.d.ts +0 -5
- package/build/types/integrations/tracing/genericPool/vendored/generic-pool-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/genericPool/vendored/instrumentation.d.ts +0 -11
- package/build/types/integrations/tracing/genericPool/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/google-genai/index.d.ts +0 -62
- package/build/types/integrations/tracing/google-genai/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/google-genai/instrumentation.d.ts +0 -20
- package/build/types/integrations/tracing/google-genai/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/index.d.ts +0 -50
- package/build/types/integrations/tracing/graphql/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/enum.d.ts +0 -38
- package/build/types/integrations/tracing/graphql/vendored/enum.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/enums/AttributeNames.d.ts +0 -10
- package/build/types/integrations/tracing/graphql/vendored/enums/AttributeNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/graphql-types.d.ts +0 -2
- package/build/types/integrations/tracing/graphql/vendored/graphql-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/instrumentation.d.ts +0 -25
- package/build/types/integrations/tracing/graphql/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/internal-types.d.ts +0 -63
- package/build/types/integrations/tracing/graphql/vendored/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/symbols.d.ts +0 -3
- package/build/types/integrations/tracing/graphql/vendored/symbols.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/types.d.ts +0 -33
- package/build/types/integrations/tracing/graphql/vendored/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/graphql/vendored/utils.d.ts +0 -14
- package/build/types/integrations/tracing/graphql/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/hapi/vendored/enums/AttributeNames.d.ts +0 -6
- package/build/types/integrations/tracing/hapi/vendored/enums/AttributeNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/hapi/vendored/hapi-types.d.ts +0 -70
- package/build/types/integrations/tracing/hapi/vendored/hapi-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/hapi/vendored/instrumentation.d.ts +0 -72
- package/build/types/integrations/tracing/hapi/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/hapi/vendored/internal-types.d.ts +0 -32
- package/build/types/integrations/tracing/hapi/vendored/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/hapi/vendored/utils.d.ts +0 -18
- package/build/types/integrations/tracing/hapi/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/hono/constants.d.ts +0 -11
- package/build/types/integrations/tracing/hono/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing/hono/index.d.ts +0 -60
- package/build/types/integrations/tracing/hono/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/hono/instrumentation.d.ts +0 -55
- package/build/types/integrations/tracing/hono/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/hono/types.d.ts +0 -36
- package/build/types/integrations/tracing/hono/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/kafka/index.d.ts +0 -21
- package/build/types/integrations/tracing/kafka/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/kafka/vendored/instrumentation.d.ts +0 -15
- package/build/types/integrations/tracing/kafka/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/kafka/vendored/kafkajs-types.d.ts +0 -79
- package/build/types/integrations/tracing/kafka/vendored/kafkajs-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/kafka/vendored/semconv.d.ts +0 -54
- package/build/types/integrations/tracing/kafka/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/kafka/vendored/utils.d.ts +0 -29
- package/build/types/integrations/tracing/kafka/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/knex/index.d.ts +0 -22
- package/build/types/integrations/tracing/knex/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/knex/vendored/instrumentation.d.ts +0 -12
- package/build/types/integrations/tracing/knex/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/knex/vendored/semconv.d.ts +0 -7
- package/build/types/integrations/tracing/knex/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/knex/vendored/utils.d.ts +0 -9
- package/build/types/integrations/tracing/knex/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/koa/vendored/enums/AttributeNames.d.ts +0 -5
- package/build/types/integrations/tracing/koa/vendored/enums/AttributeNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/koa/vendored/instrumentation.d.ts +0 -32
- package/build/types/integrations/tracing/koa/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/koa/vendored/internal-types.d.ts +0 -34
- package/build/types/integrations/tracing/koa/vendored/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/koa/vendored/types.d.ts +0 -13
- package/build/types/integrations/tracing/koa/vendored/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/koa/vendored/utils.d.ts +0 -15
- package/build/types/integrations/tracing/koa/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/langchain/index.d.ts +0 -101
- package/build/types/integrations/tracing/langchain/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/langchain/instrumentation.d.ts +0 -38
- package/build/types/integrations/tracing/langchain/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/langgraph/index.d.ts +0 -77
- package/build/types/integrations/tracing/langgraph/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/langgraph/instrumentation.d.ts +0 -19
- package/build/types/integrations/tracing/langgraph/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/lrumemoizer/index.d.ts +0 -21
- package/build/types/integrations/tracing/lrumemoizer/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/lrumemoizer/vendored/instrumentation.d.ts +0 -6
- package/build/types/integrations/tracing/lrumemoizer/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongo/index.d.ts +0 -22
- package/build/types/integrations/tracing/mongo/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongo/vendored/instrumentation.d.ts +0 -11
- package/build/types/integrations/tracing/mongo/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongo/vendored/internal-types.d.ts +0 -62
- package/build/types/integrations/tracing/mongo/vendored/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongo/vendored/patches.d.ts +0 -15
- package/build/types/integrations/tracing/mongo/vendored/patches.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongo/vendored/utils.d.ts +0 -15
- package/build/types/integrations/tracing/mongo/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongoose/index.d.ts +0 -22
- package/build/types/integrations/tracing/mongoose/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongoose/vendored/mongoose-types.d.ts +0 -33
- package/build/types/integrations/tracing/mongoose/vendored/mongoose-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongoose/vendored/mongoose.d.ts +0 -18
- package/build/types/integrations/tracing/mongoose/vendored/mongoose.d.ts.map +0 -1
- package/build/types/integrations/tracing/mongoose/vendored/utils.d.ts +0 -4
- package/build/types/integrations/tracing/mongoose/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql/index.d.ts +0 -22
- package/build/types/integrations/tracing/mysql/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts +0 -14
- package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts +0 -78
- package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts +0 -19
- package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql/vendored/utils.d.ts +0 -22
- package/build/types/integrations/tracing/mysql/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql2/index.d.ts +0 -22
- package/build/types/integrations/tracing/mysql2/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql2/vendored/instrumentation.d.ts +0 -9
- package/build/types/integrations/tracing/mysql2/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql2/vendored/mysql2-types.d.ts +0 -39
- package/build/types/integrations/tracing/mysql2/vendored/mysql2-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql2/vendored/semconv.d.ts +0 -3
- package/build/types/integrations/tracing/mysql2/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/mysql2/vendored/utils.d.ts +0 -25
- package/build/types/integrations/tracing/mysql2/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/openai/index.d.ts +0 -62
- package/build/types/integrations/tracing/openai/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/openai/instrumentation.d.ts +0 -26
- package/build/types/integrations/tracing/openai/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/index.d.ts +0 -26
- package/build/types/integrations/tracing/postgres/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/enums/AttributeNames.d.ts +0 -6
- package/build/types/integrations/tracing/postgres/vendored/enums/AttributeNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/enums/SpanNames.d.ts +0 -6
- package/build/types/integrations/tracing/postgres/vendored/enums/SpanNames.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/instrumentation.d.ts +0 -12
- package/build/types/integrations/tracing/postgres/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/internal-types.d.ts +0 -33
- package/build/types/integrations/tracing/postgres/vendored/internal-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/pg-pool-types.d.ts +0 -20
- package/build/types/integrations/tracing/postgres/vendored/pg-pool-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/pg-types.d.ts +0 -54
- package/build/types/integrations/tracing/postgres/vendored/pg-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/semconv.d.ts +0 -13
- package/build/types/integrations/tracing/postgres/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/types.d.ts +0 -11
- package/build/types/integrations/tracing/postgres/vendored/types.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgres/vendored/utils.d.ts +0 -56
- package/build/types/integrations/tracing/postgres/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/postgresjs.d.ts +0 -103
- package/build/types/integrations/tracing/postgresjs.d.ts.map +0 -1
- package/build/types/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts +0 -10
- package/build/types/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/redis/vendored/redis-instrumentation.d.ts +0 -16
- package/build/types/integrations/tracing/redis/vendored/redis-instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/redis/vendored/semconv.d.ts +0 -4
- package/build/types/integrations/tracing/redis/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/tedious/index.d.ts +0 -22
- package/build/types/integrations/tracing/tedious/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/tedious/vendored/instrumentation.d.ts +0 -11
- package/build/types/integrations/tracing/tedious/vendored/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/tedious/vendored/semconv.d.ts +0 -19
- package/build/types/integrations/tracing/tedious/vendored/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing/tedious/vendored/tedious-types.d.ts +0 -21
- package/build/types/integrations/tracing/tedious/vendored/tedious-types.d.ts.map +0 -1
- package/build/types/integrations/tracing/tedious/vendored/utils.d.ts +0 -9
- package/build/types/integrations/tracing/tedious/vendored/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing/vercelai/constants.d.ts +0 -2
- package/build/types/integrations/tracing/vercelai/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing/vercelai/index.d.ts +0 -44
- package/build/types/integrations/tracing/vercelai/index.d.ts.map +0 -1
- package/build/types/integrations/tracing/vercelai/instrumentation.d.ts +0 -56
- package/build/types/integrations/tracing/vercelai/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing/vercelai/types.d.ts +0 -50
- package/build/types/integrations/tracing/vercelai/types.d.ts.map +0 -1
- package/build/types/preload.d.ts +0 -2
- package/build/types/preload.d.ts.map +0 -1
- package/build/types/sdk/diagnosticsChannelInjection.d.ts +0 -41
- package/build/types/sdk/diagnosticsChannelInjection.d.ts.map +0 -1
- package/build/types/sdk/experimentalUseDiagnosticsChannelInjection.d.ts +0 -37
- package/build/types/sdk/experimentalUseDiagnosticsChannelInjection.d.ts.map +0 -1
- package/build/types/utils/setHttpServerSpanRouteAttribute.d.ts +0 -9
- package/build/types/utils/setHttpServerSpanRouteAttribute.d.ts.map +0 -1
- package/build/types-ts3.8/debug-build.d.ts +0 -7
- package/build/types-ts3.8/index.d.ts +0 -44
- package/build/types-ts3.8/init.d.ts +0 -2
- package/build/types-ts3.8/integrations/featureFlagShims/growthbook.d.ts +0 -6
- package/build/types-ts3.8/integrations/featureFlagShims/index.d.ts +0 -6
- package/build/types-ts3.8/integrations/featureFlagShims/launchDarkly.d.ts +0 -12
- package/build/types-ts3.8/integrations/featureFlagShims/openFeature.d.ts +0 -25
- package/build/types-ts3.8/integrations/featureFlagShims/statsig.d.ts +0 -8
- package/build/types-ts3.8/integrations/featureFlagShims/unleash.d.ts +0 -8
- package/build/types-ts3.8/integrations/fs/index.d.ts +0 -14
- package/build/types-ts3.8/integrations/fs/vendored/constants.d.ts +0 -5
- package/build/types-ts3.8/integrations/fs/vendored/instrumentation.d.ts +0 -3
- package/build/types-ts3.8/integrations/fs/vendored/types.d.ts +0 -23
- package/build/types-ts3.8/integrations/fs/vendored/utils.d.ts +0 -15
- package/build/types-ts3.8/integrations/http.d.ts +0 -134
- package/build/types-ts3.8/integrations/node-fetch.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing/InstrumentationNodeModuleFile.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing/amqplib/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/amqplib/vendored/amqplib-types.d.ts +0 -44
- package/build/types-ts3.8/integrations/tracing/amqplib/vendored/instrumentation.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/amqplib/vendored/patches.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/amqplib/vendored/semconv.d.ts +0 -23
- package/build/types-ts3.8/integrations/tracing/amqplib/vendored/types.d.ts +0 -49
- package/build/types-ts3.8/integrations/tracing/amqplib/vendored/utils.d.ts +0 -42
- package/build/types-ts3.8/integrations/tracing/anthropic-ai/index.d.ts +0 -62
- package/build/types-ts3.8/integrations/tracing/anthropic-ai/instrumentation.d.ts +0 -19
- package/build/types-ts3.8/integrations/tracing/connect/index.d.ts +0 -48
- package/build/types-ts3.8/integrations/tracing/connect/vendored/enums/AttributeNames.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing/connect/vendored/instrumentation.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing/connect/vendored/internal-types.d.ts +0 -36
- package/build/types-ts3.8/integrations/tracing/connect/vendored/utils.d.ts +0 -5
- package/build/types-ts3.8/integrations/tracing/dataloader/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/dataloader/vendored/instrumentation.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing/dataloader/vendored/types.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/express.d.ts +0 -19
- package/build/types-ts3.8/integrations/tracing/fastify/index.d.ts +0 -119
- package/build/types-ts3.8/integrations/tracing/fastify/types.d.ts +0 -33
- package/build/types-ts3.8/integrations/tracing/fastify/v3/constants.d.ts +0 -3
- package/build/types-ts3.8/integrations/tracing/fastify/v3/enums/AttributeNames.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing/fastify/v3/instrumentation.d.ts +0 -16
- package/build/types-ts3.8/integrations/tracing/fastify/v3/internal-types.d.ts +0 -7
- package/build/types-ts3.8/integrations/tracing/fastify/v3/types.d.ts +0 -21
- package/build/types-ts3.8/integrations/tracing/fastify/v3/utils.d.ts +0 -28
- package/build/types-ts3.8/integrations/tracing/firebase/firebase.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing/firebase/index.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing/firebase/otel/index.d.ts +0 -3
- package/build/types-ts3.8/integrations/tracing/firebase/otel/patches/firestore.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/firebase/otel/patches/functions.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing/firebase/otel/types.d.ts +0 -100
- package/build/types-ts3.8/integrations/tracing/genericPool/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/genericPool/vendored/generic-pool-types.d.ts +0 -5
- package/build/types-ts3.8/integrations/tracing/genericPool/vendored/instrumentation.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/google-genai/index.d.ts +0 -62
- package/build/types-ts3.8/integrations/tracing/google-genai/instrumentation.d.ts +0 -20
- package/build/types-ts3.8/integrations/tracing/graphql/index.d.ts +0 -50
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/enum.d.ts +0 -38
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/enums/AttributeNames.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/graphql-types.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/instrumentation.d.ts +0 -25
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/internal-types.d.ts +0 -63
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/symbols.d.ts +0 -3
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/types.d.ts +0 -33
- package/build/types-ts3.8/integrations/tracing/graphql/vendored/utils.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing/hapi/index.d.ts +0 -52
- package/build/types-ts3.8/integrations/tracing/hapi/types.d.ts +0 -166
- package/build/types-ts3.8/integrations/tracing/hapi/vendored/enums/AttributeNames.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing/hapi/vendored/hapi-types.d.ts +0 -70
- package/build/types-ts3.8/integrations/tracing/hapi/vendored/instrumentation.d.ts +0 -72
- package/build/types-ts3.8/integrations/tracing/hapi/vendored/internal-types.d.ts +0 -32
- package/build/types-ts3.8/integrations/tracing/hapi/vendored/utils.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing/hono/constants.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/hono/index.d.ts +0 -60
- package/build/types-ts3.8/integrations/tracing/hono/instrumentation.d.ts +0 -55
- package/build/types-ts3.8/integrations/tracing/hono/types.d.ts +0 -36
- package/build/types-ts3.8/integrations/tracing/index.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing/kafka/index.d.ts +0 -21
- package/build/types-ts3.8/integrations/tracing/kafka/vendored/instrumentation.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing/kafka/vendored/kafkajs-types.d.ts +0 -79
- package/build/types-ts3.8/integrations/tracing/kafka/vendored/semconv.d.ts +0 -54
- package/build/types-ts3.8/integrations/tracing/kafka/vendored/utils.d.ts +0 -29
- package/build/types-ts3.8/integrations/tracing/knex/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/knex/vendored/instrumentation.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing/knex/vendored/semconv.d.ts +0 -7
- package/build/types-ts3.8/integrations/tracing/knex/vendored/utils.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing/koa/index.d.ts +0 -72
- package/build/types-ts3.8/integrations/tracing/koa/vendored/enums/AttributeNames.d.ts +0 -5
- package/build/types-ts3.8/integrations/tracing/koa/vendored/instrumentation.d.ts +0 -32
- package/build/types-ts3.8/integrations/tracing/koa/vendored/internal-types.d.ts +0 -34
- package/build/types-ts3.8/integrations/tracing/koa/vendored/types.d.ts +0 -13
- package/build/types-ts3.8/integrations/tracing/koa/vendored/utils.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing/langchain/index.d.ts +0 -101
- package/build/types-ts3.8/integrations/tracing/langchain/instrumentation.d.ts +0 -38
- package/build/types-ts3.8/integrations/tracing/langgraph/index.d.ts +0 -77
- package/build/types-ts3.8/integrations/tracing/langgraph/instrumentation.d.ts +0 -19
- package/build/types-ts3.8/integrations/tracing/lrumemoizer/index.d.ts +0 -21
- package/build/types-ts3.8/integrations/tracing/lrumemoizer/vendored/instrumentation.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing/mongo/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/mongo/vendored/instrumentation.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/mongo/vendored/internal-types.d.ts +0 -62
- package/build/types-ts3.8/integrations/tracing/mongo/vendored/patches.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing/mongo/vendored/utils.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing/mongoose/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/mongoose/vendored/mongoose-types.d.ts +0 -33
- package/build/types-ts3.8/integrations/tracing/mongoose/vendored/mongoose.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing/mongoose/vendored/utils.d.ts +0 -4
- package/build/types-ts3.8/integrations/tracing/mysql/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/mysql/vendored/instrumentation.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing/mysql/vendored/mysql-types.d.ts +0 -78
- package/build/types-ts3.8/integrations/tracing/mysql/vendored/semconv.d.ts +0 -19
- package/build/types-ts3.8/integrations/tracing/mysql/vendored/utils.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/mysql2/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/mysql2/vendored/instrumentation.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing/mysql2/vendored/mysql2-types.d.ts +0 -39
- package/build/types-ts3.8/integrations/tracing/mysql2/vendored/semconv.d.ts +0 -3
- package/build/types-ts3.8/integrations/tracing/mysql2/vendored/utils.d.ts +0 -25
- package/build/types-ts3.8/integrations/tracing/openai/index.d.ts +0 -62
- package/build/types-ts3.8/integrations/tracing/openai/instrumentation.d.ts +0 -26
- package/build/types-ts3.8/integrations/tracing/postgres/index.d.ts +0 -26
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/enums/AttributeNames.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/enums/SpanNames.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/instrumentation.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/internal-types.d.ts +0 -33
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/pg-pool-types.d.ts +0 -20
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/pg-types.d.ts +0 -54
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/semconv.d.ts +0 -13
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/types.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/postgres/vendored/utils.d.ts +0 -56
- package/build/types-ts3.8/integrations/tracing/postgresjs.d.ts +0 -103
- package/build/types-ts3.8/integrations/tracing/redis/cache.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/redis/index.d.ts +0 -28
- package/build/types-ts3.8/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing/redis/vendored/redis-instrumentation.d.ts +0 -16
- package/build/types-ts3.8/integrations/tracing/redis/vendored/semconv.d.ts +0 -4
- package/build/types-ts3.8/integrations/tracing/redis/vendored/types.d.ts +0 -24
- package/build/types-ts3.8/integrations/tracing/tedious/index.d.ts +0 -22
- package/build/types-ts3.8/integrations/tracing/tedious/vendored/instrumentation.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing/tedious/vendored/semconv.d.ts +0 -19
- package/build/types-ts3.8/integrations/tracing/tedious/vendored/tedious-types.d.ts +0 -21
- package/build/types-ts3.8/integrations/tracing/tedious/vendored/utils.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing/vercelai/constants.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing/vercelai/index.d.ts +0 -44
- package/build/types-ts3.8/integrations/tracing/vercelai/instrumentation.d.ts +0 -56
- package/build/types-ts3.8/integrations/tracing/vercelai/types.d.ts +0 -50
- package/build/types-ts3.8/preload.d.ts +0 -2
- package/build/types-ts3.8/sdk/diagnosticsChannelInjection.d.ts +0 -41
- package/build/types-ts3.8/sdk/experimentalUseDiagnosticsChannelInjection.d.ts +0 -37
- package/build/types-ts3.8/sdk/index.d.ts +0 -36
- package/build/types-ts3.8/sdk/initOtel.d.ts +0 -30
- package/build/types-ts3.8/types.d.ts +0 -89
- package/build/types-ts3.8/utils/redisCache.d.ts +0 -17
- package/build/types-ts3.8/utils/setHttpServerSpanRouteAttribute.d.ts +0 -9
package/build/cjs/index.js
CHANGED
|
@@ -1,90 +1,95 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const index$
|
|
3
|
+
const index$6 = require('./integrations/http/index.js');
|
|
4
|
+
const index$8 = require('./integrations/node-fetch/index.js');
|
|
5
|
+
const index$3 = require('./integrations/fs/index.js');
|
|
6
6
|
const express = require('./integrations/tracing/express.js');
|
|
7
|
-
const index$
|
|
8
|
-
const
|
|
9
|
-
const index$
|
|
10
|
-
const index$i = require('./integrations/tracing/lrumemoizer/index.js');
|
|
11
|
-
const index$j = require('./integrations/tracing/mongo/index.js');
|
|
12
|
-
const index$k = require('./integrations/tracing/mongoose/index.js');
|
|
13
|
-
const index$m = require('./integrations/tracing/mysql/index.js');
|
|
14
|
-
const index$l = require('./integrations/tracing/mysql2/index.js');
|
|
15
|
-
const index$p = require('./integrations/tracing/redis/index.js');
|
|
16
|
-
const index$o = require('./integrations/tracing/postgres/index.js');
|
|
17
|
-
const postgresjs = require('./integrations/tracing/postgresjs.js');
|
|
7
|
+
const index$2 = require('./integrations/tracing/fastify/index.js');
|
|
8
|
+
const orchestrion = require('@sentry/server-utils/orchestrion');
|
|
9
|
+
const index$9 = require('./integrations/tracing/redis/index.js');
|
|
18
10
|
const serverUtils = require('@sentry/server-utils');
|
|
19
|
-
const index$
|
|
20
|
-
const index$
|
|
21
|
-
const index$f = require('./integrations/tracing/koa/index.js');
|
|
22
|
-
const index$3 = require('./integrations/tracing/connect/index.js');
|
|
23
|
-
const index$e = require('./integrations/tracing/knex/index.js');
|
|
24
|
-
const index$q = require('./integrations/tracing/tedious/index.js');
|
|
25
|
-
const index$7 = require('./integrations/tracing/genericPool/index.js');
|
|
26
|
-
const index$4 = require('./integrations/tracing/dataloader/index.js');
|
|
27
|
-
const index = require('./integrations/tracing/amqplib/index.js');
|
|
28
|
-
const index$r = require('./integrations/tracing/vercelai/index.js');
|
|
29
|
-
const index$n = require('./integrations/tracing/openai/index.js');
|
|
30
|
-
const index$1 = require('./integrations/tracing/anthropic-ai/index.js');
|
|
31
|
-
const index$9 = require('./integrations/tracing/google-genai/index.js');
|
|
32
|
-
const index$g = require('./integrations/tracing/langchain/index.js');
|
|
33
|
-
const index$h = require('./integrations/tracing/langgraph/index.js');
|
|
11
|
+
const index$a = require('./integrations/tracing/hapi/index.js');
|
|
12
|
+
const index$b = require('./integrations/tracing/koa/index.js');
|
|
34
13
|
const launchDarkly = require('./integrations/featureFlagShims/launchDarkly.js');
|
|
35
14
|
const openFeature = require('./integrations/featureFlagShims/openFeature.js');
|
|
36
15
|
const statsig = require('./integrations/featureFlagShims/statsig.js');
|
|
37
16
|
const unleash = require('./integrations/featureFlagShims/unleash.js');
|
|
38
17
|
const growthbook = require('./integrations/featureFlagShims/growthbook.js');
|
|
39
|
-
const
|
|
40
|
-
const index$2 = require('./sdk/index.js');
|
|
41
|
-
const experimentalUseDiagnosticsChannelInjection = require('./sdk/experimentalUseDiagnosticsChannelInjection.js');
|
|
42
|
-
const diagnosticsChannelInjection = require('./sdk/diagnosticsChannelInjection.js');
|
|
18
|
+
const index$5 = require('./sdk/index.js');
|
|
43
19
|
const initOtel = require('./sdk/initOtel.js');
|
|
44
|
-
const index$
|
|
20
|
+
const index$4 = require('./integrations/tracing/index.js');
|
|
45
21
|
const opentelemetry = require('@sentry/opentelemetry');
|
|
46
22
|
const core = require('@sentry/core');
|
|
47
|
-
const
|
|
23
|
+
const exports$1 = require('./logs/exports.js');
|
|
24
|
+
const childProcess = require('./integrations/childProcess.js');
|
|
25
|
+
const console = require('./integrations/console.js');
|
|
26
|
+
const context = require('./integrations/context.js');
|
|
27
|
+
const contextlines = require('./integrations/contextlines.js');
|
|
28
|
+
const index$7 = require('./integrations/local-variables/index.js');
|
|
29
|
+
const modules = require('./integrations/modules.js');
|
|
30
|
+
const nodeRuntimeMetrics = require('./integrations/nodeRuntimeMetrics.js');
|
|
31
|
+
const onuncaughtexception = require('./integrations/onuncaughtexception.js');
|
|
32
|
+
const onunhandledrejection = require('./integrations/onunhandledrejection.js');
|
|
33
|
+
const pino = require('./integrations/pino.js');
|
|
34
|
+
const spotlight = require('./integrations/spotlight.js');
|
|
35
|
+
const systemError = require('./integrations/systemError.js');
|
|
36
|
+
const winston = require('./integrations/winston.js');
|
|
37
|
+
const index$1 = require('./cron/index.js');
|
|
38
|
+
const nodeVersion = require('./nodeVersion.js');
|
|
39
|
+
const api = require('./sdk/api.js');
|
|
40
|
+
const http = require('./transports/http.js');
|
|
41
|
+
const module$1 = require('./utils/module.js');
|
|
42
|
+
const httpServerIntegration = require('./integrations/http/httpServerIntegration.js');
|
|
43
|
+
const httpServerSpansIntegration = require('./integrations/http/httpServerSpansIntegration.js');
|
|
44
|
+
const processSession = require('./integrations/processSession.js');
|
|
45
|
+
const client = require('./sdk/client.js');
|
|
46
|
+
const index = require('./integrations/anr/index.js');
|
|
48
47
|
|
|
49
48
|
|
|
50
49
|
|
|
51
|
-
exports.httpIntegration =
|
|
52
|
-
exports.nativeNodeFetchIntegration =
|
|
53
|
-
exports.fsIntegration = index$
|
|
54
|
-
exports.expressIntegration = express.expressIntegration;
|
|
50
|
+
exports.httpIntegration = index$6.httpIntegration;
|
|
51
|
+
exports.nativeNodeFetchIntegration = index$8.nativeNodeFetchIntegration;
|
|
52
|
+
exports.fsIntegration = index$3.fsIntegration;
|
|
55
53
|
exports.setupExpressErrorHandler = express.setupExpressErrorHandler;
|
|
56
|
-
exports.fastifyIntegration = index$
|
|
57
|
-
exports.setupFastifyErrorHandler = index$
|
|
58
|
-
exports.
|
|
59
|
-
exports.
|
|
60
|
-
exports.
|
|
61
|
-
exports.
|
|
62
|
-
exports.
|
|
63
|
-
exports.
|
|
64
|
-
exports.
|
|
65
|
-
exports.
|
|
66
|
-
exports.
|
|
67
|
-
exports.
|
|
54
|
+
exports.fastifyIntegration = index$2.fastifyIntegration;
|
|
55
|
+
exports.setupFastifyErrorHandler = index$2.setupFastifyErrorHandler;
|
|
56
|
+
exports.amqplibIntegration = orchestrion.amqplibIntegration;
|
|
57
|
+
exports.anthropicAIIntegration = orchestrion.anthropicIntegration;
|
|
58
|
+
exports.dataloaderIntegration = orchestrion.dataloaderIntegration;
|
|
59
|
+
exports.expressIntegration = orchestrion.expressIntegration;
|
|
60
|
+
exports.firebaseIntegration = orchestrion.firebaseIntegration;
|
|
61
|
+
exports.genericPoolIntegration = orchestrion.genericPoolIntegration;
|
|
62
|
+
exports.googleGenAIIntegration = orchestrion.googleGenAIIntegration;
|
|
63
|
+
exports.graphqlIntegration = orchestrion.graphqlDiagnosticsIntegration;
|
|
64
|
+
exports.hapiIntegration = orchestrion.hapiIntegration;
|
|
65
|
+
exports.kafkaIntegration = orchestrion.kafkajsIntegration;
|
|
66
|
+
exports.knexIntegration = orchestrion.knexIntegration;
|
|
67
|
+
exports.koaIntegration = orchestrion.koaIntegration;
|
|
68
|
+
exports.langChainIntegration = orchestrion.langChainIntegration;
|
|
69
|
+
exports.langGraphIntegration = orchestrion.langGraphIntegration;
|
|
70
|
+
exports.lruMemoizerIntegration = orchestrion.lruMemoizerIntegration;
|
|
71
|
+
exports.mongoIntegration = orchestrion.mongodbIntegration;
|
|
72
|
+
exports.mongooseIntegration = orchestrion.mongooseIntegration;
|
|
73
|
+
exports.mysql2Integration = orchestrion.mysql2Integration;
|
|
74
|
+
exports.mysqlIntegration = orchestrion.mysqlIntegration;
|
|
75
|
+
exports.openAIIntegration = orchestrion.openaiIntegration;
|
|
76
|
+
exports.postgresIntegration = orchestrion.postgresIntegration;
|
|
77
|
+
exports.postgresJsIntegration = orchestrion.postgresJsIntegration;
|
|
78
|
+
exports.tediousIntegration = orchestrion.tediousIntegration;
|
|
79
|
+
exports.vercelAIIntegration = orchestrion.vercelAiIntegration;
|
|
80
|
+
exports.redisIntegration = index$9.redisIntegration;
|
|
81
|
+
exports.createLangChainCallbackHandler = serverUtils.createLangChainCallbackHandler;
|
|
82
|
+
exports.getOtlpTracesEndpoint = serverUtils.getOtlpTracesEndpoint;
|
|
83
|
+
exports.instrumentAnthropicAiClient = serverUtils.instrumentAnthropicAiClient;
|
|
84
|
+
exports.instrumentGoogleGenAIClient = serverUtils.instrumentGoogleGenAIClient;
|
|
85
|
+
exports.instrumentLangChainEmbeddings = serverUtils.instrumentLangChainEmbeddings;
|
|
86
|
+
exports.instrumentOpenAiClient = serverUtils.instrumentOpenAiClient;
|
|
87
|
+
exports.instrumentStateGraph = serverUtils.instrumentStateGraph;
|
|
88
|
+
exports.instrumentStateGraphCompile = serverUtils.instrumentStateGraphCompile;
|
|
89
|
+
exports.otlpIntegration = serverUtils.otlpIntegration;
|
|
68
90
|
exports.prismaIntegration = serverUtils.prismaIntegration;
|
|
69
|
-
exports.
|
|
70
|
-
exports.
|
|
71
|
-
exports.honoIntegration = index$c.honoIntegration;
|
|
72
|
-
exports.setupHonoErrorHandler = index$c.setupHonoErrorHandler;
|
|
73
|
-
exports.koaIntegration = index$f.koaIntegration;
|
|
74
|
-
exports.setupKoaErrorHandler = index$f.setupKoaErrorHandler;
|
|
75
|
-
exports.connectIntegration = index$3.connectIntegration;
|
|
76
|
-
exports.setupConnectErrorHandler = index$3.setupConnectErrorHandler;
|
|
77
|
-
exports.knexIntegration = index$e.knexIntegration;
|
|
78
|
-
exports.tediousIntegration = index$q.tediousIntegration;
|
|
79
|
-
exports.genericPoolIntegration = index$7.genericPoolIntegration;
|
|
80
|
-
exports.dataloaderIntegration = index$4.dataloaderIntegration;
|
|
81
|
-
exports.amqplibIntegration = index.amqplibIntegration;
|
|
82
|
-
exports.vercelAIIntegration = index$r.vercelAIIntegration;
|
|
83
|
-
exports.openAIIntegration = index$n.openAIIntegration;
|
|
84
|
-
exports.anthropicAIIntegration = index$1.anthropicAIIntegration;
|
|
85
|
-
exports.googleGenAIIntegration = index$9.googleGenAIIntegration;
|
|
86
|
-
exports.langChainIntegration = index$g.langChainIntegration;
|
|
87
|
-
exports.langGraphIntegration = index$h.langGraphIntegration;
|
|
91
|
+
exports.setupHapiErrorHandler = index$a.setupHapiErrorHandler;
|
|
92
|
+
exports.setupKoaErrorHandler = index$b.setupKoaErrorHandler;
|
|
88
93
|
exports.buildLaunchDarklyFlagUsedHandler = launchDarkly.buildLaunchDarklyFlagUsedHandlerShim;
|
|
89
94
|
exports.launchDarklyIntegration = launchDarkly.launchDarklyIntegrationShim;
|
|
90
95
|
exports.OpenFeatureIntegrationHook = openFeature.OpenFeatureIntegrationHookShim;
|
|
@@ -92,19 +97,13 @@ exports.openFeatureIntegration = openFeature.openFeatureIntegrationShim;
|
|
|
92
97
|
exports.statsigIntegration = statsig.statsigIntegrationShim;
|
|
93
98
|
exports.unleashIntegration = unleash.unleashIntegrationShim;
|
|
94
99
|
exports.growthbookIntegration = growthbook.growthbookIntegrationShim;
|
|
95
|
-
exports.
|
|
96
|
-
exports.
|
|
97
|
-
exports.
|
|
98
|
-
exports.
|
|
99
|
-
exports.init = index$2.init;
|
|
100
|
-
exports.initWithoutDefaultIntegrations = index$2.initWithoutDefaultIntegrations;
|
|
101
|
-
exports.diagnosticsChannelInjectionIntegrations = experimentalUseDiagnosticsChannelInjection.diagnosticsChannelInjectionIntegrations;
|
|
102
|
-
exports.experimentalUseDiagnosticsChannelInjection = experimentalUseDiagnosticsChannelInjection.experimentalUseDiagnosticsChannelInjection;
|
|
103
|
-
exports.isDiagnosticsChannelInjectionEnabled = diagnosticsChannelInjection.isDiagnosticsChannelInjectionEnabled;
|
|
100
|
+
exports.getDefaultIntegrations = index$5.getDefaultIntegrations;
|
|
101
|
+
exports.getDefaultIntegrationsWithoutPerformance = index$5.getDefaultIntegrationsWithoutPerformance;
|
|
102
|
+
exports.init = index$5.init;
|
|
103
|
+
exports.initWithoutDefaultIntegrations = index$5.initWithoutDefaultIntegrations;
|
|
104
104
|
exports.initOpenTelemetry = initOtel.initOpenTelemetry;
|
|
105
|
-
exports.
|
|
106
|
-
exports.
|
|
107
|
-
exports.setNodeAsyncContextStrategy = opentelemetry.setOpenTelemetryContextAsyncContextStrategy;
|
|
105
|
+
exports.getAutoPerformanceIntegrations = index$4.getAutoPerformanceIntegrations;
|
|
106
|
+
exports.setOpenTelemetryContextAsyncContextStrategy = opentelemetry.setOpenTelemetryContextAsyncContextStrategy;
|
|
108
107
|
exports.SDK_VERSION = core.SDK_VERSION;
|
|
109
108
|
exports.SEMANTIC_ATTRIBUTE_SENTRY_OP = core.SEMANTIC_ATTRIBUTE_SENTRY_OP;
|
|
110
109
|
exports.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;
|
|
@@ -126,7 +125,6 @@ exports.close = core.close;
|
|
|
126
125
|
exports.consoleLoggingIntegration = core.consoleLoggingIntegration;
|
|
127
126
|
exports.continueTrace = core.continueTrace;
|
|
128
127
|
exports.createConsolaReporter = core.createConsolaReporter;
|
|
129
|
-
exports.createLangChainCallbackHandler = core.createLangChainCallbackHandler;
|
|
130
128
|
exports.createTransport = core.createTransport;
|
|
131
129
|
exports.dedupeIntegration = core.dedupeIntegration;
|
|
132
130
|
exports.endSession = core.endSession;
|
|
@@ -147,19 +145,12 @@ exports.getSpanStatusFromHttpCode = core.getSpanStatusFromHttpCode;
|
|
|
147
145
|
exports.getTraceData = core.getTraceData;
|
|
148
146
|
exports.getTraceMetaTags = core.getTraceMetaTags;
|
|
149
147
|
exports.httpHeadersToSpanAttributes = core.httpHeadersToSpanAttributes;
|
|
150
|
-
exports.inboundFiltersIntegration = core.inboundFiltersIntegration;
|
|
151
|
-
exports.instrumentAnthropicAiClient = core.instrumentAnthropicAiClient;
|
|
152
|
-
exports.instrumentGoogleGenAIClient = core.instrumentGoogleGenAIClient;
|
|
153
|
-
exports.instrumentLangChainEmbeddings = core.instrumentLangChainEmbeddings;
|
|
154
|
-
exports.instrumentLangGraph = core.instrumentLangGraph;
|
|
155
|
-
exports.instrumentOpenAiClient = core.instrumentOpenAiClient;
|
|
156
|
-
exports.instrumentStateGraph = core.instrumentStateGraph;
|
|
157
|
-
exports.instrumentStateGraphCompile = core.instrumentStateGraphCompile;
|
|
158
148
|
exports.instrumentSupabaseClient = core.instrumentSupabaseClient;
|
|
159
149
|
exports.isEnabled = core.isEnabled;
|
|
160
150
|
exports.isInitialized = core.isInitialized;
|
|
161
151
|
exports.lastEventId = core.lastEventId;
|
|
162
152
|
exports.linkedErrorsIntegration = core.linkedErrorsIntegration;
|
|
153
|
+
exports.metrics = core.metrics;
|
|
163
154
|
exports.parameterize = core.parameterize;
|
|
164
155
|
exports.profiler = core.profiler;
|
|
165
156
|
exports.requestDataIntegration = core.requestDataIntegration;
|
|
@@ -179,6 +170,7 @@ exports.setUser = core.setUser;
|
|
|
179
170
|
exports.spanStreamingIntegration = core.spanStreamingIntegration;
|
|
180
171
|
exports.spanToBaggageHeader = core.spanToBaggageHeader;
|
|
181
172
|
exports.spanToJSON = core.spanToJSON;
|
|
173
|
+
exports.spanToStaticSpanJSON = core.spanToStaticSpanJSON;
|
|
182
174
|
exports.spanToTraceHeader = core.spanToTraceHeader;
|
|
183
175
|
exports.startInactiveSpan = core.startInactiveSpan;
|
|
184
176
|
exports.startNewTrace = core.startNewTrace;
|
|
@@ -194,38 +186,35 @@ exports.withActiveSpan = core.withActiveSpan;
|
|
|
194
186
|
exports.withIsolationScope = core.withIsolationScope;
|
|
195
187
|
exports.withMonitor = core.withMonitor;
|
|
196
188
|
exports.withScope = core.withScope;
|
|
189
|
+
exports.withStaticSpan = core.withStaticSpan;
|
|
190
|
+
exports.withStreamedSpan = core.withStreamedSpan;
|
|
197
191
|
exports.wrapMcpServerWithSentry = core.wrapMcpServerWithSentry;
|
|
198
192
|
exports.zodErrorsIntegration = core.zodErrorsIntegration;
|
|
199
|
-
exports.
|
|
200
|
-
exports.
|
|
201
|
-
exports.
|
|
202
|
-
exports.
|
|
203
|
-
exports.
|
|
204
|
-
exports.
|
|
205
|
-
exports.
|
|
206
|
-
exports.
|
|
207
|
-
exports.
|
|
208
|
-
exports.
|
|
209
|
-
exports.
|
|
210
|
-
exports.
|
|
211
|
-
exports.
|
|
212
|
-
exports.
|
|
213
|
-
exports.
|
|
214
|
-
exports.
|
|
215
|
-
exports.
|
|
216
|
-
exports.
|
|
217
|
-
exports.
|
|
218
|
-
exports.makeNodeTransport =
|
|
219
|
-
exports.
|
|
220
|
-
exports.
|
|
221
|
-
exports.
|
|
222
|
-
exports.
|
|
223
|
-
exports.
|
|
224
|
-
exports.
|
|
225
|
-
exports.
|
|
226
|
-
exports.processSessionIntegration = nodeCore.processSessionIntegration;
|
|
227
|
-
exports.spotlightIntegration = nodeCore.spotlightIntegration;
|
|
228
|
-
exports.systemErrorIntegration = nodeCore.systemErrorIntegration;
|
|
229
|
-
exports.validateOpenTelemetrySetup = nodeCore.validateOpenTelemetrySetup;
|
|
230
|
-
exports.withStreamedSpan = nodeCore.withStreamedSpan;
|
|
193
|
+
exports.logger = exports$1;
|
|
194
|
+
exports.childProcessIntegration = childProcess.childProcessIntegration;
|
|
195
|
+
exports.consoleIntegration = console.consoleIntegration;
|
|
196
|
+
exports.nodeContextIntegration = context.nodeContextIntegration;
|
|
197
|
+
exports.contextLinesIntegration = contextlines.contextLinesIntegration;
|
|
198
|
+
exports.localVariablesIntegration = index$7.localVariablesIntegration;
|
|
199
|
+
exports.modulesIntegration = modules.modulesIntegration;
|
|
200
|
+
exports._INTERNAL_normalizeCollectionInterval = nodeRuntimeMetrics._INTERNAL_normalizeCollectionInterval;
|
|
201
|
+
exports.nodeRuntimeMetricsIntegration = nodeRuntimeMetrics.nodeRuntimeMetricsIntegration;
|
|
202
|
+
exports.onUncaughtExceptionIntegration = onuncaughtexception.onUncaughtExceptionIntegration;
|
|
203
|
+
exports.onUnhandledRejectionIntegration = onunhandledrejection.onUnhandledRejectionIntegration;
|
|
204
|
+
exports.pinoIntegration = pino.pinoIntegration;
|
|
205
|
+
exports.spotlightIntegration = spotlight.spotlightIntegration;
|
|
206
|
+
exports.systemErrorIntegration = systemError.systemErrorIntegration;
|
|
207
|
+
exports.createSentryWinstonTransport = winston.createSentryWinstonTransport;
|
|
208
|
+
exports.cron = index$1.cron;
|
|
209
|
+
exports.NODE_VERSION = nodeVersion.NODE_VERSION;
|
|
210
|
+
exports.defaultStackParser = api.defaultStackParser;
|
|
211
|
+
exports.getSentryRelease = api.getSentryRelease;
|
|
212
|
+
exports.makeNodeTransport = http.makeNodeTransport;
|
|
213
|
+
exports.createGetModuleFromFilename = module$1.createGetModuleFromFilename;
|
|
214
|
+
exports.httpServerIntegration = httpServerIntegration.httpServerIntegration;
|
|
215
|
+
exports.httpServerSpansIntegration = httpServerSpansIntegration.httpServerSpansIntegration;
|
|
216
|
+
exports.processSessionIntegration = processSession.processSessionIntegration;
|
|
217
|
+
exports.NodeClient = client.NodeClient;
|
|
218
|
+
exports.anrIntegration = index.anrIntegration;
|
|
219
|
+
exports.disableAnrDetectionForCallback = index.disableAnrDetectionForCallback;
|
|
231
220
|
//# sourceMappingURL=index.js.map
|
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
const util = require('node:util');
|
|
4
|
+
const node_worker_threads = require('node:worker_threads');
|
|
5
|
+
const core = require('@sentry/core');
|
|
6
|
+
const debug = require('../../utils/debug.js');
|
|
7
|
+
|
|
8
|
+
const { isPromise } = util.types;
|
|
9
|
+
const base64WorkerScript = "LyohIEBzZW50cnkvbm9kZSAxMS4wLjAtYWxwaGEuMSAoNmFiN2VmZCkgfCBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0ICovCmltcG9ydHtTZXNzaW9uIGFzIHR9ZnJvbSJub2RlOmluc3BlY3RvciI7aW1wb3J0e3dvcmtlckRhdGEgYXMgZSxwYXJlbnRQb3J0IGFzIG59ZnJvbSJub2RlOndvcmtlcl90aHJlYWRzIjtpbXBvcnR7cG9zaXggYXMgcixzZXAgYXMgb31mcm9tIm5vZGU6cGF0aCI7aW1wb3J0KmFzIHMgZnJvbSJub2RlOmh0dHAiO2ltcG9ydCphcyBpIGZyb20ibm9kZTpodHRwcyI7aW1wb3J0e1JlYWRhYmxlIGFzIGN9ZnJvbSJub2RlOnN0cmVhbSI7aW1wb3J0e2NyZWF0ZUd6aXAgYXMgdX1mcm9tIm5vZGU6emxpYiI7aW1wb3J0KmFzIGEgZnJvbSJub2RlOm5ldCI7aW1wb3J0KmFzIGYgZnJvbSJub2RlOnRscyI7Y29uc3QgaD0idW5kZWZpbmVkIj09dHlwZW9mIF9fU0VOVFJZX0RFQlVHX198fF9fU0VOVFJZX0RFQlVHX18scD1nbG9iYWxUaGlzLGw9IjExLjAuMC1hbHBoYS4xIjtmdW5jdGlvbiBkKCl7cmV0dXJuIGcocCkscH1mdW5jdGlvbiBnKHQpe2NvbnN0IGU9dC5fX1NFTlRSWV9fPXQuX19TRU5UUllfX3x8e307cmV0dXJuIGUudmVyc2lvbj1lLnZlcnNpb258fGwsZVtsXT1lW2xdfHx7fX1mdW5jdGlvbiBtKHQsZSxuPXApe2NvbnN0IHI9bi5fX1NFTlRSWV9fPW4uX19TRU5UUllfX3x8e30sbz1yW2xdPXJbbF18fHt9O3JldHVybiBvW3RdfHwob1t0XT1lKCkpfWNvbnN0IHk9e307ZnVuY3Rpb24gYih0KXtpZighKCJjb25zb2xlImluIHApKXJldHVybiB0KCk7Y29uc3QgZT1wLmNvbnNvbGUsbj17fSxyPU9iamVjdC5rZXlzKHkpO3IuZm9yRWFjaCh0PT57Y29uc3Qgcj15W3RdO25bdF09ZVt0XSxlW3RdPXJ9KTt0cnl7cmV0dXJuIHQoKX1maW5hbGx5e3IuZm9yRWFjaCh0PT57ZVt0XT1uW3RdfSl9fWZ1bmN0aW9uIHYoKXtyZXR1cm4gUygpLmVuYWJsZWR9ZnVuY3Rpb24gdyh0LC4uLmUpe2gmJnYoKSYmYigoKT0+e3AuY29uc29sZVt0XShgU2VudHJ5IExvZ2dlciBbJHt0fV06YCwuLi5lKX0pfWZ1bmN0aW9uIFMoKXtyZXR1cm4gaD9tKCJsb2dnZXJTZXR0aW5ncyIsKCk9Pih7ZW5hYmxlZDohMX0pKTp7ZW5hYmxlZDohMX19Y29uc3QgXz17ZW5hYmxlOmZ1bmN0aW9uKCl7UygpLmVuYWJsZWQ9ITB9LGRpc2FibGU6ZnVuY3Rpb24oKXtTKCkuZW5hYmxlZD0hMX0saXNFbmFibGVkOnYsbG9nOmZ1bmN0aW9uKC4uLnQpe3coImxvZyIsLi4udCl9LHdhcm46ZnVuY3Rpb24oLi4udCl7dygid2FybiIsLi4udCl9LGVycm9yOmZ1bmN0aW9uKC4uLnQpe3coImVycm9yIiwuLi50KX19LCQ9L2NhcHR1cmVNZXNzYWdlfGNhcHR1cmVFeGNlcHRpb24vO2Z1bmN0aW9uIEUodCl7cmV0dXJuIHRbdC5sZW5ndGgtMV18fHt9fWNvbnN0IHg9Ijxhbm9ueW1vdXM+Ijtjb25zdCBOPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gaih0KXtyZXR1cm4gZnVuY3Rpb24odCxlKXtyZXR1cm4gTi5jYWxsKHQpPT09YFtvYmplY3QgJHtlfV1gfSh0LCJPYmplY3QiKX1mdW5jdGlvbiBDKHQpe3JldHVybiBCb29sZWFuKHQ/LnRoZW4mJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pfWZ1bmN0aW9uIE8odCxlKXt0cnl7cmV0dXJuIHQgaW5zdGFuY2VvZiBlfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBQKHQpe2lmKGZ1bmN0aW9uKHQpe3N3aXRjaChOLmNhbGwodCkpe2Nhc2UiW29iamVjdCBFcnJvcl0iOmNhc2UiW29iamVjdCBFeGNlcHRpb25dIjpjYXNlIltvYmplY3QgRE9NRXhjZXB0aW9uXSI6Y2FzZSJbb2JqZWN0IFdlYkFzc2VtYmx5LkV4Y2VwdGlvbl0iOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIE8odCxFcnJvcil9fSh0KSlyZXR1cm57bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFjaywuLi5BKHQpfTtpZihlPXQsInVuZGVmaW5lZCIhPXR5cGVvZiBFdmVudCYmTyhlLEV2ZW50KSl7Y29uc3R7dHlwZTplLHRhcmdldDpuLGN1cnJlbnRUYXJnZXQ6cixkZXRhaWw6b309dDtyZXR1cm57dHlwZTplLHRhcmdldDpuLGN1cnJlbnRUYXJnZXQ6ciwuLi5vP3tkZXRhaWw6b306e30sLi4uQSh0KX19dmFyIGU7cmV0dXJuIHR9ZnVuY3Rpb24gQSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mKGU9dCkmJm51bGwhPT1lP09iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0KSk6e307dmFyIGV9bGV0IGs7ZnVuY3Rpb24gVCh0KXtpZih2b2lkIDAhPT1rKXJldHVybiBrP2sodCk6dCgpO2NvbnN0IGU9U3ltYm9sLmZvcigiX19TRU5UUllfU0FGRV9SQU5ET01fSURfV1JBUFBFUl9fIiksbj1wO3JldHVybiBlIGluIG4mJiJmdW5jdGlvbiI9PXR5cGVvZiBuW2VdPyhrPW5bZV0sayh0KSk6KGs9bnVsbCx0KCkpfWZ1bmN0aW9uIFIoKXtyZXR1cm4gVCgoKT0+TWF0aC5yYW5kb20oKSl9ZnVuY3Rpb24gSSgpe3JldHVybiBUKCgpPT5EYXRlLm5vdygpKX1jb25zdCBEPVN5bWJvbC5mb3IoInNlbnRyeS5za2lwTm9ybWFsaXphdGlvbiIpLFU9U3ltYm9sLmZvcigic2VudHJ5Lm92ZXJyaWRlTm9ybWFsaXphdGlvbkRlcHRoIik7ZnVuY3Rpb24gQih0LGU9MTAwLG49MS8wKXt0cnl7cmV0dXJuIEwoIiIsdCxlLG4pfWNhdGNoKHQpe3JldHVybntFUlJPUjpgKipub24tc2VyaWFsaXphYmxlKiogKCR7dH0pYH19fWZ1bmN0aW9uIEwodCxlLG49MS8wLHI9MS8wLG89ZnVuY3Rpb24oKXtjb25zdCB0PW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGUoZSl7cmV0dXJuISF0LmhhcyhlKXx8KHQuYWRkKGUpLCExKX1mdW5jdGlvbiBuKGUpe3QuZGVsZXRlKGUpfXJldHVybltlLG5dfSgpKXtjb25zdFtzLGldPW87aWYobnVsbD09ZXx8WyJib29sZWFuIiwic3RyaW5nIl0uaW5jbHVkZXModHlwZW9mIGUpfHwibnVtYmVyIj09dHlwZW9mIGUmJk51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gZTtjb25zdCBjPWZ1bmN0aW9uKHQsZSl7dHJ5e2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZlPT09Z2xvYmFsKXJldHVybiJbR2xvYmFsXSI7aWYoIm51bWJlciI9PXR5cGVvZiBlJiYhTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybmBbJHtlfV1gO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJldHVybmBbRnVuY3Rpb246ICR7ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5uYW1lfHx4fWNhdGNoe3JldHVybiB4fX0oZSl9XWA7aWYoInN5bWJvbCI9PXR5cGVvZiBlKXJldHVybmBbJHtTdHJpbmcoZSl9XWA7aWYoImJpZ2ludCI9PXR5cGVvZiBlKXJldHVybmBbQmlnSW50OiAke1N0cmluZyhlKX1dYDtjb25zdCB0PWZ1bmN0aW9uKHQpe2NvbnN0IGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3JldHVybiBlPy5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6Im51bGwgcHJvdG90eXBlIn0oZSk7cmV0dXJuYFtvYmplY3QgJHt0fV1gfWNhdGNoKHQpe3JldHVybmAqKm5vbi1zZXJpYWxpemFibGUqKiAoJHt0fSlgfX0oMCxlKTtpZighYy5zdGFydHNXaXRoKCJbb2JqZWN0ICIpKXJldHVybiBjO2lmKGZ1bmN0aW9uKHQpe3JldHVybiBCb29sZWFuKHRbRF0pfShlKSlyZXR1cm4gZTtjb25zdCB1PWZ1bmN0aW9uKHQpe2NvbnN0IGU9dFtVXTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZTp2b2lkIDB9KGUpLGE9dm9pZCAwIT09dT91Om47aWYoMD09PWEpcmV0dXJuIGMucmVwbGFjZSgib2JqZWN0ICIsIiIpO2lmKHMoZSkpcmV0dXJuIltDaXJjdWxhciB+XSI7Y29uc3QgZj1lO2lmKGYmJiJmdW5jdGlvbiI9PXR5cGVvZiBmLnRvSlNPTil0cnl7cmV0dXJuIEwoIiIsZi50b0pTT04oKSxhLTEscixvKX1jYXRjaHt9Y29uc3QgaD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2xldCBwPTA7Y29uc3QgbD1QKGUpO2Zvcihjb25zdCB0IGluIGwpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCx0KSljb250aW51ZTtpZihwPj1yKXtoW3RdPSJbTWF4UHJvcGVydGllcyB+XSI7YnJlYWt9Y29uc3QgZT1sW3RdO2hbdF09TCh0LGUsYS0xLHIsbykscCsrfXJldHVybiBpKGUpLGh9ZnVuY3Rpb24gTSh0LGUpe2NvbnN0IG49ZS5yZXBsYWNlKC9cXC9nLCIvIikucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKTtsZXQgcj10O3RyeXtyPWRlY29kZVVSSSh0KX1jYXRjaHt9cmV0dXJuIHIucmVwbGFjZSgvXFwvZywiLyIpLnJlcGxhY2UoL3dlYnBhY2s6XC8/L2csIiIpLnJlcGxhY2UobmV3IFJlZ0V4cChgKGZpbGU6Ly8pPy8qJHtufS8qYCwiaWciKSwiYXBwOi8vLyIpfWZ1bmN0aW9uIHoodCxlPTApe3JldHVybiJzdHJpbmciIT10eXBlb2YgdHx8MD09PWV8fHQubGVuZ3RoPD1lP3Q6YCR7dC5zbGljZSgwLGUpfS4uLmB9bGV0IEo7ZnVuY3Rpb24gVyh0PWZ1bmN0aW9uKCl7Y29uc3QgdD1wO3JldHVybiB0LmNyeXB0b3x8dC5tc0NyeXB0b30oKSl7dHJ5e2lmKHQ/LnJhbmRvbVVVSUQpcmV0dXJuIFQoKCk9PnQucmFuZG9tVVVJRCgpKS5yZXBsYWNlKC8tL2csIiIpfWNhdGNoe31yZXR1cm4gSnx8KEo9IjEwMDAwMDAwMTAwMDQwMDA4MDAwMTAwMDAwMDAwMDAwIiksSi5yZXBsYWNlKC9bMDE4XS9nLHQ9Pih0XigxNipSKCkmMTUpPj50LzQpLnRvU3RyaW5nKDE2KSl9ZnVuY3Rpb24gRigpe3JldHVybiBJKCkvMWUzfWxldCBHO2Z1bmN0aW9uIFkoKXtyZXR1cm4oRz8/KEc9ZnVuY3Rpb24oKXtjb25zdHtwZXJmb3JtYW5jZTp0fT1wO2lmKCF0Py5ub3d8fCF0LnRpbWVPcmlnaW4pcmV0dXJuIEY7Y29uc3QgZT10LnRpbWVPcmlnaW47cmV0dXJuKCk9PihlK1QoKCk9PnQubm93KCkpKS8xZTN9KCkpKSgpfWZ1bmN0aW9uIEgodCl7Y29uc3QgZT1ZKCksbj17c2lkOlcoKSxpbml0OiEwLHRpbWVzdGFtcDplLHN0YXJ0ZWQ6ZSxkdXJhdGlvbjowLHN0YXR1czoib2siLGVycm9yczowLGlnbm9yZUR1cmF0aW9uOiExLHRvSlNPTjooKT0+ZnVuY3Rpb24odCl7cmV0dXJue3NpZDpgJHt0LnNpZH1gLGluaXQ6dC5pbml0LHN0YXJ0ZWQ6bmV3IERhdGUoMWUzKnQuc3RhcnRlZCkudG9JU09TdHJpbmcoKSx0aW1lc3RhbXA6bmV3IERhdGUoMWUzKnQudGltZXN0YW1wKS50b0lTT1N0cmluZygpLHN0YXR1czp0LnN0YXR1cyxlcnJvcnM6dC5lcnJvcnMsZGlkOiJudW1iZXIiPT10eXBlb2YgdC5kaWR8fCJzdHJpbmciPT10eXBlb2YgdC5kaWQ/YCR7dC5kaWR9YDp2b2lkIDAsZHVyYXRpb246dC5kdXJhdGlvbixhYm5vcm1hbF9tZWNoYW5pc206dC5hYm5vcm1hbF9tZWNoYW5pc20sYXR0cnM6e3JlbGVhc2U6dC5yZWxlYXNlLGVudmlyb25tZW50OnQuZW52aXJvbm1lbnQsaXBfYWRkcmVzczp0LmlwQWRkcmVzcyx1c2VyX2FnZW50OnQudXNlckFnZW50fX19KG4pfTtyZXR1cm4gdCYmWihuLHQpLG59ZnVuY3Rpb24gWih0LGU9e30pe2lmKGUudXNlciYmKCF0LmlwQWRkcmVzcyYmZS51c2VyLmlwX2FkZHJlc3MmJih0LmlwQWRkcmVzcz1lLnVzZXIuaXBfYWRkcmVzcyksdC5kaWR8fGUuZGlkfHwodC5kaWQ9ZS51c2VyLmlkfHxlLnVzZXIuZW1haWx8fGUudXNlci51c2VybmFtZSkpLHQudGltZXN0YW1wPWUudGltZXN0YW1wfHxZKCksZS5hYm5vcm1hbF9tZWNoYW5pc20mJih0LmFibm9ybWFsX21lY2hhbmlzbT1lLmFibm9ybWFsX21lY2hhbmlzbSksZS5pZ25vcmVEdXJhdGlvbiYmKHQuaWdub3JlRHVyYXRpb249ZS5pZ25vcmVEdXJhdGlvbiksZS5zaWQmJih0LnNpZD0zMj09PWUuc2lkLmxlbmd0aD9lLnNpZDpXKCkpLHZvaWQgMCE9PWUuaW5pdCYmKHQuaW5pdD1lLmluaXQpLCF0LmRpZCYmZS5kaWQmJih0LmRpZD1gJHtlLmRpZH1gKSwibnVtYmVyIj09dHlwZW9mIGUuc3RhcnRlZCYmKHQuc3RhcnRlZD1lLnN0YXJ0ZWQpLHQuaWdub3JlRHVyYXRpb24pdC5kdXJhdGlvbj12b2lkIDA7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUuZHVyYXRpb24pdC5kdXJhdGlvbj1lLmR1cmF0aW9uO2Vsc2V7Y29uc3QgZT10LnRpbWVzdGFtcC10LnN0YXJ0ZWQ7dC5kdXJhdGlvbj1lPj0wP2U6MH1lLnJlbGVhc2UmJih0LnJlbGVhc2U9ZS5yZWxlYXNlKSxlLmVudmlyb25tZW50JiYodC5lbnZpcm9ubWVudD1lLmVudmlyb25tZW50KSwhdC5pcEFkZHJlc3MmJmUuaXBBZGRyZXNzJiYodC5pcEFkZHJlc3M9ZS5pcEFkZHJlc3MpLCF0LnVzZXJBZ2VudCYmZS51c2VyQWdlbnQmJih0LnVzZXJBZ2VudD1lLnVzZXJBZ2VudCksIm51bWJlciI9PXR5cGVvZiBlLmVycm9ycyYmKHQuZXJyb3JzPWUuZXJyb3JzKSxlLnN0YXR1cyYmKHQuc3RhdHVzPWUuc3RhdHVzKX1mdW5jdGlvbiBxKHQsZSxuPTIpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGV8fG48PTApcmV0dXJuIGU7aWYodCYmMD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aClyZXR1cm4gdDtjb25zdCByPXsuLi50fTtmb3IoY29uc3QgdCBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpJiYoclt0XT1xKHJbdF0sZVt0XSxuLTEpKTtyZXR1cm4gcn1jbGFzcyBLe2NvbnN0cnVjdG9yKCl7dGhpcy50PSExLHRoaXMubz1bXSx0aGlzLmk9W10sdGhpcy51PVtdLHRoaXMuaD1bXSx0aGlzLnA9e30sdGhpcy5sPXt9LHRoaXMubT17fSx0aGlzLnY9e30sdGhpcy5TPXt9LHRoaXMuXz17fSxmdW5jdGlvbih0LGUsbil7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSl9Y2F0Y2h7aCYmXy5sb2coYEZhaWxlZCB0byBhZGQgbm9uLWVudW1lcmFibGUgcHJvcGVydHkgIiR7U3RyaW5nKGUpfSIgdG8gb2JqZWN0YCx0KX19KHRoaXMsInJlZnMiLHt9KSx0aGlzLk49e3RyYWNlSWQ6VygpLHNhbXBsZVJhbmQ6UigpfX1jbG9uZSgpe2NvbnN0IHQ9bmV3IEs7cmV0dXJuIHQudT1bLi4udGhpcy51XSx0Lmw9ey4uLnRoaXMubH0sdC5tPXsuLi50aGlzLm19LHQudj17Li4udGhpcy52fSx0LlM9ey4uLnRoaXMuU30sdGhpcy5TLmZsYWdzJiYodC5TLmZsYWdzPXt2YWx1ZXM6Wy4uLnRoaXMuUy5mbGFncy52YWx1ZXNdfSksdC5wPXRoaXMucCx0Lmo9dGhpcy5qLHQuQz10aGlzLkMsdC5PPXRoaXMuTyx0LlA9dGhpcy5QLHQuaT1bLi4udGhpcy5pXSx0Lmg9Wy4uLnRoaXMuaF0sdC5fPXsuLi50aGlzLl99LHQuTj17Li4udGhpcy5OfSx0LkE9dGhpcy5BLHQuaz10aGlzLmssdC5UPXRoaXMuVCx0LnJlZnM9ey4uLnRoaXMucmVmc30sdH1zZXRDbGllbnQodCl7dGhpcy5BPXR9c2V0TGFzdEV2ZW50SWQodCl7dGhpcy5rPXR9Z2V0Q2xpZW50KCl7cmV0dXJuIHRoaXMuQX1sYXN0RXZlbnRJZCgpe3JldHVybiB0aGlzLmt9YWRkU2NvcGVMaXN0ZW5lcih0KXt0aGlzLm8ucHVzaCh0KX1hZGRFdmVudFByb2Nlc3Nvcih0KXtyZXR1cm4gdGhpcy5pLnB1c2godCksdGhpc31zZXRVc2VyKHQpe3JldHVybiB0aGlzLnA9dHx8e2VtYWlsOnZvaWQgMCxpZDp2b2lkIDAsaXBfYWRkcmVzczp2b2lkIDAsdXNlcm5hbWU6dm9pZCAwfSx0aGlzLkMmJloodGhpcy5DLHt1c2VyOnR9KSx0aGlzLlIoKSx0aGlzfWdldFVzZXIoKXtyZXR1cm4gdGhpcy5wfXNldENvbnZlcnNhdGlvbklkKHQpe3JldHVybiB0aGlzLlQ9dHx8dm9pZCAwLHRoaXMuUigpLHRoaXN9c2V0VGFncyh0KXtyZXR1cm4gdGhpcy5sPXsuLi50aGlzLmwsLi4udH0sdGhpcy5SKCksdGhpc31zZXRUYWcodCxlKXtyZXR1cm4gdGhpcy5zZXRUYWdzKHtbdF06ZX0pfXNldEF0dHJpYnV0ZXModCl7cmV0dXJuIHRoaXMubT17Li4udGhpcy5tLC4uLnR9LHRoaXMuUigpLHRoaXN9c2V0QXR0cmlidXRlKHQsZSl7cmV0dXJuIHRoaXMuc2V0QXR0cmlidXRlcyh7W3RdOmV9KX1yZW1vdmVBdHRyaWJ1dGUodCl7cmV0dXJuIHQgaW4gdGhpcy5tJiYoZGVsZXRlIHRoaXMubVt0XSx0aGlzLlIoKSksdGhpc31zZXRFeHRyYXModCl7cmV0dXJuIHRoaXMudj17Li4udGhpcy52LC4uLnR9LHRoaXMuUigpLHRoaXN9c2V0RXh0cmEodCxlKXtyZXR1cm4gdGhpcy52PXsuLi50aGlzLnYsW3RdOmV9LHRoaXMuUigpLHRoaXN9c2V0RmluZ2VycHJpbnQodCl7cmV0dXJuIHRoaXMuUD10LHRoaXMuUigpLHRoaXN9c2V0TGV2ZWwodCl7cmV0dXJuIHRoaXMuaj10LHRoaXMuUigpLHRoaXN9c2V0VHJhbnNhY3Rpb25OYW1lKHQpe3JldHVybiB0aGlzLk89dCx0aGlzLlIoKSx0aGlzfXNldENvbnRleHQodCxlKXtyZXR1cm4gbnVsbD09PWU/ZGVsZXRlIHRoaXMuU1t0XTp0aGlzLlNbdF09ZSx0aGlzLlIoKSx0aGlzfXNldFNlc3Npb24odCl7cmV0dXJuIHQ/dGhpcy5DPXQ6ZGVsZXRlIHRoaXMuQyx0aGlzLlIoKSx0aGlzfWdldFNlc3Npb24oKXtyZXR1cm4gdGhpcy5DfXVwZGF0ZSh0KXtpZighdClyZXR1cm4gdGhpcztjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QodGhpcyk6dCxuPWUgaW5zdGFuY2VvZiBLP2UuZ2V0U2NvcGVEYXRhKCk6aihlKT90OnZvaWQgMCx7dGFnczpyLGF0dHJpYnV0ZXM6byxleHRyYTpzLHVzZXI6aSxjb250ZXh0czpjLGxldmVsOnUsZmluZ2VycHJpbnQ6YT1bXSxwcm9wYWdhdGlvbkNvbnRleHQ6Zixjb252ZXJzYXRpb25JZDpofT1ufHx7fTtyZXR1cm4gdGhpcy5sPXsuLi50aGlzLmwsLi4ucn0sdGhpcy5tPXsuLi50aGlzLm0sLi4ub30sdGhpcy52PXsuLi50aGlzLnYsLi4uc30sdGhpcy5TPXsuLi50aGlzLlMsLi4uY30saSYmT2JqZWN0LmtleXMoaSkubGVuZ3RoJiYodGhpcy5wPWkpLHUmJih0aGlzLmo9dSksYS5sZW5ndGgmJih0aGlzLlA9YSksZiYmKHRoaXMuTj1mKSxoJiYodGhpcy5UPWgpLHRoaXN9YWRkQnJlYWRjcnVtYih0LGUpe2NvbnN0IG49Im51bWJlciI9PXR5cGVvZiBlP2U6MTAwO2lmKG48PTApcmV0dXJuIHRoaXM7Y29uc3Qgcj17dGltZXN0YW1wOkYoKSwuLi50LG1lc3NhZ2U6dC5tZXNzYWdlP3oodC5tZXNzYWdlLDIwNDgpOnQubWVzc2FnZX07cmV0dXJuIHRoaXMudS5wdXNoKHIpLHRoaXMudS5sZW5ndGg+biYmKHRoaXMudT10aGlzLnUuc2xpY2UoLW4pLHRoaXMuQT8ucmVjb3JkRHJvcHBlZEV2ZW50KCJidWZmZXJfb3ZlcmZsb3ciLCJsb2dfaXRlbSIpKSx0aGlzLlIoKSx0aGlzfWdldExhc3RCcmVhZGNydW1iKCl7cmV0dXJuIHRoaXMudVt0aGlzLnUubGVuZ3RoLTFdfWNsZWFyQnJlYWRjcnVtYnMoKXtyZXR1cm4gdGhpcy51PVtdLHRoaXMuUigpLHRoaXN9YWRkQXR0YWNobWVudCh0KXtyZXR1cm4gdGhpcy5oLnB1c2godCksdGhpc31jbGVhckF0dGFjaG1lbnRzKCl7cmV0dXJuIHRoaXMuaD1bXSx0aGlzfWdldFNjb3BlRGF0YSgpe3JldHVybnticmVhZGNydW1iczp0aGlzLnUsYXR0YWNobWVudHM6dGhpcy5oLGNvbnRleHRzOnRoaXMuUyx0YWdzOnRoaXMubCxhdHRyaWJ1dGVzOnRoaXMubSxleHRyYTp0aGlzLnYsdXNlcjp0aGlzLnAsbGV2ZWw6dGhpcy5qLGZpbmdlcnByaW50OnRoaXMuUHx8W10sZXZlbnRQcm9jZXNzb3JzOnRoaXMuaSxwcm9wYWdhdGlvbkNvbnRleHQ6dGhpcy5OLHNka1Byb2Nlc3NpbmdNZXRhZGF0YTp0aGlzLl8sdHJhbnNhY3Rpb25OYW1lOnRoaXMuTyxjb252ZXJzYXRpb25JZDp0aGlzLlR9fXNldFNES1Byb2Nlc3NpbmdNZXRhZGF0YSh0KXtyZXR1cm4gdGhpcy5fPXEodGhpcy5fLHQsMiksdGhpc31zZXRQcm9wYWdhdGlvbkNvbnRleHQodCl7cmV0dXJuIHRoaXMuTj10LHRoaXN9Z2V0UHJvcGFnYXRpb25Db250ZXh0KCl7cmV0dXJuIHRoaXMuTn1jYXB0dXJlRXhjZXB0aW9uKHQsZSl7Y29uc3Qgbj1lPy5ldmVudF9pZHx8VygpO2lmKCF0aGlzLkEpcmV0dXJuIGgmJl8ud2FybigiTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIGV4Y2VwdGlvbiEiKSxuO2NvbnN0IHI9bmV3IEVycm9yKCJTZW50cnkgc3ludGhldGljRXhjZXB0aW9uIik7cmV0dXJuIHRoaXMuQS5jYXB0dXJlRXhjZXB0aW9uKHQse29yaWdpbmFsRXhjZXB0aW9uOnQsc3ludGhldGljRXhjZXB0aW9uOnIsLi4uZSxldmVudF9pZDpufSx0aGlzKSxufWNhcHR1cmVNZXNzYWdlKHQsZSxuKXtjb25zdCByPW4/LmV2ZW50X2lkfHxXKCk7aWYoIXRoaXMuQSlyZXR1cm4gaCYmXy53YXJuKCJObyBjbGllbnQgY29uZmlndXJlZCBvbiBzY29wZSAtIHdpbGwgbm90IGNhcHR1cmUgbWVzc2FnZSEiKSxyO2NvbnN0IG89bj8uc3ludGhldGljRXhjZXB0aW9uPz9uZXcgRXJyb3IodCk7cmV0dXJuIHRoaXMuQS5jYXB0dXJlTWVzc2FnZSh0LGUse29yaWdpbmFsRXhjZXB0aW9uOnQsc3ludGhldGljRXhjZXB0aW9uOm8sLi4ubixldmVudF9pZDpyfSx0aGlzKSxyfWNhcHR1cmVFdmVudCh0LGUpe2NvbnN0IG49dC5ldmVudF9pZHx8ZT8uZXZlbnRfaWR8fFcoKTtyZXR1cm4gdGhpcy5BPyh0aGlzLkEuY2FwdHVyZUV2ZW50KHQsey4uLmUsZXZlbnRfaWQ6bn0sdGhpcyksbik6KGgmJl8ud2FybigiTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIGV2ZW50ISIpLG4pfVIoKXt0aGlzLnR8fCh0aGlzLnQ9ITAsdGhpcy5vLmZvckVhY2godD0+e3QodGhpcyl9KSx0aGlzLnQ9ITEpfX1jb25zdCBWPSJfX1NFTlRSWV9TVVBQUkVTU19UUkFDSU5HX18iLFE9dD0+dCBpbnN0YW5jZW9mIFByb21pc2UmJiF0W1hdLFg9U3ltYm9sKCJjaGFpbmVkIFByb21pc2VMaWtlIiksdHQ9KHQsZSk9PntpZighZSlyZXR1cm4gdDtsZXQgbj0hMTtmb3IoY29uc3QgciBpbiB0KXtpZihyIGluIGUpY29udGludWU7bj0hMDtjb25zdCBvPXRbcl07ImZ1bmN0aW9uIj09dHlwZW9mIG8/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7dmFsdWU6KC4uLmUpPT5vLmFwcGx5KHQsZSksZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3JdPW99cmV0dXJuIG4mJk9iamVjdC5hc3NpZ24oZSx7W1hdOiEwfSksZX07Y2xhc3MgZXR7Y29uc3RydWN0b3IodCxlKXtsZXQgbixyO249dHx8bmV3IEsscj1lfHxuZXcgSyx0aGlzLkk9W3tzY29wZTpufV0sdGhpcy5EPXJ9d2l0aFNjb3BlKHQpe2NvbnN0IGU9dGhpcy5VKCk7bGV0IG47dHJ5e249dChlKX1jYXRjaCh0KXt0aHJvdyB0aGlzLkIoKSx0fXJldHVybiBDKG4pPygodCxlLG4pPT57Y29uc3Qgcj10LnRoZW4odD0+KGUodCksdCksdD0+e3Rocm93IG4odCksdH0pO3JldHVybiBRKHIpJiZRKHQpP3I6dHQodCxyKX0pKG4sKCk9PnRoaXMuQigpLCgpPT50aGlzLkIoKSk6KHRoaXMuQigpLG4pfWdldENsaWVudCgpe3JldHVybiB0aGlzLmdldFN0YWNrVG9wKCkuY2xpZW50fWdldFNjb3BlKCl7cmV0dXJuIHRoaXMuZ2V0U3RhY2tUb3AoKS5zY29wZX1nZXRJc29sYXRpb25TY29wZSgpe3JldHVybiB0aGlzLkR9Z2V0U3RhY2tUb3AoKXtyZXR1cm4gdGhpcy5JW3RoaXMuSS5sZW5ndGgtMV19VSgpe2NvbnN0IHQ9dGhpcy5nZXRTY29wZSgpLmNsb25lKCk7cmV0dXJuIHRoaXMuSS5wdXNoKHtjbGllbnQ6dGhpcy5nZXRDbGllbnQoKSxzY29wZTp0fSksdH1CKCl7cmV0dXJuISh0aGlzLkkubGVuZ3RoPD0xKSYmISF0aGlzLkkucG9wKCl9fWZ1bmN0aW9uIG50KCl7Y29uc3QgdD1nKGQoKSk7cmV0dXJuIHQuc3RhY2s9dC5zdGFja3x8bmV3IGV0KG0oImRlZmF1bHRDdXJyZW50U2NvcGUiLCgpPT5uZXcgSyksbSgiZGVmYXVsdElzb2xhdGlvblNjb3BlIiwoKT0+bmV3IEspKX1mdW5jdGlvbiBydCh0KXtyZXR1cm4gbnQoKS53aXRoU2NvcGUodCl9ZnVuY3Rpb24gb3QodCxlKXtjb25zdCBuPW50KCk7cmV0dXJuIG4ud2l0aFNjb3BlKCgpPT4obi5nZXRTdGFja1RvcCgpLnNjb3BlPXQsZSh0KSkpfWZ1bmN0aW9uIHN0KHQpe3JldHVybiBudCgpLndpdGhTY29wZSgoKT0+dChudCgpLmdldElzb2xhdGlvblNjb3BlKCkpKX1mdW5jdGlvbiBpdCh0KXtyZXR1cm4gcnQoZT0+e2Uuc2V0U0RLUHJvY2Vzc2luZ01ldGFkYXRhKHtbVl06ITB9KTtjb25zdCBuPXQoKTtyZXR1cm4gZS5zZXRTREtQcm9jZXNzaW5nTWV0YWRhdGEoe1tWXTp2b2lkIDB9KSxufSl9ZnVuY3Rpb24gY3QodCl7Y29uc3QgZT1nKHQpO3JldHVybiBlLmFjcz9lLmFjczp7c3VwcHJlc3NUcmFjaW5nOml0LHdpdGhJc29sYXRpb25TY29wZTpzdCx3aXRoU2NvcGU6cnQsd2l0aFNldFNjb3BlOm90LHdpdGhTZXRJc29sYXRpb25TY29wZToodCxlKT0+c3QoZSksZ2V0Q3VycmVudFNjb3BlOigpPT5udCgpLmdldFNjb3BlKCksZ2V0SXNvbGF0aW9uU2NvcGU6KCk9Pm50KCkuZ2V0SXNvbGF0aW9uU2NvcGUoKX19ZnVuY3Rpb24gdXQodCxlPSExKXtjb25zdHtob3N0Om4scGF0aDpyLHBhc3M6byxwb3J0OnMscHJvamVjdElkOmkscHJvdG9jb2w6YyxwdWJsaWNLZXk6dX09dDtyZXR1cm5gJHtjfTovLyR7dX0ke2UmJm8/YDoke299YDoiIn1AJHtufSR7cz9gOiR7c31gOiIifS8ke3I/YCR7cn0vYDpyfSR7aX1gfWZ1bmN0aW9uIGF0KHQsZSl7Y29uc3R7ZmluZ2VycHJpbnQ6bixicmVhZGNydW1iczpyLHNka1Byb2Nlc3NpbmdNZXRhZGF0YTpvfT1lOyFmdW5jdGlvbih0LGUpe2NvbnN0e2V4dHJhOm4sdGFnczpyLHVzZXI6byxjb250ZXh0czpzLGxldmVsOmksdHJhbnNhY3Rpb25OYW1lOmN9PWU7T2JqZWN0LmtleXMobikubGVuZ3RoJiYodC5leHRyYT17Li4ubiwuLi50LmV4dHJhfSk7T2JqZWN0LmtleXMocikubGVuZ3RoJiYodC50YWdzPXsuLi5yLC4uLnQudGFnc30pO09iamVjdC5rZXlzKG8pLmxlbmd0aCYmKHQudXNlcj17Li4ubywuLi50LnVzZXJ9KTtPYmplY3Qua2V5cyhzKS5sZW5ndGgmJih0LmNvbnRleHRzPXsuLi5zLC4uLnQuY29udGV4dHN9KTtpJiYodC5sZXZlbD1pKTtjJiYidHJhbnNhY3Rpb24iIT09dC50eXBlJiYodC50cmFuc2FjdGlvbj1jKX0odCxlKSxmdW5jdGlvbih0LGUpe3QuZmluZ2VycHJpbnQ9dC5maW5nZXJwcmludD9BcnJheS5pc0FycmF5KHQuZmluZ2VycHJpbnQpP3QuZmluZ2VycHJpbnQ6W3QuZmluZ2VycHJpbnRdOltdLGUmJih0LmZpbmdlcnByaW50PXQuZmluZ2VycHJpbnQuY29uY2F0KGUpKTt0LmZpbmdlcnByaW50Lmxlbmd0aHx8ZGVsZXRlIHQuZmluZ2VycHJpbnR9KHQsbiksZnVuY3Rpb24odCxlKXtjb25zdCBuPVsuLi50LmJyZWFkY3J1bWJzfHxbXSwuLi5lXTt0LmJyZWFkY3J1bWJzPW4ubGVuZ3RoP246dm9pZCAwfSh0LHIpLGZ1bmN0aW9uKHQsZSl7dC5zZGtQcm9jZXNzaW5nTWV0YWRhdGE9ey4uLnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhLC4uLmV9fSh0LG8pfWZ1bmN0aW9uIGZ0KHQsZT1bXSl7cmV0dXJuW3QsZV19ZnVuY3Rpb24gaHQodCxlKXtjb25zdCBuPXRbMV07Zm9yKGNvbnN0IHQgb2Ygbil7aWYoZSh0LHRbMF0udHlwZSkpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gcHQodCl7Y29uc3QgZT1nKHApO3JldHVybiBlLmVuY29kZVBvbHlmaWxsP2UuZW5jb2RlUG9seWZpbGwodCk6KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKHQpfWZ1bmN0aW9uIGx0KHQpe2NvbnN0W2Usbl09dDtsZXQgcj1KU09OLnN0cmluZ2lmeShlKTtmdW5jdGlvbiBvKHQpeyJzdHJpbmciPT10eXBlb2Ygcj9yPSJzdHJpbmciPT10eXBlb2YgdD9yK3Q6W3B0KHIpLHRdOnIucHVzaCgic3RyaW5nIj09dHlwZW9mIHQ/cHQodCk6dCl9Zm9yKGNvbnN0IHQgb2Ygbil7Y29uc3RbZSxuXT10O2lmKG8oYFxuJHtKU09OLnN0cmluZ2lmeShlKX1cbmApLCJzdHJpbmciPT10eXBlb2Ygbnx8biBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbyhuKTtlbHNle2xldCB0O3RyeXt0PUpTT04uc3RyaW5naWZ5KG4pfWNhdGNoe3Q9SlNPTi5zdHJpbmdpZnkoQihuKSl9byh0KX19cmV0dXJuInN0cmluZyI9PXR5cGVvZiByP3I6ZnVuY3Rpb24odCl7Y29uc3QgZT10LnJlZHVjZSgodCxlKT0+dCtlLmxlbmd0aCwwKSxuPW5ldyBVaW50OEFycmF5KGUpO2xldCByPTA7Zm9yKGNvbnN0IGUgb2YgdCluLnNldChlLHIpLHIrPWUubGVuZ3RoO3JldHVybiBufShyKX1jb25zdCBkdD17c2Vzc2lvbnM6InNlc3Npb24iLGV2ZW50OiJlcnJvciIsY2xpZW50X3JlcG9ydDoiaW50ZXJuYWwiLHVzZXJfcmVwb3J0OiJkZWZhdWx0Iixwcm9maWxlX2NodW5rOiJwcm9maWxlIixyZXBsYXlfZXZlbnQ6InJlcGxheSIscmVwbGF5X3JlY29yZGluZzoicmVwbGF5IixjaGVja19pbjoibW9uaXRvciIscmF3X3NlY3VyaXR5OiJzZWN1cml0eSIsbG9nOiJsb2dfaXRlbSIsdHJhY2VfbWV0cmljOiJtZXRyaWMifTtmdW5jdGlvbiBndCh0KXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQgaW4gZHR9KHQpP2R0W3RdOnR9ZnVuY3Rpb24gbXQodCl7aWYoIXQ/LnNkaylyZXR1cm47Y29uc3R7bmFtZTplLHZlcnNpb246bn09dC5zZGs7cmV0dXJue25hbWU6ZSx2ZXJzaW9uOm59fWZ1bmN0aW9uIHl0KHQpe2NvbnN0IGU9Y3QoZCgpKTtyZXR1cm4gZS5zdXBwcmVzc1RyYWNpbmc/ZS5zdXBwcmVzc1RyYWNpbmcodCk6ZnVuY3Rpb24oLi4udCl7Y29uc3QgZT1jdChkKCkpO2lmKDI9PT10Lmxlbmd0aCl7Y29uc3RbbixyXT10O3JldHVybiBuP2Uud2l0aFNldFNjb3BlKG4scik6ZS53aXRoU2NvcGUocil9cmV0dXJuIGUud2l0aFNjb3BlKHRbMF0pfShlPT4oZS5zZXRTREtQcm9jZXNzaW5nTWV0YWRhdGEoe1tWXTohMH0pLHQoKSkpfWZ1bmN0aW9uIGJ0KHQsZSxuLHIpe2NvbnN0IG89bXQobikscz10LnR5cGUmJiJyZXBsYXlfZXZlbnQiIT09dC50eXBlP3QudHlwZToiZXZlbnQiOyFmdW5jdGlvbih0LGUpe2lmKCFlKXJldHVybiB0O2NvbnN0IG49dC5zZGt8fHt9O3Quc2RrPXsuLi5uLG5hbWU6bi5uYW1lfHxlLm5hbWUsdmVyc2lvbjpuLnZlcnNpb258fGUudmVyc2lvbixpbnRlZ3JhdGlvbnM6Wy4uLnQuc2RrPy5pbnRlZ3JhdGlvbnN8fFtdLC4uLmUuaW50ZWdyYXRpb25zfHxbXV0scGFja2FnZXM6Wy4uLnQuc2RrPy5wYWNrYWdlc3x8W10sLi4uZS5wYWNrYWdlc3x8W11dLHNldHRpbmdzOnQuc2RrPy5zZXR0aW5nc3x8ZS5zZXR0aW5ncz97Li4udC5zZGs/LnNldHRpbmdzLC4uLmUuc2V0dGluZ3N9OnZvaWQgMH19KHQsbj8uc2RrKTtjb25zdCBpPWZ1bmN0aW9uKHQsZSxuLHIpe2NvbnN0IG89dC5zZGtQcm9jZXNzaW5nTWV0YWRhdGE/LmR5bmFtaWNTYW1wbGluZ0NvbnRleHQ7cmV0dXJue2V2ZW50X2lkOnQuZXZlbnRfaWQsc2VudF9hdDpuZXcgRGF0ZShJKCkpLnRvSVNPU3RyaW5nKCksLi4uZSYme3NkazplfSwuLi4hIW4mJnImJntkc246dXQocil9LC4uLm8mJnt0cmFjZTpvfX19KHQsbyxyLGUpO2RlbGV0ZSB0LnNka1Byb2Nlc3NpbmdNZXRhZGF0YTtyZXR1cm4gZnQoaSxbW3t0eXBlOnN9LHRdXSl9Y2xhc3MgdnR7Y29uc3RydWN0b3IodCl7dGhpcy5MPTAsdGhpcy5NPVtdLHRoaXMuSih0KX10aGVuKHQsZSl7cmV0dXJuIG5ldyB2dCgobixyKT0+e3RoaXMuTS5wdXNoKFshMSxlPT57aWYodCl0cnl7bih0KGUpKX1jYXRjaCh0KXtyKHQpfWVsc2UgbihlKX0sdD0+e2lmKGUpdHJ5e24oZSh0KSl9Y2F0Y2godCl7cih0KX1lbHNlIHIodCl9XSksdGhpcy5XKCl9KX1jYXRjaCh0KXtyZXR1cm4gdGhpcy50aGVuKHQ9PnQsdCl9ZmluYWxseSh0KXtyZXR1cm4gbmV3IHZ0KChlLG4pPT57bGV0IHIsbztyZXR1cm4gdGhpcy50aGVuKGU9PntvPSExLHI9ZSx0JiZ0KCl9LGU9PntvPSEwLHI9ZSx0JiZ0KCl9KS50aGVuKCgpPT57bz9uKHIpOmUocil9KX0pfVcoKXtpZigwPT09dGhpcy5MKXJldHVybjtjb25zdCB0PXRoaXMuTS5zbGljZSgpO3RoaXMuTT1bXSx0LmZvckVhY2godD0+e3RbMF18fCgxPT09dGhpcy5MJiZ0WzFdKHRoaXMuRiksMj09PXRoaXMuTCYmdFsyXSh0aGlzLkYpLHRbMF09ITApfSl9Sih0KXtjb25zdCBlPSh0LGUpPT57MD09PXRoaXMuTCYmKEMoZSk/ZS50aGVuKG4scik6KHRoaXMuTD10LHRoaXMuRj1lLHRoaXMuVygpKSl9LG49dD0+e2UoMSx0KX0scj10PT57ZSgyLHQpfTt0cnl7dChuLHIpfWNhdGNoKHQpe3IodCl9fX1jb25zdCB3dD1TeW1ib2wuZm9yKCJTZW50cnlCdWZmZXJGdWxsRXJyb3IiKTtmdW5jdGlvbiBTdCh0PTEwMCl7Y29uc3QgZT1uZXcgU2V0O2Z1bmN0aW9uIG4odCl7ZS5kZWxldGUodCl9cmV0dXJue2dldCAkKCl7cmV0dXJuIEFycmF5LmZyb20oZSl9LGFkZDpmdW5jdGlvbihyKXtpZighKGUuc2l6ZTx0KSlyZXR1cm4gbz13dCxuZXcgdnQoKHQsZSk9PntlKG8pfSk7dmFyIG87Y29uc3Qgcz1yKCk7cmV0dXJuIGUuYWRkKHMpLHMudGhlbigoKT0+bihzKSwoKT0+bihzKSksc30sZHJhaW46ZnVuY3Rpb24odCl7aWYoIWUuc2l6ZSlyZXR1cm4gbj0hMCxuZXcgdnQodD0+e3Qobil9KTt2YXIgbjtjb25zdCByPVByb21pc2UuYWxsU2V0dGxlZChBcnJheS5mcm9tKGUpKS50aGVuKCgpPT4hMCk7aWYoIXQpcmV0dXJuIHI7Y29uc3Qgbz1bcixuZXcgUHJvbWlzZShlPT57cmV0dXJuIm9iamVjdCI9PXR5cGVvZihuPXNldFRpbWVvdXQoKCk9PmUoITEpLHQpKSYmImZ1bmN0aW9uIj09dHlwZW9mIG4udW5yZWYmJm4udW5yZWYoKSxuO3ZhciBufSldO3JldHVybiBQcm9taXNlLnJhY2Uobyl9fX1mdW5jdGlvbiBfdCh0LHtzdGF0dXNDb2RlOmUsaGVhZGVyczpufSxyPUkoKSl7Y29uc3Qgbz17Li4udH0scz1uPy5bIngtc2VudHJ5LXJhdGUtbGltaXRzIl0saT1uPy5bInJldHJ5LWFmdGVyIl07aWYocylmb3IoY29uc3QgdCBvZiBzLnRyaW0oKS5zcGxpdCgiLCIpKXtjb25zdFtlLG4sLCxzXT10LnNwbGl0KCI6Iiw1KSxpPXBhcnNlSW50KGUsMTApLGM9MWUzKihpc05hTihpKT82MDppKTtpZihuKWZvcihjb25zdCB0IG9mIG4uc3BsaXQoIjsiKSkibWV0cmljX2J1Y2tldCI9PT10JiZzJiYhcy5zcGxpdCgiOyIpLmluY2x1ZGVzKCJjdXN0b20iKXx8KG9bdF09citjKTtlbHNlIG8uYWxsPXIrY31lbHNlIGk/by5hbGw9citmdW5jdGlvbih0LGU9SSgpKXtjb25zdCBuPXBhcnNlSW50KGAke3R9YCwxMCk7aWYoIWlzTmFOKG4pKXJldHVybiAxZTMqbjtjb25zdCByPURhdGUucGFyc2UoYCR7dH1gKTtyZXR1cm4gaXNOYU4ocik/NmU0OnItZX0oaSxyKTo0Mjk9PT1lJiYoby5hbGw9cis2ZTQpO3JldHVybiBvfWZ1bmN0aW9uICR0KHQsZSxuPVN0KHQuYnVmZmVyU2l6ZXx8NjQpKXtsZXQgcj17fTtyZXR1cm57c2VuZDpmdW5jdGlvbih0KXtjb25zdCBvPVtdO2lmKGh0KHQsKHQsZSk9Pntjb25zdCBuPWd0KGUpOyhmdW5jdGlvbih0LGUsbj1JKCkpe3JldHVybiBmdW5jdGlvbih0LGUpe3JldHVybiB0W2VdfHx0LmFsbHx8MH0odCxlKT5ufSkocixuKXx8by5wdXNoKHQpfSksMD09PW8ubGVuZ3RoKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO2NvbnN0IHM9ZnQodFswXSxvKSxpPXQ9PnshZnVuY3Rpb24odCxlKXtyZXR1cm4gaHQodCwodCxuKT0+ZS5pbmNsdWRlcyhuKSl9KHMsWyJjbGllbnRfcmVwb3J0Il0pP2h0KHMsKHQsZSk9Pnt9KTpoJiZfLndhcm4oYERyb3BwaW5nIGNsaWVudCByZXBvcnQuIFdpbGwgbm90IHNlbmQgb3V0Y29tZXMgKHJlYXNvbjogJHt0fSkuYCl9O3JldHVybiBuLmFkZCgoKT0+ZSh7Ym9keTpsdChzKX0pLnRoZW4odD0+NDEzPT09dC5zdGF0dXNDb2RlPyhoJiZfLmVycm9yKCJTZW50cnkgcmVzcG9uZGVkIHdpdGggc3RhdHVzIGNvZGUgNDEzLiBFbnZlbG9wZSB3YXMgZGlzY2FyZGVkIGR1ZSB0byBleGNlZWRpbmcgc2l6ZSBsaW1pdHMuIiksaSgic2VuZF9lcnJvciIpLHQpOihoJiZ2b2lkIDAhPT10LnN0YXR1c0NvZGUmJih0LnN0YXR1c0NvZGU8MjAwfHx0LnN0YXR1c0NvZGU+PTMwMCkmJl8ud2FybihgU2VudHJ5IHJlc3BvbmRlZCB3aXRoIHN0YXR1cyBjb2RlICR7dC5zdGF0dXNDb2RlfSB0byBzZW50IGV2ZW50LmApLHI9X3Qocix0KSx0KSx0PT57dGhyb3cgaSgibmV0d29ya19lcnJvciIpLGgmJl8uZXJyb3IoIkVuY291bnRlcmVkIGVycm9yIHJ1bm5pbmcgdHJhbnNwb3J0IHJlcXVlc3Q6Iix0KSx0fSkpLnRoZW4odD0+dCx0PT57aWYodD09PXd0KXJldHVybiBoJiZfLmVycm9yKCJTa2lwcGVkIHNlbmRpbmcgZXZlbnQgYmVjYXVzZSBidWZmZXIgaXMgZnVsbC4iKSxpKCJxdWV1ZV9vdmVyZmxvdyIpLFByb21pc2UucmVzb2x2ZSh7fSk7dGhyb3cgdH0pfSxmbHVzaDp0PT5uLmRyYWluKHQpfX1jb25zdCBFdD0vXihcUys6XFx8XC8/KShbXHNcU10qPykoKD86XC57MSwyfXxbXi9cXF0rP3wpKFwuW14uL1xcXSp8KSkoPzpbL1xcXSopJC87ZnVuY3Rpb24geHQodCl7Y29uc3QgZT1mdW5jdGlvbih0KXtjb25zdCBlPXQubGVuZ3RoPjEwMjQ/YDx0cnVuY2F0ZWQ+JHt0LnNsaWNlKC0xMDI0KX1gOnQsbj1FdC5leGVjKGUpO3JldHVybiBuP24uc2xpY2UoMSk6W119KHQpLG49ZVswXXx8IiI7bGV0IHI9ZVsxXTtyZXR1cm4gbnx8cj8ociYmKHI9ci5zbGljZSgwLHIubGVuZ3RoLTEpKSxuK3IpOiIuIn1mdW5jdGlvbiBOdCh0LGU9ITEpe3JldHVybiEoZXx8dCYmIXQuc3RhcnRzV2l0aCgiLyIpJiYhdC5tYXRjaCgvXltBLVpdOi8pJiYhdC5zdGFydHNXaXRoKCIuIikmJiF0Lm1hdGNoKC9eW2EtekEtWl0oW2EtekEtWjAtOS5cLStdKSo6XC9cLy8pKSYmdm9pZCAwIT09dCYmIXQuaW5jbHVkZXMoIm5vZGVfbW9kdWxlcy8iKX12YXIganQ7Y29uc3QgQ3Q9U3ltYm9sKCJBZ2VudEJhc2VJbnRlcm5hbFN0YXRlIik7Y2xhc3MgT3QgZXh0ZW5kcyhqdD1zLkFnZW50LGp0KXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzW0N0XT17fX1pc1NlY3VyZUVuZHBvaW50KHQpe2lmKHQpe2lmKCJib29sZWFuIj09dHlwZW9mIHQuc2VjdXJlRW5kcG9pbnQpcmV0dXJuIHQuc2VjdXJlRW5kcG9pbnQ7aWYoInN0cmluZyI9PXR5cGVvZiB0LnByb3RvY29sKXJldHVybiJodHRwczoiPT09dC5wcm90b2NvbH1jb25zdHtzdGFjazplfT1uZXcgRXJyb3I7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiZlLnNwbGl0KCJcbiIpLnNvbWUodD0+LTEhPT10LmluZGV4T2YoIihodHRwcy5qczoiKXx8LTEhPT10LmluZGV4T2YoIm5vZGU6aHR0cHM6IikpfWNyZWF0ZVNvY2tldCh0LGUsbil7Y29uc3Qgcj17Li4uZSxzZWN1cmVFbmRwb2ludDp0aGlzLmlzU2VjdXJlRW5kcG9pbnQoZSl9O1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29ubmVjdCh0LHIpKS50aGVuKG89PntpZihvIGluc3RhbmNlb2Ygcy5BZ2VudClyZXR1cm4gby5hZGRSZXF1ZXN0KHQscik7dGhpc1tDdF0uY3VycmVudFNvY2tldD1vLHN1cGVyLmNyZWF0ZVNvY2tldCh0LGUsbil9LG4pfWNyZWF0ZUNvbm5lY3Rpb24oKXtjb25zdCB0PXRoaXNbQ3RdLmN1cnJlbnRTb2NrZXQ7aWYodGhpc1tDdF0uY3VycmVudFNvY2tldD12b2lkIDAsIXQpdGhyb3cgbmV3IEVycm9yKCJObyBzb2NrZXQgd2FzIHJldHVybmVkIGluIHRoZSBgY29ubmVjdCgpYCBmdW5jdGlvbiIpO3JldHVybiB0fWdldCBkZWZhdWx0UG9ydCgpe3JldHVybiB0aGlzW0N0XS5kZWZhdWx0UG9ydD8/KCJodHRwczoiPT09dGhpcy5wcm90b2NvbD80NDM6ODApfXNldCBkZWZhdWx0UG9ydCh0KXt0aGlzW0N0XSYmKHRoaXNbQ3RdLmRlZmF1bHRQb3J0PXQpfWdldCBwcm90b2NvbCgpe3JldHVybiB0aGlzW0N0XS5wcm90b2NvbD8/KHRoaXMuaXNTZWN1cmVFbmRwb2ludCgpPyJodHRwczoiOiJodHRwOiIpfXNldCBwcm90b2NvbCh0KXt0aGlzW0N0XSYmKHRoaXNbQ3RdLnByb3RvY29sPXQpfX1mdW5jdGlvbiBQdCguLi50KXtfLmxvZygiW2h0dHBzLXByb3h5LWFnZW50OnBhcnNlLXByb3h5LXJlc3BvbnNlXSIsLi4udCl9ZnVuY3Rpb24gQXQodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57bGV0IHI9MDtjb25zdCBvPVtdO2Z1bmN0aW9uIHMoKXtjb25zdCBjPXQucmVhZCgpO2M/ZnVuY3Rpb24oYyl7by5wdXNoKGMpLHIrPWMubGVuZ3RoO2NvbnN0IHU9QnVmZmVyLmNvbmNhdChvLHIpLGE9dS5pbmRleE9mKCJcclxuXHJcbiIpO2lmKC0xPT09YSlyZXR1cm4gUHQoImhhdmUgbm90IHJlY2VpdmVkIGVuZCBvZiBIVFRQIGhlYWRlcnMgeWV0Li4uIiksdm9pZCBzKCk7Y29uc3QgZj11LnN1YmFycmF5KDAsYSkudG9TdHJpbmcoImFzY2lpIikuc3BsaXQoIlxyXG4iKSxoPWYuc2hpZnQoKTtpZighaClyZXR1cm4gdC5kZXN0cm95KCksbihuZXcgRXJyb3IoIk5vIGhlYWRlciByZWNlaXZlZCBmcm9tIHByb3h5IENPTk5FQ1QgcmVzcG9uc2UiKSk7Y29uc3QgcD1oLnNwbGl0KCIgIiksbD0rKHBbMV18fDApLGQ9cC5zbGljZSgyKS5qb2luKCIgIiksZz17fTtmb3IoY29uc3QgZSBvZiBmKXtpZighZSljb250aW51ZTtjb25zdCByPWUuaW5kZXhPZigiOiIpO2lmKC0xPT09cilyZXR1cm4gdC5kZXN0cm95KCksbihuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyIGZyb20gcHJveHkgQ09OTkVDVCByZXNwb25zZTogIiR7ZX0iYCkpO2NvbnN0IG89ZS5zbGljZSgwLHIpLnRvTG93ZXJDYXNlKCkscz1lLnNsaWNlKHIrMSkudHJpbVN0YXJ0KCksaT1nW29dOyJzdHJpbmciPT10eXBlb2YgaT9nW29dPVtpLHNdOkFycmF5LmlzQXJyYXkoaSk/aS5wdXNoKHMpOmdbb109c31QdCgiZ290IHByb3h5IHNlcnZlciByZXNwb25zZTogJW8gJW8iLGgsZyksaSgpLGUoe2Nvbm5lY3Q6e3N0YXR1c0NvZGU6bCxzdGF0dXNUZXh0OmQsaGVhZGVyczpnfSxidWZmZXJlZDp1fSl9KGMpOnQub25jZSgicmVhZGFibGUiLHMpfWZ1bmN0aW9uIGkoKXt0LnJlbW92ZUxpc3RlbmVyKCJlbmQiLGMpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIix1KSx0LnJlbW92ZUxpc3RlbmVyKCJyZWFkYWJsZSIscyl9ZnVuY3Rpb24gYygpe2koKSxQdCgib25lbmQiKSxuKG5ldyBFcnJvcigiUHJveHkgY29ubmVjdGlvbiBlbmRlZCBiZWZvcmUgcmVjZWl2aW5nIENPTk5FQ1QgcmVzcG9uc2UiKSl9ZnVuY3Rpb24gdSh0KXtpKCksUHQoIm9uZXJyb3IgJW8iLHQpLG4odCl9dC5vbigiZXJyb3IiLHUpLHQub24oImVuZCIsYykscygpfSl9ZnVuY3Rpb24ga3QoLi4udCl7Xy5sb2coIltodHRwcy1wcm94eS1hZ2VudF0iLC4uLnQpfWNsYXNzIFR0IGV4dGVuZHMgT3R7Y29uc3RydWN0b3IodCxlKXtzdXBlcihlKSx0aGlzLm9wdGlvbnM9e30sdGhpcy5wcm94eT0ic3RyaW5nIj09dHlwZW9mIHQ/bmV3IFVSTCh0KTp0LHRoaXMucHJveHlIZWFkZXJzPWU/LmhlYWRlcnM/P3t9LGt0KCJDcmVhdGluZyBuZXcgSHR0cHNQcm94eUFnZW50IGluc3RhbmNlOiAlbyIsdGhpcy5wcm94eS5ocmVmKTtjb25zdCBuPSh0aGlzLnByb3h5Lmhvc3RuYW1lfHx0aGlzLnByb3h5Lmhvc3QpLnJlcGxhY2UoL15cW3xcXSQvZywiIikscj10aGlzLnByb3h5LnBvcnQ/cGFyc2VJbnQodGhpcy5wcm94eS5wb3J0LDEwKToiaHR0cHM6Ij09PXRoaXMucHJveHkucHJvdG9jb2w/NDQzOjgwO3RoaXMuY29ubmVjdE9wdHM9e0FMUE5Qcm90b2NvbHM6WyJodHRwLzEuMSJdLC4uLmU/SXQoZSwiaGVhZGVycyIpOm51bGwsaG9zdDpuLHBvcnQ6cn19YXN5bmMgY29ubmVjdCh0LGUpe2NvbnN0e3Byb3h5Om59PXRoaXM7aWYoIWUuaG9zdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyAiaG9zdCIgcHJvdmlkZWQnKTtsZXQgcjtpZigiaHR0cHM6Ij09PW4ucHJvdG9jb2wpe2t0KCJDcmVhdGluZyBgdGxzLlNvY2tldGA6ICVvIix0aGlzLmNvbm5lY3RPcHRzKTtjb25zdCB0PXRoaXMuY29ubmVjdE9wdHMuc2VydmVybmFtZXx8dGhpcy5jb25uZWN0T3B0cy5ob3N0O3I9Zi5jb25uZWN0KHsuLi50aGlzLmNvbm5lY3RPcHRzLHNlcnZlcm5hbWU6dCYmYS5pc0lQKHQpP3ZvaWQgMDp0fSl9ZWxzZSBrdCgiQ3JlYXRpbmcgYG5ldC5Tb2NrZXRgOiAlbyIsdGhpcy5jb25uZWN0T3B0cykscj1hLmNvbm5lY3QodGhpcy5jb25uZWN0T3B0cyk7Y29uc3Qgbz0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm94eUhlYWRlcnM/dGhpcy5wcm94eUhlYWRlcnMoKTp7Li4udGhpcy5wcm94eUhlYWRlcnN9LHM9YS5pc0lQdjYoZS5ob3N0KT9gWyR7ZS5ob3N0fV1gOmUuaG9zdDtsZXQgaT1gQ09OTkVDVCAke3N9OiR7ZS5wb3J0fSBIVFRQLzEuMVxyXG5gO2lmKG4udXNlcm5hbWV8fG4ucGFzc3dvcmQpe2NvbnN0IHQ9YCR7ZGVjb2RlVVJJQ29tcG9uZW50KG4udXNlcm5hbWUpfToke2RlY29kZVVSSUNvbXBvbmVudChuLnBhc3N3b3JkKX1gO29bIlByb3h5LUF1dGhvcml6YXRpb24iXT1gQmFzaWMgJHtCdWZmZXIuZnJvbSh0KS50b1N0cmluZygiYmFzZTY0Iil9YH1vLkhvc3Q9YCR7c306JHtlLnBvcnR9YCxvWyJQcm94eS1Db25uZWN0aW9uIl18fChvWyJQcm94eS1Db25uZWN0aW9uIl09dGhpcy5rZWVwQWxpdmU/IktlZXAtQWxpdmUiOiJjbG9zZSIpO2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG8pKWkrPWAke3R9OiAke29bdF19XHJcbmA7Y29uc3QgYz1BdChyKTtyLndyaXRlKGAke2l9XHJcbmApO2NvbnN0e2Nvbm5lY3Q6dSxidWZmZXJlZDpofT1hd2FpdCBjO2lmKHQuZW1pdCgicHJveHlDb25uZWN0Iix1KSx0aGlzLmVtaXQoInByb3h5Q29ubmVjdCIsdSx0KSwyMDA9PT11LnN0YXR1c0NvZGUpe2lmKHQub25jZSgic29ja2V0IixSdCksZS5zZWN1cmVFbmRwb2ludCl7a3QoIlVwZ3JhZGluZyBzb2NrZXQgY29ubmVjdGlvbiB0byBUTFMiKTtjb25zdCB0PWUuc2VydmVybmFtZXx8ZS5ob3N0O3JldHVybiBmLmNvbm5lY3Qoey4uLkl0KGUsImhvc3QiLCJwYXRoIiwicG9ydCIpLHNvY2tldDpyLHNlcnZlcm5hbWU6YS5pc0lQKHQpP3ZvaWQgMDp0fSl9cmV0dXJuIHJ9ci5kZXN0cm95KCk7Y29uc3QgcD1uZXcgYS5Tb2NrZXQoe3dyaXRhYmxlOiExfSk7cmV0dXJuIHAucmVhZGFibGU9ITAsdC5vbmNlKCJzb2NrZXQiLHQ9PntrdCgiUmVwbGF5aW5nIHByb3h5IGJ1ZmZlciBmb3IgZmFpbGVkIHJlcXVlc3QiKSx0LnB1c2goaCksdC5wdXNoKG51bGwpfSkscH19ZnVuY3Rpb24gUnQodCl7dC5yZXN1bWUoKX1mdW5jdGlvbiBJdCh0LC4uLmUpe2NvbnN0IG49e307bGV0IHI7Zm9yKHIgaW4gdCllLmluY2x1ZGVzKHIpfHwobltyXT10W3JdKTtyZXR1cm4gbn1UdC5wcm90b2NvbHM9WyJodHRwIiwiaHR0cHMiXTtmdW5jdGlvbiBEdCh0KXtyZXR1cm4gdC5yZXBsYWNlKC9eW0EtWl06LywiIikucmVwbGFjZSgvXFwvZywiLyIpfWNvbnN0IFV0PWU7bGV0IEJ0LEx0PTAsTXQ9e307ZnVuY3Rpb24genQodCl7VXQuZGVidWcmJmNvbnNvbGUubG9nKGBbQU5SIFdvcmtlcl0gJHt0fWApfXZhciBKdCxXdCxGdDtjb25zdCBHdD1mdW5jdGlvbih0KXtsZXQgZTt0cnl7ZT1uZXcgVVJMKHQudXJsKX1jYXRjaHtyZXR1cm4gYigoKT0+e2NvbnNvbGUud2FybigiW0BzZW50cnkvbm9kZV06IEludmFsaWQgZHNuIG9yIHR1bm5lbCBvcHRpb24sIHdpbGwgbm90IHNlbmQgYW55IGV2ZW50cy4gVGhlIHR1bm5lbCBvcHRpb24gbXVzdCBiZSBhIGZ1bGwgVVJMIHdoZW4gdXNlZC4iKX0pLCR0KHQsKCk9PlByb21pc2UucmVzb2x2ZSh7fSkpfWNvbnN0IG49Imh0dHBzOiI9PT1lLnByb3RvY29sLHI9ZnVuY3Rpb24odCxlKXtjb25zdHtub19wcm94eTpufT1wcm9jZXNzLmVudixyPW4/LnNwbGl0KCIsIikuc29tZShlPT50Lmhvc3QuZW5kc1dpdGgoZSl8fHQuaG9zdG5hbWUuZW5kc1dpdGgoZSkpO3JldHVybiByP3ZvaWQgMDplfShlLHQucHJveHl8fChuP3Byb2Nlc3MuZW52Lmh0dHBzX3Byb3h5OnZvaWQgMCl8fHByb2Nlc3MuZW52Lmh0dHBfcHJveHkpLG89bj9pOnMsYT12b2lkIDAhPT10LmtlZXBBbGl2ZSYmdC5rZWVwQWxpdmUsZj1yP25ldyBUdChyKTpuZXcgby5BZ2VudCh7a2VlcEFsaXZlOmEsbWF4U29ja2V0czozMCx0aW1lb3V0OjJlM30pLGg9ZnVuY3Rpb24odCxlLG4pe2NvbnN0e2hvc3RuYW1lOnIscGF0aG5hbWU6byxwb3J0OnMscHJvdG9jb2w6aSxzZWFyY2g6YX09bmV3IFVSTCh0LnVybCk7cmV0dXJuIGZ1bmN0aW9uKGYpe3JldHVybiBuZXcgUHJvbWlzZSgoaCxwKT0+e3l0KCgpPT57bGV0IGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBjKHtyZWFkKCl7dGhpcy5wdXNoKHQpLHRoaXMucHVzaChudWxsKX19KX0oZi5ib2R5KTtjb25zdCBkPXsuLi50LmhlYWRlcnN9O2YuYm9keS5sZW5ndGg+MzI3NjgmJihkWyJjb250ZW50LWVuY29kaW5nIl09Imd6aXAiLGw9bC5waXBlKHUoKSkpO2NvbnN0IGc9ci5zdGFydHNXaXRoKCJbIiksbT1lLnJlcXVlc3Qoe21ldGhvZDoiUE9TVCIsYWdlbnQ6bixoZWFkZXJzOmQsaG9zdG5hbWU6Zz9yLnNsaWNlKDEsLTEpOnIscGF0aDpgJHtvfSR7YX1gLHBvcnQ6cyxwcm90b2NvbDppLGNhOnQuY2FDZXJ0c30sdD0+e3Qub24oImRhdGEiLCgpPT57fSksdC5vbigiZW5kIiwoKT0+e30pLHQuc2V0RW5jb2RpbmcoInV0ZjgiKTtjb25zdCBlPXQuaGVhZGVyc1sicmV0cnktYWZ0ZXIiXT8/bnVsbCxuPXQuaGVhZGVyc1sieC1zZW50cnktcmF0ZS1saW1pdHMiXT8/bnVsbDtoKHtzdGF0dXNDb2RlOnQuc3RhdHVzQ29kZSxoZWFkZXJzOnsicmV0cnktYWZ0ZXIiOmUsIngtc2VudHJ5LXJhdGUtbGltaXRzIjpBcnJheS5pc0FycmF5KG4pP25bMF18fG51bGw6bn19KX0pO20ub24oImVycm9yIixwKSxsLnBpcGUobSl9KX0pfX0odCx0Lmh0dHBNb2R1bGU/P28sZik7cmV0dXJuICR0KHQsaCl9KHt1cmw6KEp0PVV0LmRzbixXdD1VdC50dW5uZWwsRnQ9VXQuc2RrTWV0YWRhdGEuc2RrLFd0fHxgJHtmdW5jdGlvbih0KXtyZXR1cm5gJHtmdW5jdGlvbih0KXtjb25zdCBlPXQucHJvdG9jb2w/YCR7dC5wcm90b2NvbH06YDoiIixuPXQucG9ydD9gOiR7dC5wb3J0fWA6IiI7cmV0dXJuYCR7ZX0vLyR7dC5ob3N0fSR7bn0ke3QucGF0aD9gLyR7dC5wYXRofWA6IiJ9L2FwaS9gfSh0KX0ke3QucHJvamVjdElkfS9lbnZlbG9wZS9gfShKdCl9PyR7ZnVuY3Rpb24odCxlKXtjb25zdCBuPXtzZW50cnlfdmVyc2lvbjoiNyJ9O3JldHVybiB0LnB1YmxpY0tleSYmKG4uc2VudHJ5X2tleT10LnB1YmxpY0tleSksZSYmKG4uc2VudHJ5X2NsaWVudD1gJHtlLm5hbWV9LyR7ZS52ZXJzaW9ufWApLG5ldyBVUkxTZWFyY2hQYXJhbXMobikudG9TdHJpbmcoKX0oSnQsRnQpfWApfSk7YXN5bmMgZnVuY3Rpb24gWXQoKXtpZihCdCl7enQoIlNlbmRpbmcgYWJub3JtYWwgc2Vzc2lvbiIpLFooQnQse3N0YXR1czoiYWJub3JtYWwiLGFibm9ybWFsX21lY2hhbmlzbToiYW5yX2ZvcmVncm91bmQiLHJlbGVhc2U6VXQucmVsZWFzZSxlbnZpcm9ubWVudDpVdC5lbnZpcm9ubWVudH0pO2NvbnN0IHQ9ZnVuY3Rpb24odCxlLG4scil7Y29uc3Qgbz1tdChuKTtyZXR1cm4gZnQoe3NlbnRfYXQ6bmV3IERhdGUoSSgpKS50b0lTT1N0cmluZygpLC4uLm8mJntzZGs6b30sLi4uISFyJiZlJiZ7ZHNuOnV0KGUpfX0sWyJhZ2dyZWdhdGVzImluIHQ/W3t0eXBlOiJzZXNzaW9ucyJ9LHRdOlt7dHlwZToic2Vzc2lvbiJ9LHQudG9KU09OKCldXSl9KEJ0LFV0LmRzbixVdC5zZGtNZXRhZGF0YSxVdC50dW5uZWwpO3p0KEpTT04uc3RyaW5naWZ5KHQpKSxhd2FpdCBHdC5zZW5kKHQpO3RyeXtuPy5wb3N0TWVzc2FnZSgic2Vzc2lvbi1lbmRlZCIpfWNhdGNoe319fWZ1bmN0aW9uIEh0KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPWZ1bmN0aW9uKHQpe2lmKCF0Lmxlbmd0aClyZXR1cm5bXTtjb25zdCBlPUFycmF5LmZyb20odCk7cmV0dXJuL3NlbnRyeVdyYXBwZWQvLnRlc3QoRShlKS5mdW5jdGlvbnx8IiIpJiZlLnBvcCgpLGUucmV2ZXJzZSgpLCQudGVzdChFKGUpLmZ1bmN0aW9ufHwiIikmJihlLnBvcCgpLCQudGVzdChFKGUpLmZ1bmN0aW9ufHwiIikmJmUucG9wKCkpLGUuc2xpY2UoMCw1MCkubWFwKHQ9Pih7Li4udCxmaWxlbmFtZTp0LmZpbGVuYW1lfHxFKGUpLmZpbGVuYW1lLGZ1bmN0aW9uOnQuZnVuY3Rpb258fCI/In0pKX0odCk7aWYoVXQuYXBwUm9vdFBhdGgpZm9yKGNvbnN0IHQgb2YgZSl0LmZpbGVuYW1lJiYodC5maWxlbmFtZT1NKHQuZmlsZW5hbWUsVXQuYXBwUm9vdFBhdGgpKTtyZXR1cm4gZX1hc3luYyBmdW5jdGlvbiBadCh0LGUpe2lmKEx0Pj1VdC5tYXhBbnJFdmVudHMpcmV0dXJuO0x0Kz0xLGF3YWl0IFl0KCksenQoIlNlbmRpbmcgZXZlbnQiKTtjb25zdCBuPXtldmVudF9pZDpXKCksY29udGV4dHM6VXQuY29udGV4dHMscmVsZWFzZTpVdC5yZWxlYXNlLGVudmlyb25tZW50OlV0LmVudmlyb25tZW50LGRpc3Q6VXQuZGlzdCxwbGF0Zm9ybToibm9kZSIsbGV2ZWw6ImVycm9yIixleGNlcHRpb246e3ZhbHVlczpbe3R5cGU6IkFwcGxpY2F0aW9uTm90UmVzcG9uZGluZyIsdmFsdWU6YEFwcGxpY2F0aW9uIE5vdCBSZXNwb25kaW5nIGZvciBhdCBsZWFzdCAke1V0LmFuclRocmVzaG9sZH0gbXNgLHN0YWNrdHJhY2U6e2ZyYW1lczpIdCh0KX0sbWVjaGFuaXNtOnt0eXBlOiJBTlIifX1dfSx0YWdzOlV0LnN0YXRpY1RhZ3N9O2UmJmZ1bmN0aW9uKHQsZSl7aWYoYXQodCxlKSwhdC5jb250ZXh0cz8udHJhY2Upe2NvbnN0e3RyYWNlSWQ6bixwYXJlbnRTcGFuSWQ6cixwcm9wYWdhdGlvblNwYW5JZDpvfT1lLnByb3BhZ2F0aW9uQ29udGV4dDt0LmNvbnRleHRzPXt0cmFjZTp7dHJhY2VfaWQ6bixzcGFuX2lkOm98fFcoKS5zdWJzdHJpbmcoMTYpLHBhcmVudF9zcGFuX2lkOnJ9LC4uLnQuY29udGV4dHN9fX0obixlKSxmdW5jdGlvbih0KXtpZigwPT09T2JqZWN0LmtleXMoTXQpLmxlbmd0aClyZXR1cm47Y29uc3QgZT1VdC5hcHBSb290UGF0aD97fTpNdDtpZihVdC5hcHBSb290UGF0aClmb3IoY29uc3RbdCxuXW9mIE9iamVjdC5lbnRyaWVzKE10KSllW00odCxVdC5hcHBSb290UGF0aCldPW47Y29uc3Qgbj1uZXcgTWFwO2Zvcihjb25zdCByIG9mIHQuZXhjZXB0aW9uPy52YWx1ZXN8fFtdKWZvcihjb25zdCB0IG9mIHIuc3RhY2t0cmFjZT8uZnJhbWVzfHxbXSl7Y29uc3Qgcj10LmFic19wYXRofHx0LmZpbGVuYW1lO3ImJmVbcl0mJm4uc2V0KHIsZVtyXSl9aWYobi5zaXplPjApe2NvbnN0IGU9W107Zm9yKGNvbnN0W3Qscl1vZiBuLmVudHJpZXMoKSllLnB1c2goe3R5cGU6InNvdXJjZW1hcCIsY29kZV9maWxlOnQsZGVidWdfaWQ6cn0pO3QuZGVidWdfbWV0YT17aW1hZ2VzOmV9fX0obik7Y29uc3Qgcj1idChuLFV0LmRzbixVdC5zZGtNZXRhZGF0YSxVdC50dW5uZWwpO3p0KEpTT04uc3RyaW5naWZ5KHIpKSxhd2FpdCBHdC5zZW5kKHIpLGF3YWl0IEd0LmZsdXNoKDJlMyksTHQ+PVV0Lm1heEFuckV2ZW50cyYmc2V0VGltZW91dCgoKT0+e3Byb2Nlc3MuZXhpdCgwKX0sNWUzKX1sZXQgcXQ7aWYoenQoIlN0YXJ0ZWQiKSxVdC5jYXB0dXJlU3RhY2tUcmFjZSl7enQoIkNvbm5lY3RpbmcgdG8gZGVidWdnZXIiKTtjb25zdCBlPW5ldyB0O2UuY29ubmVjdFRvTWFpblRocmVhZCgpLHp0KCJDb25uZWN0ZWQgdG8gZGVidWdnZXIiKTtjb25zdCBuPW5ldyBNYXA7ZS5vbigiRGVidWdnZXIuc2NyaXB0UGFyc2VkIix0PT57bi5zZXQodC5wYXJhbXMuc2NyaXB0SWQsdC5wYXJhbXMudXJsKX0pLGUub24oIkRlYnVnZ2VyLnBhdXNlZCIsdD0+e2lmKCJvdGhlciI9PT10LnBhcmFtcy5yZWFzb24pdHJ5e3p0KCJEZWJ1Z2dlciBwYXVzZWQiKTtjb25zdCBzPVsuLi50LnBhcmFtcy5jYWxsRnJhbWVzXSxpPVV0LmFwcFJvb3RQYXRoP2Z1bmN0aW9uKHQ9KHByb2Nlc3MuYXJndlsxXT94dChwcm9jZXNzLmFyZ3ZbMV0pOnByb2Nlc3MuY3dkKCkpLGU9IlxcIj09PW8pe2NvbnN0IG49ZT9EdCh0KTp0O3JldHVybiB0PT57aWYoIXQpcmV0dXJuO2NvbnN0IG89ZT9EdCh0KTp0O2xldHtkaXI6cyxiYXNlOmksZXh0OmN9PXIucGFyc2Uobyk7Ii5qcyIhPT1jJiYiLm1qcyIhPT1jJiYiLmNqcyIhPT1jfHwoaT1pLnNsaWNlKDAsLTEqYy5sZW5ndGgpKTtjb25zdCB1PWRlY29kZVVSSUNvbXBvbmVudChpKTtzfHwocz0iLiIpO2NvbnN0IGE9cy5sYXN0SW5kZXhPZigiL25vZGVfbW9kdWxlcyIpO2lmKGE+LTEpcmV0dXJuYCR7cy5zbGljZShhKzE0KS5yZXBsYWNlKC9cLy9nLCIuIil9OiR7dX1gO2lmKHMuc3RhcnRzV2l0aChuKSl7Y29uc3QgdD1zLnNsaWNlKG4ubGVuZ3RoKzEpLnJlcGxhY2UoL1wvL2csIi4iKTtyZXR1cm4gdD9gJHt0fToke3V9YDp1fXJldHVybiB1fX0oVXQuYXBwUm9vdFBhdGgpOigpPT57fSxjPXMubWFwKHQ9PmZ1bmN0aW9uKHQsZSxuKXtjb25zdCByPWU/ZS5yZXBsYWNlKC9eZmlsZTpcL1wvLywiIik6dm9pZCAwLG89dC5sb2NhdGlvbi5jb2x1bW5OdW1iZXI/dC5sb2NhdGlvbi5jb2x1bW5OdW1iZXIrMTp2b2lkIDAscz10LmxvY2F0aW9uLmxpbmVOdW1iZXI/dC5sb2NhdGlvbi5saW5lTnVtYmVyKzE6dm9pZCAwO3JldHVybntmaWxlbmFtZTpyLG1vZHVsZTpuKHIpLGZ1bmN0aW9uOnQuZnVuY3Rpb25OYW1lfHwiPyIsY29sbm86byxsaW5lbm86cyxpbl9hcHA6cj9OdChyKTp2b2lkIDB9fSh0LG4uZ2V0KHQubG9jYXRpb24uc2NyaXB0SWQpLGkpKSx1PXNldFRpbWVvdXQoKCk9PntadChjKS50aGVuKG51bGwsKCk9Pnt6dCgiU2VuZGluZyBBTlIgZXZlbnQgZmFpbGVkLiIpfSl9LDVlMyk7ZS5wb3N0KCJSdW50aW1lLmV2YWx1YXRlIix7ZXhwcmVzc2lvbjoiZ2xvYmFsLl9fU0VOVFJZX0dFVF9TQ09QRVNfXygpOyIsc2lsZW50OiEwLHJldHVybkJ5VmFsdWU6ITB9LCh0LG4pPT57dCYmenQoYEVycm9yIGV4ZWN1dGluZyBzY3JpcHQ6ICcke3QubWVzc2FnZX0nYCksY2xlYXJUaW1lb3V0KHUpO2NvbnN0IHI9bj8ucmVzdWx0P24ucmVzdWx0LnZhbHVlOnZvaWQgMDtlLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpLGUucG9zdCgiRGVidWdnZXIuZGlzYWJsZSIpLFp0KGMscikudGhlbihudWxsLCgpPT57enQoIlNlbmRpbmcgQU5SIGV2ZW50IGZhaWxlZC4iKX0pfSl9Y2F0Y2godCl7dGhyb3cgZS5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKSxlLnBvc3QoIkRlYnVnZ2VyLmRpc2FibGUiKSx0fX0pLHF0PSgpPT57dHJ5e2UucG9zdCgiRGVidWdnZXIuZW5hYmxlIiwoKT0+e2UucG9zdCgiRGVidWdnZXIucGF1c2UiKX0pfWNhdGNoe319fWNvbnN0e3BvbGw6S3R9PWZ1bmN0aW9uKHQsZSxuLHIpe2NvbnN0IG89dCgpO2xldCBzPSExLGk9ITA7cmV0dXJuIHNldEludGVydmFsKCgpPT57Y29uc3QgdD1vLmdldFRpbWVNcygpOyExPT09cyYmdD5lK24mJihzPSEwLGkmJnIoKSksdDxlK24mJihzPSExKX0sMjApLHtwb2xsOigpPT57by5yZXNldCgpfSxlbmFibGVkOnQ9PntpPXR9fX0oZnVuY3Rpb24oKXtsZXQgdD1wcm9jZXNzLmhydGltZSgpO3JldHVybntnZXRUaW1lTXM6KCk9Pntjb25zdFtlLG5dPXByb2Nlc3MuaHJ0aW1lKHQpO3JldHVybiBNYXRoLmZsb29yKDFlMyplK24vMWU2KX0scmVzZXQ6KCk9Pnt0PXByb2Nlc3MuaHJ0aW1lKCl9fX0sVXQucG9sbEludGVydmFsLFV0LmFuclRocmVzaG9sZCxmdW5jdGlvbigpe3p0KCJXYXRjaGRvZyB0aW1lb3V0IikscXQ/KHp0KCJQYXVzaW5nIGRlYnVnZ2VyIHRvIGNhcHR1cmUgc3RhY2sgdHJhY2UiKSxxdCgpKTooenQoIkNhcHR1cmluZyBldmVudCB3aXRob3V0IGEgc3RhY2sgdHJhY2UiKSxadCgpLnRoZW4obnVsbCwoKT0+e3p0KCJTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQgb24gd2F0Y2hkb2cgdGltZW91dC4iKX0pKX0pO24/Lm9uKCJtZXNzYWdlIix0PT57dC5zZXNzaW9uJiYoQnQ9SCh0LnNlc3Npb24pKSx0LmRlYnVnSW1hZ2VzJiYoTXQ9dC5kZWJ1Z0ltYWdlcyksS3QoKX0pOw==";
|
|
10
|
+
const DEFAULT_INTERVAL = 50;
|
|
11
|
+
const DEFAULT_HANG_THRESHOLD = 5e3;
|
|
12
|
+
function log(message, ...args) {
|
|
13
|
+
core.debug.log(`[ANR] ${message}`, ...args);
|
|
14
|
+
}
|
|
15
|
+
function globalWithScopeFetchFn() {
|
|
16
|
+
return core.GLOBAL_OBJ;
|
|
17
|
+
}
|
|
18
|
+
function getScopeData() {
|
|
19
|
+
const scope = core.getCombinedScopeData(core.getIsolationScope(), core.getCurrentScope());
|
|
20
|
+
scope.attachments = [];
|
|
21
|
+
scope.eventProcessors = [];
|
|
22
|
+
return scope;
|
|
23
|
+
}
|
|
24
|
+
async function getContexts(client) {
|
|
25
|
+
let event = { message: "ANR" };
|
|
26
|
+
const eventHint = {};
|
|
27
|
+
for (const processor of client.getEventProcessors()) {
|
|
28
|
+
if (event === null) break;
|
|
29
|
+
event = await processor(event, eventHint);
|
|
30
|
+
}
|
|
31
|
+
return event?.contexts || {};
|
|
32
|
+
}
|
|
33
|
+
const INTEGRATION_NAME = "Anr";
|
|
34
|
+
const _anrIntegration = ((options = {}) => {
|
|
35
|
+
let worker;
|
|
36
|
+
let client;
|
|
37
|
+
const gbl = globalWithScopeFetchFn();
|
|
38
|
+
gbl.__SENTRY_GET_SCOPES__ = getScopeData;
|
|
39
|
+
return {
|
|
40
|
+
name: INTEGRATION_NAME,
|
|
41
|
+
startWorker: () => {
|
|
42
|
+
if (worker) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (client) {
|
|
46
|
+
worker = _startWorker(client, options);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
stopWorker: () => {
|
|
50
|
+
if (worker) {
|
|
51
|
+
worker.then((stop) => {
|
|
52
|
+
stop();
|
|
53
|
+
worker = void 0;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
async setup(initClient) {
|
|
58
|
+
client = initClient;
|
|
59
|
+
if (options.captureStackTrace && await debug.isDebuggerEnabled()) {
|
|
60
|
+
core.debug.warn("ANR captureStackTrace has been disabled because the debugger was already enabled");
|
|
61
|
+
options.captureStackTrace = false;
|
|
62
|
+
}
|
|
63
|
+
setImmediate(() => this.startWorker());
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
const anrIntegration = core.defineIntegration(_anrIntegration);
|
|
68
|
+
async function _startWorker(client, integrationOptions) {
|
|
69
|
+
const dsn = client.getDsn();
|
|
70
|
+
if (!dsn) {
|
|
71
|
+
return () => {
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const contexts = await getContexts(client);
|
|
75
|
+
delete contexts.app?.app_memory;
|
|
76
|
+
delete contexts.device?.free_memory;
|
|
77
|
+
const initOptions = client.getOptions();
|
|
78
|
+
const sdkMetadata = client.getSdkMetadata() || {};
|
|
79
|
+
if (sdkMetadata.sdk) {
|
|
80
|
+
sdkMetadata.sdk.integrations = initOptions.integrations.map((i) => i.name);
|
|
81
|
+
}
|
|
82
|
+
const options = {
|
|
83
|
+
debug: core.debug.isEnabled(),
|
|
84
|
+
dsn,
|
|
85
|
+
tunnel: initOptions.tunnel,
|
|
86
|
+
environment: initOptions.environment || "production",
|
|
87
|
+
release: initOptions.release,
|
|
88
|
+
dist: initOptions.dist,
|
|
89
|
+
sdkMetadata,
|
|
90
|
+
appRootPath: integrationOptions.appRootPath,
|
|
91
|
+
pollInterval: integrationOptions.pollInterval || DEFAULT_INTERVAL,
|
|
92
|
+
anrThreshold: integrationOptions.anrThreshold || DEFAULT_HANG_THRESHOLD,
|
|
93
|
+
captureStackTrace: !!integrationOptions.captureStackTrace,
|
|
94
|
+
maxAnrEvents: integrationOptions.maxAnrEvents || 1,
|
|
95
|
+
staticTags: integrationOptions.staticTags || {},
|
|
96
|
+
contexts
|
|
97
|
+
};
|
|
98
|
+
if (options.captureStackTrace) {
|
|
99
|
+
const inspector = await import('node:inspector');
|
|
100
|
+
if (!inspector.url()) {
|
|
101
|
+
inspector.open(0);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const worker = new node_worker_threads.Worker(new URL(`data:application/javascript;base64,${base64WorkerScript}`), {
|
|
105
|
+
workerData: options,
|
|
106
|
+
// We don't want any Node args to be passed to the worker
|
|
107
|
+
execArgv: [],
|
|
108
|
+
env: { ...process.env, NODE_OPTIONS: void 0 }
|
|
109
|
+
});
|
|
110
|
+
process.on("exit", () => {
|
|
111
|
+
worker.terminate();
|
|
112
|
+
});
|
|
113
|
+
const timer = setInterval(() => {
|
|
114
|
+
try {
|
|
115
|
+
const currentSession = core.getIsolationScope().getSession();
|
|
116
|
+
const session = currentSession ? { ...currentSession, toJSON: void 0 } : void 0;
|
|
117
|
+
worker.postMessage({ session, debugImages: core.getFilenameToDebugIdMap(initOptions.stackParser) });
|
|
118
|
+
} catch {
|
|
119
|
+
}
|
|
120
|
+
}, options.pollInterval);
|
|
121
|
+
timer.unref();
|
|
122
|
+
worker.on("message", (msg) => {
|
|
123
|
+
if (msg === "session-ended") {
|
|
124
|
+
log("ANR event sent from ANR worker. Clearing session in this thread.");
|
|
125
|
+
core.getIsolationScope().setSession(void 0);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
worker.once("error", (err) => {
|
|
129
|
+
clearInterval(timer);
|
|
130
|
+
log("ANR worker error", err);
|
|
131
|
+
});
|
|
132
|
+
worker.once("exit", (code) => {
|
|
133
|
+
clearInterval(timer);
|
|
134
|
+
log("ANR worker exit", code);
|
|
135
|
+
});
|
|
136
|
+
worker.unref();
|
|
137
|
+
return () => {
|
|
138
|
+
worker.terminate();
|
|
139
|
+
clearInterval(timer);
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function disableAnrDetectionForCallback(callback) {
|
|
143
|
+
const integration = core.getClient()?.getIntegrationByName(INTEGRATION_NAME);
|
|
144
|
+
if (!integration) {
|
|
145
|
+
return callback();
|
|
146
|
+
}
|
|
147
|
+
integration.stopWorker();
|
|
148
|
+
const result = callback();
|
|
149
|
+
if (isPromise(result)) {
|
|
150
|
+
return result.finally(() => integration.startWorker());
|
|
151
|
+
}
|
|
152
|
+
integration.startWorker();
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
exports.anrIntegration = anrIntegration;
|
|
157
|
+
exports.base64WorkerScript = base64WorkerScript;
|
|
158
|
+
exports.disableAnrDetectionForCallback = disableAnrDetectionForCallback;
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/integrations/anr/index.ts"],"sourcesContent":["import { types } from 'node:util';\nimport { Worker } from 'node:worker_threads';\nimport type { Contexts, Event, EventHint, Integration, IntegrationFn, ScopeData } from '@sentry/core';\nimport {\n debug,\n defineIntegration,\n getClient,\n getCombinedScopeData,\n getCurrentScope,\n getFilenameToDebugIdMap,\n getIsolationScope,\n GLOBAL_OBJ,\n} from '@sentry/core';\nimport type { NodeClient } from '../../sdk/client';\nimport { isDebuggerEnabled } from '../../utils/debug';\nimport type { AnrIntegrationOptions, WorkerStartData } from './common';\n\nconst { isPromise } = types;\n\n// This string is a placeholder that gets overwritten with the worker code.\nexport const base64WorkerScript = '###AnrWorkerScript###';\n\nconst DEFAULT_INTERVAL = 50;\nconst DEFAULT_HANG_THRESHOLD = 5000;\n\nfunction log(message: string, ...args: unknown[]): void {\n debug.log(`[ANR] ${message}`, ...args);\n}\n\nfunction globalWithScopeFetchFn(): typeof GLOBAL_OBJ & { __SENTRY_GET_SCOPES__?: () => ScopeData } {\n return GLOBAL_OBJ;\n}\n\n/** Fetches merged scope data */\nfunction getScopeData(): ScopeData {\n const scope = getCombinedScopeData(getIsolationScope(), getCurrentScope());\n\n // We remove attachments because they likely won't serialize well as json\n scope.attachments = [];\n // We can't serialize event processor functions\n scope.eventProcessors = [];\n\n return scope;\n}\n\n/**\n * Gets contexts by calling all event processors. This shouldn't be called until all integrations are setup\n */\nasync function getContexts(client: NodeClient): Promise<Contexts> {\n let event: Event | null = { message: 'ANR' };\n const eventHint: EventHint = {};\n\n for (const processor of client.getEventProcessors()) {\n if (event === null) break;\n event = await processor(event, eventHint);\n }\n\n return event?.contexts || {};\n}\n\nconst INTEGRATION_NAME = 'Anr' as const;\n\ntype AnrInternal = { startWorker: () => void; stopWorker: () => void };\n\n// eslint-disable-next-line typescript/no-deprecated\nconst _anrIntegration = ((options: Partial<AnrIntegrationOptions> = {}) => {\n let worker: Promise<() => void> | undefined;\n let client: NodeClient | undefined;\n\n // Hookup the scope fetch function to the global object so that it can be called from the worker thread via the\n // debugger when it pauses\n const gbl = globalWithScopeFetchFn();\n gbl.__SENTRY_GET_SCOPES__ = getScopeData;\n\n return {\n name: INTEGRATION_NAME,\n startWorker: () => {\n if (worker) {\n return;\n }\n\n if (client) {\n worker = _startWorker(client, options);\n }\n },\n stopWorker: () => {\n if (worker) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n worker.then(stop => {\n stop();\n worker = undefined;\n });\n }\n },\n async setup(initClient: NodeClient) {\n client = initClient;\n\n if (options.captureStackTrace && (await isDebuggerEnabled())) {\n debug.warn('ANR captureStackTrace has been disabled because the debugger was already enabled');\n options.captureStackTrace = false;\n }\n\n // setImmediate is used to ensure that all other integrations have had their setup called first.\n // This allows us to call into all integrations to fetch the full context\n setImmediate(() => this.startWorker());\n },\n } as Integration & AnrInternal;\n}) satisfies IntegrationFn;\n\n// eslint-disable-next-line typescript/no-deprecated\ntype AnrReturn = (options?: Partial<AnrIntegrationOptions>) => Integration & AnrInternal;\n\n/**\n * Application Not Responding (ANR) integration for Node.js applications.\n *\n * @deprecated The ANR integration has been deprecated. Use `eventLoopBlockIntegration` from `@sentry/node-native` instead.\n *\n * Detects when the Node.js main thread event loop is blocked for more than the configured\n * threshold (5 seconds by default) and reports these as Sentry events.\n *\n * ANR detection uses a worker thread to monitor the event loop in the main app thread.\n * The main app thread sends a heartbeat message to the ANR worker thread every 50ms by default.\n * If the ANR worker does not receive a heartbeat message for the configured threshold duration,\n * it triggers an ANR event.\n *\n * - Node.js 16.17.0 or higher\n * - Only supported in the Node.js runtime (not browsers)\n * - Not supported for Node.js clusters\n *\n * Overhead should be minimal:\n * - Main thread: Only polling the ANR worker over IPC every 50ms\n * - Worker thread: Consumes around 10-20 MB of RAM\n * - When ANR detected: Brief pause in debugger to capture stack trace (negligible compared to the blocking)\n *\n * @example\n * ```javascript\n * Sentry.init({\n * dsn: \"https://examplePublicKey@o0.ingest.sentry.io/0\",\n * integrations: [\n * Sentry.anrIntegration({\n * anrThreshold: 5000,\n * captureStackTrace: true,\n * pollInterval: 50,\n * }),\n * ],\n * });\n * ```\n */\nexport const anrIntegration = defineIntegration(_anrIntegration) as AnrReturn;\n\n/**\n * Starts the ANR worker thread\n *\n * @returns A function to stop the worker\n */\nasync function _startWorker(\n client: NodeClient,\n // eslint-disable-next-line typescript/no-deprecated\n integrationOptions: Partial<AnrIntegrationOptions>,\n): Promise<() => void> {\n const dsn = client.getDsn();\n\n if (!dsn) {\n return () => {\n //\n };\n }\n\n const contexts = await getContexts(client);\n\n // These will not be accurate if sent later from the worker thread\n delete contexts.app?.app_memory;\n delete contexts.device?.free_memory;\n\n const initOptions = client.getOptions();\n\n const sdkMetadata = client.getSdkMetadata() || {};\n if (sdkMetadata.sdk) {\n sdkMetadata.sdk.integrations = initOptions.integrations.map(i => i.name);\n }\n\n const options: WorkerStartData = {\n debug: debug.isEnabled(),\n dsn,\n tunnel: initOptions.tunnel,\n environment: initOptions.environment || 'production',\n release: initOptions.release,\n dist: initOptions.dist,\n sdkMetadata,\n appRootPath: integrationOptions.appRootPath,\n pollInterval: integrationOptions.pollInterval || DEFAULT_INTERVAL,\n anrThreshold: integrationOptions.anrThreshold || DEFAULT_HANG_THRESHOLD,\n captureStackTrace: !!integrationOptions.captureStackTrace,\n maxAnrEvents: integrationOptions.maxAnrEvents || 1,\n staticTags: integrationOptions.staticTags || {},\n contexts,\n };\n\n if (options.captureStackTrace) {\n const inspector = await import('node:inspector');\n if (!inspector.url()) {\n inspector.open(0);\n }\n }\n\n const worker = new Worker(new URL(`data:application/javascript;base64,${base64WorkerScript}`), {\n workerData: options,\n // We don't want any Node args to be passed to the worker\n execArgv: [],\n env: { ...process.env, NODE_OPTIONS: undefined },\n });\n\n process.on('exit', () => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n worker.terminate();\n });\n\n const timer = setInterval(() => {\n try {\n const currentSession = getIsolationScope().getSession();\n // We need to copy the session object and remove the toJSON method so it can be sent to the worker\n // serialized without making it a SerializedSession\n const session = currentSession ? { ...currentSession, toJSON: undefined } : undefined;\n // message the worker to tell it the main event loop is still running\n worker.postMessage({ session, debugImages: getFilenameToDebugIdMap(initOptions.stackParser) });\n } catch {\n //\n }\n }, options.pollInterval);\n // Timer should not block exit\n timer.unref();\n\n worker.on('message', (msg: string) => {\n if (msg === 'session-ended') {\n log('ANR event sent from ANR worker. Clearing session in this thread.');\n getIsolationScope().setSession(undefined);\n }\n });\n\n worker.once('error', (err: Error) => {\n clearInterval(timer);\n log('ANR worker error', err);\n });\n\n worker.once('exit', (code: number) => {\n clearInterval(timer);\n log('ANR worker exit', code);\n });\n\n // Ensure this thread can't block app exit\n worker.unref();\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n worker.terminate();\n clearInterval(timer);\n };\n}\n\n/**\n * @see {@link disableBlockDetectionForCallback}\n *\n * @deprecated The ANR integration has been deprecated. Use `eventLoopBlockIntegration` from `@sentry/node-native` instead.\n */\nexport function disableAnrDetectionForCallback<T>(callback: () => T): T;\n/**\n * @see {@link disableBlockDetectionForCallback}\n *\n * @deprecated The ANR integration has been deprecated. Use `eventLoopBlockIntegration` from `@sentry/node-native` instead.\n */\nexport function disableAnrDetectionForCallback<T>(callback: () => Promise<T>): Promise<T>;\n/**\n * Temporarily disables ANR detection for the duration of a callback function.\n *\n * This utility function allows you to disable ANR detection during operations that\n * are expected to block the event loop, such as intensive computational tasks or\n * synchronous I/O operations.\n *\n * @deprecated The ANR integration has been deprecated. Use `eventLoopBlockIntegration` from `@sentry/node-native` instead.\n */\nexport function disableAnrDetectionForCallback<T>(callback: () => T | Promise<T>): T | Promise<T> {\n const integration = getClient()?.getIntegrationByName(INTEGRATION_NAME) as AnrInternal | undefined;\n\n if (!integration) {\n return callback();\n }\n\n integration.stopWorker();\n\n const result = callback();\n if (isPromise(result)) {\n return result.finally(() => integration.startWorker());\n }\n\n integration.startWorker();\n return result;\n}\n"],"names":["types","debug","GLOBAL_OBJ","getCombinedScopeData","getIsolationScope","getCurrentScope","isDebuggerEnabled","defineIntegration","Worker","getFilenameToDebugIdMap","getClient"],"mappings":";;;;;;;AAiBA,MAAM,EAAE,WAAU,GAAIA,UAAA;AAGf,MAAM,kBAAA,GAAqB;AAElC,MAAM,gBAAA,GAAmB,EAAA;AACzB,MAAM,sBAAA,GAAyB,GAAA;AAE/B,SAAS,GAAA,CAAI,YAAoB,IAAA,EAAuB;AACtD,EAAAC,UAAA,CAAM,GAAA,CAAI,CAAA,MAAA,EAAS,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AACvC;AAEA,SAAS,sBAAA,GAA0F;AACjG,EAAA,OAAOC,eAAA;AACT;AAGA,SAAS,YAAA,GAA0B;AACjC,EAAA,MAAM,KAAA,GAAQC,yBAAA,CAAqBC,sBAAA,EAAkB,EAAGC,sBAAiB,CAAA;AAGzE,EAAA,KAAA,CAAM,cAAc,EAAC;AAErB,EAAA,KAAA,CAAM,kBAAkB,EAAC;AAEzB,EAAA,OAAO,KAAA;AACT;AAKA,eAAe,YAAY,MAAA,EAAuC;AAChE,EAAA,IAAI,KAAA,GAAsB,EAAE,OAAA,EAAS,KAAA,EAAM;AAC3C,EAAA,MAAM,YAAuB,EAAC;AAE9B,EAAA,KAAA,MAAW,SAAA,IAAa,MAAA,CAAO,kBAAA,EAAmB,EAAG;AACnD,IAAA,IAAI,UAAU,IAAA,EAAM;AACpB,IAAA,KAAA,GAAQ,MAAM,SAAA,CAAU,KAAA,EAAO,SAAS,CAAA;AAAA,EAC1C;AAEA,EAAA,OAAO,KAAA,EAAO,YAAY,EAAC;AAC7B;AAEA,MAAM,gBAAA,GAAmB,KAAA;AAKzB,MAAM,eAAA,IAAmB,CAAC,OAAA,GAA0C,EAAC,KAAM;AACzE,EAAA,IAAI,MAAA;AACJ,EAAA,IAAI,MAAA;AAIJ,EAAA,MAAM,MAAM,sBAAA,EAAuB;AACnC,EAAA,GAAA,CAAI,qBAAA,GAAwB,YAAA;AAE5B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,aAAa,MAAM;AACjB,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA,MAAA,GAAS,YAAA,CAAa,QAAQ,OAAO,CAAA;AAAA,MACvC;AAAA,IACF,CAAA;AAAA,IACA,YAAY,MAAM;AAChB,MAAA,IAAI,MAAA,EAAQ;AAEV,QAAA,MAAA,CAAO,KAAK,CAAA,IAAA,KAAQ;AAClB,UAAA,IAAA,EAAK;AACL,UAAA,MAAA,GAAS,MAAA;AAAA,QACX,CAAC,CAAA;AAAA,MACH;AAAA,IACF,CAAA;AAAA,IACA,MAAM,MAAM,UAAA,EAAwB;AAClC,MAAA,MAAA,GAAS,UAAA;AAET,MAAA,IAAI,OAAA,CAAQ,iBAAA,IAAsB,MAAMC,uBAAA,EAAkB,EAAI;AAC5D,QAAAL,UAAA,CAAM,KAAK,kFAAkF,CAAA;AAC7F,QAAA,OAAA,CAAQ,iBAAA,GAAoB,KAAA;AAAA,MAC9B;AAIA,MAAA,YAAA,CAAa,MAAM,IAAA,CAAK,WAAA,EAAa,CAAA;AAAA,IACvC;AAAA,GACF;AACF,CAAA,CAAA;AAyCO,MAAM,cAAA,GAAiBM,uBAAkB,eAAe;AAO/D,eAAe,YAAA,CACb,QAEA,kBAAA,EACqB;AACrB,EAAA,MAAM,GAAA,GAAM,OAAO,MAAA,EAAO;AAE1B,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAO,MAAM;AAAA,IAEb,CAAA;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,MAAM,CAAA;AAGzC,EAAA,OAAO,SAAS,GAAA,EAAK,UAAA;AACrB,EAAA,OAAO,SAAS,MAAA,EAAQ,WAAA;AAExB,EAAA,MAAM,WAAA,GAAc,OAAO,UAAA,EAAW;AAEtC,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,cAAA,EAAe,IAAK,EAAC;AAChD,EAAA,IAAI,YAAY,GAAA,EAAK;AACnB,IAAA,WAAA,CAAY,IAAI,YAAA,GAAe,WAAA,CAAY,aAAa,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,IAAI,CAAA;AAAA,EACzE;AAEA,EAAA,MAAM,OAAA,GAA2B;AAAA,IAC/B,KAAA,EAAON,WAAM,SAAA,EAAU;AAAA,IACvB,GAAA;AAAA,IACA,QAAQ,WAAA,CAAY,MAAA;AAAA,IACpB,WAAA,EAAa,YAAY,WAAA,IAAe,YAAA;AAAA,IACxC,SAAS,WAAA,CAAY,OAAA;AAAA,IACrB,MAAM,WAAA,CAAY,IAAA;AAAA,IAClB,WAAA;AAAA,IACA,aAAa,kBAAA,CAAmB,WAAA;AAAA,IAChC,YAAA,EAAc,mBAAmB,YAAA,IAAgB,gBAAA;AAAA,IACjD,YAAA,EAAc,mBAAmB,YAAA,IAAgB,sBAAA;AAAA,IACjD,iBAAA,EAAmB,CAAC,CAAC,kBAAA,CAAmB,iBAAA;AAAA,IACxC,YAAA,EAAc,mBAAmB,YAAA,IAAgB,CAAA;AAAA,IACjD,UAAA,EAAY,kBAAA,CAAmB,UAAA,IAAc,EAAC;AAAA,IAC9C;AAAA,GACF;AAEA,EAAA,IAAI,QAAQ,iBAAA,EAAmB;AAC7B,IAAA,MAAM,SAAA,GAAY,MAAM,OAAO,gBAAgB,CAAA;AAC/C,IAAA,IAAI,CAAC,SAAA,CAAU,GAAA,EAAI,EAAG;AACpB,MAAA,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,IAClB;AAAA,EACF;AAEA,EAAA,MAAM,MAAA,GAAS,IAAIO,0BAAA,CAAO,IAAI,IAAI,CAAA,mCAAA,EAAsC,kBAAkB,EAAE,CAAA,EAAG;AAAA,IAC7F,UAAA,EAAY,OAAA;AAAA;AAAA,IAEZ,UAAU,EAAC;AAAA,IACX,KAAK,EAAE,GAAG,OAAA,CAAQ,GAAA,EAAK,cAAc,MAAA;AAAU,GAChD,CAAA;AAED,EAAA,OAAA,CAAQ,EAAA,CAAG,QAAQ,MAAM;AAEvB,IAAA,MAAA,CAAO,SAAA,EAAU;AAAA,EACnB,CAAC,CAAA;AAED,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,IAAI;AACF,MAAA,MAAM,cAAA,GAAiBJ,sBAAA,EAAkB,CAAE,UAAA,EAAW;AAGtD,MAAA,MAAM,UAAU,cAAA,GAAiB,EAAE,GAAG,cAAA,EAAgB,MAAA,EAAQ,QAAU,GAAI,KAAA,CAAA;AAE5E,MAAA,MAAA,CAAO,WAAA,CAAY,EAAE,OAAA,EAAS,WAAA,EAAaK,6BAAwB,WAAA,CAAY,WAAW,GAAG,CAAA;AAAA,IAC/F,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF,CAAA,EAAG,QAAQ,YAAY,CAAA;AAEvB,EAAA,KAAA,CAAM,KAAA,EAAM;AAEZ,EAAA,MAAA,CAAO,EAAA,CAAG,SAAA,EAAW,CAAC,GAAA,KAAgB;AACpC,IAAA,IAAI,QAAQ,eAAA,EAAiB;AAC3B,MAAA,GAAA,CAAI,kEAAkE,CAAA;AACtE,MAAAL,sBAAA,EAAkB,CAAE,WAAW,MAAS,CAAA;AAAA,IAC1C;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAA,CAAO,IAAA,CAAK,OAAA,EAAS,CAAC,GAAA,KAAe;AACnC,IAAA,aAAA,CAAc,KAAK,CAAA;AACnB,IAAA,GAAA,CAAI,oBAAoB,GAAG,CAAA;AAAA,EAC7B,CAAC,CAAA;AAED,EAAA,MAAA,CAAO,IAAA,CAAK,MAAA,EAAQ,CAAC,IAAA,KAAiB;AACpC,IAAA,aAAA,CAAc,KAAK,CAAA;AACnB,IAAA,GAAA,CAAI,mBAAmB,IAAI,CAAA;AAAA,EAC7B,CAAC,CAAA;AAGD,EAAA,MAAA,CAAO,KAAA,EAAM;AAEb,EAAA,OAAO,MAAM;AAEX,IAAA,MAAA,CAAO,SAAA,EAAU;AACjB,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA;AACF;AAuBO,SAAS,+BAAkC,QAAA,EAAgD;AAChG,EAAA,MAAM,WAAA,GAAcM,cAAA,EAAU,EAAG,oBAAA,CAAqB,gBAAgB,CAAA;AAEtE,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAO,QAAA,EAAS;AAAA,EAClB;AAEA,EAAA,WAAA,CAAY,UAAA,EAAW;AAEvB,EAAA,MAAM,SAAS,QAAA,EAAS;AACxB,EAAA,IAAI,SAAA,CAAU,MAAM,CAAA,EAAG;AACrB,IAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,MAAM,WAAA,CAAY,aAAa,CAAA;AAAA,EACvD;AAEA,EAAA,WAAA,CAAY,WAAA,EAAY;AACxB,EAAA,OAAO,MAAA;AACT;;;;;;"}
|