6 videos 📅 2025-01-27 09:00:00 Africa/Blantyre
28:16
2025-01-27 13:22:37
2:15:00
2025-01-27 15:12:42
2:08:39
2025-01-27 15:41:27
2:16:52
2025-01-27 20:41:38
3:55:27
2025-01-27 20:41:42
4:47:11
2025-01-28 08:47:09

Visit the Mongo DB for Administrators course recordings page

                WEBVTT

00:00:42.260 --> 00:00:42.940
Yes?

00:00:49.920 --> 00:00:52.080
Why are you putting your stuff there?

00:00:52.360 --> 00:00:54.660
Why are you wearing your top like this?

00:00:55.080 --> 00:00:56.520
It's because...

00:00:56.520 --> 00:00:59.000
It's because I'm...

00:00:59.000 --> 00:00:59.980
Why are you putting your top there?

00:00:59.980 --> 00:01:01.280
Why are you both not sleeping?

00:01:02.980 --> 00:01:04.060
Why are you both not sleeping?

00:01:05.680 --> 00:01:07.320
I'm not tired yet.

00:01:07.560 --> 00:01:10.180
Both of you?

00:01:10.800 --> 00:01:11.180
Okay?

00:01:19.860 --> 00:01:22.540
I'm in the kitchen. I'm burning.

00:01:24.180 --> 00:01:24.420
Yeah.

00:01:26.180 --> 00:01:27.980
How are you?

00:01:27.980 --> 00:01:29.380
How are you?

00:01:32.880 --> 00:01:33.380
Sorry?

00:01:33.380 --> 00:01:34.420
How are you?

00:01:38.280 --> 00:01:40.980
I'm burning right now.

00:01:45.120 --> 00:01:48.900
I want to say that I can be able to help you on Thursday.

00:01:49.660 --> 00:01:50.080
Sorry?

00:01:51.620 --> 00:01:54.040
Yeah, I can be able to help you on Thursday.

00:01:54.040 --> 00:01:55.360
Okay.

00:01:56.040 --> 00:01:56.400
Alright.

00:02:00.040 --> 00:02:00.900
No problem.

00:02:02.060 --> 00:02:04.380
Let's talk when you're done.

00:02:05.000 --> 00:02:07.640
I need to concentrate on something here.

00:02:10.880 --> 00:02:11.580
Huh?

00:02:12.560 --> 00:02:15.540
Please just end it on that side.

00:02:24.240 --> 00:02:25.220
I don't know.

00:02:26.000 --> 00:02:30.040
I mean, yes.

00:02:31.500 --> 00:02:32.240
I mean, yes, what?

00:02:32.540 --> 00:02:33.480
It's complicated.

00:02:34.680 --> 00:02:36.180
Feelings are never complicated.

00:02:36.460 --> 00:02:37.880
Either you like them, or you're afraid.

00:02:42.160 --> 00:02:44.560
But it doesn't matter, okay?

00:02:45.200 --> 00:02:47.280
We've decided on a way forward, we agreed.

00:02:48.080 --> 00:02:48.620
Just...

00:02:49.200 --> 00:02:50.480
Are you changing your mind?

00:02:50.480 --> 00:02:52.480
No, no, no, no.

00:03:00.940 --> 00:03:01.900
What's up?

00:03:02.720 --> 00:03:04.900
Oh, should I have called first?

00:03:05.360 --> 00:03:06.780
No, no, no.

00:03:10.900 --> 00:03:11.980
It's okay.

00:03:16.480 --> 00:03:17.360
I can imagine.

00:03:18.360 --> 00:03:18.820
Hey.

00:03:26.360 --> 00:03:27.700
Seems very odd, doesn't it?

00:03:30.300 --> 00:03:33.280
Like, what happened?

00:03:37.500 --> 00:03:40.400
Yes, yes, of course.

00:03:47.360 --> 00:03:47.680
I don't know.

00:03:50.980 --> 00:03:52.100
Oh, of course.

00:03:52.380 --> 00:03:53.360
That's very kind of you.

00:03:57.660 --> 00:04:02.580
It used to be.

00:04:02.880 --> 00:04:03.560
Not anymore.

00:04:04.880 --> 00:04:05.720
Like it says.

00:04:06.360 --> 00:04:06.780
Why would you?

00:04:06.960 --> 00:04:09.620
You haven't made breakfast for me since I was like 10 years old.

00:04:11.720 --> 00:04:12.280
Well...

00:04:12.280 --> 00:04:13.480
I love this.

00:04:13.520 --> 00:04:14.700
Pancakes, waffles.

00:04:16.900 --> 00:04:17.120
Hey!

00:04:19.140 --> 00:04:20.060
Pick us up already.

00:04:22.560 --> 00:04:23.720
Yes, my boy.

00:04:28.320 --> 00:04:29.160
Not even.

00:04:42.340 --> 00:04:44.180
I'm going to get a coffee.

00:04:44.180 --> 00:04:46.740
Yes, my boy.

00:04:48.660 --> 00:04:50.360
I'll be back in a minute.

00:04:50.360 --> 00:04:51.280
I'm going to get a coffee.

00:04:56.020 --> 00:04:57.940
You're right about that.

00:04:59.500 --> 00:05:00.240
You're right about that.

00:05:00.440 --> 00:05:00.480
I'm going to get a coffee.

00:05:02.560 --> 00:05:05.020
So, tell him to pick up lines this inch.

00:05:05.300 --> 00:05:06.820
I'm coming for a minimum of five and a half.

00:05:07.080 --> 00:05:07.820
Yes, yes, yes.

00:05:08.340 --> 00:05:09.820
I'm going to get a coffee.

00:05:09.820 --> 00:05:10.840
Tell him I'll be back in a minute.

00:05:10.840 --> 00:05:15.480
Right, my boy.

00:05:16.520 --> 00:05:20.340
Go on!

00:05:21.280 --> 00:05:29.520
How much is?

00:06:29.100 --> 00:06:40.640
Yeah, okay, the CEO of Triple M Media.

00:06:42.240 --> 00:06:52.320
Yes, we are going to the special commission because don't you see what this means?

00:06:52.320 --> 00:07:00.060
Media doesn't have to honor political commitments like his way. I think we need to partner with them.

00:07:03.560 --> 00:07:05.920
Is there anyone you do get along with Jack?

00:07:09.020 --> 00:07:13.960
I've been pulling all nighters to find solutions. This is our best bet.

00:07:17.080 --> 00:07:20.320
Just swallow your pride and play nice with her.

00:07:22.320 --> 00:07:25.580
Then I guess I'll have to put it in my report to Volkov.

00:07:26.620 --> 00:07:31.980
I'm sure he won't be happy to hear that you're the one standing in the way of his plans.

00:07:37.000 --> 00:07:40.400
And the only way for me to get answers is to spend more time at the center.

00:07:40.720 --> 00:07:42.000
And make Esther suspicious.

00:07:52.320 --> 00:07:59.940
So in other words, if I actually do the profile, it'll be great publicity.

00:08:03.360 --> 00:08:07.820
What if there is no sort?

00:08:09.100 --> 00:08:13.140
A group of girls walks into the safe house saying the exact same thing.

00:08:17.420 --> 00:08:19.940
You can't force them to speak to you.

00:08:22.320 --> 00:08:29.180
So I can prevent them and expose them to the world when they're already so traumatized.

00:08:29.240 --> 00:08:31.580
We are moving into very dangerous territory.

00:08:31.640 --> 00:08:32.880
I am not comfortable with this.

00:08:33.940 --> 00:08:35.300
Not even if it's for the greater good.

00:08:36.400 --> 00:08:39.660
If we find the truth, we might actually help these girls.

00:08:40.320 --> 00:08:42.540
We could even stop other girls from becoming victims.

00:09:25.080 --> 00:09:29.740
Trust me, that way he's more likely to come back to us.

00:09:31.660 --> 00:09:33.020
I'm sorry.

00:09:36.120 --> 00:09:39.140
Over 20 years, people take some main changes.

00:09:43.920 --> 00:09:45.680
We're just not in your league.

00:09:53.460 --> 00:09:53.860
No.

00:09:55.680 --> 00:09:56.760
They can't even get back.

00:10:01.520 --> 00:10:02.320
Forgive me.

00:10:02.920 --> 00:10:03.280
I can't help it.

00:10:03.400 --> 00:10:04.580
You can't refer to that way.

00:10:05.940 --> 00:10:07.220
I have to keep it easy.

00:10:07.560 --> 00:10:08.400
You have to go put down your forgive.

00:10:08.760 --> 00:10:10.440
Why don't you refer to that way?

00:10:12.360 --> 00:10:14.660
I thought we were starting to be friends again.

00:10:15.500 --> 00:10:16.140
I'm just tired.

00:10:17.520 --> 00:10:18.600
You need me.

00:10:19.020 --> 00:10:20.060
You can't even look at me.

00:10:21.100 --> 00:10:21.460
No.

00:10:22.320 --> 00:10:23.740
I'm kind of misinterpreted.

00:10:26.400 --> 00:10:28.340
You have a connection.

00:10:29.340 --> 00:10:31.500
You were giving me something that my husband wasn't.

00:10:31.740 --> 00:10:33.580
It was never about love.

00:10:35.180 --> 00:10:36.960
Where is this coming from?

00:10:37.040 --> 00:10:38.960
Well, in a curious way, that's all.

00:10:39.280 --> 00:10:39.880
Please.

00:10:40.240 --> 00:10:42.060
What are you going to do with yourself, James?

00:10:42.460 --> 00:10:43.660
Unless it's for the story.

00:10:43.840 --> 00:10:44.620
That's not nice.

00:10:44.780 --> 00:10:45.760
There's a fact.

00:10:46.400 --> 00:10:47.080
Hey.

00:10:48.460 --> 00:10:49.180
Hey.

00:10:50.220 --> 00:10:50.320
Hey.

00:10:50.840 --> 00:10:51.200
What?

00:10:51.200 --> 00:10:51.500
Can I?

00:10:51.900 --> 00:10:52.240
I'm sick.

00:10:53.160 --> 00:10:53.700
What?

00:10:55.960 --> 00:10:56.980
No way, sir.

00:10:57.560 --> 00:10:57.820
I'm sick.

00:10:58.020 --> 00:10:58.680
That was a no.

00:10:59.200 --> 00:10:59.700
Really?

00:11:00.700 --> 00:11:01.160
Okay.

00:11:01.160 --> 00:11:02.440
It's not that funny.

00:11:05.220 --> 00:11:07.440
And I think you're acting very strange.

00:11:08.860 --> 00:11:09.920
I'm not as pretty as her.

00:11:11.360 --> 00:11:12.280
I think I'm a bit cooler.

00:11:13.720 --> 00:11:14.240
Oh.

00:11:14.240 --> 00:11:16.000
Maybe if I never had to move.

00:11:17.440 --> 00:11:19.920
So I could get out of here.

00:11:20.520 --> 00:11:20.840
Okay.

00:11:21.840 --> 00:11:23.540
I have to go now.

00:11:24.120 --> 00:11:24.720
Bye.

00:11:26.960 --> 00:11:27.560
Okay.

00:11:28.060 --> 00:11:28.280
Bye, ma.

00:11:31.640 --> 00:11:32.440
I'm ready.

00:11:33.340 --> 00:11:33.780
You're not.

00:11:34.900 --> 00:11:35.040
You're not.

00:11:35.260 --> 00:11:36.280
That's my boy.

00:11:37.440 --> 00:11:37.820
Bye.

00:11:38.040 --> 00:11:38.300
I'm ready.

00:11:38.520 --> 00:11:39.060
It's a close.

00:11:40.340 --> 00:11:40.940
You know.

00:11:41.340 --> 00:11:41.480
I know.

00:11:42.720 --> 00:11:43.320
Yeah.

00:11:43.320 --> 00:11:44.260
What's the matter?

00:11:45.100 --> 00:11:46.120
I feel like I'm in business.

00:11:47.000 --> 00:11:47.660
You know that.

00:11:48.640 --> 00:11:50.480
I feel like I'm in business.

00:11:51.660 --> 00:11:52.100
I mean.

00:11:52.640 --> 00:11:54.480
I mean, I had no time for school or books.

00:11:54.760 --> 00:11:55.260
Not likely.

00:11:56.140 --> 00:11:57.840
The industry grades started when they were young.

00:11:58.660 --> 00:11:59.080
Okay.

00:11:59.580 --> 00:12:01.000
Give us a little bit longer.

00:12:01.640 --> 00:12:02.120
That's fair.

00:12:02.980 --> 00:12:03.180
Yeah.

00:12:03.440 --> 00:12:04.100
Young and gentle, isn't it?

00:12:04.520 --> 00:12:05.460
We'll move on about over.

00:12:05.620 --> 00:12:06.580
We haven't turned down.

00:12:06.900 --> 00:12:07.120
It's fine.

00:12:08.040 --> 00:12:08.540
Excellent.

00:12:43.320 --> 00:12:45.160
I'm not cool for years.

00:12:46.940 --> 00:12:48.740
I'll probably never find another guy.

00:12:50.060 --> 00:12:50.720
I'll move on.

00:12:51.000 --> 00:12:51.960
I'll always be there.

00:12:53.520 --> 00:12:53.880
You feel me?

00:12:57.200 --> 00:12:58.200
It's me.

00:12:58.520 --> 00:12:59.280
It's just fine.

00:13:00.420 --> 00:13:01.460
What reason to believe?

00:13:02.080 --> 00:13:02.420
In years.

00:13:05.220 --> 00:13:06.920
That's what has a healing joy in.

00:13:11.140 --> 00:13:13.220
You do the math.

00:13:13.320 --> 00:13:14.780
You don't have time for that.

00:13:14.780 --> 00:13:15.540
Everything is part time.

00:13:15.860 --> 00:13:16.480
You're an actor.

00:13:17.240 --> 00:13:18.180
I'm not afraid of anything.

00:13:20.960 --> 00:13:21.980
You're the only person in my life.

00:13:24.700 --> 00:13:28.260
I'm not afraid of anything.

00:13:29.040 --> 00:13:29.760
Me neither.

00:13:29.760 --> 00:13:30.660
Me neither.

00:13:30.960 --> 00:13:31.320
You do the math.

00:13:31.320 --> 00:13:33.560
I'm the best out there.

00:13:37.020 --> 00:13:37.740
Then you know.

00:13:41.340 --> 00:13:42.760
Do you want to go out?

00:13:45.560 --> 00:13:47.200
ლ ლ ლ ლ ლ ლ ლ, ლ ყ, ლ

00:13:47.200 --> 00:13:49.880
ლ ლ ლ ლ შ ხ ყ ა� ი mould

00:13:49.880 --> 00:13:52.160
ლ ლ უ შ ლ ლ xami, ც თ ნ ე  ღ ი ვ, ე

00:13:52.160 --> 00:13:59.940
ლ ნ მ ჭ ხ ხ ს ლ უ რ ს ნ ს ი უ � ჩ � St.

00:14:03.680 --> 00:14:04.760
მ მ ფ ა � beiShihak you

00:15:01.020 --> 00:15:04.560
["I'm sorry guys, sorry.".

00:15:05.220 --> 00:15:07.560
Whenever you have the courage, speed up your brain and calm down your head.]

00:15:07.620 --> 00:15:37.380
ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha

00:17:43.300 --> 00:17:44.700
Okay.

00:17:51.540 --> 00:17:52.940
Okay.

00:17:57.380 --> 00:17:59.400
Okay. Okay.

00:18:00.420 --> 00:18:00.780
Okay.

00:18:38.720 --> 00:18:41.720
I have good news and bad news.

00:18:44.120 --> 00:18:44.880
I'm good.

00:18:47.860 --> 00:18:48.800
I'm good.

00:18:49.720 --> 00:18:50.960
I'm good.

00:19:08.160 --> 00:19:12.960
I love you.

00:19:17.680 --> 00:19:20.880
I love you.

00:19:20.880 --> 00:19:22.780
Oh.

00:19:22.780 --> 00:19:23.720
Sorry, sorry.

00:19:26.000 --> 00:19:26.180
Yeah.

00:19:52.180 --> 00:19:59.620
You know, I love you. I miss you.

00:20:00.920 --> 00:20:04.880
Before I get my car, I'm

00:20:07.360 --> 00:20:07.420
Before I get my car, I'm

00:20:07.420 --> 00:20:07.960
Before I get my car, I'm going to be.

00:20:09.880 --> 00:20:11.280
I'm.

00:20:13.360 --> 00:20:14.760
I'm.

00:20:17.560 --> 00:20:18.960
I'm.

00:20:19.960 --> 00:20:20.080
I'm.

00:20:21.440 --> 00:20:22.840
I'm.

00:20:24.600 --> 00:20:26.000
I'm.

00:20:36.120 --> 00:20:37.520
I'm.

00:20:47.560 --> 00:20:48.960
I'm.

00:20:49.520 --> 00:20:50.920
I'm.

00:20:56.040 --> 00:20:57.440
I'm.

00:20:57.500 --> 00:20:58.900
I'm.

00:20:59.780 --> 00:21:01.080
I'm.

00:21:01.380 --> 00:21:02.780
I'm.

00:21:02.780 --> 00:21:02.860
I'm.

00:21:05.160 --> 00:21:06.920
It's a foodie.

00:21:08.500 --> 00:21:09.280
It's a foodie.

00:21:25.780 --> 00:21:32.740
It's a foodie.

00:21:39.740 --> 00:21:41.140
I'm.

00:21:50.600 --> 00:21:52.000
I'm.

00:21:53.900 --> 00:21:55.300
I'm.

00:21:57.920 --> 00:21:59.320
I'm.

00:22:01.640 --> 00:22:03.040
I'm.

00:22:05.020 --> 00:22:06.420
I'm.

00:22:14.240 --> 00:22:15.640
I'm.

00:22:24.080 --> 00:22:25.480
I'm.

00:22:30.500 --> 00:22:31.900
I'm.

00:22:39.120 --> 00:22:40.520
I'm.

00:22:41.600 --> 00:22:43.000
I'm.

00:22:43.340 --> 00:22:44.640
I'm.

00:22:44.640 --> 00:22:44.880
I'm.

00:22:45.000 --> 00:22:46.400
I'm.

00:22:48.740 --> 00:22:50.140
I'm.

00:22:55.880 --> 00:22:57.280
I'm.

00:23:02.940 --> 00:23:04.340
I'm.

00:23:05.420 --> 00:23:06.820
I'm.

00:23:07.780 --> 00:23:09.080
I'm.

00:23:13.500 --> 00:23:14.900
I'm.

00:23:16.420 --> 00:23:17.080
I'm.

00:23:19.620 --> 00:23:21.020
I'm.

00:23:28.540 --> 00:23:29.940
I'm.

00:23:30.200 --> 00:23:31.140
I'm.

00:23:37.640 --> 00:23:39.040
I'm.

00:23:45.720 --> 00:23:47.120
I'm.

00:23:47.120 --> 00:23:47.180
I'm.

00:23:48.360 --> 00:23:49.760
I'm.

00:23:49.760 --> 00:23:49.840
I'm.

00:23:52.540 --> 00:23:53.940
I'm.

00:23:57.480 --> 00:23:58.880
I'm.

00:23:58.880 --> 00:23:58.940
I'm.

00:24:02.740 --> 00:24:04.140
I'm.

00:24:04.280 --> 00:24:05.680
I'm.

00:24:08.300 --> 00:24:09.700
I'm.

00:24:09.700 --> 00:24:10.120
I'm.

00:24:18.880 --> 00:24:19.200
I'm.

00:24:19.200 --> 00:24:20.800
I'm.

00:24:31.500 --> 00:24:32.900
I'm.

00:24:39.940 --> 00:24:41.340
I'm.

00:24:42.340 --> 00:24:43.740
I'm.

00:24:46.400 --> 00:24:47.800
I'm.

00:24:48.200 --> 00:24:49.080
I'm.

00:24:57.100 --> 00:24:58.500
I'm.

00:25:01.500 --> 00:25:02.900
I'm.

00:25:04.200 --> 00:25:05.600
I'm.

00:25:05.620 --> 00:25:05.820
I'm.

00:25:06.860 --> 00:25:07.860
I'm.

00:25:11.300 --> 00:25:12.700
I'm.

00:25:23.600 --> 00:25:25.000
I'm.

00:25:28.800 --> 00:25:30.200
I'm.

00:25:30.400 --> 00:25:31.800
I'm.

00:25:31.800 --> 00:25:32.560
I'm.

00:25:32.560 --> 00:25:33.080
I'm.

00:25:34.660 --> 00:25:35.340
I'm.

00:25:35.340 --> 00:25:36.140
I'm.

00:25:49.540 --> 00:25:50.940
I'm.

00:25:51.620 --> 00:25:53.020
I'm.

00:25:55.720 --> 00:25:57.120
I'm.

00:26:02.240 --> 00:26:03.640
I'm.

00:26:11.800 --> 00:26:13.200
I'm.

00:26:16.500 --> 00:26:17.900
I'm.

00:26:21.360 --> 00:26:22.760
I'm.

00:26:26.440 --> 00:26:27.180
I'm.

00:26:27.320 --> 00:26:28.720
I'm.

00:26:28.720 --> 00:26:29.160
I'm.

00:26:32.800 --> 00:26:33.320
I'm.

00:26:46.340 --> 00:26:47.740
I'm.

00:26:48.420 --> 00:26:49.800
I'm.

00:26:50.120 --> 00:26:50.880
I'm.

00:26:53.680 --> 00:26:55.080
I'm.

00:26:55.660 --> 00:26:56.960
I'm.

00:27:02.060 --> 00:27:03.460
I'm.

00:27:08.040 --> 00:27:09.440
I'm.

00:27:10.080 --> 00:27:11.480
I'm.

00:27:17.440 --> 00:27:18.840
I'm.

00:27:18.840 --> 00:27:19.940
I'm.

00:27:24.560 --> 00:27:25.960
I'm.

00:27:32.020 --> 00:27:33.420
I'm.

00:27:44.580 --> 00:27:45.980
I'm.

00:27:49.540 --> 00:27:50.940
I'm.

00:27:53.340 --> 00:27:54.740
I'm.

00:27:54.760 --> 00:27:55.140
I'm.

00:27:57.120 --> 00:27:58.520
I'm.

00:28:01.760 --> 00:28:03.160
I'm.

00:28:09.440 --> 00:28:10.840
I'm.

00:28:14.740 --> 00:28:15.280
I'm.

00:28:23.080 --> 00:28:24.480
I'm.

00:28:25.000 --> 00:28:25.700
I'm.

00:28:31.000 --> 00:28:32.400
I'm.

00:28:40.460 --> 00:28:41.860
I'm.

00:28:42.800 --> 00:28:44.200
I'm.

00:28:45.900 --> 00:28:47.300
I'm.

00:28:49.300 --> 00:28:50.700
I'm.

00:28:50.900 --> 00:28:51.460
I'm.

00:28:52.400 --> 00:28:52.680
I'm.

00:28:52.680 --> 00:28:53.960
I'm.

00:28:58.900 --> 00:29:00.300
I'm.

00:29:08.160 --> 00:29:09.560
I'm.

00:29:11.120 --> 00:29:12.520
I'm.

00:29:12.760 --> 00:29:14.160
I'm.

00:29:15.180 --> 00:29:16.240
I'm.

00:29:17.100 --> 00:29:17.960
I'm.

00:29:17.960 --> 00:29:18.020
I'm.

00:29:32.960 --> 00:29:34.360
I'm.

00:29:35.120 --> 00:29:36.520
I'm.

00:29:40.100 --> 00:29:40.520
I'm.

00:29:48.700 --> 00:29:50.100
I'm.

00:29:50.560 --> 00:29:51.680
I'm.

00:29:55.360 --> 00:29:56.760
I'm.

00:29:59.040 --> 00:29:59.560
I'm.

00:29:59.560 --> 00:30:00.180
I'm.

00:30:16.400 --> 00:30:17.800
I'm.

00:30:19.940 --> 00:30:21.340
I'm.

00:30:27.240 --> 00:30:28.640
I'm.

00:30:29.180 --> 00:30:29.220
I'm.

00:30:32.740 --> 00:30:33.520
I'm.

00:30:35.400 --> 00:30:36.800
I'm.

00:30:46.140 --> 00:30:47.540
I'm.

00:30:49.220 --> 00:30:50.620
I'm.

00:30:50.840 --> 00:30:51.120
I'm.

00:30:51.160 --> 00:30:51.640
I'm.

00:31:04.320 --> 00:31:05.720
I'm.

00:31:07.060 --> 00:31:08.460
I'm.

00:31:10.120 --> 00:31:11.520
I'm.

00:31:12.380 --> 00:31:12.440
I'm.

00:31:12.440 --> 00:31:12.460
I'm.

00:31:19.680 --> 00:31:21.080
I'm.

00:31:23.940 --> 00:31:25.340
I'm.

00:31:26.540 --> 00:31:27.940
I'm.

00:31:31.560 --> 00:31:32.060
I'm.

00:31:37.740 --> 00:31:39.140
I'm.

00:31:40.460 --> 00:31:41.080
I'm.

00:31:42.960 --> 00:31:43.780
I'm.

00:31:49.820 --> 00:31:51.220
I'm.

00:31:56.540 --> 00:31:57.940
I'm.

00:32:01.100 --> 00:32:02.500
I'm.

00:32:03.060 --> 00:32:03.780
I'm.

00:32:05.180 --> 00:32:06.760
I'm.

00:32:19.240 --> 00:32:20.640
I'm.

00:32:20.660 --> 00:32:21.080
I'm.

00:32:21.500 --> 00:32:22.900
I'm.

00:32:22.940 --> 00:32:23.420
I'm.

00:32:25.180 --> 00:32:25.460
I'm.

00:32:26.220 --> 00:32:27.620
I'm.

00:32:34.600 --> 00:32:36.000
I'm.

00:32:43.380 --> 00:32:44.780
I'm.

00:32:47.000 --> 00:32:48.400
I'm.

