►
From YouTube: Protocol Labs - FVM Building Blocks - DataDAOs - Zak Ayesh - FVM Dataverse Hackathon 2023.
Description
Protocol Labs - FVM Building Blocks - DataDAOs presented by Zak Ayesh at the FVM Dataverse Hackathon 2023.
A
So
great
well
I'm
going
to
hand
over
to
you
Zach
and
yeah.
Take
it
away.
B
Sounds
good
thanks
for
the
intro
yeah,
hey
everyone!
My
name
is
Zach
ayush.
If
you
don't
already
know
me,
I'm
a
developer
Advocate
with
the
fvm
team,
I'm
Matt's,
my
colleague
and
today
I'm
going
to
be
talking
about
data
dials
on
the
F
evm
or
the
file
coin.
Ethereum
virtual
machine.
B
Let's
go
ahead
and
move
on
so
quick
story.
You
might
have
already
heard
this
if
you've
seen
some
of
my
previous
stocks,
but
one
of
my
first
projects
getting
into
solidity
and
the
smart
Contracting
space
was
making
a
dynamic
nft
with
a
picture
of
my
cat.
So
this
is
my
cat
Coda.
He
looks
like
a
demon
in
this
picture,
but
I
swear
he's
a
very
sweet
kitty,
but
essentially
the
the
nft
was
a
dynamic
nft
play
on
Schrodinger's
cat
right.
B
So
if
you're,
a
nerd
like
I
am
and
familiar
with
physics
and
and
science
jokes
shooting
yours
cat
is
a
cat
that
you
know,
you
open
the
box
and
it's
either
alive
or
dead,
with
a
50
50
chance.
Of
course,
I
would
never
want
my
cat
to
be
dead.
So
instead
there
was
a
50
50
chance.
B
You
would
admit
this
box
and
after
you
mint
it,
it
could
either
become
a
attack
cat,
which
is
the
cat
that
you
see
here
or
a
sleeping
cat,
and
today,
I'm
gonna
actually
use
this
same
photo
of
the
attack
cat
to
make
a
deal
proposal
on
the
file
coin.
Network
and
we're
gonna
make
that
deal
proposal
via
Adele
right
instead
of
just
making
the
deal
proposal,
normally
we're
going
to
make
the
deal
proposal
by
going
through
some
Dow
contracts.
B
First
and
by
deal
proposal
means
storage
deal
right,
so
the
Fallout
4
network
has
made
the
store
deals.
We'll
talk
about
that
in
a
bit
right,
so
I'm,
going
to
give
a
little
bit
of
introduction
on
Deal,
making
on
filecoin
give
a
little
bit
of
introduction
on
Dows
and
then
we're
gonna
go
on
a
quick
demo.
B
I
have
I
have
about
30
minutes
today,
so
the
demo
is
going
to
be
kind
of
compressed
I've,
already
pre-run
a
lot
of
the
commands,
but
just
to
give
you
an
idea
of
this
Dow
starter
kit
that
we
have
that
you
can
take
advantage
of.
If
you
want
to
experiment
with
making
dials
on
fevm.
B
So
quick
introduction,
if
you're
not
familiar,
you
know,
the
fvm
project
delivers
on-chain
programmability
on
the
file
coin
network,
so
the
fem
is
the
file
coin
virtual
machine,
and
specifically,
we
have
the
ethereum
virtual
machine
virtualize
on
top
of
the
fem,
and
that
is
the
fevm
right.
So
that
allows
us
to
take
advantage
of
all
of
the
ethereum
virtual
machine
things
we
may
be
used
to.
B
So
the
fdm
itself
is
based
in
webassembly,
it's
built
to
support
multiple
runtimes,
but
again
we're
going
to
be
using
the
fevm,
so
the
ethereum
virtual
machine
on
filecoin
right.
So
you
can
use
solidity
Viper,
anything
that
compiles
to
evm
code
and
run
it
on
the
file
coin.
Blockchain
right,
and
so
one
of
the
big
deals
with
this
is:
you
can
actually
propose
storage
deals
with
smart
contracts.
B
B
B
This
was
created
a
while
back
to
create
a
deal
client
via
a
smart
contract,
so
essentially
a
smart
contract
that
emits
an
event
and
creates
a
storage
deal
talk
a
little
bit
about
that
in
a
bit,
but
the
underlying
infrastructure-
for
this
is
this
Library
called
filecoin.soul
created
by
our
friends
at
zondex,
excellent
team.
B
And
so
essentially,
when
filecoin.soul
is,
is
it's
an
interface
between
the
smart
contract,
evm
world
of
file
coin
and
the
traditional
apis
that
we
would
use
to
make
deals
on
file
coin
before
the
fvm
was
a
thing
right?
So
if
we
go
here,
you
know
we
can
look.
This
is
still
a
beta
software.
B
So
there's
a
bunch
of
assumptions
in
here,
but
if
we
go
into
contracts
we
can
see
these
API
contracts.
A
really
interesting
one
to
use
is
the
market
API.
B
This
basically
gives
you
all
the
apis
to
read.
What's
going
on
in
the
file
coin,
Market
market
for
storage
deals
right,
so
you
know
you
can
put
in
a
specific
deal
ID
and
get
the
deal
commitment,
which
is
the
PC
ID
for
that
deal
we
can
get
the
client
of
that
deal,
which
is
the
address
of
whoever
or
whatever
is
requesting
that
deal,
and
so
this
is
really
the
underlying
contracts.
The
underlying
everything
we're
about
to
go
talk
about
going
forward.
B
And
so
yeah
we
we're
talking
about
storage
deals,
let's
kind
of
make
it
real
to
see
it.
We're
going
to
go
to
Phil
Fox
I
already
have
a
fill
Fox
tab
open
here,
I'm
gonna
make
sure
we're
on
hyperspace
do
note
that
soon
hyperspace
will
be
deprecated
and
we
will
be
doing
everything
on
calibration
net
but
for
the
time
being,
everything's
on
hyperspace,
so
I'm
doing
this
demo
here.
B
A
And
Jack,
can
you
just
zoom
in
a
little
bit
on
the
on
the
screen
that
just
make
that
a
bit
bigger
is.
A
Yeah
yeah,
that's
good
thanks!
Brilliant.
B
Awesome
yeah,
so
we
have
the
deal
IDs
here
and
the
deals
that
are
stored
on
the
file
core
and
blockchain
right,
so
I'll
click
on
Deal,
ID,
1652
and
that'll
pull
up
that
that
information
right.
So
this
is
reading
that
that
API
in
the
background
and
getting
all
that
data,
and
so
this
is
what
fileco.full
is
actually
reading
from.
When
we
read
from
the
market
API
right
like
if
I
typed
in
Deal,
ID,
6,
15,
1652.
B
And
I
went
and
called
that
get
deal,
data
commitment,
method,
I,
would
pull
in
this
PC
ID
in
bytes
form
into
my
smart
contract
right.
So
these
are
kind
of
final
coin.
Deals
on
test
Nets
like
hyperspace.
A
lot
of
things
like
collateral
and
payments
are
set
to
zero
deals
are
a
bit
smaller
to
just
help
you
devs
and
actually
just
test
out
your
workflows
on
these
test,
Nets
right,
but
on
mainnet.
These
deals
do
require
collateral.
B
They
are
a
lot
require
payments
be
set
up
for
for
the
for
the
providers
right.
B
So
you've
heard
me
say:
pcid
just
quick
summary:
if
you're
not
familiar
with
it,
a
pcid
is
basically
it's
like
a
hash.
It's
not
exactly
a
hash,
it's
more
complex
than
that,
but
it's
essentially
a
hash
at
the
top
of
what
we
call
an
ipld
dag
that
represents
the
data
right.
So
every
piece
of
data
will
have
a
unique,
a
unique
PC
ID
for
it
I'm
not
going
to
go
into
too
much
detail
here,
since
we
want
to
get
to
the
good
stuff
again.
So
traditionally,
deals
were
made.
B
Deals
were
made
at
a
API
level.
The
process
was
quite
long
and
required
a
lot
of
steps
on
the
on
the
person
trying
to
make
the
deal,
and
so
when
you're,
building
your
Dow
and
if
you
want
to
automate
making
a
deal,
you
have
kind
of
two
main
design
patterns
you
can
use.
B
One
is
a
bounty
hunter
design
pattern
which
just
allows
people
to
crowdfund
money
into
a
smart
contract
and
request
a
bounty
hunter
Make,
a
Deal
and
if
they
make
that
deal,
it'll
read
it
from
the
market
API
and
pay
out.
Whoever
made
actually
made
the
deal
that's
been
requested
via
the
smart
contract
automatically
right.
B
This
is
not
the
one
we're
going
to
be
using
today,
though,
we're
going
to
be
using
the
client
contract
right.
So
this
is
that
contract
I
mentioned
earlier
in
the
in
the
presentation,
and
this
allows
you
to
Omit
an
event
for
a
specific
deal
with
all
of
the
deal
information
and
say
where
that
information,
where
that
data
you
want
to
be
stored,
is
where,
like
a
storage
provider,
can
retrieve
it
and
storage
providers
will
pick
it
up
and
as
long
as
everything
matches,
they'll
automatically
store
that
deal.
B
So
that's
kind
of
the
like.
You
know,
tldr,
on
Deal,
making
there's
a
lot
of
good
videos
in
a
previous
talks
in
this
hackathon.
B
If
you
want
to
learn
a
little
bit
more
detail
about
that,
but
now
we're
going
to
go
into
what
are
Dows
and
what
are
data
Dows,
specifically
right
and
so
a
dow
is
a
decentralized
autonomous
organization
right,
big
words
but
I
just
think
of
it
as
adding
governance
to
your
smart
contract
right,
so
I
live
in
a
condo
and
for
anything
to
get
done
in
my
condo.
B
All
of
us,
homeowners
have
to
vote
on
proposals
and
I
mean
these
proposals
range
from
something
as
small
as
allowing
specific
decorations
on
our
doors
right
and,
of
course,
everyone.
You
know
rolls
your
eyes.
B
You
know
when
you
hear
about
these
HOA
processes,
like
oh
man,
I,
don't
want
to
have
to
deal
with
all
of
that
in
my
own
home,
but
when
you're
living
in
a
building
with
a
bunch
of
other
people,
there's
a
lot
of
different
concerns
that
come
from
different
homeowners,
it's
important
that
we
represent
those
concerns
right
and
smart
contracts,
a
lot
of
them.
We
want
them
to
be
owned
by
the
community,
there's
some
processes
and
smart
contracts
that
just
can't
be
automated
and
require
a
human
touch.
B
If
we
want
to
keep
these
smart
contracts
as
decentralized
as
possible,
we
should
allow
the
community
that
has
a
vested
interest
in
that
protocol
to
vote
on
what
they
want
to
do
with
that
protocol,
how
they
want
to
upgrade
it.
What
functions
they
may
want
to
run
at
a
specific
time
right,
and
so
that's
kind
of
what
a
dow
is.
It's
a
bunch
of
contracts
that
overlay
on
another
contract
to
allow
for
voting
and-
and
things
like
that-
and
you
know
I
kind
of
have
this
here,
but
she's
just
Lee.
B
But
what
is
data
data
is
a
collection
of
discrete
values
that
convey
information
I'm
not
going
to
go
to
the
whole
I
think
you
all
know
what
data
is
right,
so
we're
just
combining
data
with
dows
and
really
what
we
mean
by
this
when
we're
talking
about
it
is
dial
storing
data
on
filecoin
right,
so
filecoin
again
is
the
blockchain
tailor-made
to
store
data.
So
why
not
make
dowels
around
that
use
case?.
B
But
you
know
it's
really
still
the
early
days
of
this.
You
know,
data
dials
haven't
been
completely
fleshed
out,
there's
a
bunch
of
different
ideas
floating
around,
but
we
haven't
seen
any
huge
ones.
So
you
still
have
the
opportunity
to
find
to
Define
what
a
data
doubt
is.
B
B
B
So
the
governance
tools
I'm
going
to
be
showing
actually
use
these
open
Zeppelin
contracts
when
possible,
I
always
suggest
using
open,
Zeppelin
they're
audited
a
very
professional
team,
and
these
are
kind
of
use
all
of
the
best
practices
as
solidity
devs,
and
you
know
why
reinvent
the
wheel
right,
and
so
you
know
you
can
just
kind
of
type
in
if
you
want
to
find
this.
B
You
know
governance,
open,
Zeppelin
and
it'll,
be
here
at
some
of
the
first
options
for
you
right
and
this
just
kind
of
gives
you
an
explanation
on
all
of
the
smart
contracts.
We're
going
to
use
we're
gonna,
set
up
a
token
contract,
erc20
votes
to
give
voting
rights
out
to
the
community
members.
We'll
have
a
governor
contract
that
actually
kind
of
manages
the
votes
and
will
have
a
time
lock.
Contract
that
puts
a
delay
in
after
votes
have
passed
to
allow
community
members
to
exit
for.
B
A
great
tutorial,
I
suggest,
if
you
really
want
to
learn
this
more
in
depth,
is
Patrick.
Collins
has
a
great
Dow
tutorial
on
YouTube
I,
actually
used
it
to
help
me
make
this
dial
kit
that
we're
going
to
go
through
in
a
bit
really
excellent
tutorial.
He
goes
into
depth
codes
it
from
the
ground.
Up,
takes
a
lot
more
time
than
I
have
today,
so
I
highly
suggest
you
give
it
a
a
look-see.
B
You
know
if
you
just
type
in
Patrick,
Collins
Al,
you
know
on
Youtube
it'll
come
up
and
you
know
he'll
walk
through
how
to
build.
These
opens
Upland
contracts
right.
B
And
finally,
we
have
this
doubt
app
kit
kind
of
built
on
that
architecture,
but
here
in
our
contracts,
we're
going
to
have
the
deal
client
right
that
I
talked
about
earlier.
This
is
the
contract
that
will
emit
that
event.
That
storage
providers
can
pick
up
and
use
to
store
data
right,
okay,
and
so
you
can
find
this
in
a
file
coin
project,
fevm
data,
dial,
kit
and
scroll
down.
B
You
know
this
is
a
beta
kit,
so
it's
still
being
built.
There's
going
to
be
a
lot
more
functionality.
I
think
we
foresee
for
data
Dows
a
lot
more
tools
being
built
on
top
of
that,
but
for
right
now
we
have
the
basics.
You
know
opens
up
on
contracts,
wrapping
the
data
client
contract
right.
We
have
all
the
instructions
we
need.
You
know
how
to
clone
it
and
all
that
good
stuff,
so
I'm
actually
going
to
switch
now
to
my
vs
code.
B
Up
thanks,
awesome,
yeah!
Let
me
know,
let
me
know
if
the
text
is
small.
I
know
these
can
get
kind
of
small
I
haven't
Ultra
wide.
So
that's
why
the
text
always
gets
a
little
weird
on
here,
but
yeah.
So
here
you
know:
I've
cloned
I've,
already
cloned
this
kit
into
my
file
holders
and
I've
kind
of
already
opened
this
to
save
us.
Some
time.
I've,
like
pre-ran,
a
bunch
of
commands,
I'll
tell
you
what
commands
I've
run,
but
you
know
a
lot
of
these
take
time.
B
There's
again
delays
built
into
a
lot
of
this.
So
that's
why
I've
got
go
gone
ahead
and
like
kind
of
prepared
this
already
but
yeah,
you
know
after
you
clone
it
and
you
open
it.
The
first
thing
you'll
want
to
do,
of
course,
is
run
yarn
in
the
terminal.
B
Oh,
it's
too
big
yep,
so
you're
going
to
want
to
run
yarn
in
the
terminal.
This
will
download
all
your
packages
and
then
you'll
run
a
yarn,
hard
hat,
deploy
right
and
this
will
run
our
deploy.
Scripts
in
this
case,
I'll
run
through
them.
Real
quick,
our
deploy
scripts
are
a
little
bit
more
complex
than
just
straight,
deploying
them
right.
They
do
a
lot
of
setup
right.
So
if
we
look
here
at
our
first
deploy
script.
B
B
And
we
actually
call
the
delegate
function
right,
so
we're
not
just
deploying
it
we're
deploying
it
and
delegating
the
a
token
to
our
the
wallet,
that's
actually
making
the
deploy
right.
So
again
we
have
these
erc20
votes
contracts
right.
B
If
I
look
through
the
contracts
here,
you
can
see,
we
have
the
Dow
deal
client.
We
have
the
data
governance
token,
which
is
the
token
that
we've
set
up
well.
Siri
wants
to
go
off
for
some
reason:
we
have
our
data
governance
token.
This
is
used
to
delegate
out
voting
rights
to
community
members.
B
You
have
the
governor
contract,
which
actually
takes
into
votes,
and
this
is
really
kind
of
the
brains
of
the
governance
process
and
you
have
the
time
lock,
which
provides
that
buffer
again
in
between
the
governor
and
the
logic,
which
is
the
data
Dao
deal
client
right.
So
whenever
the
governor,
you
know,
you
make
a
proposal,
a
bunch
of
people
vote
on
that
proposal
when
it
passes
and
like
it's
going
to
call
a
function
on
the
Dow
deal.
B
Client
we'll
have
the
time
lock
in
the
middle
kind
of
intercept
that
and
create
a
delay
that
way.
People
say:
hey,
I,
see
this
vote
coming
in
it's
going
to
execute,
I,
don't
agree
with
it.
I
don't
want
to
be
a
part
of
this.
They
can
exit
the
ecosystem
right,
and
so,
when
we're
actually
sending
these
deployments,
you
know
we're
deploying
the
token
contract
we're
delegating
some
tokens
to
ourselves.
So
we
can
vote
we're,
deploying
the
time
lock,
contract
and
setting
its
initial
parameters
right.
It's
Constructor.
B
We
set
up
rules
in
our
contracts
here
in
the
time
lock,
all
these
roles
need
to
be
set
and
finally,
we
deploy
the
deal.
The
Dow
deal
client
contract
and
we
set
the
owner
as
the
as
the
time
lock
contract
right.
B
So
this
way
the
contract
goes
and
it's
out
of
our
control
immediately.
The
Dow
has
control
of
the
contract
and
no
one
else,
which
is
very
important
for
decentralization
right,
and
so,
when
you're,
on
a
hard
hat,
deploy,
you
aren't
hard
to
hard
to
deploy
it's
going
to
go
through
each
of
those
contracts.
B
In
the
order
that
they're
listed
and
if
I
scroll
up
here,
you
can
see
it
going
see,
It'll
compile
everything,
it'll
deploy
the
data,
governance,
token
it'll
delegate
it
deploy
the
time
lock
and
it's
going
to
run
through
each
of
those
commands
right.
This
takes
some
time
there's
a
lot
of
different
methods
that
need
to
be
run
yeah
once
you
do
that,
and
you
have
everything
deployed,
you
can
actually
run
the
scripts
for
the
Dow
right.
B
So
we
have
three
scripts
here,
propose
vote
and
queue
and
execute
right,
so
propose
we'll
call
the
proposed
function
on
our
governance
contract
and
just
propose
a
data
deal
data,
a
deal
proposal.
Sorry,
so,
basically
a
proposal
for
data.
We
want
to
store
on
the
file
coin
Network
and
if
we
actually
look
in
our
helper
hard
hat
config
you'll
see
here,
we
have
hard-coded
the
deal
proposal
that
we
want
to
propose
a
lot
of
proposed
terms
being
thrown
around
here.
B
But
essentially
this
is
the
data.
We're
saying:
hey,
I,
have
this
PC
ID
somewhere?
The
data
is
this
size
I
want
the
data
to
be
stored
on
this
block.
The
deal
ends
on
this
block
and
you
know
you
can
find
the
actual
data
to
retrieve
it
here
and
some
other
deal
parameters
right.
B
B
You'll
see
here,
you
know
this
is
me
running
the
command
and
it's
proposing
make
deal
proposal
on
the
contract.
All
that
data,
that
was
in
the
helper,
hard
hat
config
and
again,
the
this
proposal
is
to
store
that
picture
that
attack
cat
picture
I
had
at
the
beginning
right.
So
you
know
we
have
a
little
description,
store,
attack
cat
and
it
went
through
gives
you
the
proposal
ID
and
tells
you
hey.
B
B
So
you
know
if
you
have
a
token
one
token
in
this
scenario,
there's
one
token
one
vote.
This
is
kind
of
where
it's
up
to
you
to
design
your
Dow.
How
you
want
it
to
be.
This
is
one
of
the
most
simple
ways
to
implement
a
Dao
and
remember
we
delegated
tokens
to
ourselves
at
the
beginning,
which
allows
us
to
vote
when
we
deployed
the
contracts
right,
and
so
this
contract
automatically
votes
for
that
proposal.
B
Right
and
so
again
you
would
run
yarn
hard
hat
run,
grips,
slash,
propose,
dot,
Js
and
that
would
run
the
command
the
vote
right
here.
Right
and
you
say
voting,
you
know,
let's
get
that
cat
stored
and
it
goes
through
and
it
moves
the
current
proposal
sit
to
one
which
means
hey.
It's
voted
on.
It's
ready
to
go
and
the
last
script
you
would
need
to
run
to
execute
that
vote
is
queue
and
execute
so
yarn,
hard
hat,
run
scripts,
slash.
B
B
Execute.Js
and
I'll
actually
run
this
one,
and
so
then
that
will
go
through.
Hopefully
it
goes
through
and
too
much
time
may
have
elapsed
since
we
voted
on
it
but
yeah,
so
that
is
kind
of
the
the
data
dial
kit
in
a
nutshell,
definitely
going
to
be
a
lot
of
development.
On
top
of
this
I'm
gonna
go
ahead
and
go
back
to
my
presentation
to
end
this
up.
B
All
right
so
yeah
that
was
a
quick
overview
of
the
data
Dow
kit,
again
some
resources.
If
you
want
to
be
able
to
find
this,
you
can
find
it
at
on
our
GitHub.
Here's
a
QR
code
and
a
link.
B
Also
links
to
our
Foundry
starter
kit.
This
was
actually
started
by
a
Community
member
always
wanted.
Thank
you
for
making
this
and
we've
kind
of
taken
it
over.
So
this
has
a
bunch
of
starter
contracts
and
starter
scripts
to
get
you
started
on
to
get
you
started
with
developing
on
the
fevm
using
Foundry.
B
We
have
the
hard
hat
starter
kit,
which
is
the
same
thing,
but
for
developing
with
hard
hat.
If
that's,
if
that's
what
you
so
choose
the
deal
making
app
kit
right.
So
if
you
want
to
learn
a
little
bit
more
about
just
specifically
the
deal
making
process
that
you
saw
with
that
deal,
making
contract,
please
check
out
this
kit,
there's
actually
a
big
PR
in
that
should
be
merged
very
soon
to
refactor
the
whole
kit
and
make
it
a
little
bit
more
easy
to
use.
But
this
is
kind
of
the
go-to
kit.
B
If
you
want
to
just
focus
on
that
one
piece
and
finally,
for
everything
else,
we
have
this
awesome
link
tree
with
a
bunch
of
other
resources
that
you
can
check
out
to
help
you
along
your
journey
developing
on
the
FV.
B
So,
thank
you
for
listening.
I
know
that
was
a
lot
really
fast.
I
hope
you
found
it
helpful
and
again,
if
you
want
a
little
bit
more
help
or
have
questions,
feel
free
to
reach
out
check
out
all
those
resources
I
pointed
to
earlier
and
Happy
hacking.
A
Fantastic
thanks
a
lot
Zach
that
was
great
I,
don't
know
if
people
have
any
questions,
we're
kind
of
running
just
a
little
over
time,
because
we
gave
some
time
at
the
start
just
to
wait
for
people
to
come
in.
A
But
if
people
have
any
questions,
if
you
want
to
put
them
in
the
in
the
chat
now,
we'll
just
spend
a
couple
of
minutes
and
then
we've
got
the
next
speaker
queued
up
ready
to
go
so
we've
got
a
the
next
talk
is
with
matricesh
from
spheron
who'll
be
coming
on
in
just
just
a
moment.
Homosexual
assist
I'll
I'll,
bring
you
on
in
just
a
second
I
just
want
to
see.
A
If
we've
got
any
questions
for
Zack
on
here,
someone's
asking
about
the
where
they
can
get
access,
your
slides
and
yes,
I'm
sure
we'll
make
them
available
via
Discord
in
there
as
well
put
them
in
the
Discord,
the
ipfs
Discord.
So
that's
where
most
of
like
the
the
help
and
support
is,
is
happening
kind
of
throughout
the
hackathon
in
the
ipfs
Discord.
A
A
Yeah,
okay,
yeah.
That
would
be
cool
right,
okay,
so
I,
don't
think.
We've
got
any
more
questions
here.
If
anybody
has
any
more
questions,
yeah
as
Colin
Papillion
says
in
the
in
the
chat,
you
can
put
them
in
the
Discord
chat
as
well.
So
brilliant
thanks,
very
much
Zach
and
great
and
we're
gonna
now
move
on.
Thank.
A
Yeah
no
problem
we'll
move
on
to
next
talk.
So
now
we've
got
Mitch.