Commit Graph
9758 Commits
Author SHA1 Message Date
Shelley Vohr 4cc69f9470 src: allow embedder customization of OOMErrorHandler
PR-URL: https://github.com/nodejs/node/pull/57325
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
2025-03-07 10:15:49 +00:00
Daeyeon Jeong 117c1ca9eb src: use Maybe<void> in ProcessEmitWarningSync
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/57250
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-03-06 23:39:49 +00:00
Joyee Cheung a7909014f7 tls: implement tls.getCACertificates()
To accompany --use-system-ca, this adds a new API that allows
querying various kinds of CA certificates.

- If the first argument `type` is `"default"` or undefined,
  it returns the CA certificates that will be used by Node.js
  TLS clients by default, which includes the Mozilla CA
  if --use-bundled-ca is enabled or --use-openssl-ca is not
  enabled, and the system certificates if --use-system-ca
  is enabled, and the extra certificates if NODE_EXTRA_CA_CERTS
  is used.
- If `type` is `"system"` this returns the system certificates,
  regardless of whether --use-system-ca is enabeld or not.
- If `type` is `"bundled"` this is the same as `tls.rootCertificates`
  and returns the Mozilla CA certificates.
- If `type` is `"extra"` this returns the certificates parsed
  from the path specified by NODE_EXTRA_CA_CERTS.

Drive-by: remove the inaccurate description in `tls.rootCertificates`
about including system certificates, since it in fact does not include
them, and also it is contradicting the previous description about
`tls.rootCertificates` always returning the Mozilla CA store and
staying the same across platforms.

PR-URL: https://github.com/nodejs/node/pull/57107
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-03-06 17:16:27 +00:00
Yagiz Nizipli 348393777e src: remove redundant qualifiers in src/quic
PR-URL: https://github.com/nodejs/node/pull/56967
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-03-06 14:54:26 +00:00
James M Snell 157b36b91b src: make even more improvements to error handling
PR-URL: https://github.com/nodejs/node/pull/57264
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-03-05 07:34:37 -08:00
Tim Jacomb b4c8440109 crypto: add support for intermediate certs in --use-system-ca
PR-URL: https://github.com/nodejs/node/pull/57164
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2025-03-05 15:27:26 +00:00
Daeyeon Jeong 345aa1f7c4 src: use cached emit v8::String
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/57249
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-03-05 03:04:29 +00:00
James M Snell 52ac44888d src: make more error handling improvements
PR-URL: https://github.com/nodejs/node/pull/57262
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-03-04 09:11:10 -08:00
Antoine du Hamel 559d481924 src: fix typo in comment
PR-URL: https://github.com/nodejs/node/pull/57291
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
2025-03-05 00:58:31 +10:30
Aditi d3064e8ddb v8: add v8.getCppHeapStatistics() method
Expose `CppHeap` data via
`cppgc::CppHeap::CollectStatistics()` in the v8 module.

PR-URL: https://github.com/nodejs/node/pull/57146
Fixes: https://github.com/nodejs/node/issues/56533
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-03-04 11:14:34 +00:00
Joyee Cheung 0aa3dddfeb module: handle cached linked async jobs in require(esm)
This handles two cases caused by using Promise.all() with
multiple dynamic import() that can make an asynchronously
linked module job that has finished/failed linking but
has not yet started actual evaluation appear in the load
cache when another require request is in turn to handle
it.

- When the cached async job has finished linking but has not
  started its evaluation because the async run() task would be
  later in line, start the evaluation from require() with
  runSync().
- When the cached async job have already encountered a linking
  error that gets wrapped into a rejection, but is still later
  in line to throw on it, just unwrap and throw the linking error
  from require().