00:32:48.580 --> 00:32:49.240
I'm.

00:32:49.520 --> 00:32:50.120
I'm.

00:32:50.120 --> 00:32:50.720
I'm.

00:32:53.940 --> 00:32:55.340
I'm.

00:32:56.040 --> 00:32:57.440
I'm.

00:33:04.640 --> 00:33:06.040
I'm.

00:33:06.040 --> 00:33:06.620
I'm.

00:33:06.740 --> 00:33:08.140
I'm.

00:33:08.140 --> 00:33:09.020
I'm.

00:33:11.120 --> 00:33:12.520
I'm.

00:33:16.680 --> 00:33:17.020
I'm.

00:33:37.280 --> 00:33:38.680
I'm.

00:33:38.680 --> 00:33:38.840
I'm.

00:33:38.840 --> 00:33:39.440
I'm.

00:34:05.020 --> 00:34:06.420
I'm.

00:34:08.180 --> 00:34:08.280
I'm.

00:34:08.280 --> 00:34:08.640
I'm.

00:34:14.000 --> 00:34:14.720
I'm.

00:34:28.640 --> 00:34:28.840
I'm.

00:34:37.100 --> 00:34:38.500
I'm.

00:34:45.180 --> 00:34:46.580
I'm.

00:34:46.580 --> 00:34:47.640
I'm.

00:34:57.880 --> 00:34:57.920
I'm.

00:34:57.920 --> 00:34:58.140
I'm.

00:35:23.180 --> 00:35:24.220
I'm.

00:35:26.860 --> 00:35:27.900
I'm.

00:35:30.980 --> 00:35:31.540
I'm.

00:35:47.980 --> 00:35:48.540
I'm.

00:35:54.940 --> 00:35:55.500
I'm.

00:35:56.860 --> 00:35:57.420
I'm.

00:35:57.620 --> 00:35:57.720
I'm.

00:35:57.740 --> 00:35:57.780
I'm.

00:35:57.780 --> 00:35:58.300
I'm.

00:36:01.920 --> 00:36:02.960
I'm.

00:36:05.520 --> 00:36:06.560
I'm.

00:36:06.840 --> 00:36:07.020
I'm.

00:36:09.400 --> 00:36:09.840
I'm.

00:36:11.640 --> 00:36:11.800
I'm.

00:36:18.560 --> 00:36:19.960
I'm.

00:36:29.800 --> 00:36:31.200
I'm.

00:36:38.160 --> 00:36:39.560
I'm.

00:36:41.300 --> 00:36:42.700
I'm.

00:36:46.340 --> 00:36:47.740
I'm.

00:36:49.120 --> 00:36:50.520
I'm.

00:36:50.520 --> 00:36:50.900
I'm.

00:36:59.740 --> 00:37:01.140
I'm.

00:37:05.140 --> 00:37:05.940
I'm.

00:37:07.060 --> 00:37:08.460
I'm.

00:37:09.380 --> 00:37:10.780
I'm.

00:37:10.780 --> 00:37:10.920
I'm.

00:37:22.240 --> 00:37:23.640
I'm.

00:37:29.020 --> 00:37:30.080
I'm.

00:37:30.140 --> 00:37:30.700
I'm.

00:37:31.200 --> 00:37:31.860
I'm.

00:37:32.240 --> 00:37:32.740
I'm.

00:37:52.100 --> 00:37:53.160
I'm.

00:37:53.160 --> 00:37:53.580
I'm.

00:37:53.580 --> 00:37:53.980
I'm.

00:38:05.280 --> 00:38:06.680
I'm.

00:38:07.040 --> 00:38:08.440
I'm.

00:38:08.680 --> 00:38:10.080
I'm.

00:38:12.780 --> 00:38:13.580
I'm.

00:38:16.560 --> 00:38:17.000
I'm.

00:38:17.580 --> 00:38:18.240
I'm.

00:38:18.240 --> 00:38:19.280
I'm.

00:38:22.240 --> 00:38:22.360
I'm.

00:38:22.540 --> 00:38:23.940
I'm.

00:38:25.080 --> 00:38:26.480
I'm.

00:38:28.780 --> 00:38:29.300
I'm.

00:38:36.600 --> 00:38:38.000
I'm.

00:38:38.000 --> 00:38:38.820
I'm.

00:38:56.020 --> 00:38:57.420
I'm.

00:38:58.100 --> 00:38:59.040
I'm.

00:38:59.040 --> 00:39:00.300
I'm.

00:39:01.720 --> 00:39:02.000
I'm.

00:39:10.420 --> 00:39:11.820
I'm.

00:39:19.860 --> 00:39:21.260
I'm.

00:39:21.320 --> 00:39:21.880
I'm.

00:39:23.760 --> 00:39:25.240
I'm.

00:39:28.800 --> 00:39:30.200
I'm.

00:39:40.960 --> 00:39:42.360
I'm.

00:39:43.420 --> 00:39:44.820
I'm.

00:39:50.700 --> 00:39:52.100
I'm.

00:39:53.680 --> 00:39:53.720
I'm.

00:39:53.720 --> 00:39:55.720
I'm.

00:40:01.040 --> 00:40:01.720
I'm.

00:40:02.440 --> 00:40:02.640
I'm.

00:40:13.140 --> 00:40:13.720
I'm.

00:40:20.860 --> 00:40:22.260
I'm.

00:40:23.320 --> 00:40:23.500
I'm.

00:40:29.080 --> 00:40:30.480
I'm.

00:40:36.300 --> 00:40:37.700
I'm.

00:40:43.120 --> 00:40:44.520
I'm.

00:40:46.060 --> 00:40:46.160
I'm.

00:40:47.500 --> 00:40:47.800
I'm.

00:41:03.680 --> 00:41:05.080
I'm.

00:41:14.220 --> 00:41:15.440
I'm.

00:41:16.460 --> 00:41:17.640
I'm.

00:41:21.560 --> 00:41:21.660
I'm.

00:41:35.460 --> 00:41:36.860
I'm.

00:41:38.640 --> 00:41:40.040
I'm.

00:41:40.040 --> 00:41:40.820
I'm.

00:41:40.820 --> 00:41:41.580
I'm.

00:41:43.040 --> 00:41:44.440
I'm.

00:41:45.940 --> 00:41:47.340
I'm.

00:41:47.340 --> 00:41:48.560
I'm.

00:41:52.360 --> 00:41:53.760
I'm.

00:41:54.540 --> 00:41:55.940
I'm.

00:41:56.140 --> 00:41:56.300
I'm.

00:42:04.020 --> 00:42:05.420
I'm.

00:42:06.000 --> 00:42:07.400
I'm.

00:42:19.020 --> 00:42:20.060
I'm.

00:42:31.160 --> 00:42:32.200
I'm.

00:42:34.500 --> 00:42:35.540
I'm.

00:42:36.120 --> 00:42:36.620
I'm.

00:42:36.620 --> 00:42:36.800
I'm.

00:42:37.180 --> 00:42:37.260
I'm.

00:42:52.500 --> 00:42:53.700
I'm.

00:42:58.460 --> 00:42:59.660
I'm.

00:43:05.500 --> 00:43:06.700
I'm.

00:43:06.700 --> 00:43:06.840
I'm.

00:43:06.840 --> 00:43:07.160
I'm.

00:43:07.160 --> 00:43:07.700
I'm.

00:43:19.720 --> 00:43:21.120
I'm.

00:43:22.960 --> 00:43:24.360
I'm.

00:43:27.000 --> 00:43:28.400
I'm.

00:43:28.580 --> 00:43:29.240
I'm.

00:43:32.900 --> 00:43:33.880
I'm.

00:43:36.700 --> 00:43:36.960
I'm.

00:43:36.960 --> 00:43:37.580
I'm.

00:43:40.740 --> 00:43:42.140
I'm.

00:43:43.300 --> 00:43:44.700
I'm.

00:43:46.460 --> 00:43:47.180
I'm.

00:43:59.280 --> 00:44:00.680
I'm.

00:44:05.380 --> 00:44:06.780
I'm.

00:44:11.520 --> 00:44:12.920
I'm.

00:44:17.080 --> 00:44:18.480
I'm.

00:44:20.860 --> 00:44:22.260
I'm.

00:44:22.980 --> 00:44:24.380
I'm.

00:44:33.540 --> 00:44:34.940
I'm.

00:44:36.100 --> 00:44:36.300
I'm.

00:44:36.300 --> 00:44:36.600
I'm.

00:44:41.200 --> 00:44:42.480
I'm.

00:44:55.920 --> 00:44:57.200
I'm.

00:44:59.180 --> 00:44:59.860
I'm.

00:45:03.260 --> 00:45:03.640
I'm.

00:45:03.820 --> 00:45:04.780
I'm.

00:45:05.380 --> 00:45:05.800
I'm.

00:45:05.800 --> 00:45:06.620
I'm.

00:45:11.100 --> 00:45:11.980
I'm.

00:45:13.540 --> 00:45:14.420
I'm.

00:45:14.820 --> 00:45:15.020
I'm.

00:45:26.460 --> 00:45:27.860
I'm.

00:45:29.320 --> 00:45:29.800
I'm.

00:45:37.500 --> 00:45:38.020
I'm.

00:45:38.980 --> 00:45:39.860
I'm.

00:45:50.160 --> 00:45:51.560
I'm.

00:45:53.780 --> 00:45:55.180
I'm.

00:45:56.340 --> 00:45:57.740
I'm.

00:45:57.740 --> 00:46:00.200
I'm.

00:46:01.740 --> 00:46:02.160
I'm.

00:46:04.100 --> 00:46:05.120
I'm.

00:46:10.480 --> 00:46:11.880
I'm.

00:46:29.160 --> 00:46:30.560
I'm.

00:46:41.860 --> 00:46:42.740
I'm.

00:46:45.640 --> 00:46:47.040
I'm.

00:46:47.220 --> 00:46:48.620
I'm.

00:46:58.240 --> 00:46:59.640
I'm.

00:47:01.280 --> 00:47:01.860
I'm.

00:47:09.920 --> 00:47:11.320
I'm.

00:47:11.320 --> 00:47:11.620
I'm.

00:47:11.620 --> 00:47:12.820
I'm.

00:47:17.380 --> 00:47:18.780
I'm.

00:47:24.780 --> 00:47:26.180
I'm.

00:47:26.180 --> 00:47:26.600
I'm.

00:47:27.860 --> 00:47:29.260
I'm.

00:47:29.560 --> 00:47:30.320
I'm.

00:47:30.340 --> 00:47:30.860
I'm.

00:47:38.220 --> 00:47:38.860
I'm.

00:47:45.440 --> 00:47:46.840
I'm.

00:47:46.860 --> 00:47:47.500
I'm.

00:47:47.500 --> 00:47:48.400
I'm.

00:47:48.760 --> 00:47:49.600
I'm.

00:47:59.380 --> 00:48:00.780
I'm.

00:48:06.280 --> 00:48:07.680
I'm.

00:48:09.220 --> 00:48:10.320
I'm.

00:48:11.440 --> 00:48:11.860
I'm.

00:48:19.620 --> 00:48:21.020
I'm.

00:48:21.480 --> 00:48:22.540
I'm.

00:48:23.300 --> 00:48:23.520
I'm.

00:48:23.520 --> 00:48:24.000
I'm.

00:48:27.380 --> 00:48:28.780
I'm.

00:48:29.920 --> 00:48:31.320
I'm.

00:48:31.920 --> 00:48:32.520
I'm.

00:48:41.060 --> 00:48:42.460
I'm.

00:48:43.260 --> 00:48:44.660
I'm.

00:48:49.100 --> 00:48:50.500
I'm.

00:48:54.340 --> 00:48:54.860
I'm.

00:49:03.140 --> 00:49:04.540
I'm.

00:49:06.040 --> 00:49:07.440
I'm.

00:49:14.240 --> 00:49:14.400
I'm.

00:49:19.200 --> 00:49:19.280
I'm.

00:49:19.280 --> 00:49:19.320
I'm.

00:49:47.860 --> 00:49:49.260
I'm.

00:49:53.680 --> 00:49:55.080
I'm.

00:49:56.860 --> 00:49:58.260
I'm.

00:49:58.640 --> 00:49:58.760
I'm.

00:49:58.840 --> 00:49:59.080
I'm.

00:50:07.120 --> 00:50:08.520
I'm.

00:50:10.100 --> 00:50:11.500
I'm.

00:50:23.120 --> 00:50:24.520
I'm.

00:50:26.180 --> 00:50:27.580
I'm.

00:50:27.580 --> 00:50:28.840
I'm.

00:50:30.740 --> 00:50:31.500
I'm.

00:50:39.920 --> 00:50:41.320
I'm.

00:50:49.560 --> 00:50:50.880
I'm.

00:50:50.880 --> 00:50:51.360
I'm.

00:50:51.720 --> 00:50:52.380
I'm.

00:50:52.380 --> 00:50:54.900
I'm.

00:51:07.840 --> 00:51:09.240
I'm.

00:51:13.000 --> 00:51:14.400
I'm.

00:51:14.840 --> 00:51:15.000
I'm.

00:51:15.000 --> 00:51:15.460
I'm.

00:51:26.600 --> 00:51:28.000
I'm.

00:51:28.020 --> 00:51:28.060
I'm.

00:51:28.120 --> 00:51:29.520
I'm.

00:51:32.900 --> 00:51:34.300
I'm.

00:52:02.640 --> 00:52:03.640
I'm.

00:52:04.140 --> 00:52:04.280
I'm.

00:52:04.280 --> 00:52:05.480
I'm.

00:52:08.920 --> 00:52:10.320
I'm.

00:52:23.800 --> 00:52:25.200
I'm.

00:52:30.700 --> 00:52:32.100
I'm.

00:52:34.860 --> 00:52:36.260
I'm.

00:52:37.160 --> 00:52:37.480
I'm.

00:52:37.620 --> 00:52:38.020
I'm.

00:52:47.800 --> 00:52:49.200
I'm.

00:52:52.680 --> 00:52:53.660
I'm.

00:53:00.340 --> 00:53:01.740
I'm.

00:53:05.680 --> 00:53:06.520
I'm.

00:53:13.220 --> 00:53:14.620
I'm.

00:53:17.420 --> 00:53:18.820
I'm.

00:53:18.820 --> 00:53:19.020
I'm.

00:53:35.840 --> 00:53:36.880
I'm.

00:53:38.040 --> 00:53:39.080
I'm.

00:53:39.100 --> 00:53:39.560
I'm.

00:53:46.840 --> 00:53:47.880
I'm.

00:53:48.400 --> 00:53:48.460
I'm.

00:53:48.460 --> 00:53:48.700
I'm.

00:53:54.300 --> 00:53:55.300
I'm.

00:53:57.720 --> 00:53:57.740
I'm.

00:54:04.640 --> 00:54:06.040
I'm.

00:54:07.180 --> 00:54:08.580
I'm.

00:54:08.580 --> 00:54:09.980
I'm.

00:54:20.300 --> 00:54:21.700
I'm.

00:54:25.680 --> 00:54:27.080
I'm.

00:54:27.980 --> 00:54:29.380
I'm.

00:54:37.820 --> 00:54:38.160
I'm.

00:54:51.180 --> 00:54:52.580
I'm.

00:54:57.620 --> 00:54:59.020
I'm.

00:54:59.020 --> 00:54:59.440
I'm.

00:55:01.020 --> 00:55:01.480
I'm.

00:55:04.840 --> 00:55:05.880
I'm.

00:55:09.880 --> 00:55:10.640
I'm.

00:55:12.240 --> 00:55:13.640
I'm.

00:55:13.660 --> 00:55:14.440
I'm.

00:55:24.980 --> 00:55:26.380
I'm.

00:55:33.460 --> 00:55:34.860
I'm.

00:55:38.640 --> 00:55:40.040
I'm.

00:55:41.360 --> 00:55:42.760
I'm.

00:55:42.820 --> 00:55:43.000
I'm.

00:55:43.480 --> 00:55:44.380
I'm.

00:55:55.840 --> 00:55:57.240
I'm.

00:56:05.540 --> 00:56:06.600
I'm.

00:56:09.340 --> 00:56:10.720
I'm.

00:56:13.100 --> 00:56:14.500
I'm.

00:56:18.840 --> 00:56:20.240
I'm.

00:56:20.700 --> 00:56:21.800
I'm.

00:56:33.700 --> 00:56:35.100
I'm.

00:56:35.100 --> 00:56:35.140
I'm.

00:56:38.760 --> 00:56:40.160
I'm.

00:56:41.960 --> 00:56:43.360
I'm.

00:56:45.720 --> 00:56:46.680
I'm.

00:56:57.100 --> 00:56:58.500
I'm.

00:56:58.500 --> 00:56:58.580
I'm.

00:56:58.640 --> 00:56:58.840
I'm.

00:57:06.520 --> 00:57:07.200
I'm.

00:57:10.300 --> 00:57:10.740
I'm.

00:57:12.660 --> 00:57:12.680
I'm.

00:57:19.680 --> 00:57:19.860
I'm.

00:57:19.860 --> 00:57:20.160
I'm.

00:57:20.300 --> 00:57:20.960
I'm.

00:57:21.680 --> 00:57:22.300
I'm.

00:57:34.520 --> 00:57:35.920
I'm.

00:57:35.940 --> 00:57:36.460
I'm.

00:57:36.480 --> 00:57:37.620
I'm.

00:57:50.120 --> 00:57:51.520
I'm.

00:58:14.360 --> 00:58:14.460
I'm.

00:58:20.920 --> 00:58:20.960
I'm.

00:58:20.980 --> 00:58:21.020
I'm.

00:58:21.040 --> 00:58:21.100
I'm.

00:58:21.180 --> 00:58:21.280
I'm.

00:58:26.020 --> 00:58:27.420
I'm.

00:58:28.160 --> 00:58:29.120
I'm.

00:58:29.120 --> 00:58:29.380
I'm.

00:58:40.380 --> 00:58:40.460
I'm.

00:58:52.020 --> 00:58:53.420
I'm.

00:59:00.300 --> 00:59:01.700
I'm.

00:59:02.320 --> 00:59:02.360
I'm.

00:59:02.380 --> 00:59:02.420
I'm.

00:59:02.420 --> 00:59:03.540
I'm.

00:59:07.020 --> 00:59:08.420
I'm.

00:59:08.420 --> 00:59:09.440
I'm.

00:59:09.540 --> 00:59:10.380
I'm.

00:59:11.640 --> 00:59:12.440
I'm.

00:59:13.680 --> 00:59:15.080
I'm.

00:59:15.080 --> 00:59:15.560
I'm.

00:59:21.380 --> 00:59:22.780
I'm.

00:59:32.020 --> 00:59:33.420
I'm.

00:59:33.440 --> 00:59:33.580
I'm.

00:59:33.800 --> 00:59:34.820
I'm.

00:59:36.260 --> 00:59:37.060
I'm.

00:59:43.420 --> 00:59:43.640
I'm.

01:00:04.780 --> 01:00:05.000
I'm.

01:00:05.420 --> 01:00:05.460
I'm.

01:00:06.180 --> 01:00:06.300
I'm.

01:00:06.680 --> 01:00:06.780
I'm.

01:00:06.800 --> 01:00:06.840
I'm.

01:00:06.860 --> 01:00:06.960
I'm.

01:00:16.740 --> 01:00:17.660
I'm.

01:00:22.520 --> 01:00:23.440
I'm.

01:00:26.100 --> 01:00:27.020
I'm.

01:00:34.300 --> 01:00:35.220
I'm.

01:00:35.460 --> 01:00:35.920
I'm.

01:00:36.180 --> 01:00:36.540
I'm.

01:00:36.560 --> 01:00:36.920
I'm.

01:00:38.500 --> 01:00:39.900
I'm.

01:00:42.080 --> 01:00:43.480
I'm.

01:00:46.800 --> 01:00:48.200
I'm.

01:00:53.680 --> 01:00:55.080
I'm.

01:01:00.500 --> 01:01:01.680
I'm.

01:01:02.720 --> 01:01:02.760
I'm.

01:01:06.280 --> 01:01:06.720
I'm.

01:01:12.320 --> 01:01:13.720
I'm.

01:01:19.900 --> 01:01:20.420
I'm.

01:01:20.880 --> 01:01:22.280
I'm.

01:01:36.300 --> 01:01:37.700
I'm.

01:01:37.700 --> 01:01:38.420
I'm.

01:01:38.420 --> 01:01:39.560
I'm.

01:01:41.780 --> 01:01:43.180
I'm.

01:02:12.820 --> 01:02:12.900
I'm.

01:02:12.920 --> 01:02:12.960
I'm.

01:02:12.980 --> 01:02:13.020
I'm.

01:02:13.040 --> 01:02:13.080
I'm.

01:02:13.100 --> 01:02:13.140
I'm.

01:02:13.140 --> 01:02:13.260
I'm.

01:02:20.120 --> 01:02:20.440
I'm.

01:02:30.780 --> 01:02:31.100
I'm.

01:02:31.120 --> 01:02:31.320
I'm.

01:02:31.340 --> 01:02:31.380
I'm.

01:02:34.120 --> 01:02:34.440
I'm.

01:02:42.660 --> 01:02:42.980
I'm.

01:02:47.980 --> 01:02:49.380
I'm.

01:03:01.660 --> 01:03:03.060
I'm.

01:03:09.000 --> 01:03:10.320
I'm.

01:03:10.320 --> 01:03:10.360
I'm.

01:03:18.520 --> 01:03:19.920
I'm.

01:03:25.200 --> 01:03:26.600
I'm.

01:03:27.500 --> 01:03:28.900
I'm.

01:03:30.320 --> 01:03:30.920
I'm.

01:04:00.080 --> 01:04:00.400
I'm.

01:04:00.420 --> 01:04:00.460
I'm.

01:04:00.460 --> 01:04:00.700
I'm.

01:04:00.920 --> 01:04:01.920
I'm.

01:04:05.440 --> 01:04:06.840
I'm.

01:04:13.900 --> 01:04:15.300
I'm.

01:04:15.300 --> 01:04:15.360
I'm.

01:04:15.360 --> 01:04:15.760
I'm.

01:04:20.500 --> 01:04:21.900
I'm.

01:04:35.700 --> 01:04:37.100
I'm.

01:04:42.620 --> 01:04:44.020
I'm.

01:04:46.020 --> 01:04:46.680
I'm.

01:04:50.320 --> 01:04:51.720
I'm.

01:05:06.420 --> 01:05:07.820
I'm.

01:05:12.000 --> 01:05:13.400
I'm.

01:05:13.400 --> 01:05:13.460
I'm.

01:05:17.420 --> 01:05:18.820
I'm.

01:05:23.080 --> 01:05:23.200
I'm.

01:05:23.200 --> 01:05:23.220
I'm.

01:05:49.000 --> 01:05:50.400
I'm.

01:05:51.780 --> 01:05:53.180
I'm.

01:05:53.180 --> 01:05:53.860
I'm.

01:05:57.300 --> 01:05:58.700
I'm.

01:06:07.220 --> 01:06:08.620
I'm.

01:06:09.020 --> 01:06:10.420
I'm.

01:06:11.640 --> 01:06:13.040
I'm.

01:06:13.040 --> 01:06:14.060
I'm.

01:06:16.540 --> 01:06:17.940
I'm.

01:06:21.440 --> 01:06:22.840
I'm.

01:06:22.840 --> 01:06:23.180
I'm.

01:06:23.180 --> 01:06:23.600
I'm.

01:06:28.120 --> 01:06:29.520
I'm.

01:06:41.140 --> 01:06:42.540
I'm.

01:06:42.540 --> 01:06:43.460
I'm.

01:06:43.460 --> 01:06:44.300
I'm.

01:06:44.300 --> 01:06:44.720
I'm.

01:06:44.720 --> 01:06:44.820
I'm.

01:06:48.900 --> 01:06:50.300
I'm.

01:06:57.080 --> 01:06:57.580
I'm.

01:07:02.060 --> 01:07:03.460
I'm.

01:07:10.280 --> 01:07:10.720
I'm.

01:07:10.720 --> 01:07:11.200
I'm.

01:07:15.160 --> 01:07:16.380
I'm.

01:07:22.980 --> 01:07:24.100
I'm.

01:07:28.360 --> 01:07:29.760
I'm.

01:07:36.180 --> 01:07:36.380
I'm.

01:07:36.560 --> 01:07:37.960
I'm.

01:07:37.960 --> 01:07:38.160
I'm.

01:07:43.300 --> 01:07:44.320
I'm.

01:07:50.640 --> 01:07:50.760
I'm.

01:07:50.760 --> 01:07:50.800
I'm.

01:07:55.300 --> 01:07:56.700
I'm.

01:08:02.860 --> 01:08:03.200
I'm.

01:08:07.460 --> 01:08:08.860
I'm.

01:08:14.520 --> 01:08:15.060
I'm.

01:08:15.920 --> 01:08:16.700
I'm.

01:08:20.740 --> 01:08:20.860
I'm.

01:08:23.760 --> 01:08:23.840
I'm.

01:08:23.840 --> 01:08:23.920
I'm.

01:08:30.440 --> 01:08:31.840
I'm.

01:08:37.420 --> 01:08:38.800
I'm.

01:08:49.560 --> 01:08:50.960
I'm.

01:08:50.960 --> 01:08:51.760
I'm.

01:08:52.000 --> 01:08:53.400
I'm.

01:08:55.380 --> 01:08:56.060
I'm.

01:08:56.060 --> 01:08:56.280
I'm.

01:09:00.300 --> 01:09:01.700
I'm.

01:09:01.900 --> 01:09:03.300
I'm.

01:09:03.300 --> 01:09:03.680
I'm.

01:09:08.280 --> 01:09:09.680
I'm.

01:09:23.180 --> 01:09:24.580
I'm.

01:09:24.580 --> 01:09:24.860
I'm.

01:09:29.140 --> 01:09:30.540
I'm.

