►
From YouTube: 22 April 2022 Node.js Node-API Team meeting
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
All
right,
hello,
everyone
and
welcome
to
this
week's
meeting
on
22nd
of
april
2022
of
the
node.js
api.
Before
we
get
started
with
our
usual
business,
does
anybody
have
any
announcements
they
would
like
to
make.
A
A
There
hasn't
been
anything
newly
added.
We
have
this
one
that
we
can
open
up
just
to
see
if
there's
been
any
work
done
on
this.
This
is
failure
on
crash
with
callback
scope,
close
on
testing
legend
house.
Have
you
been
able
to
make
any
headway
on
this
one?
A
Okay,
no
worries
keep
that
open.
Then
then,
the
next
one
that
we
had
is
this
one
here,
which
was
migrating
from
man
to
object,
wrap
some
way
to
determine
the
property
name,
and
we
discussed
this.
I
guess.
Last
week
we
basically
came
to
the
was
this,
the
one
that
we
came
to
the
conclusion
that
it
wouldn't
be
easily
doable
in
with
today's
implementation
of
node
add-on
api.
A
We
can,
let's
just
go
over
this
last
comment
that
was
made
here
and
uses
object,
template
which
has
proxy
like
methods
for
object,
editors
and
setters
in
node
api.
We
use
function,
template
to
add
instance
and
static
properties,
so
that,
in
order
to
mimic
this
behavior
of
demand,
we
would
need
then
to
create
a
new
implementation
that
uses
object,
template
instead.
B
C
Right
and
that's
what
I
my
proposal,
actually
it's
what
I
would
like
to
discuss
today,
I
think
we
can
expect
from
all
engines
to
implement
proxy
like
a
proxy
is
actually
is
a
native
javascript
construct.
A
C
Yeah
like
if
c
in
the
left,
what
handler
can
give
us,
for
example,
multiply.
It
will
actually
simulate
if
this
object
will
be
called
as
a
function.
Method.
Cons
with
head
reconstruct
would
help
us
to
if
somebody
uses
new
with
our
object
so
think
if
it's
used
as
a
constructor,
so
then
we
have
a
solid
different
defined
property,
delete
property,
property
descriptor.
So
think
all
this
kind
of
write,
a
wide
range
of
stuff
which
think
the
object
template
offers.
C
And
it's
a
proof
of
concept
I
can
we
can
with
new
api.
I
can
also
implement
on
top
of
our
hermes,
because
think
clear.
I
already
have
node
api
implemented
on
top
of
hermes
javascript
engine
and
obviously
they
don't
have
object,
template
and
as
but
they
do
have
proxies,
and
I
believe
we
can
do
this.
There.
B
Yeah,
if
the
new
api
is
defined
very
limited
to
the
proxy
ability,
the
reason
that
I
can
see
that
there
are
many
abilities
explored
by
the
object,
template
api,
like
say
native
properties.
They
are
not
very
similar
to
the
proxy.
So
I'm
saying
that
we
should
start
to
provide
api
that
only
providing
abilities
that
we
can
do
with
proxies.
A
Okay,
would
this
need
to
be
something
that
is
implemented
inside
the
core,
or
could
this
just
be
something
that's
done
on
top
of
what
we
already
have
if
that
question
makes
sense,
because
I
I
don't
see
because
if
we're
using
this,
if
we're
using
the
proxy
object,
I'm
just
thinking
that
it's
possible
that.
B
B
A
quick
thought
about
the
mimic
fulfilling
the
ability
in
pure
non-add-on
api
is
that
we
can
try
to
wrap
the
object
with
a
proxy
javascript
api
so
that
we
can
just
get
it
from
the
global
and
wrap
it
with
the
proxy.
But
one
problem
I
can
tell
is
that
we
are
losing
the
ability
to
get
dropped,
negative
objects,
since
we
cannot
get
the
wrapped
naked
object
from
the
proxy
object.
B
There
are
a
wrap
object
around
the
target
target
of
each
other
with
the
proxy
and
object
template
is
not,
and
we
cannot
get
a
wrapped
native
object
with
the
perks.
A
I
see
so.
C
A
Like
one
instant
one
implementation
that
I'm
thinking
is
that
if
the
the
developer
wants
to
be
able
to
have
these
sort
of
like
dynamic
properties
or
whatever,
it
could
be
the
case
that
from
the
javascript
side,
they
would
end
up
creating
a
proxy
on
a
here.
A
They
would
pass
the
the
object
wrapped
method
and,
with
their
handler
inside
their
handler
there,
they
would
be
able
to
do
sort
of
that
dynamic
nature
that
that
they
have
so
if
they
wanted
to,
for
example,
have
different
properties
that
that
sort
of
exists
based
off
of
what
the
let's.
Let's,
for
example,
define
property,
get
own
keys,
apply,
construct.
D
C
What
developers
asking
there.
D
A
On
the
the
native
side,
because
they've
passed
in
the
property
name
from
the
javascript
side,
and
if
this
is
like
an
implementation
that
I
don't
see,
that
would
be
necessary
in
order
to,
or
rather
I
don't
think
there
would
be
any
additional
work
needed
on
the
node
api
side.
In
order
to
support
this.
C
So
what
we
can
do
like
so
it
sounds
like
we
have
what
I'm
here
like
from
our
discussion,
that
thankfully
we
say
that
proxy
can
be
a
good
approach
right
and
the
question
like
do.
We
need
to
do
any
extensions
to
the
node
api
itself
in
order
to
achieve
this
goal,
so
what
I
can
do,
I
can
try
to
create
new
unit
test
which
uses
existing
node
api
to
achieve
all
these
different
goals.
C
First,
and
if
this
unit
test
can
work
just
on
top
of
existing
apis,
we
can
say
yes,
we
can
use
it
as
an
example
to
two
questions
like
this
and
we're
pretty
much
done.
But
if
we,
while
I
kind
of
implementing
this
unit
tests,
I
face
some
issues
and
will
say
like:
oh,
we
need
to
do
something
else.
C
Then
we
I
can
bring
it
to
the
next
next
meeting
next
week.
Is
it
a
good
plan.
A
I
think
that
sounds
good
because,
of
course,
just
like
from
our
initial
thoughts
right
now.
I
guess
it's
difficult
to
know
if
there
would
be
any
problems
and
we'd
only
see
that
if
we
actually
get
down
to
the
nitty-gritty
and
try
to
do
some
some
development
with
it.
A
A
wrapper
on
the
natively
object
wrapped
objects.
Using
this
approach
we
may
be
able
to
do
the
be
able
to
create
the
dynamicness
that
is
requested
in
this
original.
C
Post-
and
I
must
tell
you
that
I
did
this
stuff
year
ago,
on
top
of
chakra
gel
threat
engine-
I
pretty
much
I
had
to
effectively-
I
had
to
do
like
four
different
traps
like
get
set.
I
think
I
can
get
own
properties
and
something
it
was
like
four
different
traps,
it's
something
which
I
I
know
that
I
used
to
do.
A
For
example,
passing
a
let's
see
a
get
handler.
A
Is
determining
if
we
need
to
to
enhance
the
node
api
for
anything?
A
All
right,
then,
I
think
that
is
the
end
of
the
stale
issues,
so
we'll
go
ahead
and
close
that
then
tracking
issues
that
have
been
imported-
nothing
additional
here,
but
we
will
go
here.
I
can
always
do
sort
of
check
the
weekly
downloads.
A
We
had
a
small
dip
over
here
and
usually
what
I
blame.
The
dips
on
are
perhaps
holidays
or
anything
like
that,
and
we
did
just
recently
have
easter.
So
that
could
be
what
this
is
attributed
to,
but
we
are,
of
course,
still
looking
fine
with
this.
A
Then
next
we
have
drive
towards
full
coverage.
Did
we
have
jack
end
up
joining
because
I
don't
see
the
participants
list.
A
A
Okay,
I
test
colors
for
async
context,
closing
the
asic
coverage
basic
context,
coverage
issue,
all
right.
A
Okay,
so
then
this
will
be
one
that
if
the
team
can
can
take
a
look
at
to
see
if
they
see
any
issues.
A
Okay,
I
don't
think
there's
anything
else
for
tests
there
enable
debug
testing,
and
this
is
something
that
michael's
been
working
on.
I
don't
think
there's
been
any
additional
work
since
last
time,
so
we'll
move
on.
A
A
C
I
created
a
new
pull
request,
which
I
need
someone
to
put
this
node
api
attack.
C
On
chord,
so
it's
four
two,
seven
eight
zero.
C
C
It's
it's
about
adding
explicit
calling
conventions
to
all
our
functions
and
all
function,
pointers.
A
Does
not
specify
calling
conventions,
okay,
which
is
critical,
yep,
it's
not
important
for
x64
and
on
windows,
windows,
x86,
there's,
multiple
conventions
and
then
mismatch
causes
a
runtime
crash.
Oh
okay,
previously
added
circle
to
json
api,
but
still
crashes
on
86,
because
it
was
not
added
to
the
function.
A
A
C
Yeah
so
think
the
story
like
I
mentioned
here
like
we,
we're
using
this
node
api
on
top
of
our
v8
engine
and
we're
using
this
v8
engine
for
the
arc
native
and
of
her
office
microsoft
office.
We
used
in
this
react
native
with
v8
and
tank
layers,
and
we
started
to
use
it
with
service
crashes,
on
on
a
kind
of
release,
version
of
x86
and
visible
back.
C
I
was
working
last
week
to
fix
in
our
code
so,
and
I
realized
that,
while
I
can't
change
my
kind
of
our
copy
of
this
just
native
api
dot
h
in
our
repo,
I
thought
it
may
be
beneficial
to
all
other
users
of
this
js
native
api
dot,
h
in
fact
in
the
core
node
api
as
well,
because
the
issue
like
imagine
that
what
happened
in
our
case
because
office
itself
by
default
using
std,
call
as
the
calling
convention
and
this
deal
being
compiled
with
sdd
call
and
thank
you,
then
this,
because
we
don't
have
specified
calling
conventions.
A
Gotcha,
okay,
so
here
you've
added
those
new
defines
that
you
mentioned,
and
then
I
think
you
had
another
one
for
an
api
status
here.
C
A
I
mean
the
the
c
plus
plus
wrapper,
because
we
have
some
things
that
return:
an
api
status.
C
I
didn't
change
that
yet,
but
it
will
probably
will
be
the
next
logical
step
if
we
think
the
c
plus
plus
wrapper
is
not
so
sensitive
because
c
plus
plus
wrappers
says
non-abi
says
like
they
always
suppose
we
consume
the
header
files,
so
they're
not
so
much
concern,
but
because
this
c
functions
actually
on
a
on
our
dll
surface,
like
api
safe
surface,
I
think
we
I'm
open
to
any
suggestion
about
macro.
Should
we
have
this
micro
node
like
we
can?
C
We
can
be
very
explicit
about
it,
but
main
main
point
that
we
must
specify
calling
conventions
explicitly.
You
know
to
be
really
counted
to
be
abs,
api.
C
And
if
somebody
chooses
different
default,
if
we
don't
specify
explicitly
per
function,
we
effectively
start
failing.
A
Right,
okay,
okay,
well
I
mean
this,
it
makes
sense
to
me.
So,
let's
see
what
the
the
rest
of
the
team
has
to
say.
C
Api
tag.
A
It's
interesting
because
I
am,
I
believe
I
was.
I
am
a
member
of
the
team
I
am
indeed
logged
in.
Let's
see
am
I
am.
I
am
a
member,
so
I
don't
know
why
I
don't
have
access,
but
I
guess
nick
or
legendarycast
or
somebody
if
you
could
add
the
node
api
label
to
this
issue.
That'd
be
great
yeah.
I
can
do
it
perfect.
Thank
you
and
then
I
guess
you
had
we're.
A
C
Obviously,
so
I
think
this
the
sun
will
fail,
fails
every
other
time.
That's
it's
probably
not
a
big
deal.
It
was
different
one.
It's
when
trying
to
merge
it's
about
remember,
get
all
properties
michael,
is
actually
about
to
send
something
else
popping
up
like
it's.
There
forever.
A
Okay,
so
now
just
put
a
quick
comment
in
here.
A
Oh
we
just.
A
I'll
put
this
as
a
comment,
and
then
this
will
be
one
that
eventually
the
rest
of
the
team
since
they're
tagged
with
this
tag,
they
could
look
at
all
right.
Were
there
any
other
pr's
or
issues
that
people
wanted
to
bring
up
specifically.
C
I
have
a
few
other
outstanding
pr's,
but
I
let
other
people
speak
first.
I
don't
want
to
take
old
time.
A
I
have
one
that
was
actually
closed
and
it
was
merged
and
closed.
So
I'll
just
give
a
quick
update
to
that,
and
this
was
to
resolve
the
the
hanging
tests
that
we
had
for
threat
safe
functions.
A
A
We've
been
struggling
with
for
a
bit
because
I
couldn't
reproduce
locally,
but
then
I
was
able
to
get
access
to
the
test
machines
which
I
was
able
to
reproduce
it
there
pretty
much
every
time,
and
if
you
remember,
we
were
talking
about
how
it
uses
a
condition
variable
in
order
to
wait
for
the
because
it
starts
different
threads
and
it
uses
a
condition
variable
for
sort
of
thread,
locking
and
whatnot,
and
the
issue
was
that
the
it
was
under
certain
circumstances,
certain
issue,
execution
paths
or
whatever
the
the
main
thread
would
notify.
A
The
condition
variable
before
the
other
thread
would
actually
wait
for
it.
So
since
the
the
weight
would
happen
after.
D
A
Notify
it
ended
up
being,
it
ended
up
blocking,
and
we
fix
this
by
adding
the
predicate
to
the
weight
which
basically
skips
the
weight.
If
this
condition
is
true
and
what
this
test
is
doing
in
this
sort
of
delayed
tsfn
is
that
it
creates
threads
without
having
the
thread
safe
function
attached
to
the
thread's
data
or
whatever,
and
then
the
main
thread
ends
up
setting
the
thread
safe
function
after
some
time.
So
when
the
thread
is
created,
then
it
sets
the
thread
safe
function.
A
So
then,
the
predicate
that's
needed
to
see
if
we
actually
should
wait
is
is
if
the
thread
say
function
is,
is
not
set
and
if
it
is
set,
then
you
can
skip
the
weight,
and
this
seemed
to
resolve
the
hanging
issues
that
we
were
seeing.
C
Yeah,
this
is
correct
fix.
I
also
had
some
issues
with
conditional
variables
before
so,
thankfully,
because
of
their
nature,
they
also
can
be
sporadically
kind
of
wake
up
during
weight,
so
we
must
always,
ideally,
then
we're
using
conditional
variables.
We
always
need
to
provide
some
predicate
and
check
some
variables
so
think
we're
using
the
conditional
variables
as
notification
mechanism
but
kind
of
condition
itself
must
be
always
our
kind
of
custom
condition.
C
A
Think
I
saw
because
I
think
the
the
example
that's
given
on
like
c
plusplus.com
or
whatever
that
website
is
doesn't
have
the
condition
in
the
example.
But
of
course
it
has
this
other
signature
that
gives
the
predicate,
and
then
it
says
it's
used
to
protect
against
those
sporadic
wakeups
that
you
were
mentioning
as
well.
A
So
then
this
was
merged
this
week
and
seems
to
pass
all
of
the
the
ci's
michael
said
that
everything
is
green
again.
So
now,
what
is
what
I
can
do?
Excuse
me
is
rebase
the
format,
all
code,
pr
and
work
on
that
one
again
and
this
time
when
I
rebase
it
I'll
separate
the
the
javascript
commit
into
two
one
for
the
automatically
fixable
ones
and
then
another
commit
for
things
that
had
to
be
done
manually
just
so
that
we
can
see
those
a
little
better.
D
I
I
think
that
now
I
can
start
for
new
release,
because
the
ci
is
green
and
michael
did
the
regression
for
some
some
comment
that
yeah
yeah
so.
A
That
makes
sense
to
me
was
the
did
the
previous
release
have
this
regression
in
it
or
was
it
just
in
master
and
not
released?
Yet?
Do
you
know
yeah,
like
did
the
previous
release?
Have
this
regression.
D
I
can
start
working
on
that
and
yeah
as
usual.
I
start
creating
an
issue,
but
but
I
think
that
I
don't
have
any
blocking
things
for
making
a
race.
I
do
you
agree.
D
A
I
think
that
makes
sense-
okay,
because
I'm
not
familiar
with
some
of
these
pr's
here
it'll
be
good
to
see,
though
everyone
else's
input
on
that.
D
A
All
right
anyone
else,
I
think
you
mentioned
that
you
had
some
additional
pr's
that
you
wanted
to
go
through.
C
Yeah
there
are
two
pr's
also
in
the
works.
I
just
want
to
bring
them
again
to
the
team's
attention.
One
of
them
is
42651.
C
It's
about
implementing
this
pure
finalizers,
we
discussed,
so
I
just
want
if
people
can
have
a
look
on
this
change,
because
I
still
don't
have
probably
no
no
new
unit
tests
on
documentation
but
because
kind
of
relatively
big
change.
I
want
to
kind
of
hear
first,
some
initial
feedback
from
the
team.
C
If
it's
a
approach
we
want
to
go
with,
sounds
like
worth
to
proceed
with
direction.
A
Right,
okay,
so
we
can
hang
in
here
to
get
some
feedback
from
the
team.
A
All
right,
yes,
I
remember
this
one
being
brought
up
and
then
there
was
some
discussion
that
it
would
end
up
changing
these
the
implementation
for
these
methods,
but
since
the
other
one,
the
old
ones,
are
under
an
api
wrap
it's
okay,
now
with
these
new
ones
being
under
node
api,
so
there's
no
breaking
changes
because
we're
only
adding.
D
C
Right
and
also,
instead
of
adding
additional
parameters,
I
changed
the
way
how
we
pass
the
parameters
to
these
methods.
If
you
look
inside
that
all
these
parameters
now
is
a
part
of
for
one
struct
so
like
if,
in
future,
we
need
to
change
it.
So
we
just
need
to
update
this
struct
so
think
we
also
kind
of
lay
the
foundation
for
us
to
be
able
to
expand
this
parameters.
C
If
we
ever
need
to
do
in
future,
I
introduced
new
struct
called,
I
think,
like
native
data,
and
this
native
data
encapsulates
void
star
for
data
itself,
finalizer
and
all
the
hints
and
a
bunch
of
other
stuff,
plus
the
version
of
the
structs.
So
thank
you.
We
can
version
it
in
future
if
we
need
to
yeah.
So
it's
it's
right
now,
yeah
we're
here.
C
And
with
flags
it's
where
we
kind
of
we
can
control
different
behavior
of
this
native
data.
So
currently
it's
just
single
flag
which
pretty
much
differentiates
between
two
different
finalizer
styles,
but
we
can
potentially
add
more
flags
in
huge.
So
thank
you.
It's
also
kind
of
make
it
more
extensible
for
the
future
versions.
If
you
like.
C
We
can
create,
for
example,
conversion
of
any
any
lambda
to
be
struct,
because
previously
it
was
not
possible
because
we
need
to
kind
of
spread
it
up,
and
we
need
to
do
a
little
extra
work,
but
now
like
because
it's
a
predefined
struct,
which
has
certain
pointers
and
things,
and
I
think
it
should
be
possible
to
have
some
c
plus
plus
template.
You
convert
any
lambda
to
this
structure.
C
A
I
think
it
would
be
nice
to
see
an
example
in
a
unit
test,
especially
this
was
to
resolve
the
issue
where,
if
you
were
creating
a
lot
of
objects
that
are
object
wrapped
in
a
loop,
they
were
not
finalized
correctly.
Is
that
correct.
C
Yes,
yes,
because
currently
we
run
all
our
finalizers
as
a
part
of
set
immediate,
which
effectively
happens
after
we
run
main
javascript,
and
the
original
bug
like
a
developer,
was
they're
doing
some
heavy
kind
of
ui
they're.
Creating
a
lot
of
ui
related
objects,
so
they're
creating
a
lot
of
them
and
they
select
this
kind
of
memory
link
right.
They
fix
their
code
by
that
by
introducing
this
await
keyword,
but
we
probably
want
to
have
a
more
better
fix
for
the
future.
A
C
It
wasn't
real
memory
leak,
it's
just
kind
of
memory
was
cleaned
up,
but
occasionally
after.
A
A
Okay,
then
where's
my
comment
there.
It
is
okay,
anyone
have
any
other
prs
or
issues
that
they
would
like
to
bring
up.
C
And
one
more
also
we
discussed
before,
but
again
I
want
to
bring
to
attention
it's
actually
four,
two,
five,
five,
seven.
C
Right,
based
on
our
last
discussion,
I
had
changed
design
like
instead
of
having
completely
new
apis,
I'm
actually
changing
behavior
for
an
api
ref.
So
now
an
api
ref
effectively
has
additional
field
saying
what
type
of
an
mprf
now
it
can
be.
Two
different
types
can
be
like
this.
What
I
call
complex
or
kind
of
traditional
one,
which
we
have
today,
another
one-
it
will
be
just
kind
of
strong
reference.
A
References
and
persistent
the
new
reference
type
I
can
keep
values
of
any
type
of
strong
ref
counted
references
and
the
reference
under
zero
and
persistent
reference
is
deleted.
Okay,
to
support
the
new
and
api
ref
semantic
two
functions
are
added:
create
reference,
a
replacement
for
the
old,
an
api
that
accepts
a
new
parameter
of
ref
type
node
api
git
reference
type
to
get
the
type
of
an
api
ref.
A
Let's
just
take
a
quick
look:
ref
type,
get
reference
type
craft
type.
A
C
Right,
it
was
originally
approved
by
with
this
developer,
but
was
approval
against
this
old
version
and
before
our
team
reviewed
it,
so
I
legend
casts
like
he
put
his
block,
but
no
one
looked
at
this
changed
one,
so
I
changed
this
design
after
that.
So
I
want
to
kind
of
bring
attention
to
the
team
to
the
new
design
which
I
implemented
after
a
last
discussion
about
this
stuff.
A
A
I
see
okay,
all
right.
A
Okay,
we've
got
a
lot
of
progress
done.
Okay,
all
right,
then
does
anyone
else
have
any
additional
issues
or
prs
that
they
would
like
to
discuss.
C
I
want
to
add
a
new
api
effect
which
would
allow
us
to
create
new
strings
which
wraps
up
external
strings,
and
I
generally
want
to
get
your
opinion.
Is
it
something
team
will
be
interested
to
accept.
C
So
now
we
need
to
create
a
new
string.
We
typically
given
like
whatever
buffer
and
then
internally
v8
has
to
copy
to
internal
buffer
to
create
the
string,
and
if
this
string
is
relatively
big,
so
thank
you.
We
have
a
factory
some
kind
of
code
application,
but
the
eight
itself
allows
us
to
have
something
called
like
external
strings
right,
so
think
buffer
for
the
streams
are
kept
in
native
code
rather
than
being
copied
to
maybe
but
like
a
negative
part
like.
C
A
Gotcha,
I
think,
in
order
for
that,
we
would
need
to
do
some
sort
of
investigation
to
see
how,
if
the
other
engines
do,
support
this,
this
method
of
creating
the
javascript
string
pointing
to
data
without
being
copied.
A
I
think
it
was
references
or
something
I
can't
remember,
but
in
order
to
sort
of
get
a
good
feedback
as
to
if,
if
the
implementation,
if
the
additional
api
makes
sense,
we
would
need
to
have
some
sort
of
understanding
about
the
other
javascript
engines.
A
Sorry,
I
think
that
would
warrant
creating
a
post
in
the
discussions
so
that
we
can
keep
track
of
that
and
you
were
going
to
ask:
do
we
have
a
list
of
the
engines
that
we
check?
Yes,
I
I'm
going
to
try
to
in
the
last
couple
of
minutes,
I'm
going
to
try
to
look
for.
A
A
I
cannot
oh
well,
it's
not
open
hermes
because
I
remember
doing
it,
and
so
we.
A
C
So
can
we
consider
this
to
be
the
list
of
all
javascript
engines
which
we
want
to
support
on
a
kind
of
ongoing
basis.
A
C
I
have
two
engines
with
what
I
think
we're
missing
this
list.
Quick
gs-
I
don't
know
if
that's
what's
current
status
developer
still
continues
to
maintain
it
or
not,
but
I
know
that
some
some
projects
actually
using
it
even
inside
of
microsoft
and-
and
I
don't
know-
chakra-
probably
end-
of
life-
support
but.
A
Right,
I
think
that
I
remember
about
chakra
and
I
think,
since
it
was
end
of
life,
we
didn't
we're
not
really
considering
it
that
much
anymore,
but
in
your,
if
you
do
do
an
investigation
for
the
for
the
this
string
pointer,
if
you
want
to
add
any
additional
engines,
you
know
the
the
more
that
we
investigate.
I
think
the
better
off
we
are
to
make
sure
everything
is
okay,
okay,
so
these
were
just
these
were
just
the
ones
that
popped
up
as
possibly
the
the
most
used.
You
know.
A
All
right,
so
then
that
is
it
we
are
out
of
time.
Then,
unless
anybody.