{"schemaVersion":1,"status":{"id":"dd1e3304-7206-4c59-ae90-a6b3ce71fef9","scanId":"9af4a412-4ef6-4668-b2ac-fa3a07c95513","invalidatedAt":null,"invalidationReason":null,"replacedBy":null,"snapshotAvailable":true,"policyAllowed":true,"createdAt":"2026-10-09T15:51:29.395Z","observationRevision":0,"previousScanId":null,"previousReportId":null,"current":true},"report":{"schemaVersion":1,"id":"dd1e3304-7206-4c59-ae90-a6b3ce71fef9","scanId":"9af4a412-4ef6-4668-b2ac-fa3a07c95513","classifierRevision":"classifier_v2","observedAt":"2026-10-09T15:51:28.842Z","classifiedAt":"2026-10-09T15:51:29.397Z","artifact":{"name":"mongodb","version":"7.7.0","integrity":"sha512-XG1xXEqyouAV8GCb3PuRaujofeXKpAJAPvXYWZgHl6Dz4QHSJ1nRLl0+GpqaLTwKvC0RFE9truOur34RNFY1nw==","tarballUrl":"https://registry.npmjs.org/mongodb/-/mongodb-7.7.0.tgz"},"preparation":{"id":"af6c4472-c954-430c-8816-121314c92abf","outcome":"pass","failure":null,"profileRevision":"npm_11_19_0_linux_amd64_v2","snapshot":{"id":"41cf8259-d4cc-403b-a29e-5f2cecc1cc04","generation":"faa3b60e-76ab-423a-9614-eb5a9f51cab2","lockDigest":"c7f1545dc701c56f6db4a8410a280e5f8c0ef2f238873b56eb2d47e5e9fe999e","treeDigest":"a1f2c2ec5884661b7226346ff38014c9ff5dc7486d1b2aada20928bed2a95204","profileRevision":"npm_11_19_0_linux_amd64_v2","installerImage":"node:24.21.0-bookworm-slim@sha256:5cbc7caba8c2c0f0bca675d1b61b9f2857e1cf1853c6164ee9dd409501a936e7"},"installedCount":12,"omittedOptionalCount":0,"staticObservations":{"native":{"count":0,"paths":[],"buildIndicators":[],"prerequisiteProven":false},"declared":{"main":"lib/index.js","engines":{"node":">=20.19.0"},"scripts":{"test":"npm run check:lint && npm run test:all","prepare":"node etc/prepare.js","build:ts":"node ./node_modules/typescript/bin/tsc","check:ts":"node ./node_modules/typescript/bin/tsc -v && node ./node_modules/typescript/bin/tsc --noEmit","test:all":"npm run check:unit && npm run check:test","build:dts":"npm run build:ts && api-extractor run && node etc/clean_definition_files.cjs && ESLINT_USE_FLAT_CONFIG=false eslint --no-ignore --fix mongodb.d.ts","check:aws":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/integration/auth/mongodb_aws.test.ts test/integration/auth/mongodb_aws.prose.test.ts","check:dts":"npm run build:bundle && node ./node_modules/typescript/bin/tsc --target es2023 --module commonjs --noEmit mongodb.d.ts && tsd","check:sfp":"npm run build:bundle && nyc mocha test/manual/sfp.test.ts","check:tls":"npm run build:bundle && nyc mocha --config test/manual/mocharc.js test/manual/tls_support.test.ts","check:tsd":"tsd --version && tsd","build:docs":"./etc/docs/build.ts","check:ldap":"npm run build:bundle && nyc mocha --config test/manual/mocharc.js test/manual/ldap.test.ts","check:lint":"npm run build:dts && npm run check:dts && npm run check:eslint && npm run check:tsd","check:test":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/integration","check:unit":"npm run build:bundle && nyc mocha test/unit","check:x509":"npm run build:bundle && nyc mocha test/manual/x509_auth.test.ts","fix:eslint":"npm run check:eslint -- --fix","check:atlas":"npm run build:bundle && nyc mocha --config test/manual/mocharc.js test/manual/atlas_connectivity.test.ts","check:bench":"npm --prefix test/benchmarks/driver_bench start","check:csfle":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/integration/client-side-encryption","mocha:debug":"npm run build:bundle && node --inspect --enable-source-maps --no-experimental-strip-types ./node_modules/mocha/bin/mocha.js","update:docs":"npm run build:docs -- --yes","build:bundle":"npm run bundle:driver && npm run bundle:types && npm run build:runtime-barrel","bundle:types":"npx tsc --project ./tsconfig.json --declaration --emitDeclarationOnly --declarationDir test/tools/runner/bundle/types","check:eslint":"npm run build:dts && ESLINT_USE_FLAT_CONFIG=false eslint -v && ESLINT_USE_FLAT_CONFIG=false eslint --max-warnings=0 --ext '.js,.ts' src test","check:lambda":"npm run build:bundle && nyc mocha --config test/mocha_lambda.js test/integration/node-specific/examples/handler.test.js","check:snappy":"npm run build:bundle && nyc mocha test/unit/assorted/snappy.test.js","check:socks5":"npm run build:bundle && nyc mocha --config test/manual/mocharc.js test/manual/socks5.test.ts","preview:docs":"ts-node etc/docs/preview.ts","build:nightly":"node ./.github/scripts/nightly.mjs","build:typedoc":"typedoc","bundle:driver":"node etc/bundle-driver.mjs","check:coverage":"nyc npm run test:all","check:kerberos":"npm run build:bundle && nyc mocha --config test/manual/mocharc.js test/manual/kerberos.test.ts","build:evergreen":"node .evergreen/generate_evergreen_tasks.js","check:oidc-auth":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/integration/auth/auth.spec.test.ts","check:oidc-test":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/integration/auth/mongodb_oidc.prose.test.ts","check:lambda:aws":"npm run build:bundle && nyc mocha --config test/mocha_lambda.js test/integration/node-specific/examples/aws_handler.test.js","check:test:debug":"npm run mocha:debug -- --config test/mocha_mongodb.js test/integration","check:unit:debug":"npm run mocha:debug -- test/unit","switch:to-bundled":"MONGODB_BUNDLED=true npm run build:runtime-barrel","check:dependencies":"npm run build:bundle && mocha test/action/dependency.test.ts","check:test-bundled":"MONGODB_BUNDLED=true npm run check:test","check:unit-bundled":"MONGODB_BUNDLED=true npm run check:unit","switch:to-unbundled":"MONGODB_BUNDLED=false npm run build:runtime-barrel","build:runtime-barrel":"node etc/build-runtime-barrel.mjs","check:search-indexes":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/manual/search-index-management.prose.test.ts","check:integration-coverage":"nyc npm run check:test","check:drivers-atlas-testing":"npm run build:bundle && nyc mocha --config test/mocha_mongodb.js test/atlas/drivers_atlas_testing.test.ts"},"dependencies":{"bson":"^7.3.2","@mongodb-js/saslprep":"^1.5.0","mongodb-connection-string-url":"^7.0.2"},"devDependencies":{"nyc":"^17.1.0","tsd":"^0.33.0","aws4":"^1.13.2","chai":"^5.3.3","chalk":"^4.1.2","mocha":"^11.8.0","sinon":"^18.0.1","socks":"^2.8.9","yargs":"^18.1.0","eslint":"^9.39.5","semver":"^7.8.5","snappy":"7.3.3","esbuild":"^0.28.2","express":"^5.2.1","js-yaml":"^4.3.1","ts-node":"^10.9.2","prettier":"3.6.2","sinon-chai":"^4.0.1","typescript":"5.8.3","@iarna/toml":"^2.2.5","@types/node":"^22.20.1","chai-subset":"^1.6.0","mocha-sinon":"^2.1.2","@types/mocha":"^10.0.10","@types/sinon":"^17.0.4","gcp-metadata":"^7.0.1","@types/semver":"^7.8.0","@types/express":"^5.0.6","@types/kerberos":"^1.1.5","@types/saslprep":"^1.0.3","v8-heapsnapshot":"^1.3.1","@mongodb-js/zstd":"^7.0.0","@types/whatwg-url":"^13.0.0","@types/chai-subset":"^1.3.6","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.5.0","eslint-plugin-tsdoc":"^0.5.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@microsoft/tsdoc-config":"^0.18.1","@microsoft/api-extractor":"^7.59.0","@typescript-eslint/parser":"^8.68.0","mongodb-client-encryption":"^7.2.1","typescript-cached-transpile":"^0.0.6","eslint-plugin-unused-imports":"^4.4.1","@aws-sdk/credential-providers":"^3.1117.0","@typescript-eslint/eslint-plugin":"^8.68.0","eslint-plugin-simple-import-sort":"^12.1.1","@istanbuljs/nyc-config-typescript":"^1.0.2"},"peerDependencies":{"socks":"^2.8.6","snappy":"^7.3.2","kerberos":"^7.0.0","gcp-metadata":"^7.0.1","@mongodb-js/zstd":"^7.0.0","mongodb-client-encryption":"^7.2.0","@aws-sdk/credential-providers":"^3.806.0"},"peerDependenciesMeta":{"socks":{"optional":true},"snappy":{"optional":true},"kerberos":{"optional":true},"gcp-metadata":{"optional":true},"@mongodb-js/zstd":{"optional":true},"mongodb-client-encryption":{"optional":true},"@aws-sdk/credential-providers":{"optional":true}}},"platform":{"os":true,"cpu":true,"libc":true},"evidenceLevel":"static_only","lifecycleScripts":["prepare"]}},"matrix":{"id":"bfab88d7-3f4a-41b5-97a9-5aafd5bda511","revision":"production_ab51508deb208994caf81cb80f14b800","platform":"linux_amd64_glibc","harnessRevision":"load_v2","planRevision":"explicit_exports_v1","policyRevision":"runtime_limits_v2","images":[{"profileId":"node_24_21_0","kind":"node","version":"24.21.0","imageId":"sha256:f2fcbb4dfbd6d5f57f4e43de97e70182d9982ac7cc0cc063dfff2cf1759a411d","builtAt":"2026-10-04T15:20:38.392Z","sourceImage":"node:24.21.0-bookworm-slim@sha256:5cbc7caba8c2c0f0bca675d1b61b9f2857e1cf1853c6164ee9dd409501a936e7","baseImage":"gcr.io/distroless/cc-debian13:nonroot@sha256:20afe6a70f2565277b704cc17289cb557f353a3619f6350f52a2317106598df4","supportImage":"node:26.10.0-bookworm-slim@sha256:0a992e1420e2d70611578f1844a6f10a9d11fe6bb535aabf72efe3007f13d79b","platform":"linux_amd64_glibc","recipeRevision":"runtime_image_v1"},{"profileId":"node_26_10_0","kind":"node","version":"26.10.0","imageId":"sha256:9c1c93cc35d1408d26a61c4efccbde37c35425e362a2e723b885c3333d2be073","builtAt":"2026-10-04T15:20:47.161Z","sourceImage":"node:26.10.0-bookworm-slim@sha256:0a992e1420e2d70611578f1844a6f10a9d11fe6bb535aabf72efe3007f13d79b","baseImage":"gcr.io/distroless/cc-debian13:nonroot@sha256:20afe6a70f2565277b704cc17289cb557f353a3619f6350f52a2317106598df4","supportImage":"node:26.10.0-bookworm-slim@sha256:0a992e1420e2d70611578f1844a6f10a9d11fe6bb535aabf72efe3007f13d79b","platform":"linux_amd64_glibc","recipeRevision":"runtime_image_v1"},{"profileId":"bun_1_4_2","kind":"bun","version":"1.4.2","imageId":"sha256:2343363679fb92d59a395ff081b783b5514f06295b1bc6d61baaeef17e793789","builtAt":"2026-10-04T15:21:07.160Z","sourceImage":"oven/bun:1.4.2-debian@sha256:53710ce0f14eef8312521c586a7ae1d9aeab4011840f09f1966073b68fc2e2ab","baseImage":"gcr.io/distroless/cc-debian13:nonroot@sha256:20afe6a70f2565277b704cc17289cb557f353a3619f6350f52a2317106598df4","supportImage":"node:26.10.0-bookworm-slim@sha256:0a992e1420e2d70611578f1844a6f10a9d11fe6bb535aabf72efe3007f13d79b","platform":"linux_amd64_glibc","recipeRevision":"runtime_image_v1"},{"profileId":"deno_2_9_7","kind":"deno","version":"2.9.7","imageId":"sha256:4292bb23555f98fb9dfc30fb447daa1c301686d89264fd8643ccb86bc0d53c29","builtAt":"2026-10-04T15:21:22.570Z","sourceImage":"denoland/deno:debian-2.9.7@sha256:869d374bdaddda4fde029c492d7219199b0e821c2c53cca5357b3a6f5b9336fc","baseImage":"gcr.io/distroless/cc-debian13:nonroot@sha256:20afe6a70f2565277b704cc17289cb557f353a3619f6350f52a2317106598df4","supportImage":"node:26.10.0-bookworm-slim@sha256:0a992e1420e2d70611578f1844a6f10a9d11fe6bb535aabf72efe3007f13d79b","platform":"linux_amd64_glibc","recipeRevision":"runtime_image_v1"}]},"omissions":{"counts":{"pattern":0,"non_executable":0,"not_exported":0,"invalid_subpath":0,"coverage_limit":0},"samples":[]},"outcome":"pass","evidenceLevel":"smoke_tested","coverageComplete":true,"cells":[{"runId":"d519c4b6-0510-4e71-896c-a9937d817299","profileId":"node_24_21_0","group":"root","mode":"esm","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":518.8729590000585,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":141.042033,"resolvedTo":"file:///workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"3dfc9e0d-1c85-4b13-a05e-8183e5fa8f29","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":518.8729590000585}]},{"runId":"050a9d7e-eb24-4994-989a-b93ec270a59b","profileId":"node_24_21_0","group":"root","mode":"commonjs","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":508.80318700009957,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":172.364016,"resolvedTo":"/workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"16a5c8b6-35ce-422c-85db-5528a6dd3c1c","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":508.80318700009957}]},{"runId":"73d372bc-a7dd-4408-8e81-9817713965f3","profileId":"node_24_21_0","group":"subpaths","mode":"esm","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"168e22bb-092a-49d2-b7ab-09a5cca56562","profileId":"node_24_21_0","group":"subpaths","mode":"commonjs","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"f5782f81-f337-4dcb-a233-09b3d9332a01","profileId":"node_26_10_0","group":"root","mode":"esm","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":641.1834990000352,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":188.876816,"resolvedTo":"file:///workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"bbd47b8d-46a3-4cc7-b401-56f0ecb74434","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":641.1834990000352}]},{"runId":"b6202d4f-9672-4685-9ec9-a3b8bce3934b","profileId":"node_26_10_0","group":"root","mode":"commonjs","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":514.6210170000559,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":179.033234,"resolvedTo":"/workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"72190c76-fa47-44d4-b800-1a7af403c928","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":514.6210170000559}]},{"runId":"489b8eaf-a365-4ec6-b45b-62c459727147","profileId":"node_26_10_0","group":"subpaths","mode":"esm","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"8c408e9a-2721-4e31-895a-9e9c563716fe","profileId":"node_26_10_0","group":"subpaths","mode":"commonjs","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"491d920d-0720-41e8-b6c5-ad9b982d1fd8","profileId":"bun_1_4_2","group":"root","mode":"esm","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":528.8441739999689,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":196.133945,"resolvedTo":"file:///workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"a22c8265-d30b-4f56-9a9b-1eb331a0e5b9","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":528.8441739999689}]},{"runId":"e5d70be5-fa74-4e96-9cbb-6eb36c22baeb","profileId":"bun_1_4_2","group":"root","mode":"commonjs","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":666.0039419999812,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":271.317611,"resolvedTo":"/workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"0cd611f5-dba4-4e93-9901-58d925c0f894","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":666.0039419999812}]},{"runId":"3adf19d2-5993-402c-bf14-46464e9fe986","profileId":"bun_1_4_2","group":"subpaths","mode":"esm","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"73108950-6f36-49fb-a872-eb773b4b128c","profileId":"bun_1_4_2","group":"subpaths","mode":"commonjs","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"b52a98f5-f170-4704-9201-d2ce4f943243","profileId":"deno_2_9_7","group":"root","mode":"esm","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":746.6586709999247,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":304.22053600000004,"resolvedTo":"file:///workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"2843a9d3-f714-486b-ba28-fa255388df37","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":746.6586709999247}]},{"runId":"596519d4-0dfd-40b9-ae9b-c8e13d9ea3a7","profileId":"deno_2_9_7","group":"root","mode":"commonjs","method":"fresh_root_v2","outcome":"pass","evidenceLevel":"smoke_tested","coverage":{"planned":1,"observed":1,"passed":1,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":759.2452300000004,"failure":null,"entries":[{"index":0,"specifier":"mongodb","displaySpecifier":"mongodb","outcome":"pass","durationMs":288.77333400000003,"resolvedTo":"/workspace/node_modules/mongodb/lib/index.js","failure":null}],"sessions":[{"probeId":"8ec9d702-45f8-425c-89ad-ae036f65de9a","startIndex":0,"stopReason":"completed","exitCode":0,"oomKilled":false,"durationMs":759.2452300000004}]},{"runId":"bee0bc43-4263-40e7-8bb1-5bdf6d921424","profileId":"deno_2_9_7","group":"subpaths","mode":"esm","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]},{"runId":"75ad0c8b-82e4-492a-8b00-3f36587f8a0c","profileId":"deno_2_9_7","group":"subpaths","mode":"commonjs","method":"sequential_batch_v2","outcome":"not_applicable","evidenceLevel":"static_only","coverage":{"planned":0,"observed":0,"passed":0,"failed":0,"prerequisiteLimited":0,"interrupted":0,"untested":0,"complete":true},"durationMs":0,"failure":null,"entries":[],"sessions":[]}],"limitations":["Only installation and loading were observed; functional correctness and package safety are not established.","Subpath batches share module caches and globals; root modes use separate fresh sandboxes.","Package-visible harness observations can be tampered with. They are not adversarial attestation.","Evidence applies to these exact artifacts, dependency snapshot, runtime images and Linux amd64/glibc policy.","Runtime error codes are captured observations and can also be thrown by package code."]}}