01:09:33.580 --> 01:09:33.600
I'm.

01:09:36.580 --> 01:09:36.840
I'm.

01:09:38.240 --> 01:09:39.640
I'm.

01:09:39.640 --> 01:09:39.700
I'm.

01:09:44.620 --> 01:09:46.020
I'm.

01:09:51.800 --> 01:09:51.860
I'm.

01:09:53.160 --> 01:09:54.560
I'm.

01:09:54.560 --> 01:09:54.640
I'm.

01:09:58.460 --> 01:09:59.860
I'm.

01:10:01.760 --> 01:10:02.660
I'm.

01:10:05.920 --> 01:10:06.220
I'm.

01:10:10.460 --> 01:10:11.860
I'm.

01:10:21.860 --> 01:10:23.260
I'm.

01:10:23.260 --> 01:10:23.300
I'm.

01:10:53.040 --> 01:10:53.120
I'm.

01:10:53.120 --> 01:10:53.160
I'm.

01:10:53.160 --> 01:10:53.200
I'm.

01:10:53.220 --> 01:10:53.800
I'm.

01:10:59.120 --> 01:11:00.520
I'm.

01:11:01.360 --> 01:11:01.760
I'm.

01:11:09.480 --> 01:11:10.880
I'm.

01:11:10.880 --> 01:11:12.140
I'm.

01:11:12.560 --> 01:11:13.300
I'm.

01:11:13.300 --> 01:11:15.100
I'm.

01:11:17.840 --> 01:11:19.240
I'm.

01:11:32.620 --> 01:11:34.020
I'm.

01:11:37.440 --> 01:11:38.020
I'm.

01:11:41.880 --> 01:11:42.020
I'm.

01:11:53.480 --> 01:11:54.880
I'm.

01:11:59.600 --> 01:12:01.000
I'm.

01:12:01.660 --> 01:12:03.060
I'm.

01:12:12.320 --> 01:12:13.720
I'm.

01:12:14.880 --> 01:12:15.380
I'm.

01:12:15.660 --> 01:12:15.960
I'm.

01:12:15.960 --> 01:12:17.520
I'm.

01:12:30.280 --> 01:12:31.680
I'm.

01:12:33.980 --> 01:12:35.380
I'm.

01:12:37.240 --> 01:12:37.420
I'm.

01:12:39.160 --> 01:12:39.280
I'm.

01:12:40.680 --> 01:12:40.860
I'm.

01:12:52.920 --> 01:12:54.320
I'm.

01:12:54.320 --> 01:12:55.160
I'm.

01:12:55.160 --> 01:12:56.020
I'm.

01:12:56.020 --> 01:12:56.080
I'm.

01:12:58.260 --> 01:12:59.660
I'm.

01:13:06.180 --> 01:13:07.580
I'm.

01:13:17.180 --> 01:13:18.580
I'm.

01:13:19.240 --> 01:13:20.640
I'm.

01:13:22.880 --> 01:13:24.280
I'm.

01:13:27.360 --> 01:13:28.760
I'm.

01:13:28.760 --> 01:13:29.380
I'm.

01:13:38.000 --> 01:13:38.340
I'm.

01:13:42.260 --> 01:13:43.660
I'm.

01:13:43.660 --> 01:13:43.720
I'm.

01:13:47.360 --> 01:13:48.760
I'm.

01:13:51.460 --> 01:13:51.720
I'm.

01:13:56.080 --> 01:13:56.880
I'm.

01:13:56.880 --> 01:13:57.120
I'm.

01:14:00.880 --> 01:14:01.760
I'm.

01:14:03.360 --> 01:14:04.760
I'm.

01:14:04.760 --> 01:14:04.800
I'm.

01:14:11.700 --> 01:14:11.760
I'm.

01:14:26.400 --> 01:14:27.800
I'm.

01:14:29.800 --> 01:14:31.200
I'm.

01:14:31.360 --> 01:14:31.740
I'm.

01:14:36.680 --> 01:14:38.080
I'm.

01:14:38.080 --> 01:14:39.480
I'm.

01:14:40.880 --> 01:14:41.680
I'm.

01:14:43.840 --> 01:14:44.180
I'm.

01:14:44.180 --> 01:14:44.220
I'm.

01:14:50.020 --> 01:14:51.420
I'm.

01:14:54.380 --> 01:14:54.420
I'm.

01:14:57.680 --> 01:14:59.080
I'm.

01:15:02.740 --> 01:15:04.140
I'm.

01:15:08.140 --> 01:15:08.440
I'm.

01:15:10.140 --> 01:15:11.540
I'm.

01:15:17.260 --> 01:15:18.660
I'm.

01:15:21.560 --> 01:15:22.960
I'm.

01:15:39.800 --> 01:15:41.200
I'm.

01:15:41.200 --> 01:15:41.220
I'm.

01:15:44.880 --> 01:15:46.280
I'm.

01:15:49.820 --> 01:15:51.220
I'm.

01:16:00.740 --> 01:16:02.140
I'm.

01:16:02.140 --> 01:16:03.040
I'm.

01:16:05.820 --> 01:16:07.220
I'm.

01:16:07.220 --> 01:16:07.380
I'm.

01:16:07.460 --> 01:16:08.860
I'm.

01:16:08.860 --> 01:16:10.000
I'm.

01:16:10.400 --> 01:16:11.100
I'm.

01:16:11.100 --> 01:16:11.120
I'm.

01:16:14.840 --> 01:16:16.240
I'm.

01:16:17.280 --> 01:16:18.680
I'm.

01:16:20.200 --> 01:16:20.220
I'm.

01:16:23.620 --> 01:16:24.380
I'm.

01:16:24.380 --> 01:16:25.940
I'm.

01:16:26.020 --> 01:16:27.120
I'm.

01:16:28.640 --> 01:16:28.840
I'm.

01:16:30.160 --> 01:16:31.560
I'm.

01:16:32.500 --> 01:16:32.580
I'm.

01:16:33.080 --> 01:16:33.500
I'm.

01:16:33.500 --> 01:16:34.580
I'm.

01:16:40.400 --> 01:16:41.800
I'm.

01:16:42.400 --> 01:16:43.800
I'm.

01:16:50.780 --> 01:16:52.180
I'm.

01:16:53.080 --> 01:16:54.480
I'm.

01:16:55.280 --> 01:16:56.020
I'm.

01:17:06.340 --> 01:17:07.740
I'm.

01:17:07.740 --> 01:17:08.020
I'm.

01:17:08.900 --> 01:17:10.200
I'm.

01:17:12.520 --> 01:17:13.920
I'm.

01:17:23.360 --> 01:17:24.020
I'm.

01:17:31.300 --> 01:17:32.060
I'm.

01:17:33.240 --> 01:17:33.700
I'm.

01:17:40.660 --> 01:17:42.060
I'm.

01:17:43.440 --> 01:17:44.840
I'm.

01:17:44.840 --> 01:17:44.880
I'm.

01:18:04.520 --> 01:18:04.880
I'm.

01:18:13.060 --> 01:18:13.420
I'm.

01:18:14.440 --> 01:18:14.460
I'm.

01:18:14.480 --> 01:18:14.520
I'm.

01:18:14.520 --> 01:18:14.700
I'm.

01:18:14.700 --> 01:18:15.540
I'm.

01:18:19.820 --> 01:18:21.220
I'm.

01:18:25.560 --> 01:18:25.940
I'm.

01:18:27.360 --> 01:18:27.380
I'm.

01:18:27.380 --> 01:18:27.520
I'm.

01:18:27.520 --> 01:18:28.100
I'm.

01:18:28.100 --> 01:18:28.860
I'm.

01:18:36.280 --> 01:18:37.680
I'm.

01:18:40.260 --> 01:18:40.580
I'm.

01:18:40.640 --> 01:18:41.700
I'm.

01:18:46.640 --> 01:18:48.040
I'm.

01:18:48.040 --> 01:18:48.840
I'm.

01:18:54.260 --> 01:18:55.660
I'm.

01:19:01.880 --> 01:19:03.280
I'm.

01:19:03.280 --> 01:19:03.560
I'm.

01:19:04.520 --> 01:19:05.920
I'm.

01:19:06.740 --> 01:19:07.740
I'm.

01:19:23.400 --> 01:19:24.800
I'm.

01:19:27.920 --> 01:19:28.020
I'm.

01:19:32.740 --> 01:19:34.140
I'm.

01:19:36.920 --> 01:19:38.320
I'm.

01:19:41.580 --> 01:19:41.620
I'm.

01:19:47.760 --> 01:19:48.480
I'm.

01:19:49.160 --> 01:19:50.400
I'm.

01:19:50.600 --> 01:19:50.780
I'm.

01:19:50.780 --> 01:19:51.180
I'm.

01:19:55.840 --> 01:19:57.240
I'm.

01:20:04.860 --> 01:20:06.080
I'm.

01:20:06.080 --> 01:20:06.900
I'm.

01:20:12.320 --> 01:20:13.720
I'm.

01:20:15.960 --> 01:20:17.120
I'm.

01:20:23.460 --> 01:20:24.860
I'm.

01:20:24.860 --> 01:20:25.780
I'm.

01:20:25.880 --> 01:20:27.280
I'm.

01:20:27.280 --> 01:20:28.360
I'm.

01:20:31.440 --> 01:20:32.840
I'm.

01:20:40.360 --> 01:20:41.760
I'm.

01:20:41.760 --> 01:20:42.320
I'm.

01:20:46.380 --> 01:20:47.780
I'm.

01:20:54.900 --> 01:20:55.660
I'm.

01:20:56.420 --> 01:20:56.720
I'm.

01:20:56.720 --> 01:20:56.820
I'm.

01:21:00.280 --> 01:21:01.680
I'm.

01:21:16.300 --> 01:21:16.720
I'm.

01:21:18.500 --> 01:21:18.920
I'm.

01:21:19.060 --> 01:21:19.180
I'm.

01:21:19.180 --> 01:21:19.620
I'm.

01:21:24.900 --> 01:21:26.300
I'm.

01:21:33.180 --> 01:21:34.060
I'm.

01:21:34.060 --> 01:21:34.620
I'm.

01:21:34.620 --> 01:21:35.560
I'm.

01:21:35.560 --> 01:21:37.200
I'm.

01:21:40.260 --> 01:21:41.660
I'm.

01:21:45.180 --> 01:21:45.340
I'm.

01:21:46.860 --> 01:21:47.180
I'm.

01:21:53.000 --> 01:21:54.400
I'm.

01:21:55.160 --> 01:21:56.560
I'm.

01:21:56.560 --> 01:21:56.640
I'm.

01:22:00.740 --> 01:22:02.140
I'm.

01:22:09.340 --> 01:22:10.740
I'm.

01:22:10.740 --> 01:22:11.500
I'm.

01:22:16.060 --> 01:22:17.460
I'm.

01:22:21.440 --> 01:22:21.840
I'm.

01:22:25.160 --> 01:22:25.240
I'm.

01:22:25.240 --> 01:22:26.280
I'm.

01:22:30.240 --> 01:22:31.640
I'm.

01:22:31.640 --> 01:22:32.520
I'm.

01:22:35.220 --> 01:22:36.620
I'm.

01:22:39.880 --> 01:22:40.020
I'm.

01:22:48.920 --> 01:22:50.320
I'm.

01:22:51.420 --> 01:22:52.820
I'm.

01:22:52.820 --> 01:22:53.920
I'm.

01:22:58.620 --> 01:23:00.020
I'm.

01:23:03.900 --> 01:23:04.160
I'm.

01:23:07.520 --> 01:23:08.920
I'm.

01:23:08.920 --> 01:23:09.720
I'm.

01:23:12.920 --> 01:23:13.080
I'm.

01:23:21.620 --> 01:23:22.620
I'm.

01:23:25.620 --> 01:23:26.380
I'm.

01:23:33.400 --> 01:23:33.520
I'm.

01:23:35.120 --> 01:23:36.520
I'm.

01:23:36.520 --> 01:23:36.840
I'm.

01:23:40.020 --> 01:23:41.420
I'm.

01:23:46.160 --> 01:23:46.340
I'm.

01:23:47.700 --> 01:23:48.360
I'm.

01:23:52.500 --> 01:23:53.900
I'm.

01:23:55.680 --> 01:23:55.860
I'm.

01:24:00.040 --> 01:24:00.520
I'm.

01:24:04.400 --> 01:24:05.800
I'm.

01:24:07.260 --> 01:24:07.840
I'm.

01:24:12.940 --> 01:24:13.000
I'm.

01:24:22.660 --> 01:24:24.060
I'm.

01:24:29.120 --> 01:24:30.520
I'm.

01:24:30.940 --> 01:24:32.340
I'm.

01:24:32.340 --> 01:24:32.780
I'm.

01:24:32.780 --> 01:24:33.900
I'm.

01:24:40.080 --> 01:24:41.480
I'm.

01:24:41.840 --> 01:24:43.240
I'm.

01:24:49.160 --> 01:24:50.560
I'm.

01:24:53.820 --> 01:24:55.220
I'm.

01:24:57.520 --> 01:24:58.620
I'm.

01:24:58.620 --> 01:24:58.640
I'm.

01:25:03.140 --> 01:25:04.540
I'm.

01:25:14.400 --> 01:25:15.800
I'm.

01:25:15.800 --> 01:25:16.080
I'm.

01:25:16.080 --> 01:25:16.520
I'm.

01:25:16.520 --> 01:25:16.540
I'm.

01:25:20.360 --> 01:25:21.760
I'm.

01:25:28.960 --> 01:25:30.360
I'm.

01:25:31.300 --> 01:25:32.700
I'm.

01:25:40.280 --> 01:25:41.680
I'm.

01:25:42.280 --> 01:25:42.500
I'm.

01:25:44.840 --> 01:25:46.060
I'm.

01:25:46.060 --> 01:25:46.960
I'm.

01:25:51.500 --> 01:25:52.900
I'm.

01:26:05.140 --> 01:26:06.540
I'm.

01:26:06.540 --> 01:26:07.160
I'm.

01:26:07.220 --> 01:26:07.240
I'm.

01:26:12.820 --> 01:26:14.220
I'm.

01:26:14.440 --> 01:26:14.780
I'm.

01:26:18.580 --> 01:26:19.420
I'm.

01:26:22.580 --> 01:26:23.180
I'm.

01:26:25.160 --> 01:26:25.500
I'm.

01:26:35.800 --> 01:26:36.580
I'm.

01:26:37.200 --> 01:26:37.320
I'm.

01:26:37.320 --> 01:26:37.460
I'm.

01:26:37.460 --> 01:26:37.500
I'm.

01:26:43.160 --> 01:26:44.560
I'm.

01:26:49.680 --> 01:26:50.080
I'm.

01:26:50.220 --> 01:26:51.620
I'm.

01:26:51.620 --> 01:26:51.680
I'm.

01:27:00.780 --> 01:27:02.080
I'm.

01:27:05.620 --> 01:27:06.340
I'm.

01:27:06.340 --> 01:27:07.180
I'm.

01:27:07.180 --> 01:27:07.320
I'm.

01:27:12.160 --> 01:27:13.560
I'm.

01:27:19.960 --> 01:27:21.280
I'm.

01:27:23.620 --> 01:27:25.020
I'm.

01:27:25.020 --> 01:27:26.140
I'm.

01:27:29.620 --> 01:27:31.020
I'm.

01:27:33.840 --> 01:27:34.440
I'm.

01:27:42.280 --> 01:27:43.680
I'm.

01:27:43.680 --> 01:27:43.740
I'm.

01:27:43.740 --> 01:27:44.240
I'm.

01:27:48.240 --> 01:27:48.920
I'm.

01:27:50.200 --> 01:27:51.600
I'm.

01:27:53.920 --> 01:27:54.040
I'm.

01:27:55.180 --> 01:27:55.900
I'm.

01:27:55.900 --> 01:27:55.920
I'm.

01:28:01.140 --> 01:28:02.540
I'm.

01:28:05.520 --> 01:28:05.700
I'm.

01:28:09.340 --> 01:28:10.740
I'm.

01:28:10.740 --> 01:28:11.180
I'm.

01:28:16.100 --> 01:28:17.500
I'm.

01:28:29.080 --> 01:28:30.480
I'm.

01:28:30.480 --> 01:28:31.460
I'm.

01:28:31.920 --> 01:28:32.000
I'm.

01:28:50.680 --> 01:28:50.760
I'm.

01:28:50.780 --> 01:28:50.820
I'm.

01:28:50.840 --> 01:28:50.880
I'm.

01:28:50.880 --> 01:28:50.900
I'm.

01:28:51.860 --> 01:28:51.940
I'm.

01:29:06.440 --> 01:29:07.280
I'm.

01:29:12.540 --> 01:29:13.380
I'm.

01:29:13.380 --> 01:29:13.440
I'm.

01:29:13.680 --> 01:29:13.900
I'm.

01:29:15.980 --> 01:29:16.300
I'm.

01:29:19.840 --> 01:29:20.680
I'm.

01:29:21.120 --> 01:29:21.540
I'm.

01:29:21.540 --> 01:29:22.500
I'm.

01:29:23.000 --> 01:29:24.400
I'm.

01:29:26.760 --> 01:29:28.160
I'm.

01:29:28.680 --> 01:29:29.500
I'm.

01:29:30.800 --> 01:29:32.200
I'm.

01:29:45.340 --> 01:29:45.540
I'm.

01:29:51.460 --> 01:29:51.500
I'm.

01:30:08.420 --> 01:30:09.820
I'm.

01:30:11.960 --> 01:30:13.360
I'm.

01:30:14.440 --> 01:30:15.720
I'm.

01:30:18.520 --> 01:30:19.920
I'm.

01:30:20.280 --> 01:30:20.660
I'm.

01:30:23.640 --> 01:30:24.300
I'm.

01:30:29.180 --> 01:30:30.560
I'm.

01:30:35.880 --> 01:30:35.920
I'm.

01:30:35.940 --> 01:30:35.980
I'm.

01:30:35.980 --> 01:30:36.100
I'm.

01:30:43.040 --> 01:30:44.420
I'm.

01:30:47.960 --> 01:30:49.360
I'm.

01:30:49.740 --> 01:30:51.140
I'm.

01:30:56.200 --> 01:30:57.600
I'm.

01:31:00.460 --> 01:31:01.860
I'm.

01:31:05.620 --> 01:31:07.020
I'm.

01:31:08.600 --> 01:31:10.000
I'm.

01:31:23.360 --> 01:31:24.520
I'm.

01:31:24.520 --> 01:31:25.360
I'm.

01:31:28.400 --> 01:31:29.560
I'm.

01:31:29.640 --> 01:31:29.760
I'm.

01:31:29.760 --> 01:31:30.060
I'm.

01:31:30.380 --> 01:31:30.660
I'm.

01:31:30.660 --> 01:31:32.200
I'm.

01:31:46.640 --> 01:31:48.040
I'm.

01:31:48.040 --> 01:31:48.280
I'm.

01:31:48.280 --> 01:31:48.720
I'm.

01:31:48.840 --> 01:31:50.240
I'm.

01:31:50.240 --> 01:31:50.660
I'm.

01:31:58.620 --> 01:31:58.660
I'm.

01:32:05.060 --> 01:32:06.460
I'm.

01:32:12.760 --> 01:32:14.160
I'm.

01:32:18.140 --> 01:32:19.540
I'm.

01:32:27.480 --> 01:32:28.880
I'm.

01:32:28.880 --> 01:32:28.980
I'm.

01:32:28.980 --> 01:32:29.180
I'm.

01:32:41.960 --> 01:32:43.360
I'm.

01:32:57.600 --> 01:32:59.000
I'm.

01:32:59.000 --> 01:32:59.160
I'm.

01:33:17.160 --> 01:33:18.560
I'm.

01:33:34.100 --> 01:33:35.500
I'm.

01:33:42.960 --> 01:33:44.360
I'm.

01:33:48.980 --> 01:33:50.380
I'm.

01:33:50.380 --> 01:33:50.560
I'm.

01:33:52.900 --> 01:33:53.080
I'm.

01:33:55.240 --> 01:33:56.640
I'm.

01:34:02.060 --> 01:34:03.460
I'm.

01:34:04.640 --> 01:34:04.800
I'm.

01:34:05.760 --> 01:34:07.160
I'm.

01:34:14.860 --> 01:34:16.260
I'm.

01:34:16.260 --> 01:34:17.360
I'm.

01:34:17.360 --> 01:34:17.580
I'm.

01:34:17.580 --> 01:34:17.960
I'm.

01:34:22.120 --> 01:34:23.520
I'm.

01:34:25.580 --> 01:34:26.000
I'm.

01:34:27.940 --> 01:34:28.920
I'm.

01:34:31.000 --> 01:34:32.400
I'm.

01:34:35.440 --> 01:34:36.840
I'm.

01:34:38.060 --> 01:34:39.460
I'm.

01:34:48.280 --> 01:34:49.680
I'm.

01:34:50.800 --> 01:34:51.340
I'm.

01:34:55.920 --> 01:34:57.320
I'm.

01:34:57.320 --> 01:34:57.600
I'm.

01:34:58.000 --> 01:34:59.400
I'm.

01:35:00.500 --> 01:35:01.040
I'm.

01:35:07.120 --> 01:35:08.520
I'm.

01:35:09.660 --> 01:35:10.100
I'm.

01:35:16.260 --> 01:35:17.040
I'm.

01:35:18.380 --> 01:35:19.780
I'm.

01:35:21.040 --> 01:35:21.880
I'm.

01:35:21.880 --> 01:35:22.260
I'm.

01:35:26.600 --> 01:35:28.000
I'm.

01:35:31.800 --> 01:35:32.660
I'm.

01:35:36.320 --> 01:35:36.580
I'm.

01:35:36.600 --> 01:35:37.860
I'm.

01:35:39.780 --> 01:35:41.180
I'm.

01:35:44.320 --> 01:35:45.720
I'm.

01:35:52.720 --> 01:35:54.120
I'm.

01:35:54.280 --> 01:35:54.860
I'm.

01:35:56.180 --> 01:35:57.500
I'm.

01:36:01.240 --> 01:36:02.640
I'm.

01:36:02.880 --> 01:36:03.720
I'm.

01:36:06.900 --> 01:36:08.300
I'm.

01:36:13.980 --> 01:36:15.380
I'm.

01:36:17.080 --> 01:36:18.240
I'm.

01:36:24.740 --> 01:36:26.140
I'm.

01:36:26.140 --> 01:36:27.340
I'm.

01:36:27.340 --> 01:36:27.960
I'm.

01:36:37.200 --> 01:36:38.600
I'm.

01:36:40.000 --> 01:36:41.400
I'm.

01:36:43.060 --> 01:36:43.340
I'm.

01:36:45.020 --> 01:36:45.640
I'm.

01:36:47.340 --> 01:36:47.480
I'm.

01:36:48.640 --> 01:36:50.020
I'm.

01:36:53.700 --> 01:36:55.100
I'm.

01:36:58.840 --> 01:37:00.240
I'm.

01:37:00.480 --> 01:37:00.680
I'm.

01:37:09.960 --> 01:37:11.360
I'm.

01:37:13.860 --> 01:37:15.260
I'm.

01:37:21.100 --> 01:37:22.460
I'm.

01:37:23.040 --> 01:37:23.480
I'm.

01:37:23.820 --> 01:37:24.200
I'm.

01:37:27.240 --> 01:37:28.600
I'm.

01:37:28.600 --> 01:37:28.880
I'm.

01:37:34.100 --> 01:37:34.660
I'm.

01:37:35.200 --> 01:37:35.760
I'm.

01:37:36.060 --> 01:37:36.080
I'm.

01:37:36.180 --> 01:37:36.400
I'm.

01:37:36.480 --> 01:37:36.640
I'm.

01:37:36.760 --> 01:37:37.180
I'm.

01:37:37.180 --> 01:37:38.140
I'm.

01:37:41.920 --> 01:37:43.320
I'm.

01:37:43.760 --> 01:37:45.160
I'm.

01:37:46.220 --> 01:37:47.280
I'm.

01:37:50.460 --> 01:37:51.400
I'm.

01:38:12.280 --> 01:38:13.680
I'm.

01:38:18.640 --> 01:38:19.160
I'm.

01:38:20.720 --> 01:38:21.200
I'm.

01:38:21.380 --> 01:38:21.400
I'm.

01:38:27.820 --> 01:38:29.220
I'm.

01:38:30.460 --> 01:38:31.780
I'm.

01:38:39.320 --> 01:38:40.720
I'm.

01:38:46.320 --> 01:38:47.720
I'm.

01:38:48.820 --> 01:38:49.820
I'm.

01:38:52.060 --> 01:38:52.140
I'm.

01:39:00.780 --> 01:39:02.180
I'm.

01:39:07.760 --> 01:39:09.160
I'm.

01:39:15.680 --> 01:39:17.080
I'm.

01:39:20.720 --> 01:39:22.120
I'm.

01:39:22.960 --> 01:39:24.360
I'm.

01:39:30.600 --> 01:39:32.000
I'm.

01:40:00.560 --> 01:40:01.960
I'm.

01:40:07.700 --> 01:40:09.100
I'm.

01:40:19.740 --> 01:40:21.140
I'm.

01:40:22.300 --> 01:40:23.700
I'm.

01:40:29.220 --> 01:40:30.620
I'm.

01:40:33.860 --> 01:40:33.980
I'm.

01:40:41.680 --> 01:40:43.080
I'm.

01:40:43.800 --> 01:40:45.200
I'm.

01:40:45.200 --> 01:40:45.400
I'm.

01:40:46.280 --> 01:40:46.920
I'm.

01:40:46.920 --> 01:40:47.580
I'm.

01:40:58.400 --> 01:40:59.800
I'm.

01:41:03.440 --> 01:41:04.840
I'm.

01:41:04.840 --> 01:41:05.480
I'm.

01:41:06.040 --> 01:41:06.920
I'm.

01:41:08.260 --> 01:41:08.640
I'm.