PR-URL: https://github.com/nodejs/node/pull/57187
Fixes: https://github.com/nodejs/node/issues/57172
Refs: https://github.com/shufo/prettier-plugin-blade/issues/311
Refs: https://github.com/fisker/prettier-plugin-blade-311
Refs: https://github.com/mochajs/mocha/issues/5290
Refs: https://github.com/JoshuaKGoldberg/repros/tree/mocha-missing-module-cyclic
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-03-04 07:34:34 +00:00
Node.js GitHub Bot 5ac95510c7 deps: update undici to 7.4.0
PR-URL: https://github.com/nodejs/node/pull/57236
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-03-03 23:08:27 +00:00
marco-ippolito 5b7ebbc7b3 deps: update amaro to 0.4.1
PR-URL: https://github.com/nodejs/node/pull/57121
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
2025-03-03 18:30:40 +00:00
Cheng 47a59bde2a src: fix node_config_file.h compilation error in GN build
PR-URL: https://github.com/nodejs/node/pull/57210
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2025-03-03 08:27:31 +00:00
Mert Can Altin 7c910d09e2 module: add dynamic file-specific ESM warnings
PR-URL: https://github.com/nodejs/node/pull/56628
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-03-03 07:35:35 +00:00
Yagiz Nizipli f4dd4bb2b3 src: reduce string allocations on sqlite
PR-URL: https://github.com/nodejs/node/pull/57227
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
2025-03-01 21:00:17 +00:00
Guy Bedford db4dcc05ac esm: support source phase imports for WebAssembly
PR-URL: https://github.com/nodejs/node/pull/56919
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2025-02-28 09:52:47 -08:00
James M Snell 40deed2ebd src: improve error handling in node_messaging.cc
PR-URL: https://github.com/nodejs/node/pull/57211
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-02-28 17:26:08 +01:00
James M Snell 72cfa4b11c src: improve error handling in tty_wrap.cc
PR-URL: https://github.com/nodejs/node/pull/57211
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-02-28 17:26:08 +01:00
James M Snell b4c7ea0dc4 src: improve error handling in tcp_wrap.cc
PR-URL: https://github.com/nodejs/node/pull/57211
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-02-28 17:26:06 +01:00
Marco Ippolito 1a6bef29b2 src: set default config as node.config.json
PR-URL: https://github.com/nodejs/node/pull/57171
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-02-27 21:02:10 +00:00
Edy Silva c7cf6778c7 sqlite,test,doc: allow Buffer and URL as database location
PR-URL: https://github.com/nodejs/node/pull/56991
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-02-27 17:43:13 +00:00
Daniel M Brasil fd453837ea src: fix ThrowInvalidURL call in PathToFileURL
Replace `nullptr` with `std::nullopt` when calling `ThrowInvalidURL` in
`PathToFileURL`. This ensures the function receives the correct argument
type and aligns with the expected behavior.

PR-URL: https://github.com/nodejs/node/pull/57141
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Daniel Lemire <daniel@lemire.me>
2025-02-26 14:34:50 +00:00
James M Snell e03af77418 src: improve error handling in buffer and dotenv
Replacing ToLocalChecked()

PR-URL: https://github.com/nodejs/node/pull/57189
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
2025-02-25 16:41:10 -08:00
James M Snell 6a19fde949 src: improve error handling in module_wrap
Replacing ToLocalChecked()

PR-URL: https://github.com/nodejs/node/pull/57188
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-02-25 15:30:23 -08:00
James M Snell d62d7ca7b5 src: improve error handling in spawn_sync
Replacing more ToLocalChecked uses.

PR-URL: https://github.com/nodejs/node/pull/57185
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-02-25 13:20:33 -08:00
Paul Schwabauer f52a358217 fs: fix rmSync error code
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: https://github.com/nodejs/node/issues/57095
PR-URL: https://github.com/nodejs/node/pull/57103
Reviewed-By: Jason Zhang <xzha4350@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-02-25 21:13:03 +00:00
theweipeng 6cb0690fcc src: detect whether the string is one byte representation or not
References: nodejs#56090
PR-URL: https://github.com/nodejs/node/pull/56147
Fixes: https://github.com/nodejs/node/issues/56090
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2025-02-25 08:01:28 -08:00
Node.js GitHub Bot 9fd90d9df7 deps: update cjs-module-lexer to 2.1.0
PR-URL: https://github.com/nodejs/node/pull/57180
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-02-25 00:53:37 +00:00
James M Snell 8f4d3069af Revert "src: do not expose simdjson.h in node_config_file.h"
This reverts commit 8a9c3c2abd.

This is breaking builds locally and in CI

PR-URL: https://github.com/nodejs/node/pull/57197
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2025-02-24 12:14:49 -08:00
Cheng 8a9c3c2abd src: do not expose simdjson.h in node_config_file.h
PR-URL: https://github.com/nodejs/node/pull/57173
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2025-02-24 13:44:46 +00:00
Chengzhong Wu b7beb3334e inspector: convert event params to protocol without json
Event params object can be converted to inspector protocol directly.
This also enables binary data, like `Network.dataReceived`, to be sent
in the inspector protocol from JavaScript since JSON representation
does not support plain binary data.

PR-URL: https://github.com/nodejs/node/pull/57027
Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com>
2025-02-24 12:36:23 +00:00
Marco Ippolito 56773ba50d src: namespace config file flags
PR-URL: https://github.com/nodejs/node/pull/57170
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2025-02-24 09:54:56 +00:00
Chengzhong Wu 4e1f0ccb4d src: fix crash when lazy getter is invoked in a vm context
V8 should invoke native functions in their creation context,
preventing dynamic context by the caller. However, the lazy getter has
no JavaScript function representation and has no creation context. It
is not invoked in the original creation context. Fix the null realm by
retrieving the creation context via `this` argument.

