►
Description
AsyncAPI Conference 2021 - Day 2
17th November 2021
Understand what AsyncAPI is and how it plays well with AsyncAPI Glee framework
https://github.com/asyncapi/glee
A
A
The
purpose
was
to
define
and
design
a
document
and
design
even
driven
microservices,
then
it
it
went
well
also
for
internet
of
things,
api
and
and
for
streaming
apis
in
general,
right
and
and
pretty
much
any
any
any
system
based
on
messages.
So
I
want
to
make
clear
that
the
specification
is
protocol
agnostic.
That
means
that
it's
not
for
kafka.
This
is
not
for
mqtt.
This
is
not
for
web
sockets.
It's
for
any
kind
of
protocols.
A
Actually
it
has
some
some
mechanisms
to
to
let
you
define
protocol
specific
information,
whatever
protocol
you
have
even
your
in-house
building
house
protocols,
we
also
develop
a
bunch
of
tools,
really
a
bunch
to
help
you
out
with
this,
because
we
think
that
a
specification
without
tool
without
tools
is
just
a
a
document
write
a
piece
of
paper
if
you
want
so
we
want
to
provide
you
also
with
the
best
tools
possible
to
to
work
with
the
spec
right
so
go
to
the
website.
A
Asyncpad.Com
and
you'll
find
out
a
lot
of
about
a
lot
of
tools
like
you
know,
we
have
studio,
which
is
right
now
in
beta,
really
cool
generator,
which
is
capable
of
generating
code
and
and
and
documentation,
and
a
bunch
more
you'll,
see.
A
As
I
said
before,
in
the
beginning,
I
don't
for
this
talk.
I
didn't
want
to
talk
so
much
and
I
preferred
that
you
see
a
demo
of
myself,
so
I'm
gonna
just
jump
into
into
a
demo
and
and
you'll
see
how.
How
can
I,
how
I'm
using
async
api
to
build
even
driven
architectures.
A
A
So
we
are
we're
just
hardcoding
the
users,
and
then
we
have
user
two
here,
which
is
my
friend
lucas,
and
he
can
see
exactly
the
same
publications
as
I
do.
We
there
are.
There
are
only
publications
from
me
and
him
basically
cool.
So
how
did
we
build
just
for
you
just
for
the
reference
before
I
continue,
you
can
see.
This
is
failing.
A
Firefox
can
establish
a
connection
to
the
server
blah
blah
blah,
of
course,
because
that's
only
the
front
end
there's
no
back
end
yet
and
that's
what
we
are
going
to
be
working
on
right
now.
If
I
click
on,
like
you
see
that
it
does
nothing
on
the
front
and
stuff,
but
it
doesn't
count
cool,
so
let
me
get
back
to
the
diagram,
so
this
is
more
or
less
the
architecture
that
we're
going
to
be
creating
right.
A
Now
we
have
the
browser
already
done,
the
browser
I
mean
the
front-end
already
done
so
the
browser
is
going
to
be
communicating
with
a
websocket
server
and
the
websocket
server
is
going
to
be
either
replying
to
the
browser.
With
some
events
replying,
I
don't.
I
don't
like
to
say
replying
in
this
context.
It's
not
a
reply.
It's
going
to
be
sending
and
receiving
messages
from
the
browser,
and
some
of
them
are
going
to
be
forwarded
to
an
mqtt
broker.
A
A
So
just
so
you
see
it,
it
is
just
so
you
can
see.
The
full
picture
is
whenever
we
hit
like
on
one
of
these
buttons
on
one
of
these
publications
as
a
an
event
is
sent
to
the
websocket
server
and
it's
forwarded
to
the
mqtt
broker,
which
then
reaches
the
notification
service,
saying
that
someone
has
liked
a
public
publication
and
there's
some
bit
of
a
logic
there,
depending
on
if
you're
liking,
your
own
publication
or
others
publication,
it
might
send
or
not
send
a
message
to
slack
the
notification
to
slack
cool.
So
that
is
it.
A
A
That's,
I
would
say
very
basic
one
and
for
our
database
we
have
this
dbjson
file
very
rudimentary,
but
for
the
purpose
of
the
demo
is
more
than
enough,
so
we
have
our
users
here.
We
have
friend
mendes
lucas
and
all
the
posts
and
that's
it
and
all
the
likes
right
now
there
are
no
likes
cool,
and
so
let's
get
started,
let's
create,
let's
create
first
of
all,
a
a
an
async
api,
anything
kpa
file
or,
let's
create
the
the
back
end
of
the
the
server
the
websocket
server.
Okay.
A
So,
let's
start
with
mpx
create
glee
app
and
we're
going
to
call
it
server
just
to
make
it
easier.
This
is
going
to
create
a
a
is
one
of
our
frameworks
that
works
with
async
api.
Very
well,
it's
so.
It's
really
well
integrated
with
the
specification
and
uses
the
specification
as
a
config
file.
So
that's
it!
I
don't
want
to
wait
a
lot
for
npm
to
install
all
the
dependencies
continue
on
another
terminal.
As
you
can
see,
we
also
have
to
build
our
notifications
service
so.
A
Notifications
service,
yes,
spelled
cool,
so
I'm
gonna
do
these
two
things
in
parallel
in
the
meantime,
so
this
one
is
installing
the
it's
creating
the
server
app
and
installing
glee
and
all
the
dependencies,
and
this
one
is
doing
the
same
for
the
notifications
service.
Remember
this
is
the
websocket
server.
This
is
the
notifications,
service
and
they're
both
and
are
going
to
have
an
async
api
definition
yeah.
Let
me
check
how
server
is
doing.
A
It's
got
take
some
time
cool,
so
next
steps
are
going
to
be
like
once
we
have
our
server
and
our
notifications
service
already
created.
I
mean
the
the
basic
project
I'm
going
to
edit
the
async
api
file
that
it
generates.
As
a
demo.
Let's
say
you
can
see
that
we
have
an
asymptote
file
here.
We
have
a
bunch
of
folders
and
files,
we're
gonna
get
into
this
soon,
but
we
have
an
async
api
yaml
file
here.
A
So
I'm
gonna
just
demo
this
how
we
can
be
sorry,
I
have
to
switch
to
server
folder
async
api
start
studio.
Let's
use
studio
is
one
of
our
latest
tools
to
to
edit
a
cpa
file.
It's
an
editor
that
works
in
the
browser.
Let
me
check:
why
is
it
not
working?
Okay,.
A
Not
now,
okay
and
we're-
and
it's
telling
us
to
convert
to
the
newest
version
of
facing
kpi,
so
the
latest
one
is
2.2.0,
so
I'm
going
to
convert
it
and
cool
it's
converted.
So
what
is
it
so?
This
studio
is
our
latest
editor,
as
I
was
saying
before,
and
here
we
can
add
snk
file
and
let's
just
change
this.
So
this
is
our
the
social
network
server.
This
is
our
server
version.
Doesn't
matter
here
right
now
and
we're
going
to
be
listening
on
url
websockets,
blah
blah
blah.
A
I'm
gonna
give
it
a
second,
oh
it's
having
some
high
load
recording
the
screen
is
nothing
for
the
browser.
I
guess
I'm
gonna
close
it
here.
So
the
cool
thing
that
I
was
about
to
say
is
that
while
I
was
editing
on
the
browser,
this
was
editing
our
file.
Here
it
was
connected
through
the
through
the
cli
right.
When
I
run
async
api
start
studio,
it
was
precisely
connecting
the
browser
and
our
file
system,
so
I
can
edit
this
file
anywhere.
I
I
prefer
so
let's
continue
here.
A
This
will
be
working
fine
outside
this
demo,
like
I'm
recording
the
screen
so
yeah
my
fan
is
about
to
my
computer
is
about
to
start
flying.
I
don't
know
if
you
can
hear
it,
but
yeah
it's
making
a
lot
of
noise
yeah.
I
was
saying
that
mosquito
is
our
mqtt
server.
I'm
using
test
mosquito
and
mosquito
has
mqtt
has
a
peculiarity.
Let's
say
it's
required
to
use
the
client
id
of
mqtt
so
to
connect
to
mosquito.
We
need
to
provide
the
client
id.
A
So
what
I'm
going
to
do
here
is
I'm
going
to
use
this
api
bindings
feature
which
allows
us
to
provide
mqtt,
specific
details
and
client
id
and
I'm
going
to
use
social
network
server,
whatever
that's
fine,
okay,
so
we
now
have
our
servers.
A
Let's
have
a
look
at
channels,
so
this
is
the
demo
and
we
don't
we're
not
interested
in
this
we're
gonna
start
by
the
root
channel.
So
since
websocket
don't
support
multiple
channels
by
default
unless
you're
using
socket.I,
or
something
like
that.
My
my
only
chance
here
is
that
we
use
the
slash
channel
or
we
use
something
like
whatever
path
we
prefer.
But
that
means
that
we
will
have
to
be
connecting
that
path
whenever
we
connect.
So
we're
not
gonna.
Do
this
we're
gonna
just
use,
slash
and
that's
it
and
we're
gonna.
A
Our
server
will
allow
others,
the
client,
the
browser
to
publish
a
message
to
to
the
server
so
we're
gonna
call
this
operation
on
or
unlike
this
okay
and
here,
I'm
gonna
use
the
message
like,
or
this
and
I'm
gonna
get
rid
of
this
for
now
and
I'll
come
back
soon
and
now
I'm
gonna
use
for
this
like
and
our
like
of
or
dislike
object
message
is
going
to
be
an
object,
adjacent
object
and
yeah,
so
the
properties
are
going
to
be
type
and
I'm
going
to
explain
what
is
it
right
now?
A
So
type
is
going
to
be
a
string
and
description
of
this
string
is
the
type
since
we
cannot
have
multiple
channels
we're
going
to
simulate
them
over
the
same
wire
over
the
same
channel.
So
we
need
to
know
if
this
message
is
going
to
be
a
like
or
a
dislike
or
a
dislike,
something
like
that,
so
it
can
only
possibly
have
two
values
either
or
dislike.
I
know
it's
not
strictly
correct
in
english
the
term
dislike
in
this
context.
A
A
I'm
not
gonna
use
this
editor
for
now,
just
to
avoid
my
computer
for
flying
and
I'm
just
gonna
leave
this
this
view,
which
is
the
documentation
view
sorry.
So,
as
you
can
see,
we
instantly
started,
seeing
as
we
were
typing
immediate
feedback
on
this
place
of
the
on
the
right
side
of
studio
and
is
the
documentation.
So
we
are
automatically
getting
the
documentation
like
with
really
little
effort
right.
A
Just
by
writing
the
the
syntpa
file
and
the
cool
thing
is
that
you
get
samples
and
all
this
stuff,
but
that's
not
only
for
documentation
and
that's
something.
That's
what
we're
doing
here.
I'm
creating
this
async
api
file
and
I
get
the
documentation,
but
I'm
gonna
get
a
lot
of
more
things
like,
for
instance,
I'm
gonna
get
the
code
actually
or
a
lot
of
validations
in
the
code.
So
the
next
thing
that
I
would
love
to
explain
here
is
that
what
happens
when
we
like
or
dislike
a
message?
A
publication
is
a
repost.
A
If
we
like
a
post.
The
next
thing
that
we
want
to
do
on
the
server
is
update
the
account
on
the
database
here
and
we're
gonna
reply.
Not
really
reply.
We're
gonna
send
a
message
to
all
the
to
all
the
clients
subscribed
to
the
websocket
server,
notifying
that
there
has
been
a
change
of
likes
on
on
the
likes
count,
some
of
the
posts
right.
So
all
the
clients
can
be
notified.
A
Saying
hey,
so
there's
a
update.
Your
account
please
on
the
front,
and
please
update
your
account,
so
so
they
can.
It
can
be
reflected,
of
course,
that's
an
example.
You
should
not
be
doing
this
on
real
life,
but
that's
that's
what
we're
gonna
do
here.
So,
as
I
was
saying,
we're
gonna
publish
a
message
once
we
get
this
dislike
and
this
message
is
going
to
be-
I
don't
know
I
don't
know
like
count
like
updated
count
or
no
like
count
updated.
A
A
A
I
think
it
deserves
the
effort
to
do
this
up
front
and
we
now
saying
that
whenever
the
browser
sends-
and
we
want
to
compute
something
here
like
the
number
of
the
number
of
likes
for
a
specific
post
and
then
communicate
all
the
browser
instances
connected
to
the
server
that
the
post
has
been
liked-
okay,
so
they
can
update
cool.
Let
me
check
before
we
continue.
I
think
that's
fine.
A
It
will
have
been
updated
here.
Yes,
it's
updated
here,
okay,
so
we
have
our
documentation
here
right
now
that
you
can,
you
can
publish
this
core
dislike
and
you
can
subscribe
to
the
account
updated
message
with
the
following
information,
and
here
you
have
an
example
cool.
So
we
have
that
now,
once
we
have
once
another
thing
that
we're
gonna
do
here
is
once
we
have
a
or
dislike
we're
gonna,
also
post,
something
we're
gonna,
send
a
message
to
to
a
mqtt
topic
right.
A
A
A
A
The
idea
of
the
post
that
has
been
liked
and
who
liked
this
post,
I'm
not
gonna,
spend
time
on
the
descriptions
you
can
get
it
now
later.
That's
fine
cool,
so
that
will
work
awesome.
So
it
validates
correctly-
and
you
can
see
it
here,
so
people
can
now
subscribe
to
post
liked
event
because
our
server
is
going
to
send
it.
So
that
is
here,
cool
awesome.
A
So
one
thing
before
I
forget:
we
have
servers,
we
have
two
servers,
websockets
and
mosquito,
and
we
need
to
limit
who's
going
to
be
which
channels
exist
where,
for
instance,
this
last
channel
doesn't
exist
on
the
mosquito
broker.
So
we
want
to
limit
this
to
websockets
and
we
say
that
this
channel
only
exists
on
the
websocket
server
and
we're
going
to
limit
this
to
mosquito
okay.
A
That
will
be,
I
will
say,
most
of
it
like
I'm,
not
forgetting
anything,
if
not
we'll
find
out
afterwards
and
so
yeah.
This
is
more
or
less
the
description
of
the
server.
So
what
happens
here
is
that,
as
you
remember,
we
started
putting
operation
ids
like
on
this,
and
things
like
this
right.
Only
this
one.
A
For
now
we
have
a
functions
server
here
it
it
has
an
on
hello
by
default,
because
it
was
coming
with
with
the
example
that
was
generated,
but
we're
going
to
rename
it
to
on
this
to
match
exactly
it
has
to
match
exactly
the
name
that
we're
giving
it
here.
Okay,
so
this
function
is
going
to
be
executed.
Every
time
we
receive
a
message
on
this
specific
channel
right.
So
every
time
we
receive
a
message
on
in
the
web
sockets
channel
the
only
channel
that
that
websocket
has
we're
going
to
execute
this.
This
function.
Okay.
A
What
is
this
function
going
to
do
so?
This
function
is
going
to
actually
do
all
this
stuff
like
we
need
to
compute
the
the
number
of
likes
and
then
and
or
save
the
likes,
let's
say,
and
we
need
to
store
it
on
the
database,
blah
blah
blah
all
this
stuff
cool.
So
I'm
gonna
close
this
for
now,
since
we're
not
editing
the
file
in
studio
anymore
and
I'm
gonna
install
a
dependency
that
is
called
low
db
right.
A
This
is
a
small
dependency
for
working
with
local
databases
like
this
json
file,
and
one
thing
that
we're
gonna
do
is
well,
I'm
gonna
start
importing
it
already.
I
think
we
don't
have
to
wait
for.
We
don't
have
to
wait
for
npm
to
finish
again
and
load
the
b
okay,
so
here
it
is,
and
yes
so
let
me
check
how
was
this
yeah
okay,
so
I
have
the
documentation
right
here.
A
A
Just
so
it's
updated
and
let's
just
understand
what
is
inside
the
data.
We
have
the
number
of
likes
there.
The
number
of
likes
are
stored
here.
Let's
see
this
is
what
we're
doing
right
now
and
so
far
it's
not
a
numbers
or
it's
an
array
of
objects
with
user
id
and
posted.
So
we're
not
going
to
store
on
plain
numbers,
we're
going
to
store
more
information
and
we're
going
to
also
open
this,
not
open.
Sorry
we're
going
to
understand
what
kind
of
event
are
we
talking
about?
A
A
A
If
it's
not,
if
it's
a
dislike
and
it
doesn't
exist-
sorry
it
exists
already
in
the
database.
We
remove
it
from
the
database,
that's
what
it's
doing
and
yeah
and
we
have
to
save
all
the
time.
That's
why
using
this
cool?
What's
the
total
count
of
likes?
It
looks
something
like
this
so
likes.
We
need
to
filter
every
like
by
those
who
are
about
this
specific
post
idea.
Right
like
we
need
to
count
all
the
likes
that
are
from
this
specific
post
and
okay.
A
So,
let's
get
to
into
the
beauty
of
this,
and
we
need
to
something
that
we
need
to
know
is
we're
gonna
broadcast
to
all
the
to
all
the
instances,
all
the
websocket
instances
we
gotta
broadcast
that,
so
we
need
to
that.
The
account
has
been
updated,
as
we
were
saying
before,
so
something
that
we
want
to
do
now
here
is.
We
need
to
say
that
this
is
our
new.
A
This
is
our
event
right,
like
the
name
of
our
event,
and
the
data
is
the
post
id
that
we
were
obtaining
here
and,
along
with
the
post
id
we're
gonna,
send
the
total
account
that
we
calculated
here,
and
that
will
be
I'll
say
enough
for
now.
So
that
makes
our
websocket,
like
our
websocket
server,
took
right
on
the
database.
Let's
see
if
it
works,
so
we're
gonna
start
this
server
npm
run
dev
and
there
seems
to
be
a.
A
A
problem
with:
why
is
it
complaining
sorry
yeah?
I
need
to
update
to
the
latest
glee
yeah,
sorry
for
that.
That
needs
to
be
updated
on
the
generator,
but
it's
working,
that's
a
cool
thing
yeah.
So
it's
complaining
that
glee
is
not
supporting
version
2.2.0
yeah.
Indeed
it
was
created
before
this
version
was
released,
but
lately
a
few
days
ago
I
updated
it
too,
so
it
so.
It
supports
version
2.2,
okay,
so
I'm
gonna
start,
I'm
gonna
install
this
dependency
and
then
we
continue.
A
A
Okay
cool,
so
you
can
see
that
we
started
glee,
it's
running
development
mode
and
it's
only
using
the
websocket
server
now
this
can
be
configured
afterwards
here.
Okay,
so
we're
not
gonna
use
the
mosquito
server
actually
yeah
we're.
No
we're,
not
publishing
we're
not
publishing
to
mosquito
yet
on
the
code.
So
we
didn't
do
anything
here
yet
to
mosquito
it's
on
the
eastern
epi
file,
but
we
didn't
implement
it
yet.
So
that's
correct!
That's
fine!
Now,
if
I
go
to
the
front
end
and
refresh
if
I
start
the
front
end,
obviously.
A
Awesome
so
we
now
we
now
have
the
front
end
and
let
me
check:
why
is
it
isn't
it
connecting
to
okay
cool,
so
websocket
client
connected
to
server?
And
here
we
are
cool.
I'm
gonna
like
something
just
in
case
just
to
see
if
it
works.
I'm
not
gonna.
Like
my
own
post,
I'm
gonna
like
glucose
one,
and
there
is
a
jump
on
the
front
end.
I
don't
know
why,
but
you
can
see
it.
It
bumped
the
number.
So
that's
cool
and
let's
see
what
happened.
A
A
Did.
Did
it
work
here,
yes
sites
here,
so
we
have
it.
It's
working.
We
have
a
websocket
server.
That
is
storing
our
information.
Now
we're
missing
the
last
part.
We
have
to
communicate
to
the
mqtt
broker,
and
so
it
can
communicate
to
the
notification
service
and
send
to
slack.
Let's
go
quickly
to
that
part.
I
have
something
here
prepared,
so
we
don't
spend
more
time.
Okay
and
I'm
gonna
explain
it
now.
Let
me
go
straight
to.
A
Here,
okay,
so
something
that
we
said
is
whenever
we
receive
a
message
a
like
or
a
dislike.
We
gotta
also
update
not
only
the
front
end,
but
we
gotta
communicate
that
this
event
happened.
We're
gonna
do
this
only
on
the
likes
we're
not
interested
in
the
dislikes
for
now.
Okay,
so
only
in
case
this
is
a
like
event.
A
That
is,
that
is
done,
but
it's
not
yet
the
completely
because,
as
you
can
see
on
the
terminal,
it
doesn't
say
that
it's
connecting
to
mosquito
and
it's
because
we're
not
telling
this
to
use
mosquitoes.
Well,
so
I'm
going
to
update
the
dot
m
file
and
the
know
if
it
cocked
the
update,
if
not,
I'm
gonna
restart
it
again.
A
And
yeah
cool,
so
server
is
websocket
is
running
and
it's
connected
to
mosquito
perfect.
So
now
it
can
send
the
message:
let's
see
if
it's
doing
what
it's
saying,
I'm
gonna
like
another-
I
don't
know
whatever
this
one
cool.
So
what
happened
from
websockets
we
received
this
event,
which
is
it
was
sent
to
mosquito
and
it
was
broadcasted
to
websockets
cool
perfect.
That's
all
we
need
now
before
we
continue.
A
Let's
go
to
notifications
service
and
see
if
it's
receiving
the
event
or
not.
One
thing
that
we
need
to
do
here
before
we
continue
is
we
need
to
create
the
smtpa
file
for
the
service,
so
notifications,
service?
Okay,
something
that
we
need
to
get
from
here
is
the
mosquito.
So
this
one
is
only
connecting
to
mosquito
nothing
about
web
socket
and
this
is
going
to
be
notifications
service,
a
different
client
id.
A
A
All
your
specific
stuff
or
your
specific
async,
tps
stuff
and
definitions
for
now
we're
gonna,
just
we're
gonna
just
do
this
we're
gonna.
Let
me
just
check
that
this
file
is
valid.
I
think
it's
like
this.
I
hope
so
yeah
cool,
so
this
file
is
valid
successfully
validated
awesome
cool.
So
we
now
have
this.
A
A
A
A
A
But
I'm
not
going
to
send
a
notification,
of
course
not,
but
if,
if
you're
liking,
other
people's
post,
okay,
so
sending
message
to
slack.
A
A
So
we
can
send
this
kind
of
information
that
someone
liked
your
post,
okay,
and
that
is
pretty
much.
What
we
need
to
do.
The
only
thing
missing
right
now
is
is
exactly
the
slack
url
that
is
not
in
the
dot
on
the
dot
m
file
and
we're
gonna
add
it
here.
Oh,
this
is
not
websocket.
This
is
mosquito
and
url
cool
awesome.
A
A
A
A
A
A
Awesome,
so
I
hope
really
hope
that
you
like
this
this
demo.
It's
a
pity
that
that
we
don't
have
more
time,
but
I
would
love
to
to
get
into
more
details
like
really.
A
We
have
lots
of
things
to
to
tell
you
and
so
little
time,
just
something
that
would
love
to
reinforce
in
this
talk
is
like
we
recently
this
year
we
joined
the
linux
foundation,
and
so
now
the
project
is
in
a
neutral
ground
right
and
we
are
growing
super
fast
lately,
thanks
to
linux,
foundation
and
and
and
all
the
contributors
that
we
have,
and
then
the
users
that
we
have
right.
A
Also
would
love
to
clarify
that,
even
though
this
initiative
started
as
a
event-driven
architectures
initiative
and
we're
still
there
right,
we
want
the
sync
api
in
the
next
five
years
or
so
to
become
the
number
one
specification
for
defining
and
developing
apis
any
kind
of
apis.
So
that
means
that
in
the
future
you
should
be
able
to
define
rest
apis,
graphql,
apis,
your
pc,
apis
and
even
driven
architectures
all
with
async
api.
A
Don't
get
me
wrong,
we're
not
trying
to
reinvent
the
wheel
here
it's
by
leveraging
existing
specifications,
so
you
should
be
able
to
combine
your
open
api
file
inside
async
api
and
your
graphql
as
in
kpi
being
referenced
from
your
async
api
file
and
so
on
and
so
on.
A
And
that
means
that
you
should
be
able
to
to
work
with
async
api
tooling
and
with
the
async
api
document,
referencing
other
specs
and
with
a
single
process,
you
should
be
able
to
do
all
the
all
your
api
stuff
right
and
just
as
a
as
a
shout
out
for
all
these
companies
using
async
api
in
production.
There
are
a
bunch
of
them
really
async.
A
Api
is
getting
well
tested
and
and
being
usually
used
heavily
in
in
production,
so
give
the
give
it
a
try
and
last
but
not
least,
we're
welcoming
initiative
and
community.
So
join
us
really
join
us
join
our
slack
workspace
or
our
github,
and
even
though
you
might
not
have
much
experience
with
apis
or
with
development,
architectures
we're
a
welcoming
initiative
and
we
welcome
everyone
to
join
us.
So
thanks
a
lot
for
watching-
and
I
hope
you
see
to
see
you
soon-
bye.