01:41:08.880 --> 01:41:09.640
I'm.

01:41:17.460 --> 01:41:17.640
I'm.

01:41:19.240 --> 01:41:20.560
I'm.

01:41:20.560 --> 01:41:20.700
I'm.

01:41:20.700 --> 01:41:20.980
I'm.

01:41:20.980 --> 01:41:21.480
I'm.

01:41:27.700 --> 01:41:29.100
I'm.

01:41:29.100 --> 01:41:29.120
I'm.

01:41:34.120 --> 01:41:35.220
I'm.

01:41:48.180 --> 01:41:49.280
I'm.

01:41:49.640 --> 01:41:50.100
I'm.

01:41:50.560 --> 01:41:50.780
I'm.

01:41:56.880 --> 01:41:58.280
I'm.

01:42:05.780 --> 01:42:07.180
I'm.

01:42:11.820 --> 01:42:13.220
I'm.

01:42:19.240 --> 01:42:20.640
I'm.

01:42:20.640 --> 01:42:21.000
I'm.

01:42:27.320 --> 01:42:28.720
I'm.

01:42:34.220 --> 01:42:35.620
I'm.

01:42:40.020 --> 01:42:41.420
I'm.

01:42:50.980 --> 01:42:51.340
I'm.

01:42:54.980 --> 01:42:55.280
I'm.

01:42:58.980 --> 01:42:59.760
I'm.

01:42:59.760 --> 01:43:00.640
I'm.

01:43:00.640 --> 01:43:00.700
I'm.

01:43:07.060 --> 01:43:08.460
I'm.

01:43:09.780 --> 01:43:11.180
I'm.

01:43:23.500 --> 01:43:24.820
I'm.

01:43:30.080 --> 01:43:31.400
I'm.

01:43:38.540 --> 01:43:39.860
I'm.

01:43:39.880 --> 01:43:39.920
I'm.

01:43:39.940 --> 01:43:39.980
I'm.

01:43:39.980 --> 01:43:41.660
I'm.

01:43:45.080 --> 01:43:46.480
I'm.

01:43:52.820 --> 01:43:54.220
I'm.

01:43:54.280 --> 01:43:54.620
I'm.

01:43:58.480 --> 01:43:59.880
I'm.

01:44:00.420 --> 01:44:01.040
I'm.

01:44:09.880 --> 01:44:11.280
I'm.

01:44:17.740 --> 01:44:19.140
I'm.

01:44:19.820 --> 01:44:20.460
I'm.

01:44:21.500 --> 01:44:22.100
I'm.

01:44:29.480 --> 01:44:30.880
I'm.

01:44:45.240 --> 01:44:46.640
I'm.

01:44:46.800 --> 01:44:46.880
I'm.

01:44:48.580 --> 01:44:49.080
I'm.

01:44:49.080 --> 01:44:49.560
I'm.

01:44:50.100 --> 01:44:50.680
I'm.

01:44:50.680 --> 01:44:51.220
I'm.

01:45:07.760 --> 01:45:09.160
I'm.

01:45:14.920 --> 01:45:16.320
I'm.

01:45:17.880 --> 01:45:19.280
I'm.

01:45:20.060 --> 01:45:20.660
I'm.

01:45:46.200 --> 01:45:47.600
I'm.

01:45:50.620 --> 01:45:52.400
I'm.

01:45:54.620 --> 01:45:55.480
I'm.

01:45:56.480 --> 01:45:57.880
I'm.

01:45:58.420 --> 01:45:58.760
I'm.

01:45:58.760 --> 01:45:59.540
I'm.

01:46:10.620 --> 01:46:10.680
I'm.

01:46:40.280 --> 01:46:40.360
I'm.

01:46:40.380 --> 01:46:40.460
I'm.

01:46:40.480 --> 01:46:40.520
I'm.

01:46:40.540 --> 01:46:40.580
I'm.

01:46:40.600 --> 01:46:40.640
I'm.

01:46:40.640 --> 01:46:41.960
I'm.

01:46:57.740 --> 01:46:58.540
I'm.

01:47:07.900 --> 01:47:08.700
I'm.

01:47:08.960 --> 01:47:09.260
I'm.

01:47:09.880 --> 01:47:10.280
I'm.

01:47:10.280 --> 01:47:10.500
I'm.

01:47:10.500 --> 01:47:10.620
I'm.

01:47:12.340 --> 01:47:13.740
I'm.

01:47:17.540 --> 01:47:18.940
I'm.

01:47:18.940 --> 01:47:19.340
I'm.

01:47:19.920 --> 01:47:20.520
I'm.

01:47:24.140 --> 01:47:25.540
I'm.

01:47:31.020 --> 01:47:32.420
I'm.

01:47:45.260 --> 01:47:46.660
I'm.

01:47:46.660 --> 01:47:46.700
I'm.

01:47:46.700 --> 01:47:47.020
I'm.

01:47:47.020 --> 01:47:47.100
I'm.

01:47:47.100 --> 01:47:47.140
I'm.

01:47:54.100 --> 01:47:55.500
I'm.

01:47:56.620 --> 01:47:57.640
I'm.

01:48:06.840 --> 01:48:08.240
I'm.

01:48:14.140 --> 01:48:15.540
I'm.

01:48:16.400 --> 01:48:16.940
I'm.

01:48:16.940 --> 01:48:17.060
I'm.

01:48:31.860 --> 01:48:33.260
I'm.

01:48:34.040 --> 01:48:35.440
I'm.

01:48:40.720 --> 01:48:40.880
I'm.

01:48:57.100 --> 01:48:57.260
I'm.

01:49:05.180 --> 01:49:05.220
I'm.

01:49:05.300 --> 01:49:05.340
I'm.

01:49:05.360 --> 01:49:05.400
I'm.

01:49:19.760 --> 01:49:21.160
I'm.

01:49:21.720 --> 01:49:23.120
I'm.

01:49:25.340 --> 01:49:26.740
I'm.

01:49:29.140 --> 01:49:30.540
I'm.

01:49:34.080 --> 01:49:35.480
I'm.

01:49:39.200 --> 01:49:40.600
I'm.

01:49:40.940 --> 01:49:41.400
I'm.

01:49:49.880 --> 01:49:50.540
I'm.

01:49:51.560 --> 01:49:51.800
I'm.

01:49:51.800 --> 01:49:52.040
I'm.

01:49:52.040 --> 01:49:52.200
I'm.

01:50:01.600 --> 01:50:01.820
I'm.

01:50:15.080 --> 01:50:15.300
I'm.

01:50:15.320 --> 01:50:15.360
I'm.

01:50:15.380 --> 01:50:15.440
I'm.

01:50:15.440 --> 01:50:15.460
I'm.

01:50:19.080 --> 01:50:20.480
I'm.

01:50:23.640 --> 01:50:25.040
I'm.

01:50:27.460 --> 01:50:27.580
I'm.

01:50:32.680 --> 01:50:34.080
I'm.

01:50:42.780 --> 01:50:43.460
I'm.

01:50:43.480 --> 01:50:43.520
I'm.

01:50:51.360 --> 01:50:51.480
I'm.

01:51:01.060 --> 01:51:02.300
I'm.

01:51:02.920 --> 01:51:03.580
I'm.

01:51:03.620 --> 01:51:03.780
I'm.

01:51:03.780 --> 01:51:03.820
I'm.

01:51:03.820 --> 01:51:04.000
I'm.

01:51:04.000 --> 01:51:05.340
I'm.

01:51:18.740 --> 01:51:20.140
I'm.

01:51:20.140 --> 01:51:21.320
I'm.

01:51:23.060 --> 01:51:24.460
I'm.

01:51:25.240 --> 01:51:26.220
I'm.

01:51:29.280 --> 01:51:30.680
I'm.

01:51:36.360 --> 01:51:37.760
I'm.

01:51:50.080 --> 01:51:51.480
I'm.

01:51:53.320 --> 01:51:53.640
I'm.

01:51:54.680 --> 01:51:54.740
I'm.

01:51:59.080 --> 01:52:00.480
I'm.

01:52:03.260 --> 01:52:04.660
I'm.

01:52:12.140 --> 01:52:13.540
I'm.

01:52:13.540 --> 01:52:14.060
I'm.

01:52:14.600 --> 01:52:15.280
I'm.

01:52:15.280 --> 01:52:15.440
I'm.

01:52:29.360 --> 01:52:30.760
I'm.

01:52:31.140 --> 01:52:31.280
I'm.

01:52:31.920 --> 01:52:32.580
I'm.

01:52:35.000 --> 01:52:36.400
I'm.

01:52:42.960 --> 01:52:44.360
I'm.

01:52:45.940 --> 01:52:46.820
I'm.

01:52:52.200 --> 01:52:52.400
I'm.

01:52:53.600 --> 01:52:54.100
I'm.

01:52:56.400 --> 01:52:56.800
I'm.

01:52:56.800 --> 01:52:57.080
I'm.

01:53:12.840 --> 01:53:14.240
I'm.

01:53:18.580 --> 01:53:19.980
I'm.

01:53:23.600 --> 01:53:25.000
I'm.

01:53:25.760 --> 01:53:26.880
I'm.

01:53:26.880 --> 01:53:28.040
I'm.

01:53:29.480 --> 01:53:30.200
I'm.

01:53:30.220 --> 01:53:30.540
I'm.

01:53:30.560 --> 01:53:30.600
I'm.

01:53:32.540 --> 01:53:33.260
I'm.

01:53:34.420 --> 01:53:35.140
I'm.

01:53:35.140 --> 01:53:35.400
I'm.

01:53:54.240 --> 01:53:55.640
I'm.

01:53:55.800 --> 01:53:57.200
I'm.

01:53:57.920 --> 01:53:59.300
I'm.

01:53:59.300 --> 01:53:59.920
I'm.

01:54:17.600 --> 01:54:18.720
I'm.

01:54:18.720 --> 01:54:19.280
I'm.

01:54:19.420 --> 01:54:19.940
I'm.

01:54:19.940 --> 01:54:20.500
I'm.

01:54:27.520 --> 01:54:28.640
I'm.

01:54:33.960 --> 01:54:35.360
I'm.

01:54:41.240 --> 01:54:42.240
I'm.

01:54:43.440 --> 01:54:44.840
I'm.

01:54:44.860 --> 01:54:45.800
I'm.

01:54:48.640 --> 01:54:49.040
I'm.

01:54:49.040 --> 01:54:50.060
I'm.

01:55:04.620 --> 01:55:06.020
I'm.

01:55:06.840 --> 01:55:08.240
I'm.

01:55:08.760 --> 01:55:10.160
I'm.

01:55:10.220 --> 01:55:10.460
I'm.

01:55:13.120 --> 01:55:14.300
I'm.

01:55:16.160 --> 01:55:17.040
I'm.

01:55:20.500 --> 01:55:21.040
I'm.

01:55:23.120 --> 01:55:24.520
I'm.

01:55:26.460 --> 01:55:27.020
I'm.

01:55:33.080 --> 01:55:34.480
I'm.

01:55:34.480 --> 01:55:35.560
I'm.

01:55:39.460 --> 01:55:39.480
I'm.

01:55:53.720 --> 01:55:55.120
I'm.

01:55:57.160 --> 01:55:58.560
I'm.

01:55:58.580 --> 01:55:59.160
I'm.

01:55:59.160 --> 01:55:59.460
I'm.

01:56:05.780 --> 01:56:07.180
I'm.

01:56:08.740 --> 01:56:09.180
I'm.

01:56:09.180 --> 01:56:09.700
I'm.

01:56:12.680 --> 01:56:14.080
I'm.

01:56:15.220 --> 01:56:16.620
I'm.

01:56:23.300 --> 01:56:24.700
I'm.

01:56:24.700 --> 01:56:24.740
I'm.

01:56:28.280 --> 01:56:29.680
I'm.

01:56:33.180 --> 01:56:33.680
I'm.

01:56:39.820 --> 01:56:41.220
I'm.

01:56:43.300 --> 01:56:44.440
I'm.

01:56:46.460 --> 01:56:47.860
I'm.

01:56:48.100 --> 01:56:48.380
I'm.

01:56:51.000 --> 01:56:52.400
I'm.

01:56:52.400 --> 01:56:54.040
I'm.

01:56:56.780 --> 01:56:58.180
I'm.

01:57:09.040 --> 01:57:10.440
I'm.

01:57:10.440 --> 01:57:10.960
I'm.

01:57:10.960 --> 01:57:11.260
I'm.

01:57:12.400 --> 01:57:13.260
I'm.

01:57:13.640 --> 01:57:13.860
I'm.

01:57:25.820 --> 01:57:26.680
I'm.

01:57:33.480 --> 01:57:34.340
I'm.

01:57:41.300 --> 01:57:42.160
I'm.

01:57:42.600 --> 01:57:42.780
I'm.

01:57:42.800 --> 01:57:43.020
I'm.

01:57:43.020 --> 01:57:43.440
I'm.

01:57:43.440 --> 01:57:43.520
I'm.

01:57:53.080 --> 01:57:54.240
I'm.

01:58:04.320 --> 01:58:05.480
I'm.

01:58:06.060 --> 01:58:06.300
I'm.

01:58:07.820 --> 01:58:08.980
I'm.

01:58:11.820 --> 01:58:12.980
I'm.

01:58:12.980 --> 01:58:13.220
I'm.

01:58:13.220 --> 01:58:14.100
I'm.

01:58:22.620 --> 01:58:24.020
I'm.

01:58:26.480 --> 01:58:27.880
I'm.

01:58:29.620 --> 01:58:31.020
I'm.

01:58:31.220 --> 01:58:31.760
I'm.

01:58:33.220 --> 01:58:34.620
I'm.

01:58:40.680 --> 01:58:41.220
I'm.

01:58:41.380 --> 01:58:41.400
I'm.

01:58:45.980 --> 01:58:47.380
I'm.

01:58:50.980 --> 01:58:51.140
I'm.

01:58:51.140 --> 01:58:51.680
I'm.

01:58:59.620 --> 01:59:01.020
I'm.

01:59:07.240 --> 01:59:08.640
I'm.

01:59:09.340 --> 01:59:10.480
I'm.

01:59:13.520 --> 01:59:13.980
I'm.

01:59:14.080 --> 01:59:15.220
I'm.

01:59:18.440 --> 01:59:19.840
I'm.

01:59:21.280 --> 01:59:22.540
I'm.

01:59:33.960 --> 01:59:35.360
I'm.

01:59:36.520 --> 01:59:37.920
I'm.

01:59:40.100 --> 01:59:41.500
I'm.

01:59:41.860 --> 01:59:42.520
I'm.

01:59:42.940 --> 01:59:43.520
I'm.

01:59:44.500 --> 01:59:45.220
I'm.

01:59:59.080 --> 02:00:00.480
I'm.

02:00:04.280 --> 02:00:05.680
I'm.

02:00:06.240 --> 02:00:07.340
I'm.

02:00:07.440 --> 02:00:08.380
I'm.

02:00:10.180 --> 02:00:11.300
I'm.

02:00:11.900 --> 02:00:12.140
I'm.

02:00:14.060 --> 02:00:15.460
I'm.

02:00:17.540 --> 02:00:18.940
I'm.

02:00:26.660 --> 02:00:28.060
I'm.

02:00:28.980 --> 02:00:30.380
I'm.

02:00:30.800 --> 02:00:32.200
I'm.

02:00:35.300 --> 02:00:36.140
I'm.

02:00:40.700 --> 02:00:42.100
I'm.

02:00:42.100 --> 02:00:42.400
I'm.

02:00:50.200 --> 02:00:51.600
I'm.

02:00:51.600 --> 02:00:52.160
I'm.

02:00:53.920 --> 02:00:54.080
I'm.

02:00:59.440 --> 02:01:00.840
I'm.

02:01:03.060 --> 02:01:04.460
I'm.

02:01:13.500 --> 02:01:14.900
I'm.

02:01:17.060 --> 02:01:18.460
I'm.

02:01:19.220 --> 02:01:20.620
I'm.

02:01:20.620 --> 02:01:21.580
I'm.

02:01:22.180 --> 02:01:23.580
I'm.

02:01:23.660 --> 02:01:24.180
I'm.

02:01:24.700 --> 02:01:25.780
I'm.

02:01:28.700 --> 02:01:28.840
I'm.

02:01:30.360 --> 02:01:31.760
I'm.

02:01:32.520 --> 02:01:32.980
I'm.

02:01:36.040 --> 02:01:36.840
I'm.

02:01:39.620 --> 02:01:41.020
I'm.

02:01:44.240 --> 02:01:45.640
I'm.

02:01:56.180 --> 02:01:57.580
I'm.

02:02:04.860 --> 02:02:06.260
I'm.

02:02:08.720 --> 02:02:09.680
I'm.

02:02:09.700 --> 02:02:10.760
I'm.

02:02:11.880 --> 02:02:13.280
I'm.

02:02:13.940 --> 02:02:15.340
I'm.

02:02:31.160 --> 02:02:32.360
I'm.

02:02:35.540 --> 02:02:36.740
I'm.

02:02:38.500 --> 02:02:39.700
I'm.

02:02:44.700 --> 02:02:45.180
I'm.

02:02:45.200 --> 02:02:45.240
I'm.

02:02:45.260 --> 02:02:45.300
I'm.

02:02:49.960 --> 02:02:51.360
I'm.

02:03:03.620 --> 02:03:05.020
I'm.

02:03:06.780 --> 02:03:08.180
I'm.

02:03:09.380 --> 02:03:10.780
I'm.

02:03:12.840 --> 02:03:14.240
I'm.

02:03:14.520 --> 02:03:14.920
I'm.

02:03:16.960 --> 02:03:18.360
I'm.

02:03:20.260 --> 02:03:21.660
I'm.

02:03:27.120 --> 02:03:28.520
I'm.

02:03:28.660 --> 02:03:29.520
I'm.

02:03:29.820 --> 02:03:30.680
I'm.

02:03:31.020 --> 02:03:32.420
I'm.

02:03:40.560 --> 02:03:41.960
I'm.

02:03:43.700 --> 02:03:44.420
I'm.

02:03:45.100 --> 02:03:46.320
I'm.

02:03:46.320 --> 02:03:47.540
I'm.

02:03:52.420 --> 02:03:52.900
I'm.

02:03:57.880 --> 02:03:59.280
I'm.

02:04:10.920 --> 02:04:12.320
I'm.

02:04:12.320 --> 02:04:12.380
I'm.

02:04:12.460 --> 02:04:13.860
I'm.

02:04:18.260 --> 02:04:19.660
I'm.

02:04:20.780 --> 02:04:22.180
I'm.

02:04:30.820 --> 02:04:32.220
I'm.

02:04:32.680 --> 02:04:34.080
I'm.

02:04:34.880 --> 02:04:36.020
I'm.

02:04:36.940 --> 02:04:37.720
I'm.

02:04:45.260 --> 02:04:45.720
I'm.

02:04:48.620 --> 02:04:49.700
I'm.

02:04:57.540 --> 02:04:58.940
I'm.

02:05:04.780 --> 02:05:05.560
I'm.

02:05:07.660 --> 02:05:07.680
I'm.

02:05:07.680 --> 02:05:08.640
I'm.

02:05:22.220 --> 02:05:23.620
I'm.

02:05:23.640 --> 02:05:24.360
I'm.

02:05:25.060 --> 02:05:26.260
I'm.

02:05:27.080 --> 02:05:27.680
I'm.

02:05:35.780 --> 02:05:37.180
I'm.

02:05:40.520 --> 02:05:41.180
I'm.

02:05:45.840 --> 02:05:47.240
I'm.

02:05:47.380 --> 02:05:48.780
I'm.

02:05:50.480 --> 02:05:51.880
I'm.

02:05:52.920 --> 02:05:53.360
I'm.

02:05:53.720 --> 02:05:55.100
I'm.

02:05:59.100 --> 02:05:59.440
I'm.

02:05:59.580 --> 02:06:00.680
I'm.

02:06:03.960 --> 02:06:05.360
I'm.

02:06:05.360 --> 02:06:05.480
I'm.

02:06:05.480 --> 02:06:05.520
I'm.

02:06:33.280 --> 02:06:34.680
I'm.

02:06:34.680 --> 02:06:35.500
I'm.

02:06:35.500 --> 02:06:37.080
I'm.

02:06:39.260 --> 02:06:40.660
I'm.

02:06:41.260 --> 02:06:42.020
I'm.

02:06:43.300 --> 02:06:44.700
I'm.

02:06:54.600 --> 02:06:56.000
I'm.

02:07:14.500 --> 02:07:15.900
I'm.

02:07:20.280 --> 02:07:21.680
I'm.

02:07:32.700 --> 02:07:34.100
I'm.

02:07:34.520 --> 02:07:35.820
I'm.

02:07:35.820 --> 02:07:37.520
I'm.

02:07:51.440 --> 02:07:52.840
I'm.

02:07:53.620 --> 02:07:54.320
I'm.

02:07:55.940 --> 02:07:57.340
I'm.

02:08:04.400 --> 02:08:05.800
I'm.

02:08:10.700 --> 02:08:12.100
I'm.

02:08:12.100 --> 02:08:13.020
I'm.

02:08:13.320 --> 02:08:13.680
I'm.

02:08:16.680 --> 02:08:18.080
I'm.

02:08:23.620 --> 02:08:25.020
I'm.

02:08:25.520 --> 02:08:26.540
I'm.

02:08:31.440 --> 02:08:32.840
I'm.

02:08:32.840 --> 02:08:33.820
I'm.

02:08:33.820 --> 02:08:33.840
I'm.

02:08:35.980 --> 02:08:37.380
I'm.

02:08:42.120 --> 02:08:43.520
I'm.

02:08:43.520 --> 02:08:44.620
I'm.

02:08:51.580 --> 02:08:52.980
I'm.

02:08:53.940 --> 02:08:55.340
I'm.

02:08:55.840 --> 02:08:57.240
I'm.

02:09:04.820 --> 02:09:05.240
I'm.

02:09:09.020 --> 02:09:09.360
I'm.

02:09:10.260 --> 02:09:11.660
I'm.

02:09:26.100 --> 02:09:27.500
I'm.

02:09:30.720 --> 02:09:30.780
I'm.

02:09:31.980 --> 02:09:33.380
I'm.

02:09:34.680 --> 02:09:34.880
I'm.

02:09:35.660 --> 02:09:35.840
I'm.

02:09:35.840 --> 02:09:38.160
I'm.

02:09:45.180 --> 02:09:46.580
I'm.

02:09:46.580 --> 02:09:46.700
I'm.

02:09:46.720 --> 02:09:46.880
I'm.

02:09:46.880 --> 02:09:47.000
I'm.

02:09:51.940 --> 02:09:53.340
I'm.

02:09:53.340 --> 02:09:53.500
I'm.

02:09:57.560 --> 02:09:58.960
I'm.

02:10:02.300 --> 02:10:03.700
I'm.

02:10:03.700 --> 02:10:04.000
I'm.

02:10:04.940 --> 02:10:06.300
I'm.

02:10:21.780 --> 02:10:23.180
I'm.

02:10:23.180 --> 02:10:23.300
I'm.

02:10:28.140 --> 02:10:29.540
I'm.

02:10:32.200 --> 02:10:32.760
I'm.

02:10:35.820 --> 02:10:37.060
I'm.

02:10:43.180 --> 02:10:43.780
I'm.

02:11:01.800 --> 02:11:03.200
I'm.

02:11:03.300 --> 02:11:04.700
I'm.

02:11:06.100 --> 02:11:06.560
I'm.

02:11:07.520 --> 02:11:07.780
I'm.

02:11:10.500 --> 02:11:11.900
I'm.

02:11:22.060 --> 02:11:23.460
I'm.

02:11:24.460 --> 02:11:25.060
I'm.

02:11:29.000 --> 02:11:30.400
I'm.

02:11:31.820 --> 02:11:33.220
I'm.

02:11:33.220 --> 02:11:33.240
I'm.

02:11:37.260 --> 02:11:38.660
I'm.

02:11:43.820 --> 02:11:45.220
I'm.

02:11:55.840 --> 02:11:57.240
I'm.

02:11:57.840 --> 02:11:59.240
I'm.

02:11:59.240 --> 02:11:59.300
I'm.

02:12:00.820 --> 02:12:02.220
I'm.

02:12:06.960 --> 02:12:08.360
I'm.

02:12:08.980 --> 02:12:10.140
I'm.

02:12:11.600 --> 02:12:11.820
I'm.

02:12:13.260 --> 02:12:13.520
I'm.

02:12:13.520 --> 02:12:14.060
I'm.

02:12:14.980 --> 02:12:16.380
I'm.

02:12:18.260 --> 02:12:19.660
I'm.

02:12:22.380 --> 02:12:23.780
I'm.

02:12:29.940 --> 02:12:31.340
I'm.

02:12:31.940 --> 02:12:33.340
I'm.

02:12:42.020 --> 02:12:43.420
I'm.

02:12:43.420 --> 02:12:44.180
I'm.

02:13:10.880 --> 02:13:12.280
I'm.

02:13:13.400 --> 02:13:14.480
I'm.

02:13:25.520 --> 02:13:26.720
I'm.

02:13:39.460 --> 02:13:40.660
I'm.

02:13:41.800 --> 02:13:43.000
I'm.

02:13:43.000 --> 02:13:43.040
I'm.

02:13:43.040 --> 02:13:43.160
I'm.

02:13:43.160 --> 02:13:43.900
I'm.

02:13:47.140 --> 02:13:48.540
I'm.

02:13:52.680 --> 02:13:54.080
I'm.

02:13:55.060 --> 02:13:56.340
I'm.

02:14:01.060 --> 02:14:02.460
I'm.

02:14:02.960 --> 02:14:04.360
I'm.

02:14:10.540 --> 02:14:11.160
I'm.

02:14:11.240 --> 02:14:13.020
I'm.

02:14:16.340 --> 02:14:17.740
I'm.

02:14:21.620 --> 02:14:23.020
I'm.