PR-URL: https://github.com/nodejs/node/pull/57168
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-02-23 14:40:33 +00:00
Yagiz Nizipli 9e6a62f211 url: improve urlpattern regexp performance
PR-URL: https://github.com/nodejs/node/pull/57136
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2025-02-21 14:14:10 +00:00
Paolo Insogna e027791c6d process: add threadCpuUsage
PR-URL: https://github.com/nodejs/node/pull/56467
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-02-21 14:14:02 +00:00
Marco Ippolito 772c609eb4 src: create THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING
PR-URL: https://github.com/nodejs/node/pull/57016
Refs: https://github.com/nodejs/node/issues/53787
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2025-02-20 23:07:43 +00:00
Marco Ippolito f0e653d2af src: add config file support
PR-URL: https://github.com/nodejs/node/pull/57016
Refs: https://github.com/nodejs/node/issues/53787
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2025-02-20 23:07:42 +00:00
Joyee Cheung 8d10bc7b09 module: improve error message from asynchronicity in require(esm)
- Improve the error message that shows up when there is a race
  from doing require(esm) and import(esm) at the same time.
- Improve error message of ERR_REQUIRE_ASYNC_MODULE by showing
  parent and target file names, if available.

Drive-by: split the require(tla) tests since we are modifying
the tests already.

PR-URL: https://github.com/nodejs/node/pull/57126
Refs: https://github.com/fisker/prettier-issue-17139
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-02-20 17:22:08 +00:00
Joyee Cheung d601c7d104 src: do not format single string argument for THROW_ERR_*
If the macros are used as ERR_*(isolate, message) or
THROW_ERR_*(isolate, message) with a single string argument, do run
formatter on the message, and allow the caller to pass in a message
directly with characters that would otherwise need escaping if used
as format string unconditionally.

PR-URL: https://github.com/nodejs/node/pull/57126
Refs: https://github.com/fisker/prettier-issue-17139
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-02-20 17:22:07 +00:00
James M Snell 3b0fce1c96 src: gate all quic behind disabled-by-default compile flag
Due to https://github.com/quictls/openssl/commit/93ae85bd193cfe8d19cfbfb75159a8c8ae003b8d
it is clear that we will need to revert back to using
OpenSSL's official releases. This means we will be forced
to re-implement at least part of the underlying QUIC
implementation to use different crypto APIs. For that
reason, this PR disables building any of the QUIC support
by default and introduces a new compile time flag.

PR-URL: https://github.com/nodejs/node/pull/57142
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jordan Harband <ljharb@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2025-02-20 06:12:27 -08:00
Michaël Zasso 06d5701e0b src: move instead of copy shared pointer in node_blob
Resolves a new warning reported by Coverity.

PR-URL: https://github.com/nodejs/node/pull/57120
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-02-20 12:29:04 +00:00
Carlos Espa 15fec136e8 cli: allow --cpu-prof* in NODE_OPTIONS
Fixes: https://github.com/nodejs/node/issues/56944
PR-URL: https://github.com/nodejs/node/pull/57018
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-02-20 10:11:01 +00:00
James M Snell a724a9e8dd src: replace NewFromUtf8 with OneByteString where appropriate
PR-URL: https://github.com/nodejs/node/pull/57096
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-02-18 21:40:13 +00:00
Antoine du Hamel 2086877e81 src: port defineLazyProperties to native code
This allows us to have getters not observable from JS side.

PR-URL: https://github.com/nodejs/node/pull/57081
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2025-02-18 21:23:01 +00:00
Rithvik Vibhu ef91595e2f dns: add TLSA record query and parsing
PR-URL: https://github.com/nodejs/node/pull/52983
Refs: https://github.com/nodejs/node/issues/39569
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
2025-02-18 10:37:48 -08:00
RafaelGSS 0a4572d6a7 build: add skip_apidoc_files and include QUIC
PR-URL: https://github.com/nodejs/node/pull/56941
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2025-02-17 19:23:39 -08:00
James M Snell 4afc136efa src: improve error handling in node_blob
PR-URL: https://github.com/nodejs/node/pull/57078
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-02-17 17:09:04 -08:00
James M Snell 11e753536e src: improve error handling in multiple files
PR-URL: https://github.com/nodejs/node/pull/56962
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-02-17 13:26:44 -08:00
Cheng 1d8593e3b1 src: fix accessing empty string
PR-URL: https://github.com/nodejs/node/pull/57014
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-02-16 06:45:40 +00:00