02:14:23.020 --> 02:14:23.120
I'm.

02:14:23.440 --> 02:14:24.840
I'm.

02:14:32.840 --> 02:14:32.980
I'm.

02:14:34.100 --> 02:14:34.720
I'm.

02:14:35.340 --> 02:14:35.480
I'm.

02:14:36.280 --> 02:14:36.540
I'm.

02:14:36.600 --> 02:14:37.080
I'm.

02:14:50.640 --> 02:14:52.040
I'm.

02:14:53.620 --> 02:14:55.020
I'm.

02:14:56.280 --> 02:14:57.680
I'm.

02:15:03.080 --> 02:15:04.480
I'm.

02:15:04.840 --> 02:15:05.440
I'm.

02:15:09.440 --> 02:15:09.960
I'm.

02:15:22.440 --> 02:15:23.840
I'm.

02:15:24.500 --> 02:15:25.900
I'm.

02:15:32.840 --> 02:15:33.440
I'm.

02:15:37.540 --> 02:15:37.720
I'm.

02:15:39.240 --> 02:15:40.640
I'm.

02:15:40.700 --> 02:15:41.420
I'm.

02:15:52.860 --> 02:15:53.540
I'm.

02:16:01.440 --> 02:16:02.220
I'm.

02:16:02.780 --> 02:16:03.060
I'm.

02:16:03.060 --> 02:16:04.980
I'm.

02:16:07.260 --> 02:16:08.660
I'm.

02:16:13.060 --> 02:16:13.680
I'm.

02:16:15.500 --> 02:16:16.900
I'm.

02:16:16.900 --> 02:16:17.700
I'm.

02:16:21.620 --> 02:16:23.020
I'm.

02:16:23.460 --> 02:16:24.300
I'm.

02:16:27.280 --> 02:16:27.900
I'm.

02:16:45.160 --> 02:16:46.560
I'm.

02:16:46.560 --> 02:16:47.340
I'm.

02:16:48.100 --> 02:16:49.500
I'm.

02:16:54.560 --> 02:16:55.320
I'm.

02:16:55.320 --> 02:16:55.480
I'm.

02:16:57.160 --> 02:16:57.320
I'm.

02:16:57.940 --> 02:16:58.200
I'm.

02:16:58.200 --> 02:16:58.520
I'm.

02:17:03.080 --> 02:17:04.480
I'm.

02:17:06.420 --> 02:17:07.820
I'm.

02:17:10.880 --> 02:17:12.160
I'm.

02:17:29.440 --> 02:17:30.840
I'm.

02:17:52.580 --> 02:17:53.980
I'm.

02:17:59.420 --> 02:18:00.820
I'm.

02:18:01.760 --> 02:18:03.160
I'm.

02:18:07.280 --> 02:18:08.680
I'm.

02:18:16.480 --> 02:18:16.820
I'm.

02:18:18.100 --> 02:18:19.500
I'm.

02:18:20.920 --> 02:18:21.760
I'm.

02:18:21.760 --> 02:18:21.920
I'm.

02:18:24.940 --> 02:18:25.000
I'm.

02:18:41.520 --> 02:18:42.920
I'm.

02:18:42.920 --> 02:18:42.960
I'm.

02:19:11.540 --> 02:19:12.940
I'm.

02:19:14.660 --> 02:19:16.060
I'm.

02:19:39.920 --> 02:19:41.320
I'm.

02:19:44.860 --> 02:19:46.260
I'm.

02:19:48.560 --> 02:19:49.960
I'm.

02:19:49.960 --> 02:19:50.620
I'm.

02:19:52.340 --> 02:19:53.740
I'm.

02:20:03.900 --> 02:20:05.300
I'm.

02:20:07.660 --> 02:20:09.060
I'm.

02:20:21.120 --> 02:20:22.520
I'm.

02:20:24.980 --> 02:20:25.300
I'm.

02:20:29.040 --> 02:20:29.300
I'm.

02:20:34.240 --> 02:20:35.200
I'm.

02:20:35.200 --> 02:20:35.400
I'm.

02:20:58.300 --> 02:20:59.500
I'm.

02:21:03.980 --> 02:21:05.180
I'm.

02:21:05.180 --> 02:21:05.860
I'm.

02:21:09.180 --> 02:21:09.360
I'm.

02:21:22.020 --> 02:21:23.420
I'm.

02:21:23.420 --> 02:21:24.140
I'm.

02:21:24.140 --> 02:21:24.620
I'm.

02:21:25.300 --> 02:21:26.700
I'm.

02:21:31.440 --> 02:21:32.840
I'm.

02:21:35.060 --> 02:21:35.140
I'm.

02:21:41.920 --> 02:21:42.060
I'm.

02:22:04.560 --> 02:22:04.700
I'm.

02:22:04.720 --> 02:22:04.760
I'm.

02:22:04.780 --> 02:22:04.920
I'm.

02:22:04.940 --> 02:22:04.980
I'm.

02:22:09.460 --> 02:22:09.500
I'm.

02:22:16.180 --> 02:22:17.580
I'm.

02:22:20.660 --> 02:22:22.060
I'm.

02:22:22.980 --> 02:22:23.620
I'm.

02:22:23.620 --> 02:22:24.400
I'm.

02:22:24.400 --> 02:22:24.600
I'm.

02:22:30.720 --> 02:22:31.080
I'm.

02:22:31.120 --> 02:22:32.520
I'm.

02:22:34.180 --> 02:22:35.580
I'm.

02:22:36.380 --> 02:22:36.480
I'm.

02:22:37.080 --> 02:22:38.480
I'm.

02:22:46.580 --> 02:22:46.700
I'm.

02:22:47.380 --> 02:22:47.480
I'm.

02:22:48.880 --> 02:22:50.040
I'm.

02:22:55.940 --> 02:22:57.340
I'm.

02:22:57.820 --> 02:22:57.980
I'm.

02:23:08.520 --> 02:23:09.920
I'm.

02:23:19.520 --> 02:23:20.800
I'm.

02:23:21.500 --> 02:23:22.680
I'm.

02:23:23.680 --> 02:23:25.080
I'm.

02:23:29.940 --> 02:23:31.340
I'm.

02:23:49.760 --> 02:23:51.160
I'm.

02:23:52.940 --> 02:23:53.340
I'm.

02:24:00.800 --> 02:24:01.120
I'm.

02:24:07.720 --> 02:24:08.800
I'm.

02:24:19.100 --> 02:24:20.500
I'm.

02:24:21.540 --> 02:24:22.940
I'm.

02:24:30.660 --> 02:24:30.960
I'm.

02:24:31.120 --> 02:24:31.280
I'm.

02:24:45.100 --> 02:24:46.500
I'm.

02:24:47.300 --> 02:24:48.700
I'm.

02:24:49.940 --> 02:24:51.340
I'm.

02:25:00.420 --> 02:25:00.520
I'm.

02:25:00.520 --> 02:25:00.920
I'm.

02:25:29.240 --> 02:25:30.640
I'm.

02:25:30.860 --> 02:25:30.900
I'm.

02:25:30.900 --> 02:25:32.020
I'm.

02:25:34.900 --> 02:25:35.720
I'm.

02:25:36.900 --> 02:25:37.320
I'm.

02:25:37.320 --> 02:25:37.660
I'm.

02:25:38.240 --> 02:25:38.380
I'm.

02:25:38.380 --> 02:25:38.580
I'm.

02:25:42.280 --> 02:25:43.480
I'm.

02:25:44.720 --> 02:25:45.920
I'm.

02:25:49.820 --> 02:25:50.040
I'm.

02:25:51.900 --> 02:25:53.300
I'm.

02:25:55.200 --> 02:25:56.600
I'm.

02:25:58.600 --> 02:26:00.000
I'm.

02:26:00.000 --> 02:26:00.300
I'm.

02:26:09.700 --> 02:26:11.100
I'm.

02:26:11.100 --> 02:26:11.360
I'm.

02:26:15.160 --> 02:26:16.560
I'm.

02:26:16.960 --> 02:26:18.360
I'm.

02:26:18.360 --> 02:26:18.900
I'm.

02:26:18.900 --> 02:26:19.740
I'm.

02:26:20.740 --> 02:26:22.140
I'm.

02:26:28.680 --> 02:26:30.080
I'm.

02:26:30.080 --> 02:26:30.180
I'm.

02:26:32.880 --> 02:26:34.000
I'm.

02:26:36.620 --> 02:26:36.820
I'm.

02:26:37.700 --> 02:26:38.820
I'm.

02:26:38.900 --> 02:26:39.080
I'm.

02:26:40.340 --> 02:26:40.580
I'm.

02:26:50.580 --> 02:26:51.380
I'm.

02:26:54.820 --> 02:26:55.500
I'm.

02:27:01.340 --> 02:27:02.280
I'm.

02:27:04.640 --> 02:27:06.040
I'm.

02:27:06.040 --> 02:27:06.920
I'm.

02:27:08.940 --> 02:27:10.340
I'm.

02:27:10.340 --> 02:27:12.660
I'm.

02:27:17.480 --> 02:27:17.980
I'm.

02:27:21.960 --> 02:27:22.340
I'm.

02:27:28.240 --> 02:27:29.640
I'm.

02:27:37.280 --> 02:27:38.680
I'm.

02:28:07.260 --> 02:28:08.660
I'm.

02:28:13.980 --> 02:28:15.380
I'm.

02:28:19.600 --> 02:28:21.000
I'm.

02:28:21.000 --> 02:28:21.840
I'm.

02:28:26.360 --> 02:28:27.760
I'm.

02:28:37.600 --> 02:28:39.000
I'm.

02:28:40.500 --> 02:28:41.900
I'm.

02:29:06.680 --> 02:29:08.080
I'm.

02:29:11.500 --> 02:29:11.560
I'm.

02:29:11.560 --> 02:29:11.720
I'm.

02:29:26.320 --> 02:29:30.340
3-5minutes also, I'll be with you guys.

02:29:30.620 --> 02:29:30.900
Morning.

02:29:35.220 --> 02:29:35.960
Morning.

02:29:36.320 --> 02:29:38.380
Okay, cool. I am here.

02:29:42.960 --> 02:29:44.640
Any questions from yesterday?

02:29:46.580 --> 02:29:47.880
I presume none.

02:29:49.300 --> 02:29:49.880
Okay.

02:29:51.060 --> 02:29:54.160
So we will continue, just one second.

02:29:56.960 --> 02:29:58.360
Slide show.

02:29:59.100 --> 02:30:00.400
Play from current.

02:30:09.820 --> 02:30:10.320
Okay.

02:30:15.060 --> 02:30:16.080
Can you guys see my screen?

02:30:18.340 --> 02:30:18.700
Yes.

02:30:19.400 --> 02:30:20.020
Okay, cool.

02:30:20.020 --> 02:30:26.320
Now, let's continue today and talk about drivers, right?

02:30:26.700 --> 02:30:32.760
When you're writing code, right, for those that were developers mainly, or if you were developers,

02:30:34.100 --> 02:30:43.760
there is a way to be able to write code that will insert data into the database.

02:30:43.920 --> 02:30:48.000
Remember, there is the one of writing a query path, right?

02:30:48.000 --> 02:30:52.900
When you're in the database in itself and then when you're using programming languages,

02:30:53.080 --> 02:30:54.180
different programming languages.

02:30:54.440 --> 02:30:55.000
Yes.

02:30:55.340 --> 02:30:56.540
Can we please start the recording?

02:30:57.260 --> 02:30:58.000
Oh, yes, please.

02:30:58.720 --> 02:30:59.160
Thank you.

02:30:59.340 --> 02:31:00.440
Let me know when you are ready.

02:31:01.000 --> 02:31:02.520
When it starts recording.

02:31:03.320 --> 02:31:04.660
Yes, thank you.

02:31:05.100 --> 02:31:06.100
Oh, okay, cool.

02:31:08.200 --> 02:31:08.760
Yes.

02:31:09.440 --> 02:31:11.260
Let me share.

02:31:11.740 --> 02:31:11.980
Okay.

02:31:12.120 --> 02:31:12.820
Can you see my screen?

02:31:12.820 --> 02:31:20.940
Okay, so I was saying when you are writing code in different languages, your Java, your Python,

02:31:22.320 --> 02:31:27.940
there is a communication that needs to happen between the database and the application in itself.

02:31:28.580 --> 02:31:32.260
And what MongoDB uses is what you call drivers, right?

02:31:32.260 --> 02:31:40.360
So the interaction between the language in itself or the library module or the language in itself

02:31:40.360 --> 02:31:45.720
and the database is mainly connected or the interaction happened using what you call a driver.

02:31:45.760 --> 02:31:46.660
And what is a driver?

02:31:47.200 --> 02:31:52.940
It's a library or module that allows your application, right, to communicate with MongoDB, right?

02:31:53.700 --> 02:31:53.980
Yes.

02:31:55.400 --> 02:31:56.640
Oh, I was on mute.

02:31:56.760 --> 02:31:57.360
Sorry, guys.

02:31:57.960 --> 02:31:58.260
Yeah.

02:32:00.080 --> 02:32:00.480
Sorry.

02:32:00.860 --> 02:32:07.120
I forgot that it's when you start recording when your site goes on mute and whatnot.

02:32:07.440 --> 02:32:07.860
But anyway.

02:32:07.860 --> 02:32:15.320
So I was saying that the communication between a language, right?

02:32:15.760 --> 02:32:22.000
Specific programming language and MongoDB is done using what you call a driver, right?

02:32:22.240 --> 02:32:23.300
And what is a driver?

02:32:23.780 --> 02:32:29.740
It's merely a library or a module that allows your application to be able to communicate with MongoDB, right?

02:32:30.480 --> 02:32:35.920
Mongo, the driver obviously will handle the lower level details of connecting to the database,

02:32:36.340 --> 02:32:39.740
sending the queries, receiving the responses and all that stuff, right?

02:32:40.460 --> 02:32:46.520
And with Mongo, it has official drivers for many languages, right?

02:32:46.760 --> 02:32:50.020
Your Java, your Python, your Perl and all that stuff.

02:32:51.800 --> 02:32:58.520
And key responsibilities of those Mongo drivers is first, connection management.

02:32:58.520 --> 02:33:04.760
It establishes the connection and manages those connections to the MongoDB server, right?

02:33:05.540 --> 02:33:07.660
When you write a query, when you send a query,

02:33:08.500 --> 02:33:16.300
it handles that from the programming languages converted to whatever is MongoDB related side of it

02:33:16.300 --> 02:33:23.540
and also converting data between the database, the database BSON and the language, right?

02:33:23.700 --> 02:33:27.920
So it still needs to give an output that is understood by the programming language

02:33:27.920 --> 02:33:29.280
that you're using.

02:33:29.580 --> 02:33:38.340
So that conversion from the programming language to BSON and then from BSON back to the programming languages, right?

02:33:38.340 --> 02:33:42.380
It also is able to handle errors, right, and exceptions.

02:33:43.160 --> 02:33:47.920
So whenever there's an issue, then it can be able to handle errors, right?

02:33:48.180 --> 02:33:56.980
And then it also has features like connection pooling, connection pooling and batching for efficient communication.

02:33:56.980 --> 02:34:02.980
So connection pooling is when you open a number of connections to be able to have parallel connections

02:34:03.660 --> 02:34:10.620
and be able to sort of process some tasks in parallel, right?

02:34:10.700 --> 02:34:18.260
So how do drivers and the shell work with the shell or the MongoDB, right?

02:34:18.960 --> 02:34:21.600
So firstly, there's the communication protocol, right?

02:34:21.600 --> 02:34:27.940
The way both the drivers and the Mongo shell communicate with the MongoDB using...

02:34:27.940 --> 02:34:30.400
Okay, what happened to my sharing now?

02:34:32.020 --> 02:34:34.720
Did someone take over the screen because the sharing just stopped?

02:34:35.520 --> 02:34:36.600
Can you see my screen now?

02:34:36.700 --> 02:34:37.240
Yes.

02:34:37.680 --> 02:34:38.300
Okay, cool.

02:34:40.580 --> 02:34:45.680
So I was talking about drivers and shell communication with MongoDB.

02:34:45.760 --> 02:34:50.940
So what happens is you've got the drivers and the Mongo shell, right?

02:34:50.940 --> 02:34:56.720
And of which they communicate with the MongoDB using what you call a MongoDB wire protocol, right?

02:34:57.340 --> 02:35:05.020
It's a binary protocol basically that defines how the messages are structured and transmitted between the two,

02:35:05.380 --> 02:35:09.660
the client, which is the driver or shell, and the servers, right?

02:35:09.900 --> 02:35:16.720
And then also there's the part where there's the data exchanged in BSON format, right?

02:35:16.720 --> 02:35:25.800
It comes in as whatever language it is, it's binary encoded and serialized into JSON-like documents,

02:35:25.820 --> 02:35:29.460
which is BSON, goes into the MongoDB server.

02:35:29.740 --> 02:35:34.780
It's processed and then taken back as plain JSON, for example, right?

02:35:35.120 --> 02:35:40.420
And then there's the connection to the MongoDB where the driver is responsible for that connection.

02:35:40.420 --> 02:35:47.320
So it establishes that connection between the client and the MongoDB server, right?

02:35:47.560 --> 02:35:52.700
It also does the managing of the connection pools, right?

02:35:53.440 --> 02:35:57.080
And then you've got the shell, which is the MongoDB shell, which is the MongoSH,

02:35:57.420 --> 02:36:01.840
which then connects to the server using a similar connection string, you know?

02:36:02.160 --> 02:36:09.320
And then the drivers in itself using the drivers API can be able to send commands to MongoDB.

02:36:09.320 --> 02:36:18.020
So in Python, for example, db.collection.find to query documents.

02:36:18.040 --> 02:36:20.020
So you can actually write your query like that.

02:36:20.260 --> 02:36:27.220
The API of the driver can be able to actually send that to the MongoDB server.

02:36:28.060 --> 02:36:32.480
And then in regards to the shell, you type commands directly into the shell.

02:36:32.580 --> 02:36:35.520
So it's the same way that you'd be able to do.

02:36:35.560 --> 02:36:38.700
So it differs with programming languages.

02:36:38.700 --> 02:36:42.800
So, for example, in Python, you use db.collection.find.

02:36:43.240 --> 02:36:45.420
In Java, you just use collection.find.

02:36:45.720 --> 02:36:52.860
But they both interpret to the shell part being db.collection.find, right?

02:36:53.440 --> 02:36:57.940
And then at the other end, it also receives the responses.

02:36:58.720 --> 02:37:04.820
So responses that come back, MongoDB uses BSON format, right?

02:37:04.820 --> 02:37:06.560
So it sends back in BSON format.

02:37:06.560 --> 02:37:11.600
What the drivers do is they then take that BSON format

02:37:11.600 --> 02:37:15.840
and then convert it to the data structure for the programming language, right?

02:37:15.840 --> 02:37:22.440
For example, it could be JSON, or it could be a dictionary in Python, or it could be an object, right?

02:37:24.320 --> 02:37:28.880
It's able to then convert the data, right?

02:37:28.880 --> 02:37:36.880
Usually the most used, I think the most easiest and used response in most languages would be JSON, right?

02:37:37.680 --> 02:37:41.160
And then it also does error handling, as we spoke about it.

02:37:41.160 --> 02:37:46.540
If error is okay, let's say there's a network issue or there's an error message back to the client,

02:37:46.760 --> 02:37:51.320
it's able to actually convert it, be able to showcase that this is the error,

02:37:51.520 --> 02:37:55.560
and you can then do some troubleshooting.

02:37:55.560 --> 02:38:00.020
Now let's talk about the binary JSON, right?

02:38:00.420 --> 02:38:07.820
Binary JSON, which is BSON, which is binary JSON, is binary coded serialization of JSON-like documents.

02:38:07.860 --> 02:38:11.800
So when you see it, it's like a JSON document, JSON document, right?

02:38:12.000 --> 02:38:15.320
The structure in itself is like a JSON anyway, right?

02:38:16.860 --> 02:38:22.220
The BSON part of it is designed to be more efficient for storage and network transmission, right?

02:38:22.220 --> 02:38:24.820
So which means that it's compressed.

02:38:25.100 --> 02:38:30.820
It's a bit smaller in terms of what you call the size of it, right?

02:38:31.000 --> 02:38:40.040
And then BSON also extends that by adding your additional data types, your dates, your binary data, and all that stuff, right?

02:38:40.400 --> 02:38:43.860
And why did MongoDB choose this specific one, BSON?

02:38:43.860 --> 02:38:45.100
BSON is more compact.

02:38:45.720 --> 02:38:49.880
It's way more compact and faster to pass than JSON, right?

02:38:49.880 --> 02:38:53.480
Which means it's smaller and easier to process, quicker to process.

02:38:53.840 --> 02:38:55.700
And then it's got rich data types.

02:38:57.000 --> 02:39:05.640
Your date, your binary data, your object ID, 32 and 64-bit integers, you know, and decimals, 128, right?

02:39:05.860 --> 02:39:12.800
And it's also compatible anyway with MongoDB because it stores data in BSON format, right?

02:39:12.800 --> 02:39:19.780
And it ensures that there's that seamless communication between the database and the applications, right?

02:39:19.780 --> 02:39:24.020
And how does it, how does BSON work in MongoDB, right?

02:39:24.020 --> 02:39:27.740
When you insert a document, for example, right?

02:39:28.080 --> 02:39:36.060
The driver converts it from the language native format, which is obviously the Python or the Java, into BSON.

02:39:36.380 --> 02:39:40.060
And then that's when it will be able to be processed, right?

02:39:40.060 --> 02:39:44.960
And then when you query the data, MongoDB then returns the results in a BSON.

02:39:45.280 --> 02:39:51.980
And then the driver converts it back into the language's native format, right?

02:39:52.120 --> 02:40:02.060
And then you've got the MongoDB wire protocol, which is a protocol that defines how the clients communicate to the MongoDB, right?

02:40:02.060 --> 02:40:04.060
With the MongoDB server, right?

02:40:05.220 --> 02:40:08.500
And it specifies the format of the messages sent.

02:40:08.500 --> 02:40:15.160
So including the query request, instead of data delete commands, what is it that you're going to be doing?

02:40:15.540 --> 02:40:17.160
What is it that you're getting back?

02:40:17.560 --> 02:40:20.300
The results that you're getting back from the server, right?

02:40:20.400 --> 02:40:27.880
And it's a protocol that is designed to be lightweight and efficient, right?

02:40:27.900 --> 02:40:35.200
It's lightweight, it's efficient, and it makes it suitable for high-performance applications because it's lightweight and efficient.

02:40:35.200 --> 02:40:38.260
It's very quick in its processing, you know?

02:40:38.560 --> 02:40:50.180
And some key features of that wire protocol obviously is the binary format, where messages are transmitted in binary and it is faster to pass and more compact, right?

02:40:51.880 --> 02:41:01.040
And then if the client sends a request, which is a query, and it sends back a response, right?

02:41:01.040 --> 02:41:07.880
And then it's got this support for BSON, where you can be able to have a BSON format.

02:41:08.320 --> 02:41:13.920
It then is able to actually assist in connecting with the driver and all that stuff.

02:41:14.020 --> 02:41:23.220
And then it also does connection handling, where it supports your connection pulling, your keeper life to improve performance, and all that stuff, right?

02:41:23.220 --> 02:41:27.300
Some key differences between BSON and the wire protocol.

02:41:27.300 --> 02:41:34.360
The purpose, BSON is for data format for storage and transmission, and then the MongoDB is obvious.

02:41:34.580 --> 02:41:38.960
The wire protocol is for communication protocol between client and server.

02:41:39.780 --> 02:41:51.680
And then BSON is binary encoded, JSON-like documents, and then the wire protocol is binary messages with the headers and payloads, right?

02:41:51.680 --> 02:42:03.820
And then usage, you use to represent documents in MongoDB, and then the wire protocol is used to send and receive messages between client and server.

02:42:04.200 --> 02:42:13.340
And then some data types, BSON supports your date, object ID, binary data, and all that stuff.

02:42:13.480 --> 02:42:19.880
And then the wire protocol defines how operations of the responses are structured.

02:42:20.980 --> 02:42:23.360
Any questions on that?

02:42:25.420 --> 02:42:26.300
No, no question.

02:42:27.380 --> 02:42:28.500
All right, cool.

02:42:30.240 --> 02:42:34.380
Let's talk about some troubleshooting, right? Your application connections.

02:42:36.200 --> 02:42:40.140
So sort of some things that you need to look at, right?

02:42:40.680 --> 02:42:47.400
Let's say there's an incorrect, the error is an incorrect connection string, right?

02:42:47.400 --> 02:42:53.440
It might fail because of that, right? So your URI might be missing some required parameters.

02:42:53.860 --> 02:42:58.980
You need to check your typos or you could be using incorrect credentials, right?

02:42:59.320 --> 02:43:05.040
If there's a network issue, then, for example, application might not be able to reach the MongoDB, right?

02:43:05.040 --> 02:43:13.680
You need to check things like your file, any DNS, any IP, any host name, if there was any error in regards to that.

02:43:14.160 --> 02:43:16.640
And then authentication failures, right?

02:43:16.640 --> 02:43:26.480
It could be an incorrect username or password or some missing or incorrect authentication database,

02:43:26.880 --> 02:43:31.980
which is on the MongoDB side or user might not have the required permissions, for example.

02:43:32.140 --> 02:43:39.260
I remember yesterday there was a user when we had admin, we couldn't create something after creating it.

02:43:39.280 --> 02:43:41.100
So that could be another issue.

02:43:41.100 --> 02:43:47.900
And then MongoDB server not running, so the service in itself, the server in itself might not be running.

02:43:48.380 --> 02:43:54.200
So you might want to check if it's down or it's properly configured to be able to accept connections.

02:43:54.640 --> 02:43:58.220
And then there could be a drive or library issue.

02:43:58.620 --> 02:44:06.340
It's either it's incompatible or it's outdated and what do you call this?

02:44:06.400 --> 02:44:09.780
Or there could be missing dependencies or incorrect driver configuration.

02:44:09.780 --> 02:44:12.440
These are things that you need to be able to look at.

02:44:13.020 --> 02:44:18.920
And then there also might be resource limitations where there is heavy load or have reached its connection limit.

02:44:19.400 --> 02:44:21.480
It's things that you can also be able to look at.

02:44:22.100 --> 02:44:24.640
And then TLS and SSL misconfiguration.

02:44:24.720 --> 02:44:32.280
This one can be a very big one because it can bring your whole system down when you don't configure your certificates properly.

02:44:32.920 --> 02:44:35.740
You know, it's a very, very big one.

02:44:35.740 --> 02:44:41.380
So anything that involves SSL, if it's not configured properly, then it can be a big issue.

02:44:43.520 --> 02:44:46.560
Now, let's talk about some scaling, right?

02:44:46.620 --> 02:44:51.660
We want to scale some write and read and write scaling, right?

02:44:52.540 --> 02:44:59.960
And of which scaling is obviously being is the ability for a system to be able to handle increased load, right?

02:45:00.980 --> 02:45:03.720
And MongoDB has two main ones, right?

02:45:03.720 --> 02:45:05.920
There's the vertical one and the horizontal.

02:45:06.460 --> 02:45:11.580
The vertical one is more or less increasing the capacity of a single server, right?

02:45:11.600 --> 02:45:14.880
So you're adding more CPU or RAM or storage.

02:45:16.820 --> 02:45:21.500
And then some use cases, obviously suitable for small medium workloads.

02:45:22.400 --> 02:45:24.900
The only limitation is hardware constraints, right?

02:45:24.900 --> 02:45:28.480
If you don't have enough hardware, then there's that limited constraint.

02:45:28.480 --> 02:45:34.520
And then there's the horizontal scaling, which is the distributing the load across multiple servers, right?

02:45:34.800 --> 02:45:39.860
As much as yes, the limitation is also the hardware that you have.

02:45:39.960 --> 02:45:44.500
But also if you can convert that into virtual servers and all that stuff, it could assist.

02:45:44.920 --> 02:45:53.540
And this is usually ideal for large scale applications that have got a very high read and write demand, right?

02:45:53.540 --> 02:45:58.380
And how does MongoDB achieve this when it's horizontal scaling?

02:45:58.600 --> 02:45:59.600
There's what you call sharding.

02:45:59.700 --> 02:46:04.880
Sharding is more or less splitting data across multiple servers, right, to distribute the load.

02:46:05.700 --> 02:46:10.880
And shards is putting them in small chunks, right?

02:46:11.260 --> 02:46:22.100
And then there's also replication where you maintain multiple copies of data to improve read scalability and fault tolerance, right?

02:46:22.100 --> 02:46:29.100
Now let's look at replication. Replication is where you've got data, the same data across multiple servers, right?

02:46:29.880 --> 02:46:34.020
And you ensure that there is that high availability and fault tolerance.

02:46:34.420 --> 02:46:43.260
And if the primary replica goes down, a secondary replica can kick in and it wouldn't have any issue because it's updated.

02:46:43.540 --> 02:46:49.760
It's got all. Well, we are saying theoretically we are saying that everything will be up to date, right?

02:46:49.760 --> 02:46:53.640
There is no technical issue that could be happening and all that stuff, right?

02:46:53.820 --> 02:47:00.860
And what is replication is, is where there's a group of MongoDB instances that maintain the same data, right?

02:47:01.240 --> 02:47:10.140
There's the primary node which handles your read, all your write operations and replicates data across to the secondary nodes.

02:47:10.200 --> 02:47:14.620
And then there's the secondary node which handles the read, right?

02:47:14.620 --> 02:47:21.940
It can handle the read operations and this is where your replicated data is stored, right?

02:47:22.080 --> 02:47:33.540
And then you've got an arbiter, where this is an optional one, as you spoke the last time, that the lightweight member that participates in the election but doesn't store data.

02:47:33.660 --> 02:47:43.920
Its purpose is just to be able to determine which one is the primary node today, you know, it's an optional one.

02:47:44.720 --> 02:47:48.920
So getting to how replication works, the first thing is the write operation.

02:47:49.980 --> 02:47:53.040
So all write operations go to the primary node, right?

02:47:53.240 --> 02:48:06.440
It records the changes in its operation log and then the secondary nodes asynchronously replicate the op log and apply the changes to their own data, right?

02:48:06.440 --> 02:48:15.440
And then what then happens is when the read operations happen, reads are directed to the primary node,

02:48:15.880 --> 02:48:25.540
but you can also configure to say, let the read happen on secondary node, for example, any of the secondary nodes, right?

02:48:25.540 --> 02:48:37.240
So that it improves the operations, you leave the write operations to just the primary node and you have the secondary node being the read ones.

02:48:39.380 --> 02:48:42.140
And then benefits of replication, right?

02:48:43.620 --> 02:48:57.380
So obviously, when primary node fails, it automatically switches to the next one by election process, which would obviously be one of the secondary ones and then it becomes the primary.

02:48:57.920 --> 02:49:01.620
And then secondary nodes can handle read operations, right?

02:49:01.820 --> 02:49:10.720
So reducing the load on the primary and then data durability, there's that multiple copies of data that is ensured.

02:49:10.720 --> 02:49:22.140
So even if one server fails, you still have a copy of what you call this, of the data in another server, right?

02:49:23.480 --> 02:49:31.900
Let's go on to durability, durability where it ensures that once a write operation is acknowledged, right?

02:49:33.260 --> 02:49:37.100
The data is safely stored and won't be lost, right?

02:49:37.120 --> 02:49:38.800
Even in the case of a failure.

02:49:38.800 --> 02:49:41.520
So how does MongoDB do that?

02:49:42.300 --> 02:49:44.740
So there's what you call a write content, right?

02:49:45.200 --> 02:49:50.400
The write content specifies the level of acknowledgement required for a write operation, right?

02:49:50.720 --> 02:49:55.620
So, for example, if it's one, it's acknowledged by the primary node, which is the default.

02:49:56.260 --> 02:50:01.460
There is majority, which is acknowledged by majority of nodes in the replica set.

02:50:03.220 --> 02:50:07.300
Or two is got, it says, acknowledged by at least two nodes.

02:50:07.840 --> 02:50:16.120
So at least two nodes should be able to confirm that they've written the same data and they've written the same data.

02:50:16.400 --> 02:50:19.540
And then it will be like, OK, this is fine now, right?

02:50:19.820 --> 02:50:22.500
And higher write content levels increase durability.

02:50:22.500 --> 02:50:28.860
So the more, the higher you put it, the more there is that durability.

02:50:29.020 --> 02:50:38.760
But also be mindful of performance, because if you've got a hundred servers that need to be written and you need acknowledgement from 50, it might take time.

02:50:39.140 --> 02:50:46.500
It's compared if you just need acknowledgement from, let's say, five servers and then it's confirmed as good.

02:50:46.600 --> 02:50:49.700
Then you know that at least two to be quick, you know.

02:50:50.300 --> 02:50:51.540
And then there's journaling.

02:50:51.540 --> 02:51:02.400
Journaling is where your MongoDB uses a write ahead log, right, to ensure data durability.

02:51:02.880 --> 02:51:07.940
And then before applying any changes to the data file, MongoDB writes them to a journal.

02:51:08.220 --> 02:51:12.040
It's like just writing in a diary or something, right?

02:51:12.200 --> 02:51:15.380
And then in case of a class, the journal can be used to recover data.

02:51:15.380 --> 02:51:25.600
So you can be able to use that journal to be able to cover your data because you just go into a journal and be able to cover that data.

02:51:25.660 --> 02:51:35.520
It's very, very recommended to have journaling in place, because that way, if there is a situation, you can be able to recover to the last available data.

02:51:36.020 --> 02:51:44.240
Right. And then there's replication where you replicate obviously data to the different nodes.

02:51:44.240 --> 02:51:49.260
But there are some trade-offs, right, where there's performance versus durability.

02:51:50.080 --> 02:51:54.920
High durability, which is more or less, let's say, majority, can slow down your write operation.

02:51:55.800 --> 02:51:59.620
Right. Because there is increased number of acknowledgement that is required.

02:52:00.060 --> 02:52:02.720
Right. And so you need to be careful.

02:52:02.780 --> 02:52:03.960
You need to have the trade-offs.

02:52:04.280 --> 02:52:09.740
And then the configuration wise, you need to choose the right balance based on your application requirements.

02:52:09.740 --> 02:52:18.140
So you need to have that sort of you need to look at, OK, what is it exactly that works for us?

02:52:18.380 --> 02:52:20.400
Should I just have small number?

02:52:20.520 --> 02:52:23.280
Should I have majority of acknowledgement and all that stuff?

02:52:24.340 --> 02:52:29.040
Right. Then you can be able to combine scalability, replication and durability.

02:52:29.360 --> 02:52:36.620
Right. So you can have read scalability, for example, using your secondary nodes to be able to fall for your read.

02:52:36.620 --> 02:52:45.020
Right. That way you distribute your read to your secondary nodes and then you configure read preferences.

02:52:45.620 --> 02:52:52.780
Right. To your to direct configure read preferences to direct reads to secondary.

02:52:52.940 --> 02:52:56.240
Right. So primary, you're left with just the rights.

02:52:57.500 --> 02:53:04.320
Right. Leave it. Don't use that as the read, although it is by default, but direct all the reads to go to the secondaries.

02:53:04.320 --> 02:53:08.080
And then you can also be able to direct it to the nearest.

02:53:08.600 --> 02:53:12.320
So you can direct it to the node, the lowest network latency available.

02:53:13.100 --> 02:53:25.600
That's another way of doing read scalability and then write scalability to use sharding to distribute your rights across multiple shards.

02:53:26.120 --> 02:53:31.180
Right. And each shard can be a replica set, combining horizontal scaling with replication.

02:53:31.180 --> 02:53:33.160
So you can be able to combine both.

02:53:33.800 --> 02:53:42.920
And then durability wise, you can then use your right concern in journaling so that you ensure data is safely stored.

02:53:43.420 --> 02:53:50.460
And then replication also provides that additional layer of durability by maintaining multiple copies of data.

02:53:50.460 --> 02:54:02.860
So you can actually incorporate all these, what's called all these three and be able to have quite optimized system.

02:54:03.280 --> 02:54:09.580
Some best practices to it use replica sets, always deploy MongoDB with the replica set.

02:54:10.400 --> 02:54:15.460
Right. That way it helps in high availability and for tolerance and then monitor performance.

02:54:16.460 --> 02:54:28.060
Tools like MongoDB Atlas or MongoStat can help you to monitor your read write performances and also external tools that you can use your Prometheus, your Grafana and then optimize sharding.

02:54:28.100 --> 02:54:37.320
Choose a shard key that distributes data evenly across hotspots and avoid, sorry, and avoid hotspots.

02:54:37.680 --> 02:54:43.420
So avoiding hotspots is avoiding just one shard being the one that's fed the data.

02:54:43.420 --> 02:54:49.420
Right. So you spread them evenly and then regularly test your replica sets failover.

02:54:49.420 --> 02:54:55.240
Sit off one replica and see what happens, you know, and then balance durability.

02:54:55.500 --> 02:55:00.820
Choose the right, the right concern and journaling settings based on your application needs.

02:55:00.880 --> 02:55:02.640
Questions before we go to the next one?

02:55:03.180 --> 02:55:04.600
Absolutely. No question from my side.

02:55:04.760 --> 02:55:06.240
All right. Winnie, are you there?

02:55:06.360 --> 02:55:08.580
Yes, I'm here. No questions from me. Thank you.

02:55:08.800 --> 02:55:09.440
All right. Cool.

02:55:09.440 --> 02:55:13.100
Let's talk about master slave replication, right?

02:55:13.940 --> 02:55:15.320
It's now legacy.

02:55:15.840 --> 02:55:26.260
So you find that there is probably some what you call the some organization that still have the legacy MongoDB.

02:55:26.380 --> 02:55:28.840
It's outdated, but you're going to speak about it.

02:55:29.000 --> 02:55:35.560
It's more or less like your normal replication, just that it's now legacy.

02:55:35.560 --> 02:55:43.680
Right. So you've got your master and your slave, your master node handling all right operations and is the primary source of truth.

02:55:43.680 --> 02:55:51.980
And you've got the slave node, which replicates data from master and can be able to read operations.

02:55:52.460 --> 02:55:55.020
Right. Some characteristics of it.

02:55:55.080 --> 02:55:58.820
One way replication. So data flows only from the master to the slaves.

02:55:59.600 --> 02:56:00.880
No automatic failover.

02:56:00.880 --> 02:56:11.380
So if master failover, then you have to have a manual intervention to be able to promote a slave to a master and then limited scalability.

02:56:12.440 --> 02:56:16.300
Only the master can handle rights, which can become a bottleneck.

02:56:17.500 --> 02:56:18.760
How does it work?

02:56:19.420 --> 02:56:23.840
Right. Operations or insert updates and deletes are sent to the master nodes.

02:56:24.160 --> 02:56:28.140
And then the master records the changes in the operation log.

02:56:28.700 --> 02:56:33.580
And then slave nodes asynchronously pull the changes from the master's log.

02:56:34.040 --> 02:56:36.940
Right. And apply them to their own data.

02:56:37.600 --> 02:56:42.720
Right. And then the read operations by default are directed to the master nodes.

02:56:42.720 --> 02:56:51.560
But also you can be able to configure slaves to handle read operations, which improves read scalability.

02:56:52.140 --> 02:56:58.400
There is a very thin line between master slave replication and the replica sets.

02:56:58.960 --> 02:57:02.680
Right. And then why master slave replication is depleted.

02:57:02.760 --> 02:57:05.360
So there's there was some limitations to it.

02:57:05.900 --> 02:57:08.260
Right. In favor of replica sets.

02:57:08.300 --> 02:57:11.440
So no automatic failover, which is a very big one.

02:57:11.440 --> 02:57:18.260
If there's an issue, then you go have to promote the slave into master.

02:57:18.480 --> 02:57:20.800
But now we're talking about downtime at that time.

02:57:21.380 --> 02:57:23.560
Loss of data at the time. Right.

02:57:23.560 --> 02:57:25.600
Limited fault tolerance. Right.

02:57:25.800 --> 02:57:29.200
Only one master exists. So which is a single point of failure.

02:57:29.640 --> 02:57:31.700
And then you've got no built in election.

02:57:32.100 --> 02:57:38.740
So, for example, the arbiter, you can be able to use the arbiter to do the election of a new primary.

02:57:38.800 --> 02:57:40.140
Right. In the replica sets.

02:57:40.140 --> 02:57:41.680
But with this one, it doesn't have.

02:57:42.100 --> 02:57:44.580
And then there is no support for modern features.

02:57:44.780 --> 02:57:53.020
Your arbiters, your priority setting, your right concern, which then makes it deprecated.

02:57:53.580 --> 02:57:58.560
Right. But some best practices when you have that legacy system is monitor the master node.

02:57:58.860 --> 02:58:00.180
It's the most important one.

02:58:00.240 --> 02:58:06.180
You need to make sure that you're monitoring its health and performance and then configure slave nodes for its scaling.

02:58:06.960 --> 02:58:07.260
Right.

02:58:07.260 --> 02:58:16.500
Configure that your reading goes your read operations go to the slave so that you listen the load on the master and then plan for manual fail over.

02:58:16.500 --> 02:58:21.720
You have a documented process, you know, for promoting slave to master in case of a failure.

02:58:22.180 --> 02:58:28.200
And then backup data regularly using your mongo dam, your file system, snapshots and all that stuff.

02:58:28.200 --> 02:58:32.680
And then upgrades to replica as soon as possible.

02:58:32.680 --> 02:58:40.260
When you can write, you can be able to do that migration from master to master slave replication to replica sets.

02:58:40.700 --> 02:58:47.300
And then replica sets obviously have the advantage of automatic fail of better for tolerance.

02:58:47.300 --> 02:58:49.540
There's some some modern features.

02:58:49.980 --> 02:58:53.740
So how then do you do your migrating from master slave to replica sets?

02:58:54.320 --> 02:58:57.940
The very first thing is stop rights to the master.

02:58:58.260 --> 02:58:58.620
Right.

02:58:58.620 --> 02:59:00.920
Temporarily stop your right operations.

02:59:01.180 --> 02:59:04.860
The master node adds slave nodes to the replica set.

02:59:05.040 --> 02:59:10.620
So you restart the master and slaves as part of a replica set and then initialize your replica set.

02:59:10.860 --> 02:59:11.300
Right.

02:59:11.680 --> 02:59:16.860
You connect to the master node and run the replica set in this initiate command.

02:59:17.180 --> 02:59:22.820
And then you add the slave nodes using the replica replica set.

02:59:24.680 --> 02:59:32.700
And then simulate a failure of the primary node and ensure the secondary is automatically promoted.

02:59:33.620 --> 02:59:40.800
And then update your application configuration or connection strings to be able to point at that replica set.

02:59:40.880 --> 02:59:42.580
Is anyone familiar with Kubernetes?

02:59:43.180 --> 02:59:47.200
Not much on my side, but yeah, it's something that I'm interested in.

02:59:47.860 --> 02:59:49.420
Yeah, it's a very interesting one.

02:59:49.420 --> 02:59:53.720
Because I know it's about micros, so it can handle microservices.

02:59:55.040 --> 03:00:12.360
Basically, it's instead of using the traditional dedicated host or server, they need to have containers and portion your microservices or applications.

03:00:12.900 --> 03:00:13.940
Yeah, definitely.

03:00:14.100 --> 03:00:15.260
It's a very good tool.

03:00:15.260 --> 03:00:26.960
I would advise anyone to look into it, companies to look into it, because it helps a lot in terms of high availability scaling, because there is that automated scaling that happens with it.

03:00:27.480 --> 03:00:31.040
You also break your system into smaller chunks.

03:00:31.460 --> 03:00:39.560
So you have a situation where if people can't log in, it doesn't mean that somebody that's logged in already has issues.

03:00:39.920 --> 03:00:41.880
It will just be the logging in that's the problem.

03:00:41.960 --> 03:00:43.180
So you just need to fix that.

03:00:43.180 --> 03:00:47.240
The rest will still be up and running, you know, as an example, which is very, very good.

03:00:47.700 --> 03:00:51.140
That's another, that's another technology where replica sets are used.

03:00:51.260 --> 03:01:03.260
So in essence, you would say your replica set in Kubernetes, you want to have a minimum of four containers that represent login, login, right?

03:01:03.300 --> 03:01:04.180
Your authentication.

03:01:04.760 --> 03:01:10.100
So you tell Kubernetes that I want a minimum of four, I want a maximum of ten, right?

03:01:10.100 --> 03:01:16.940
So automatically when there is pressure on the logging in, it increases the number of replicas, right?

03:01:16.940 --> 03:01:29.340
According to obviously what you would have said in terms of usage, let's say CPU usage, for example, average CPU usage when it gets to 70, then create another replica.

03:01:29.800 --> 03:01:35.680
That's another technology that uses the replica sets in a way that replica sets should be used.

03:01:37.280 --> 03:01:38.620
So it's worth looking at.

03:01:38.620 --> 03:01:41.220
So what is a replica set?

03:01:41.700 --> 03:01:46.420
Obviously MongoDB is a group of MongoDB instances that maintain the same data.

03:01:46.880 --> 03:02:00.640
It helps in terms of high availability, where you've got the automatic failover, some data redundancy, where you've got multiple copies of data across different servers and then read scalability.

03:02:01.200 --> 03:02:07.620
The way you've got secondary nodes where that can handle what you call this that can handle read operation.

03:02:07.900 --> 03:02:11.240
And then some key components of a replica set.

03:02:11.420 --> 03:02:21.920
You've got the primary node obviously handling all the right operations, does the recording of changes in the operation log and then replicates data to the secondary nodes.

03:02:22.440 --> 03:02:35.240
Then you've got the secondary nodes which replicate data from the primary, can handle read operations if you configure that and then it can participate in elections to select a new primary.

03:02:35.240 --> 03:02:43.800
If the current primary fails and then you've got an arbiter which does the election, but it doesn't store data.

03:02:44.640 --> 03:02:50.940
And then you've got the up log, the up log which is a kept collection that records all right operations.

03:02:51.120 --> 03:02:57.140
So anything that's written is logged into that and then used by secondary nodes to replicate data.

03:02:58.720 --> 03:02:58.940
Right.

03:02:59.400 --> 03:03:02.900
How do replica sets work?

03:03:03.660 --> 03:03:06.400
Firstly, all right operations go to the primary nodes.

03:03:06.440 --> 03:03:08.960
The primary node records the changes into the up log.

03:03:09.300 --> 03:03:18.080
And then there's the data application where asynchronously secondary nodes pull the changes from the primary's up log and apply them to their own data.

03:03:18.420 --> 03:03:23.360
And then this ensures all nodes in the replica set of the same data.

03:03:23.640 --> 03:03:28.760
And then the read operations by default read is directed to the primary node.

03:03:28.760 --> 03:03:35.800
But you can then configure read preferences to be distributed to the secondary nodes.

03:03:36.840 --> 03:03:38.560
And then you've got automatic failover.

03:03:38.780 --> 03:03:43.760
If a primary node fails, an automatic election process happens.

03:03:44.900 --> 03:03:45.000
Right.

03:03:45.020 --> 03:03:52.420
And then a new primary for the secondary nodes then is then promoted.

03:03:52.680 --> 03:03:53.400
Right.

03:03:54.140 --> 03:03:57.120
And factors that it's based on, it could be priority.

03:03:57.120 --> 03:03:59.020
It could be not held.

03:03:59.140 --> 03:03:59.920
It could be 14.

03:04:00.200 --> 03:04:03.440
So those are some of the ways that it can be able to do that.

03:04:04.440 --> 03:04:10.460
So a replica set configuration, for example, your replica set should have members.

03:04:10.740 --> 03:04:17.540
So there's host, host one, which is Mongo Mongo one, priority two.

03:04:17.640 --> 03:04:19.680
Mongo two is priority one.

03:04:19.820 --> 03:04:21.920
And then Mongo three is the arbiter.

03:04:22.340 --> 03:04:22.400
Right.

03:04:22.620 --> 03:04:25.540
So it doesn't, there Mongo three doesn't store anything.

03:04:25.540 --> 03:04:34.180
It just helps in terms of the voting process of making the what you call this between one and two,

03:04:34.180 --> 03:04:37.380
making it the primary in case there's a there's a situation.

03:04:38.080 --> 03:04:38.120
Right.

03:04:38.880 --> 03:04:41.760
And I did the name of the replica set.

03:04:42.040 --> 03:04:46.260
And then you've got members, an array of nodes in the replica set.

03:04:46.660 --> 03:04:53.720
And then priority in the likelihood of a node becoming primary, the higher values goes to higher priority.

03:04:53.720 --> 03:04:57.820
And obviously, the arbiter only marks the node as an arbiter.

03:04:58.180 --> 03:04:59.520
And that one does the voting.

03:05:01.460 --> 03:05:06.440
Some best practices to replica sets using odd number of nodes.

03:05:06.880 --> 03:05:06.980
Right.

03:05:06.980 --> 03:05:11.380
Always the plain odd number of nodes, three, five, so that you have proper elections.

03:05:11.620 --> 03:05:20.940
I don't I've never got to understand this way of doing things of what you call this deploying odd numbers of nodes.

03:05:21.240 --> 03:05:21.780
Right.

03:05:22.740 --> 03:05:27.400
But if you have an even number of nodes using arbiter to break ties.

03:05:28.580 --> 03:05:34.940
And then distribute nodes geographically deploy nodes in different data centers or regions to improve for tolerance.

03:05:35.540 --> 03:05:50.060
But considering that also you need to look at the networking between what you call this networking between those and then use priority settings to control which nodes can become primary.

03:05:52.320 --> 03:05:54.360
Configure read preferences.

03:05:54.360 --> 03:05:57.880
So use read preferences to distribute read operations.

03:05:59.300 --> 03:06:08.680
Primary, obviously default, but also use secondary or send all reads to secondary or send all reads to the nearest.

03:06:08.900 --> 03:06:09.380
Right.

03:06:09.680 --> 03:06:11.500
With the lowest network latency.

03:06:12.240 --> 03:06:13.760
And then monitor replication lag.

03:06:13.920 --> 03:06:15.220
It's very, very much important.

03:06:16.060 --> 03:06:21.700
MongoDB Atlas or RIS status, which is replica set status to monitor replication lag.

03:06:22.440 --> 03:06:27.220
And then ensure secondaries are keeping up with the primary to avoid tail reads.

03:06:28.600 --> 03:06:29.820
Enable authentication.

03:06:30.480 --> 03:06:38.960
When it comes to replication, use key file authentication or 509 certificates to secure communication between nodes.

03:06:40.760 --> 03:06:44.400
Ensure only authorized nodes can be able to join the replica set.

03:06:44.400 --> 03:06:45.300
Right.

03:06:45.840 --> 03:06:46.880
Test fail over regularly.

03:06:47.100 --> 03:06:48.280
It's very, very much important.

03:06:48.360 --> 03:06:54.840
Simulate a node failure and then use your RIS step down command to manually step down the primary for testing.

03:06:55.880 --> 03:07:06.280
Use write concern as we spoke about it, where one is acknowledged by the primary default, majority acknowledged by majority of nodes, and then two acknowledged by at least two nodes.

03:07:06.820 --> 03:07:06.840
Right.

03:07:07.480 --> 03:07:08.980
Always backup your data.

03:07:09.780 --> 03:07:14.680
Always make sure that you backup your data regularly and then upgrade to the latest version.

03:07:15.380 --> 03:07:21.160
As always, to take advantage of the latest features and bug fixes.

03:07:22.180 --> 03:07:24.040
Just a summary about it.

03:07:24.520 --> 03:07:30.660
The replica sets obviously provide high availability, some fault tolerance, data redundancy, MongoDB.

03:07:31.380 --> 03:07:35.200
And then there's the consistency of the primary nodes, secondary nodes and arbiter.

03:07:35.200 --> 03:07:42.200
And then best practice is using odd number for nodes and distributing nodes geographically.

03:07:46.380 --> 03:07:49.760
Configuring read preferences and testing fail over regularly.

03:07:50.420 --> 03:07:58.600
And then the replica sets are critical component of MongoDB architecture because then it helps in overall performance.

03:07:58.600 --> 03:08:09.580
And when you configure them, you need to be, you need to configure them and manage them carefully to be able to ensure optimal performance and reliability.

03:08:13.440 --> 03:08:15.640
Now some write concern, right?

03:08:15.820 --> 03:08:17.000
Let's talk about some write concern.

03:08:17.120 --> 03:08:18.320
Any questions on the replica?

03:08:20.520 --> 03:08:21.800
No question.

03:08:22.360 --> 03:08:25.880
Maybe just maybe this might be a question.

03:08:27.340 --> 03:08:40.320
So with databases, when you talk about replication and that concept of active, active, active, standby, active something.

03:08:41.040 --> 03:08:47.880
So in this case, do they have such a setup where you can run active, active, active, standby and so on?

03:08:49.920 --> 03:08:52.860
This setup, when it comes to replica sets, they are all active.

03:08:52.860 --> 03:08:56.440
The functionality is what differs.

03:08:56.900 --> 03:08:59.280
So your primary does the writing.

03:08:59.480 --> 03:09:02.520
So your inserts, your update, right?

03:09:03.180 --> 03:09:08.740
And then your replicas, right?

03:09:09.060 --> 03:09:11.180
Your secondary nodes do the reading.

03:09:11.180 --> 03:09:12.620
You can configure to do the reading.

03:09:12.660 --> 03:09:14.360
So they are all active in essence.

03:09:14.680 --> 03:09:16.320
The functionality is what's different.

03:09:16.660 --> 03:09:20.740
So in this case, you can have, you have five active servers.

03:09:20.740 --> 03:09:23.620
The functionality is what's different, right?

03:09:23.920 --> 03:09:33.500
There's that one where it's that situation where you've got a whole lot of replicas and one primary and many secondary.

03:09:33.600 --> 03:09:39.500
Then you can have a situation where you've got active and inactive.

03:09:39.560 --> 03:09:43.380
So you've got the active one, which you're doing everything basically.

03:09:43.500 --> 03:09:45.060
They read the write, right?

03:09:45.260 --> 03:09:47.720
And then you've got one secondary node probably.

03:09:47.800 --> 03:09:50.320
That's just there for replication purposes.

03:09:50.320 --> 03:09:53.980
You're not doing any read or any write on it, right?

03:09:54.220 --> 03:09:58.160
Then you have that active and non-active type of setup.

03:09:58.400 --> 03:10:00.280
But with replicas, right?

03:10:00.440 --> 03:10:02.380
Normally with replicas, they are all active.

03:10:02.720 --> 03:10:05.420
The difference is the functionality.

03:10:05.660 --> 03:10:07.300
The primary nodes does the write.

03:10:07.480 --> 03:10:13.360
And then you can configure the other secondary nodes to actually be the ones to do the read.

03:10:14.200 --> 03:10:22.180
OK, so but then the switch over, is it seamless, like it doesn't need manual intervention?

03:10:22.520 --> 03:10:24.180
When it comes to replicas, yes.

03:10:24.580 --> 03:10:26.240
The switch over is automatic.

03:10:27.240 --> 03:10:31.720
OK, so it will promote what was the secondary to become the primary.

03:10:31.720 --> 03:10:33.080
Yes, to become the primary, yes.

03:10:33.520 --> 03:10:40.880
So if it's got many, right, if you've got many secondary nodes, there's the election part, there's the priority part, right?

03:10:40.880 --> 03:10:51.400
So it could be done through the election part where the arbiter does the election to say, OK, this one is closer to the primary.

03:10:52.220 --> 03:10:53.740
And it's healthy, it's very healthy.

03:10:54.000 --> 03:10:56.920
Network latency is very good in terms of it and the application.

03:10:57.340 --> 03:10:59.760
This is based on, let's say, geographical location.

03:11:00.080 --> 03:11:04.480
So then it will elect that one or it will elect based on priority.

03:11:04.660 --> 03:11:06.160
Which one is the highest priority?

03:11:06.160 --> 03:11:11.880
You know, if it's priority one, then we're going to elect priority one, for example.

03:11:12.280 --> 03:11:14.860
But it's automatic, the failover is automatic.

03:11:16.000 --> 03:11:16.480
Oh, OK.

03:11:16.760 --> 03:11:17.320
Yeah.

03:11:17.760 --> 03:11:18.300
No, thanks.

03:11:19.040 --> 03:11:19.380
No worries.

03:11:19.380 --> 03:11:20.640
OK, some write concern.

03:11:22.320 --> 03:11:28.720
Where we said that we are sort of set, it's a setting that determines how MongoDB acknowledges your write operations.

03:11:28.760 --> 03:11:31.320
So you insert, you update, you delete, right?

03:11:32.240 --> 03:11:35.520
It specifies how many nodes must acknowledge the write.

03:11:36.240 --> 03:11:44.420
It then specifies whether the write must be journaled, written on the disk journal, which is very much recommended.

03:11:44.620 --> 03:11:51.580
And then by configuring this write concern, you ensure that the data is safely stored and replicated across nodes, right?

03:11:52.760 --> 03:11:53.660
Why is it important?

03:11:53.840 --> 03:11:54.520
There's durability.

03:11:54.740 --> 03:11:58.620
You ensure that the data is not lost in case of a failure, right?

03:11:58.620 --> 03:12:04.040
You make sure that it's only written when it's acknowledged by other nodes, right?

03:12:04.080 --> 03:12:04.880
There's consistency.

03:12:04.940 --> 03:12:08.360
So you're guaranteed that the data is replicated to the required number of nodes.

03:12:08.700 --> 03:12:11.160
And then there's the performance trade-offs, right?

03:12:11.260 --> 03:12:15.660
Where higher levels of write concern increase durability but may affect write performance.

03:12:15.960 --> 03:12:18.320
So you need to be mindful of that sort.

03:12:19.500 --> 03:12:22.400
The write concern levels, right?

03:12:22.400 --> 03:12:25.360
There's zero unacknowledged.

03:12:25.820 --> 03:12:32.440
So just write, you know, you don't need to acknowledge anything, right?

03:12:33.320 --> 03:12:37.940
Where these are in situations where it's just write and forget scenarios, right?

03:12:38.200 --> 03:12:39.260
Performance is critical.

03:12:39.440 --> 03:12:41.180
Data loss is acceptable, right?

03:12:41.660 --> 03:12:45.000
I wouldn't know what situation where data loss is acceptable.

03:12:46.360 --> 03:12:48.820
But yeah, you can have that situation.

03:12:48.820 --> 03:12:53.960
And then acknowledge one which means primary node just needs to acknowledge, right?

03:12:54.380 --> 03:12:59.920
So your general-purpose applications, you can be able to do that.

03:13:01.320 --> 03:13:08.640
And then when you have majority now, we are saying majority of the servers, right, of the replica set,

03:13:08.640 --> 03:13:18.180
if you've got 10 replicas, majority of them, 60 to 70 percent, 75 percent of them should acknowledge to have written the data, right?

03:13:18.180 --> 03:13:26.480
Which can cause issues, right, in regards to all this.

03:13:26.660 --> 03:13:28.220
Let me just pick up a call one second.

03:13:28.440 --> 03:13:29.860
It's an important call.

03:13:31.640 --> 03:13:32.200
All right.

03:13:34.240 --> 03:13:35.480
OK, I'm back.

03:13:35.880 --> 03:13:37.440
So that's your majority.

03:13:37.580 --> 03:13:43.100
And then you've got a situation where you can write the specified number of nodes to acknowledge.

03:13:43.100 --> 03:13:49.280
So in essence, if you want four to acknowledge out of the 20 or you want five to acknowledge out of the 20,

03:13:50.680 --> 03:13:52.860
then you can be able to give that.

03:13:53.100 --> 03:13:58.320
And then you also need to have journal, right, being active, being true.

03:13:59.180 --> 03:14:01.640
So journal being true is the J true.

03:14:03.340 --> 03:14:10.960
This would be obviously write is acknowledge only after it is written to the to the on-disk journal, right?

03:14:10.960 --> 03:14:20.080
That way, there's surety that data durability, it ensures that data durability, even in the case of a server crash.

03:14:21.000 --> 03:14:33.360
And then you've got your time out, which in essence means that if there is a time out, if it gives us time limit to the right operation to complete.

03:14:33.700 --> 03:14:33.860
Right.

03:14:34.180 --> 03:14:38.200
If the time out is reached, then the operation returns an error.

03:14:38.200 --> 03:14:39.600
So it's your right time out.

03:14:39.600 --> 03:14:48.900
Right. For example, in this case, it's insert one right concern should be should be acknowledged by two.

03:14:49.160 --> 03:14:58.760
But if there is a time out of five thousand seconds, then milliseconds, then seconds actually, then it should give an error.

03:14:59.000 --> 03:15:00.560
So how does the right concern work?

03:15:00.940 --> 03:15:03.000
Client sends right operation, right?

03:15:03.360 --> 03:15:05.780
Whether it's the application, whether it's the user or whatever.

03:15:06.080 --> 03:15:08.420
And then primary nodes process the right.

03:15:08.420 --> 03:15:12.020
So which means the primary node applies the right to its data set.

03:15:12.360 --> 03:15:19.220
And if J is specified, it also writes the right is also written to the journal.

03:15:19.560 --> 03:15:23.740
And then the primary nodes replicate the secondary nodes.

03:15:24.420 --> 03:15:24.820
Right.

03:15:24.820 --> 03:15:29.400
If then there are ten that needs to acknowledge, it then acknowledges that.

03:15:29.400 --> 03:15:38.640
And then only after that, only after it gets that acknowledgement, then the right is actually what you call this.

03:15:39.140 --> 03:15:44.640
The right is actually acknowledged and then sends a response to a client.

03:15:45.140 --> 03:15:47.200
Some best practices towards it.

03:15:47.580 --> 03:15:49.520
Choose the right right concern.

03:15:50.120 --> 03:15:50.260
Right.

03:15:50.260 --> 03:16:02.980
One for general purpose application, majority for high durability requirements or zero for non critical data that you don't really need to keep, you know, enable journaling.

03:16:03.220 --> 03:16:04.620
It's very, very much important.

03:16:05.080 --> 03:16:08.720
Set a reasonable time out and then monitor right performances.

03:16:08.940 --> 03:16:15.380
You need to monitor that and then test fail over scenarios and then use right concern with replica sets.

03:16:15.380 --> 03:16:19.500
It's very, very much good when you use the combination of two.

03:16:21.920 --> 03:16:25.280
Now, some replication failures.

03:16:26.840 --> 03:16:28.520
What are these replication failures?

03:16:28.680 --> 03:16:43.120
So replication failures can occur when the secondary nodes are unable to replicate from the primary node and which could lead to data inconsistencies, loss of availability, because now you can't automatically switch over.

03:16:43.120 --> 03:16:49.660
And even if the primary fails, right, the second is not up to date to even take over.

03:16:50.200 --> 03:16:50.280
Right.

03:16:50.300 --> 03:16:54.120
And then application may experience errors or degraded performances.

03:16:55.100 --> 03:16:55.500
Right.

03:16:55.800 --> 03:17:01.720
And then some common causes of replication failures could be network issue between the servers.

03:17:01.980 --> 03:17:02.320
Right.

03:17:02.460 --> 03:17:03.520
The nodes in themselves.

03:17:03.820 --> 03:17:04.320
Right.

03:17:04.660 --> 03:17:07.260
It could be high latency or some packet loss.

03:17:07.740 --> 03:17:09.060
Also could be hardware failures.

03:17:09.060 --> 03:17:10.060
It could be a disk failure.

03:17:10.800 --> 03:17:16.080
You know, several crashes or power outages could be another issue.

03:17:16.540 --> 03:17:30.060
And then configuration errors, incorrect replica set configuration and also and also mismatched MongoDB versions of

03:17:32.460 --> 03:17:33.380
configurations.

03:17:34.680 --> 03:17:48.720
And then some resource constraints could be insufficient CPU memory or disk or, you know, high right throughput causing replication lag.

03:17:49.200 --> 03:17:50.680
And then some upload issues.

03:17:50.980 --> 03:17:51.100
Right.

03:17:51.100 --> 03:18:00.380
Let's say the upload on the primary node is too small, which can cause it to override all the entries before secondaries can replicate them.

03:18:00.580 --> 03:18:09.620
And then some data corruption, you know, data corruption of the corruption of data files on the primary or secondary nodes could be another issue.

03:18:10.540 --> 03:18:15.480
Some diagnosis to to that check replica status.

03:18:16.480 --> 03:18:17.480
It's very much important.

03:18:18.460 --> 03:18:19.820
Look for the state of each node.

03:18:20.100 --> 03:18:30.240
The primary, the secondary recovering ETC replication leg up time date and last heartbeat fields can be able to tell you that.

03:18:30.520 --> 03:18:34.740
And then some error messages or warning and then monitor your replication leg.

03:18:34.740 --> 03:18:40.340
Also, other is the print secondary replication info to be able to check replication leg.

03:18:41.160 --> 03:18:46.040
Your high leg indicates that secondary is failing behind the falling behind the primary.

03:18:46.100 --> 03:18:57.420
So you need to probably restart your replica set so that it catches up or you need to stop the application from writing until they catch up.

03:18:57.600 --> 03:18:58.780
It just depends what you do.

03:18:58.960 --> 03:19:03.940
It's never advised to stop the application anyway, you know, and then check MongoDB logs.

03:19:03.940 --> 03:19:09.860
You need to examine your MongoDB log for any errors or warnings in relation to replication.

03:19:11.860 --> 03:19:17.140
These messages like your replication is too far behind or cannot replicate because up log is full.

03:19:17.460 --> 03:19:22.300
You need to be able to look for that and then verify network connectivity.

03:19:25.900 --> 03:19:29.560
Ping, Telnet, you know, test your connectivity between nodes.

03:19:30.220 --> 03:19:34.140
Your files or your security groups allow traffic on MongoDB.

03:19:34.880 --> 03:19:36.720
Make sure that they're open.

03:19:37.780 --> 03:19:38.420
They're OK.

03:19:38.760 --> 03:19:45.200
And then check disk and resource usage, your disk space usage, your CPU, your memory usage on all nodes.

03:19:45.200 --> 03:19:57.380
And then also your tools like your Mongo start, Mongo top can help you in terms of identifying resource, resource bottlenecks, right?

03:19:57.440 --> 03:19:58.780
Some resolving to it.

03:19:59.380 --> 03:20:07.020
Obviously, when there's a network issue, resolve some connectivity between the nodes, resolve any other issues if you need to make any changes.

03:20:07.020 --> 03:20:09.340
Adjust up log size.

03:20:09.340 --> 03:20:11.680
Up log size is very important.

03:20:11.760 --> 03:20:13.180
You need to be mindful of that.

03:20:13.500 --> 03:20:19.180
After you increase that, you restart the primary node and then resync affected secondaries.

03:20:19.640 --> 03:20:22.800
And then reconfigure replica set if you want.

03:20:23.260 --> 03:20:33.620
Ensure that it's configured properly using the RIS.conf to view the configuration, update anything using the RIS reconfig if needed.

03:20:33.620 --> 03:20:41.620
Then upgrade your MongoDB to the latest version, but the stable version, not just the latest version, but the stable version.

03:20:42.320 --> 03:20:44.700
And then monitor and optimize performance.

03:20:44.960 --> 03:20:52.820
Optimize your queries, use indexes to reduce write throughput, scale up hardware resources if necessary.

03:20:54.180 --> 03:20:57.220
Some how to prevent replication failures.

03:20:58.120 --> 03:21:00.920
Use odd number of nodes, right?

03:21:00.920 --> 03:21:04.160
Because then there's proper election and fault tolerance.

03:21:04.900 --> 03:21:07.560
And then monitor replication lag.

03:21:08.000 --> 03:21:10.220
Regularly backup your data.

03:21:10.440 --> 03:21:12.000
Test failovers regularly.

03:21:12.440 --> 03:21:19.280
Use write concern to ensure that data is replicated to multiple nodes.

03:21:19.700 --> 03:21:23.360
And then keep your MongoDB updated.

03:21:25.780 --> 03:21:27.340
Questions on replicas?

03:21:30.220 --> 03:21:32.460
Where is Akona today?

03:21:32.980 --> 03:21:34.720
They are too quiet.

03:21:36.420 --> 03:21:37.140
Oh, we are listening.

03:21:40.320 --> 03:21:40.960
Okay.

03:21:44.040 --> 03:21:46.100
Now let's talk about sharding.

03:21:46.340 --> 03:21:51.800
Sharding is the mechanism of distributing data across multiple servers, which are called shards, right?

03:21:52.440 --> 03:21:56.820
Where you then achieve that horizontal scaling, right?

03:21:56.820 --> 03:22:08.480
It automatically manages data distribution across shards, query routing to the appropriate shards, and then balancing data evenly across shards, right?

03:22:08.920 --> 03:22:10.160
Why use sharding?

03:22:11.300 --> 03:22:16.260
It handles large data sets and high read write throughput, right?

03:22:17.700 --> 03:22:18.760
There's that scalability.

03:22:19.440 --> 03:22:22.900
And then performance-wise, it distributes load across multiple servers.

03:22:22.900 --> 03:22:28.900
And then it can store more data than a single server can handle, right?

03:22:29.780 --> 03:22:30.780
How do they work?

03:22:31.500 --> 03:22:33.940
So the key components of it is a shard.

03:22:34.660 --> 03:22:42.760
So each shard is a replica set or a standalone MongoDB instance, where it stores a subset of data, right?

03:22:44.080 --> 03:22:51.600
For an example's purposes, shard one stores data users A to M, shard two then stores N to Z, right?

03:22:51.600 --> 03:23:01.500
It's also got a config server where metadata is stored about the cluster, including the mapping of the data to the shards, right?

03:23:01.880 --> 03:23:04.740
Must be deployed as a replica set for higher availability.

03:23:05.360 --> 03:23:14.680
And then it's also got logical query routers, obviously that sort of interface that acts as an interface between the application and the shard cluster, right?

03:23:14.680 --> 03:23:20.300
So that's queries to the appropriate shard based on the shared key, on the shard key.

03:23:20.860 --> 03:23:23.200
And then what is a shard key?

03:23:23.360 --> 03:23:34.660
A shard key is more or less a field or a set of fields used to distribute, what do you call this, used to distribute data across shards, right?

03:23:34.660 --> 03:23:44.720
So let's say your shard key is a user ID, which means MongoDB ashes the user ID value to determine which shard should store the document, right?

03:23:45.040 --> 03:23:54.020
And then there's also that data distribution where it's a range based or hashed sharding strategy to distribute the data.

03:23:54.060 --> 03:23:59.320
So when it's range based, data is divided into ranges based on the shared key, right?

03:24:03.760 --> 03:24:10.620
And then hashed sharding is data is distributed using a hash of the shared key, right?

03:24:10.960 --> 03:24:17.640
Then there's also the part of query routing, where when a query is sent to the cluster, right?

03:24:17.720 --> 03:24:26.240
The MongoS router determines which shards contain the relevant data, and then the query is routed to the appropriate shard, right?

03:24:26.240 --> 03:24:32.280
And the results are combined and returned to the client, and then it does what you call balancing.

03:24:32.500 --> 03:24:40.300
There's what you call a balancer that automatically balances data across the shards.

03:24:40.680 --> 03:24:47.260
And then this balancer moves chunks, subsets of data between shards to ensure even distribution, right?

03:24:47.620 --> 03:24:51.180
How do you then set up a shard cluster, right?

03:24:51.180 --> 03:24:55.660
First, you set up the config server. So you deploy a replica set for the config server.

03:24:56.160 --> 03:25:05.980
For example, there in blue, you've got sharding, cluster role is the config server, and then replication set name is config replica set.

03:25:06.900 --> 03:25:11.220
Config being the config server, replica set, and then you set up shards.

03:25:11.340 --> 03:25:20.240
So you deploy replica sets for each shard, and then an example is you call cluster role is the shard server, right?

03:25:20.240 --> 03:25:28.740
And then replication, you name it shard one replica set, and then you can be able to add replicas to a replica set, right?

03:25:29.160 --> 03:25:35.100
So you start your query routers, start MongoS instances, and configure them to connect automatically.

03:25:35.160 --> 03:25:46.880
For examples purposes, MongoS configure DB, the config set, configure replica set, config one, and then config two, and then config three as you go,

03:25:46.880 --> 03:25:54.540
which is more or less, this is you connecting your configuration replica, and then you add shards to the cluster, right?

03:25:55.480 --> 03:26:05.060
So connect to MongoS instance and add shards to the cluster. For example, add shards, sh.shard, shard one replica set,

03:26:06.100 --> 03:26:11.380
shard one A, shard one B, shard one C, and they connect using that port.

03:26:11.380 --> 03:26:22.440
And then shard two replica sets, shard two A, shard two B, this is how you can be able to add those shards to the cluster, right?

03:26:22.780 --> 03:26:33.440
And then enable sharding for a database where you enable sharding my database to a specific database, and then you can be able to shard the collection.

03:26:33.440 --> 03:26:44.680
So you can also shard the collection, right, where you've got shard collection, and then my database dot my collection user ID one, and then some best practices for sharding.

03:26:45.540 --> 03:26:57.100
You need to choose the right shard key. You need to have a high cardinality, many unique values type of key, and then distribute rights evenly across shards,

03:26:57.100 --> 03:27:03.020
and then also support your most common queries. So your key should be able to support your most common queries.

03:27:03.960 --> 03:27:11.600
As I gave an example, when you get into the bank, the very first thing they ask you is your ID. Your ID will be able to pull everything.

03:27:11.780 --> 03:27:17.120
So things like that, you can be able to have it as a shard key, right? And then monitor and balance the cluster.

03:27:17.120 --> 03:27:29.560
If you use things like MongoDB Atlas or SxStatus, right, shard status, you can then be able to monitor a cluster and then ensure the balancer is running and data is evenly distributed.

03:27:31.420 --> 03:27:42.460
Use hashed sharding for even distribution, right? And your shared key has low cardinality or is monotonically increasing.

03:27:42.460 --> 03:27:54.300
So use hashed sharding to distribute data more evenly and then avoid hotspots. And hotspots is an even distribution of rights and plan for growth.

03:27:54.600 --> 03:28:01.300
Plan that you are going to add more shards because there's going to be more data coming through.

03:28:01.580 --> 03:28:11.500
You probably need to add more shards and then back up and secure your cluster and then test before production. It's very much important.

03:28:11.500 --> 03:28:17.760
How do you choose a shard key, right? It's a very critical component of it, right?

03:28:18.460 --> 03:28:27.280
And shard key, as we said, is a field or a set of fields in a document that MongoDB uses to distribute data across shards, right?

03:28:27.540 --> 03:28:37.980
You could use user ID and then when you select user ID, then it's going to use the user ID value to determine which shard should store the document.

03:28:37.980 --> 03:28:47.760
So if you've got 10 shards and your user ID is incremental, then it will be able to determine where to place which document.

03:28:47.880 --> 03:28:53.540
Some characteristics of a good shard is high cardinality. So it should have unique values, right?

03:28:54.060 --> 03:29:03.860
Unique values to ensure that there is that even distribution. An example being user ID because it has many unique values, right?

03:29:03.860 --> 03:29:10.360
Even distribution, the shard key should distribute writes and reads evenly across shards, right?

03:29:10.360 --> 03:29:16.720
It avoids keys that create hotspots and then query support so it's able to assist with queries.

03:29:18.220 --> 03:29:24.380
And then, for example, if most queries filter by region, use region as part of the shard key, right?

03:29:24.520 --> 03:29:31.920
The shard key. Immutable, right? It cannot be changed after sharding a collection, so you can't change that after sharding a collection.

03:29:31.920 --> 03:29:38.740
So you need to choose a field that will not change over time. That's very, very important to the system.

03:29:39.240 --> 03:29:47.760
And then some type of shard keys. We've got single field shard key, for example, user ID, right?

03:29:48.380 --> 03:29:56.740
It's simple and then there's compound one, which is region one and user ID where you provide like a compound shard key.

03:29:56.740 --> 03:30:08.680
It's like a compound indexing and then there's the hashed shard key where you hash the user ID, right?

03:30:08.940 --> 03:30:21.240
And then choose an example for a collection of user data. You can use user ID and then for a collection of orders, you can then compound shard key, right?

03:30:21.240 --> 03:30:32.360
It could be order date, region, it could be user, whatever, right? And then sharding and indexes play a very critical role, right?

03:30:32.520 --> 03:30:40.940
In optimizing queries. Now, shard key index, right? So MongoDB also requires an index on the shard key, right?

03:30:40.940 --> 03:30:48.780
You can actually index that. If no index exists, MongoDB creates one automatically when you shard the collection.

03:30:48.780 --> 03:30:58.220
So it's that type of scenario where it says I really need this shard key to be indexed. If you don't index it, I'll index it on my own.

03:30:58.500 --> 03:31:02.860
And then if you're using compound shard key, ensure the index matches the shard key.

03:31:04.660 --> 03:31:18.200
So like previously, I did email and age, right, as indexes. Then I need to make sure that my shard key also are email and age, right?

03:31:18.200 --> 03:31:28.260
It helps a lot. And then it helps in terms of query performances. Queries that include the shard key are added to specific shards, which is very good for performance.

03:31:28.640 --> 03:31:34.900
And queries that do not include the shard key are broadcast to all shards, which can make it slower, right?

03:31:35.100 --> 03:31:41.200
The same way with index. When data doesn't have an index or when you don't have an index, it needs to go through a whole collection.

03:31:41.580 --> 03:31:45.560
When it's got an index, then it just goes straight to the index and that's it, right?

03:31:45.560 --> 03:31:51.760
Some best practices is create indexes on fields commonly used in queries the same way you use shards.

03:31:52.020 --> 03:32:02.000
Shards use them commonly, the fields that are commonly used in queries and then all the data that's commonly requested or queried.

03:32:02.380 --> 03:32:07.420
And then use covered queries, queries that use only indexed fields to improve performance.

03:32:09.000 --> 03:32:12.220
Then you've got sharding and replica set topologies, right?

03:32:12.220 --> 03:32:17.480
They are often used together, right? Not often they are used together, right?

03:32:17.880 --> 03:32:22.220
There you've got scalability, you've got high availability, you've got improved performances, right?

03:32:22.920 --> 03:32:31.300
And you're going to also have shard as a replica set. When I was showing the configuration here, right?

03:32:31.640 --> 03:32:36.000
It actually had a replica set. It's got shard as a replica set, right?

03:32:37.600 --> 03:32:42.200
So each shard in a sharded cluster is typically a replica set.

03:32:42.540 --> 03:32:47.120
And this obviously ensures high availability and full tolerance for each shard.

03:32:47.340 --> 03:32:55.760
And then when you have a config server as a replica set, it means that your metadata is distributed.

03:32:56.380 --> 03:33:04.560
And that way config server that store metadata about the shard server must be deployed as a replica set for high availability, right?

03:33:04.560 --> 03:33:11.240
You've got that high availability where when one crashes, the primary crashes, then you've got the secondary.

03:33:11.880 --> 03:33:23.860
And then also have query routers where Mongo instances are stateless and can be deployed on multiple servers for scalability and redundancy.

03:33:23.920 --> 03:33:31.240
That's your Mongo S. And then an example of a topologies having shards which are three replica sets, shard one, shard two, shard three.

03:33:31.240 --> 03:33:36.540
And you've got config servers, which is one replica set, which has got three nodes.

03:33:36.880 --> 03:33:41.620
And then you've got query routers, which is three Mongo instances, right?

03:33:41.900 --> 03:33:46.300
That's an example topology that you can be able to have in place.

03:33:46.860 --> 03:33:53.140
Now, how do you administer sharded clusters, right?

03:33:53.180 --> 03:33:57.240
Firstly, you monitor using your MongoDB Atlas, right?

03:33:57.240 --> 03:34:01.100
You monitor, you balance, you optimize performances.

03:34:01.360 --> 03:34:07.820
And the monitoring part, you can use your MongoDB Atlas or MongoStat to monitor the cluster.

03:34:08.280 --> 03:34:12.680
The key metrics to look out for there is your replication lag.

03:34:13.620 --> 03:34:14.860
Is it falling behind?

03:34:15.200 --> 03:34:18.660
And then your shard balancing. Is it balancing it right?

03:34:18.700 --> 03:34:21.000
And then your query performances, right?

03:34:21.580 --> 03:34:25.740
Are they slow? Are the query performance slow, right?

03:34:25.740 --> 03:34:29.060
You also need to balance your cluster, right?

03:34:29.600 --> 03:34:33.140
Using a balancer. So you can disable the balancer for a collection.

03:34:33.660 --> 03:34:36.120
You can also be able to start a balancer manually.

03:34:36.340 --> 03:34:40.060
So for example, they disable balancing for my collection.

03:34:40.440 --> 03:34:43.480
So your database name is university and your collection is students.

03:34:43.540 --> 03:34:44.840
You can disable that.

03:34:45.460 --> 03:34:48.460
You can also manually start or stop the balancer.

03:34:48.900 --> 03:34:52.700
And then you can also be able to add or remove shards.

03:34:52.700 --> 03:34:58.900
So for example, the shard replica set is shard replica set one.

03:34:59.760 --> 03:35:01.280
That's the name of the replica set.

03:35:01.500 --> 03:35:03.960
And then you want to add the host and port.

03:35:04.100 --> 03:35:08.680
So you want to add the new host or you want to remove a host, right?

03:35:08.920 --> 03:35:14.480
So you can have that sh shard dot sh dot remove shard.

03:35:14.740 --> 03:35:20.920
And then the name of the replica set and then the host that you want to remove, right?

03:35:20.920 --> 03:35:24.820
It's also important to do some backing up and restoring.

03:35:25.340 --> 03:35:26.560
Very much important.

03:35:27.100 --> 03:35:33.020
And then enable authentication and encryption to secure your cluster.

03:35:33.580 --> 03:35:37.920
Use role-based access control and then upgrade your cluster.

03:35:38.100 --> 03:35:39.320
It's very much important.

03:35:39.580 --> 03:35:45.280
But you need to follow the MongoDB upgrade instructions to upgrade your shared cluster.

03:35:45.420 --> 03:35:46.860
It's very, very much important.

03:35:46.860 --> 03:36:00.360
And then ensure all components, your shards, your config servers, and mongos are upgraded in correct order based on what MongoDB would be instructing you to do.

03:36:00.940 --> 03:36:01.360
Questions?

03:36:05.060 --> 03:36:06.240
No question from me.

03:36:06.380 --> 03:36:06.840
Anyone else?

03:36:07.320 --> 03:36:08.740
Silence means we are good.

03:36:09.240 --> 03:36:09.580
OK.

03:36:10.820 --> 03:36:15.600
Now let's talk about shard chunk migration.

03:36:15.600 --> 03:36:21.640
And so shard chunk migration is a key feature of MongoDB, right?

03:36:21.640 --> 03:36:28.840
And it ensures that data is evenly distributed across shards, right?

03:36:28.860 --> 03:36:29.660
What is a chunk?

03:36:30.100 --> 03:36:33.940
A chunk is a subset of data, right, in a shard collection.

03:36:34.460 --> 03:36:39.620
And what MongoDB does is it divides data into chunks based on the shard key.

03:36:39.620 --> 03:36:44.400
And each chunk is assigned to a specific shard, right?

03:36:45.940 --> 03:36:52.320
Why does chunk migration happen, right, for balancing purposes, for example, right, between shards?

03:36:52.460 --> 03:37:02.380
It wants to have that even distribution or when there's that manual intervention where administrators can actually move chunks for maintenance or optimization.

03:37:02.760 --> 03:37:05.500
That's another reason why chunks can be migrated.

03:37:05.500 --> 03:37:09.160
And how do chunks, chunk migration work?

03:37:09.160 --> 03:37:10.680
How does it work, right?

03:37:10.780 --> 03:37:11.680
There is the balancer.

03:37:11.740 --> 03:37:18.260
The balancer monitors the distribution of chunk across shards, right?

03:37:18.540 --> 03:37:22.540
The shard has significantly more chunks than the other.

03:37:22.600 --> 03:37:29.280
The balancer initiates the chunk migration to one that it needs to level up.

03:37:29.640 --> 03:37:35.080
And then the migration process behind it is the source shard copies the chunk to the destination shard.

03:37:35.080 --> 03:37:46.120
The destination shard applies any changes that occurred during the migration and then the config server updates the metadata to reflect the new location of the chunk, right?

03:37:46.440 --> 03:37:51.760
And then upon completion, once the migration is completed, the chunk is removed from the source shard.

03:37:51.940 --> 03:38:00.140
So it makes sure that everything is good and it's updated in the config server and then it removes from the source.

03:38:00.140 --> 03:38:03.020
Some backup and restore plans.

03:38:05.180 --> 03:38:06.700
Backup and restore plans.

03:38:07.940 --> 03:38:09.800
Some backup strategies that are available.

03:38:10.660 --> 03:38:11.460
File based backup.

03:38:11.680 --> 03:38:15.140
So you can take snapshots of your MongoDB data files, right?

03:38:16.180 --> 03:38:20.400
And then this one is suitable for large data sets with minimal downtime.

03:38:20.540 --> 03:38:22.920
So you can use things like AdaSync or whatever.

03:38:23.400 --> 03:38:28.420
Or you can use snapshot, KVM snapshot if you're using KVM.

03:38:28.420 --> 03:38:37.660
And then you can do logical backups where you can use Mongo dump where you can export data in BSON to JSON format.

03:38:38.100 --> 03:38:41.980
This one is suitable for smaller data sets or specific collections.

03:38:42.620 --> 03:38:45.500
And then you can also have cloud based backup, right?

03:38:45.520 --> 03:38:50.540
Your MongoDB Atlas or other cloud services for automated backups.

03:38:51.780 --> 03:38:54.320
And then restore strategies.

03:38:55.180 --> 03:38:57.660
You can restore data from a file system snapshot.

03:38:57.660 --> 03:39:00.920
You can do logical restores.

03:39:01.240 --> 03:39:08.280
So if you do MongoDB, you can then do Mongo restore to import that data and then restore data from cloud backups.

03:39:08.520 --> 03:39:11.000
That's another option that you can be able to use.

03:39:12.260 --> 03:39:16.700
So some file based, file system based strategies, right?

03:39:16.900 --> 03:39:18.020
Some steps to it.

03:39:18.500 --> 03:39:23.340
So, for example, taking a snapshot of MongoDB data files.

03:39:23.340 --> 03:39:28.360
So first thing you need to do is stop the MongoDB instance or lock the database, right?

03:39:28.720 --> 03:39:36.160
Take a snapshot of the data using tools like your LVM, your AWS EBS snapshots, you know, or whatever you're using.

03:39:36.520 --> 03:39:39.700
And then after it's done, you unlock the database, right?

03:39:40.040 --> 03:39:43.040
And then some steps for file system based restore.

03:39:43.420 --> 03:39:45.200
Stop the MongoDB instance.

03:39:45.520 --> 03:39:47.580
Replace the data files with the snapshot.

03:39:47.880 --> 03:39:50.100
And then start the MongoDB instance.

03:39:50.100 --> 03:40:00.420
Be mindful that you need to place your data files in the path that is configured within your MongoDB config file, right?

03:40:00.420 --> 03:40:01.780
It's very much important.

03:40:02.600 --> 03:40:04.020
Some best practices to it.

03:40:04.420 --> 03:40:12.660
Obviously test regularly to ensure that they can be restored and then use journaling to ensure that the data is consistent during backups.

03:40:13.380 --> 03:40:18.100
Then when you also use MongoDB and MongoDump and MongoRestore, right?

03:40:19.180 --> 03:40:22.380
MongoDump being, for example, there you've got MongoDump.

03:40:22.560 --> 03:40:26.260
Your host is your local host, the port, and then the out backup.

03:40:26.460 --> 03:40:28.320
I think we did this yesterday.

03:40:28.820 --> 03:40:33.400
And then you can just replace the MongoDump command with the MongoRestore.

03:40:34.620 --> 03:40:36.380
Same, everything else stays the same.

03:40:36.580 --> 03:40:39.200
It's just from MongoDB change it to MongoRestore.

03:40:39.460 --> 03:40:41.220
And then some best practices to it.

03:40:41.220 --> 03:40:48.800
Use the up log with MongoDB, no MongoDump, sorry, to capture ongoing changes during the backup.

03:40:49.640 --> 03:40:52.980
And then compress the backups to save space.

03:40:53.040 --> 03:40:55.920
So you can use the dash dash jzip, right?

03:40:55.920 --> 03:41:02.640
When you're using the dash dash, when you're using the up log, it's a matter of just adding dash dash up log onto it, onto the command.

03:41:03.600 --> 03:41:06.520
You can also be able to use Arasync, right?

03:41:07.760 --> 03:41:11.760
Arasync, where you make copies of data files to a backup location.

03:41:11.860 --> 03:41:15.720
It could be to a remote location or to another folder, for example.

03:41:15.760 --> 03:41:17.960
You can be able to use Arasync.

03:41:18.440 --> 03:41:27.580
And then best practices is using Arasync with delete to remove the files in the destination that no longer exist in the source.

03:41:28.180 --> 03:41:28.200
Right.

03:41:28.700 --> 03:41:36.180
So updating wise, use the dash dash delete, which then tells Arasync to be able to get to the destination and be able to check.

03:41:36.180 --> 03:41:45.340
If it's not from the source, if it's not available in the source, then make sure it is deleted in the destination also.

03:41:46.540 --> 03:41:49.580
There's also MongoImport and MongoExport.

03:41:50.280 --> 03:41:56.720
MongoExport is where you export data from a collection to a JSON or CSV file.

03:41:57.600 --> 03:42:03.220
So, for example, there you've got your MongoExport dash dash host localhost port.

03:42:03.500 --> 03:42:05.080
You are doing my database.

03:42:05.080 --> 03:42:07.920
It could be university in our case.

03:42:08.300 --> 03:42:09.840
And then your collection is students.

03:42:10.000 --> 03:42:17.140
And then you are putting it in a backup folder and you're making it my collection.JSON.

03:42:17.560 --> 03:42:26.120
And then when you then need to import, it's a matter of making sure that you just change from MongoExport to MongoImport.

03:42:26.300 --> 03:42:30.260
And then more or less, the rest of the stuff is the same.

03:42:30.540 --> 03:42:32.840
It will just do the reversal.

03:42:33.680 --> 03:42:34.840
Any questions?

03:42:36.280 --> 03:42:37.460
Okay, cool.

03:42:38.400 --> 03:42:46.160
We're probably going to finish the theory part and then we go into our tea break.

03:42:46.200 --> 03:42:50.600
And then from our tea break, we come and then do the practicals.

03:42:50.600 --> 03:42:52.840
Then it will take us through the rest of the day.

03:42:53.380 --> 03:42:59.700
So some best practices for your backup and restore.

03:43:00.460 --> 03:43:08.000
Use dash dash type to specify the file format and then use dash dash fields to export specific fields.

03:43:08.500 --> 03:43:10.860
And then some summary to that.

03:43:11.680 --> 03:43:12.700
Shard and chunk migration.

03:43:12.760 --> 03:43:20.500
It ensures that even distribution of data across shards, you can use the balancer or you can manually move chunks.

03:43:21.640 --> 03:43:22.840
Backup and restore plans.

03:43:22.880 --> 03:43:24.420
You can use the file based strategies.

03:43:24.660 --> 03:43:27.120
You can use the MongoDump, MongoRestore.

03:43:27.120 --> 03:43:30.960
You could use what you call this cloud based backup.

03:43:31.540 --> 03:43:35.120
And then you've got your MongoDB, MongoDump or MongoRestore.

03:43:35.780 --> 03:43:38.200
Obviously for export and import data.

03:43:38.920 --> 03:43:42.360
And then file based, file system based strategies.

03:43:43.200 --> 03:43:47.060
Taking snapshots of your MongoDB data files or light sets.

03:43:47.440 --> 03:43:53.500
And then you've got Arasync also where you can synchronize MongoDB data files for backups.

03:43:53.500 --> 03:43:58.560
And then you can also use the Mongo import and export, right?

03:44:00.260 --> 03:44:02.800
Exporting it into or importing it.

03:44:02.800 --> 03:44:06.500
Exporting or importing in JSON or CSV format.

03:44:06.840 --> 03:44:08.580
Obviously for specific collections.

03:44:09.100 --> 03:44:14.000
It just depends what is it that you want to be able to do.

03:44:15.160 --> 03:44:17.680
Now that's the theory part about today.

03:44:19.200 --> 03:44:21.880
Any questions in terms of today and yesterday?

03:44:21.880 --> 03:44:29.000
The theory part before then we go into the practical part of it.

03:44:29.520 --> 03:44:29.560
Okay.

03:44:29.680 --> 03:44:31.100
Silent says we are good.

03:44:32.500 --> 03:44:33.760
It's 21 past.

03:44:35.000 --> 03:44:40.560
We can take now and be back at quarter two from our tea break.

03:44:40.660 --> 03:44:45.360
And then we'll continue from number six on the practical stuff.

03:44:46.660 --> 03:44:47.300
All right. Thanks.

03:44:47.480 --> 03:44:49.060
Happy with that?

03:44:49.780 --> 03:44:50.320
Awesome stuff.

03:44:50.320 --> 03:44:51.160
All right.

03:44:53.460 --> 03:44:55.120
He's already good.

03:44:56.400 --> 03:44:56.860
Yeah.

03:44:58.320 --> 03:44:58.660
Thanks.

03:45:00.100 --> 03:45:01.400
It's good.

03:45:53.500 --> 03:45:54.880
So are you saying?

03:45:55.400 --> 03:45:59.320
I'm not saying people will just come to see me.

03:46:00.700 --> 03:46:02.460
People will just come to see me.

03:46:02.740 --> 03:46:05.520
We will just meet up and whatever happens happens.

03:46:06.160 --> 03:46:07.520
Then you get many from that.

03:46:07.640 --> 03:46:07.920
Yeah.

03:46:08.220 --> 03:46:10.120
But I want to put it like this, right?

03:46:10.120 --> 03:46:10.740
Where's the camera?

03:46:10.840 --> 03:46:11.780
I want to look at the camera.

03:46:12.580 --> 03:46:19.120
I actually just want to make it clear that a lot of people actually think this is like prostitution.

03:46:19.120 --> 03:46:21.900
No, but it's actually knowing the value.

03:46:22.220 --> 03:46:23.160
So you smash for cash?

03:46:23.580 --> 03:46:25.720
Yes, but it's not prostitution, sir.

03:46:26.700 --> 03:46:27.560
Wait, wait, wait.

03:46:28.420 --> 03:46:29.680
I'm a bit confused.

03:46:29.920 --> 03:46:30.620
I'll tell you why.

03:46:30.940 --> 03:46:34.700
It's like maybe I don't know the tasteful definition.

03:46:45.940 --> 03:46:46.340
Yeah.

03:46:47.380 --> 03:46:47.600
And that's all.

03:46:48.220 --> 03:46:48.520
And that's all.

03:46:50.980 --> 03:46:51.380
And that's all.

03:46:51.380 --> 03:46:52.540
I think that's the end of the talk.

03:47:35.080 --> 03:47:39.840
There was a fight on our desk about a very senior politician.

03:47:40.620 --> 03:47:44.740
And as a result, they deployed all the state resources to counter it.

03:47:45.440 --> 03:47:47.660
And that's why I was sitting at home for a year.

03:47:48.340 --> 03:47:49.340
So that was not a surprise.

03:47:49.580 --> 03:47:50.240
South Africans are forgotten.

03:47:50.820 --> 03:47:51.980
They sit at home without doing anything.

03:47:52.000 --> 03:47:58.640
Simple because I dealt with the rogue enemies in the organization, which then irritated some politicians.

03:47:59.380 --> 03:48:04.420
And then I'm happy to say today, some of the rogue enemies we're dealing with in the police are not in the service anymore.

03:48:04.420 --> 03:48:09.880
Some of them, senior people, are sitting in prison that we're dealing with back then in 2011.

03:48:10.760 --> 03:48:12.920
But when we're doing that, we were handcuffed.

03:48:13.140 --> 03:48:13.920
We're the bad ones.

03:48:13.940 --> 03:48:16.120
Simple because we charged the wrong people.

03:48:16.600 --> 03:48:18.060
So we did not surrender then.

03:48:18.380 --> 03:48:19.340
We're not going to surrender now.

03:48:20.180 --> 03:48:21.320
So we see that we're on paper.

03:48:21.380 --> 03:48:22.120
We do it on paper.

03:48:22.180 --> 03:48:23.140
We'll find each other in court.

03:48:23.820 --> 03:48:24.680
You'll come down with whatever.

03:48:24.860 --> 03:48:26.200
You'll come down with I'm not going to do any media things.

03:48:26.440 --> 03:48:27.500
They end up with whatever they like.

03:48:27.980 --> 03:48:30.120
I've been there for so many years.

03:48:30.720 --> 03:48:32.700
You know, I've been bruised.

03:48:32.700 --> 03:48:34.600
So this this doesn't scare me.

03:48:34.740 --> 03:48:38.400
And I'm not going to waste my breath in dealing with people that are faceless.

03:48:38.800 --> 03:48:45.060
But for those that are within the system that are doing things wrong, we're going to challenge them legally and deal with them.

03:48:45.100 --> 03:48:47.960
But if they want to come physical, we'll find each other in the field.

03:48:48.500 --> 03:48:49.240
That's just part of it.

03:48:49.840 --> 03:48:50.600
I've been in over there.

03:48:50.940 --> 03:48:52.820
So we have another beautiful lady over here.

03:48:52.960 --> 03:48:53.320
Hi.

03:48:53.560 --> 03:48:54.160
What's your name?

03:48:54.480 --> 03:48:55.860
Hi, how are you? I'm Tasha Cubes.

03:48:56.040 --> 03:48:56.940
Oh, Tasha Cubes.

03:48:57.000 --> 03:48:58.160
Nice to meet you.

03:48:59.040 --> 03:49:00.620
So a couple of questions.

03:49:00.620 --> 03:49:06.560
If we were to offer you a 10K EFT or 500 E-Wallet, what would you choose?

03:49:06.700 --> 03:49:07.440
500 E-Wallet.

03:49:07.980 --> 03:49:09.380
What would you do with it?

03:49:10.440 --> 03:49:11.480
500 E-Wallet.

03:49:12.380 --> 03:49:13.540
Just something quick.

03:49:13.780 --> 03:49:15.480
I'll just take myself out.

03:49:15.640 --> 03:49:16.180
I won't lie.

03:49:16.320 --> 03:49:19.220
I'll just take myself out just to go buy E-Wallet.

03:49:20.000 --> 03:49:21.180
Solo date bags.

03:49:22.320 --> 03:49:22.340
Okay.

03:49:22.340 --> 03:49:22.720
Yeah.

03:49:23.720 --> 03:49:24.240
Okay.

03:49:24.280 --> 03:49:25.060
I'll fill you.

03:49:25.700 --> 03:49:27.900
So we have another beautiful lady over here.

03:49:28.060 --> 03:49:28.280
Hi.

03:49:28.280 --> 03:49:28.820
Hi.

03:49:28.820 --> 03:49:32.780
I need your guys' help.

03:49:33.000 --> 03:49:33.100
What?

03:49:33.100 --> 03:49:33.980
Hi, how are you?

03:49:34.500 --> 03:49:36.280
I'm beautiful, thank you.

03:49:36.420 --> 03:49:36.460
Hi.

03:49:55.280 --> 03:49:57.120
Let's ask them about 291.

03:49:57.760 --> 03:49:58.040
Happy Office.

03:50:00.240 --> 03:50:00.500
Yeah.

03:50:00.520 --> 03:50:00.560
Thank you.

03:50:00.580 --> 03:50:00.620
Go ahead.

03:50:00.640 --> 03:50:01.000
So a couple of questions.

03:50:01.000 --> 03:50:15.680
to separate your business dealings with your personal affairs. If you are running a business or you are an emerging entrepreneur, if you are doing a start-up, ensure that you separate your business matters to your personal matters.

03:50:15.820 --> 03:50:27.020
Don't mix up the expenses, don't pay, don't mess up using the business money, make sure it's distinguishable between yourself and the legal entity, which is your business.

03:50:27.020 --> 03:50:39.940
We find this to be a problem amongst most of our clients that are having start-ups or they are running sole proprietorship businesses where they are the sole trader and so forth.

03:50:39.940 --> 03:50:49.280
And some of them we find them paying medical aid using the company and they are paying for the apparels and so forth, which are not employees of the company.

03:50:49.280 --> 03:51:10.520
And it becomes difficult then to comply with such, a lot of them we find them to be non-compliant and we have to do VDPs and try to help them with their compliance. So it's just an edge to most taxpayers just to keep that distinction clear.

03:51:10.520 --> 03:51:31.000
Guys, it's 2025. We can't keep having the same conversation about video call etiquette. You can't open your WhatsApp or open your FaceTime app and type someone's name that you are not used to in that way, that you don't have that relationship with.

03:51:31.000 --> 03:51:45.920
Maybe when that person talks like once or twice a month, you type their name and you paste that little video button and call them without even giving them a heads up. Something as simple as just before you're going to call the same way, are you free, can you take a call?

03:51:46.480 --> 03:51:59.620
Can I video call you? Let me know when you can take a video call. Let me know when you can take a call. Simple. I look at my phone, I stare at my phone, I just stare at my phone like this because why are you just...

03:51:59.620 --> 03:52:04.100
I look at some of the funny moments he initiated in the house.

03:52:04.820 --> 03:52:14.440
Dr. Ngozi is one of the politicians that has a popularity appeal across the political spectrum. His personality earned him the title.

03:52:18.440 --> 03:52:27.380
Just imagine how good...

03:52:29.040 --> 03:52:34.340
Do you guys ever dated scammers? Like, okay, not like scammers, like...

03:52:34.340 --> 03:52:34.480
Okay.

03:53:27.340 --> 03:53:42.160
I watched Harry Potter, had this cocktail, I had this chocolate green plate, it was too good, and then guys, my brain fell and I was just like so sad. I watched Frenchy show and had some bubbles and after playing for almost 20 hours, we finally made it.

03:53:42.360 --> 03:53:43.080
And can I have a batini?

03:54:06.380 --> 03:54:08.600
So this is video number two, number one.

03:54:08.600 --> 03:54:09.200
I want to kill it.

03:54:10.880 --> 03:54:13.140
I want to kill it.

03:54:13.140 --> 03:54:34.400
I want to kill it.

03:54:34.400 --> 03:54:38.220
I want to kill it.

03:54:38.220 --> 03:54:46.820
I want to kill it.

03:54:49.640 --> 03:54:52.600
I'm seeing a lot of people using curser at the moment.

03:54:52.700 --> 03:54:54.420
Like, I cheated.

03:54:56.100 --> 03:54:58.380
Because I've already fucking been cheating seven times.

03:54:58.920 --> 03:55:01.700
Story time, you guys. I did.

03:55:07.080 --> 03:55:19.120
Okay, are we back?

03:55:23.360 --> 03:55:24.380
Okay, cool.

03:55:24.880 --> 03:55:26.980
I just need to log into my...