1 00:00:02,160 --> 00:00:09,420 Thank you guys. Good morning and welcome to my talk or actually a quick guide on how to become 2 00:00:09,420 --> 00:00:17,120 your company's CEO with little effort. So first I must start with a disclaimer. So I believe the 3 00:00:17,120 --> 00:00:23,120 tech I'm presenting today is a game changer when it comes to social engineering attacks and it may 4 00:00:23,120 --> 00:00:29,660 cause harm very fast. So please remember that you can always be at the other side of the barrel 5 00:00:29,660 --> 00:00:38,340 please don't be evil, don't use deepfakes without the approval of your target. Okay, no seriously, 6 00:00:39,400 --> 00:00:45,780 but this is my target. So I'd like you to meet my company's former CEO and current chairman Udi 7 00:00:45,780 --> 00:00:53,860 Mukadi and this is him on a podcast interview he did last year. Absolutely and great to talk to you 8 00:00:53,860 --> 00:00:58,480 here. I think the beauty of the Cyborg story to fast-forward is we pioneered the space but 9 00:00:58,480 --> 00:00:59,380 continued to innovate. 10 00:00:59,660 --> 00:01:06,000 And market-leading a lot of companies don't. Yeah, so Udi was my target when I played around with deepfakes. 11 00:01:06,780 --> 00:01:13,620 And now I'd like to go over the obligatory who am I? So my name is Gal and I'm a vulnerability research 12 00:01:13,960 --> 00:01:21,960 manager at Cyborg labs, and actually my favorite research fields are embedded devices such as ISP 13 00:01:21,960 --> 00:01:23,800 equipment and mesh Wi-Fi. 14 00:01:24,840 --> 00:01:27,840 And more importantly who am I not? 15 00:01:28,240 --> 00:01:29,640 So I'm not the only one who is the target here. I am the only one. I'm the only one who is the target here. 16 00:01:29,640 --> 00:01:36,940 a machine learning expert whatsoever. This project was started as a challenge to see how far I 17 00:01:36,940 --> 00:01:43,500 can go with real time avatar with creating a real time avatar of my company's chairman. And I'm 18 00:01:43,500 --> 00:01:49,300 not going to use the A word because I bet you are all sick and tired from hearing about this 19 00:01:49,300 --> 00:01:59,520 buzzword and robot apocalypse. And as you all see I am definitely not my company's chairman. But 20 00:01:59,520 --> 00:02:08,240 this is me with a button shirt. And this is me with Udi's office as a background. And this is me 21 00:02:08,240 --> 00:02:18,380 with Udi's face. Hi, I'm Udi Sloan. And I'm very excited to be here. And it's just great to talk to 22 00:02:18,380 --> 00:02:27,980 you all. Yeah, so you probably figured out that this video was made with real time video and audio 23 00:02:27,980 --> 00:02:28,700 deep fake. 24 00:02:31,280 --> 00:02:38,940 Okay. So, for today's agenda, I would like to go over the bare minimum terms about machine 25 00:02:38,940 --> 00:02:46,320 learning. Going over the process of creating a real time video and audio deep fakes. And lastly, 26 00:02:46,400 --> 00:02:51,700 combine it all together and see how this tech can be weaponized for social engineering attack. 27 00:02:53,500 --> 00:02:58,980 Okay. So, unfortunately, I don't have enough time today to go over or be too technical about 28 00:02:58,980 --> 00:02:59,500 how this tech can be weaponized for social engineering attack. 29 00:02:59,520 --> 00:03:03,020 So I am going to tell you what I do and how this work. But I want to clear some terms before I begin. 30 00:03:03,960 --> 00:03:08,600 So, machine learning one‑on‑one, and actually, when I use the term machine 31 00:03:08,600 --> 00:03:16,060 learning or ML I actually refer to convolutional neural network or CNN which is a class in ML. 32 00:03:16,340 --> 00:03:24,420 But for the sake of simplicity, let's just call it ML. So ML model is a program that has been 33 00:03:24,420 --> 00:03:29,240 trained to recognize certain patterns and types. The most classic example, 34 00:03:29,520 --> 00:03:37,380 is image or audio recognition, and you need to train a model over a set of data providing 35 00:03:37,380 --> 00:03:43,260 it an algorithm it can use to reason over and learn from those data. 36 00:03:43,760 --> 00:03:51,720 For example, video frames and audio samples as a data set, and image or audio mapping 37 00:03:51,720 --> 00:03:52,620 as the algorithm. 38 00:03:53,920 --> 00:03:58,680 And once you have trained your model, you can use it to reason over data that it hasn't 39 00:03:58,680 --> 00:04:01,940 seen before and make prediction about those data. 40 00:04:02,140 --> 00:04:06,120 For example, detecting a face in a frame and swapping it. 41 00:04:06,660 --> 00:04:12,360 Training is basically doing a lot of mathematical calculation which takes time and often measured 42 00:04:12,360 --> 00:04:17,700 by iteration, which gives you an indication on how fast you're training your model. 43 00:04:18,100 --> 00:04:22,600 And again, please keep in mind this is a very high level explanation. 44 00:04:22,900 --> 00:04:25,640 I removed some terms just to make things simple. 45 00:04:27,500 --> 00:04:28,140 Okay. 46 00:04:28,140 --> 00:04:33,880 So, since training a model involves in a lot of math calculation, you need the right hardware 47 00:04:33,880 --> 00:04:35,440 to do it in a reasonable time. 48 00:04:35,780 --> 00:04:39,920 So GPUs were actually designed to do a lot of this kind of calculation. 49 00:04:40,260 --> 00:04:44,380 And if you've got a powerful gaming PC, you can use it to train a model. 50 00:04:45,020 --> 00:04:50,220 But if you don't, you can pay around 50 bucks per week and get it done on the cloud. 51 00:04:50,680 --> 00:04:56,220 And also, you can use Google CoLab, which is a Jupyter notebook that can actually be 52 00:04:56,220 --> 00:04:57,860 used to train a model for free. 53 00:05:00,220 --> 00:05:00,740 Okay. 54 00:05:00,840 --> 00:05:01,460 So, great. 55 00:05:01,600 --> 00:05:04,360 Now, we can talk about video and audio deepfakes. 56 00:05:05,560 --> 00:05:11,480 So the first thing you want to do when creating a deepfake avatar is gather a high-quality 57 00:05:11,480 --> 00:05:12,860 data of your target. 58 00:05:13,500 --> 00:05:17,360 This can later be used as a data set to train your model. 59 00:05:18,540 --> 00:05:22,960 So for video, I find YouTube and Google videos to be a great place to start. 60 00:05:23,180 --> 00:05:27,200 But you can also find high-quality videos in the company's website. 61 00:05:27,200 --> 00:05:28,800 Or in virtual meetings. 62 00:05:30,300 --> 00:05:34,740 For audio, here you aim for high-quality audio. 63 00:05:35,080 --> 00:05:40,340 Usually podcasts and media interviews has the best sound production. 64 00:05:40,600 --> 00:05:42,120 And they are the best source. 65 00:05:42,520 --> 00:05:49,480 But if your target is a CEO of a traded company, then you're most likely to find audio source 66 00:05:49,480 --> 00:05:50,660 in post-earning calls. 67 00:05:52,600 --> 00:05:56,320 And lastly, you might want a background. 68 00:05:56,320 --> 00:05:58,200 Which is not a data set. 69 00:05:58,400 --> 00:06:00,120 It's just a prop for staging. 70 00:06:00,400 --> 00:06:04,840 But if you want to tell a certain story, like, for example, you got stuck outside of your 71 00:06:04,840 --> 00:06:11,720 office or something like that, then you can use Google Maps or YouTube to get the right 72 00:06:11,720 --> 00:06:12,160 background. 73 00:06:12,360 --> 00:06:14,900 I used Udi's office background. 74 00:06:15,020 --> 00:06:18,520 I got Udi's office background from a media interview. 75 00:06:20,280 --> 00:06:20,800 Okay. 76 00:06:20,920 --> 00:06:25,280 So now we're ready to talk on how video deepfakes are done. 77 00:06:26,420 --> 00:06:35,800 So, in 2008, a talented guy called Ipirov created a project called DeepFaceLab or DFL 78 00:06:35,800 --> 00:06:38,300 for offline video deepfakes. 79 00:06:38,440 --> 00:06:43,980 And I bet you probably saw a lot of meme using this kind of project. 80 00:06:44,220 --> 00:06:49,340 And starting using DFL might be a little bit intimidating. 81 00:06:49,760 --> 00:06:51,940 You need to run different scripts. 82 00:06:52,040 --> 00:06:55,900 And there are around 32 different parameters that you need to configure. 83 00:06:55,900 --> 00:06:57,520 Why you train your model. 84 00:06:57,700 --> 00:06:59,340 And it affects how you train your model. 85 00:07:00,060 --> 00:07:04,760 But this project has an active community called Mr. DeepFakes. 86 00:07:04,900 --> 00:07:07,320 And you can get a lot of help from there. 87 00:07:09,420 --> 00:07:09,940 Okay. 88 00:07:10,000 --> 00:07:14,940 So to understand realtime deepfakes, we must understand offline deepfake first. 89 00:07:16,480 --> 00:07:21,000 So let's say I want to swap the face of the upper character with the bottom character. 90 00:07:22,340 --> 00:07:25,460 For that, I need to give DFL a source video. 91 00:07:25,900 --> 00:07:27,440 The face I wish to replace. 92 00:07:29,620 --> 00:07:34,380 And then a destination video of the target you wish to replace with. 93 00:07:34,740 --> 00:07:40,620 For good result, your dataset should include a variety of videos of your target with different 94 00:07:40,620 --> 00:07:41,920 angle and different lighting. 95 00:07:43,940 --> 00:07:46,760 And then DFL can create and train a model. 96 00:07:47,040 --> 00:07:49,860 And depends on your hardware, it should take a few days. 97 00:07:51,760 --> 00:07:55,680 And in some point in time, your model should reach enough iteration. 98 00:07:55,680 --> 00:07:58,420 To perform the face swap correctly. 99 00:08:00,320 --> 00:08:05,980 So this model is then applied on the source video to change the source face with the destination 100 00:08:05,980 --> 00:08:06,340 face. 101 00:08:07,860 --> 00:08:12,340 So in high level, DFL split the video into frames. 102 00:08:13,600 --> 00:08:17,100 Then for every frame, it apply a two stage model. 103 00:08:18,580 --> 00:08:21,820 The first stage of the model is detecting the source face. 104 00:08:23,420 --> 00:08:25,540 And the second is swapping. 105 00:08:25,540 --> 00:08:27,440 Swapping the source face with the destination face. 106 00:08:29,360 --> 00:08:34,020 After it's done for every frame, you got yourself a deepfake video. 107 00:08:36,060 --> 00:08:36,960 All right. 108 00:08:37,160 --> 00:08:43,640 And in 2021, IPRov created a new project called DeepFace Live. 109 00:08:44,000 --> 00:08:48,600 And this software can run DFL models in real time. 110 00:08:48,800 --> 00:08:51,040 And it's very straightforward to use. 111 00:08:53,000 --> 00:08:53,720 Okay. 112 00:08:53,780 --> 00:08:54,080 So. 113 00:08:54,080 --> 00:08:57,800 Now let's talk about how to train a real time DFL model. 114 00:08:59,560 --> 00:09:00,660 Same as before. 115 00:09:00,800 --> 00:09:02,420 You need a target data set. 116 00:09:02,520 --> 00:09:05,120 Again with variety of angles and lighting. 117 00:09:06,980 --> 00:09:09,240 You feed it to the same DFL project. 118 00:09:11,180 --> 00:09:17,720 But this time, since your model aimed to work on any given face, your source data sets will 119 00:09:17,720 --> 00:09:20,720 need to be different pictures of different people. 120 00:09:21,000 --> 00:09:21,100 Okay. 121 00:09:23,060 --> 00:09:23,700 Okay. 122 00:09:24,080 --> 00:09:26,780 So you need a target data set with around 10K of pre-mapped faces. 123 00:09:29,240 --> 00:09:32,100 And then you let DFL walk its magic again. 124 00:09:32,280 --> 00:09:37,740 And after a few days, again, depends on your hardware, you get yourself a real time model. 125 00:09:39,420 --> 00:09:39,940 Okay. 126 00:09:39,980 --> 00:09:44,880 Now to put it in use, you should connect your web camera to the DeepFace Live program. 127 00:09:46,400 --> 00:09:51,320 The DeepFace Live will load the model that you created and run it on the fly for every 128 00:09:51,320 --> 00:09:52,360 frame that it gets. 129 00:09:53,540 --> 00:09:54,060 And then you can start the process. 130 00:09:54,060 --> 00:09:58,080 And then with OBS, you can direct it to everywhere, anywhere you like. 131 00:09:58,560 --> 00:10:01,040 Like for example, to do a video conference. 132 00:10:02,640 --> 00:10:04,400 But wait, there's more. 133 00:10:06,220 --> 00:10:12,780 I actually realized that by using Snap Camera, I can apply additional effect to help me improve 134 00:10:12,780 --> 00:10:13,200 cosmetic. 135 00:10:13,420 --> 00:10:15,560 For example, beard and hairstyle. 136 00:10:16,020 --> 00:10:21,700 And actually, this is how I managed not to shave my head when I did Udi's DeepFake. 137 00:10:24,060 --> 00:10:24,500 Okay. 138 00:10:25,120 --> 00:10:26,180 Let's see again. 139 00:10:26,240 --> 00:10:26,920 Okay. 140 00:10:26,920 --> 00:10:29,420 Lastly, real time DeepFakes currently has some limitations. 141 00:10:30,040 --> 00:10:37,220 Face expressions, for example, like pulling your tongue out, may not look that good. 142 00:10:37,380 --> 00:10:44,200 And also objects that covers your face like mask, hand, they can make you look unreal. 143 00:10:44,580 --> 00:10:51,320 And lastly, comparing to offline DeepFake, here you need a GPU at your end points. 144 00:10:51,480 --> 00:10:54,040 And the more powerful GPU you have, the better. 145 00:10:54,060 --> 00:11:00,880 more frames per second you're gonna get okay so now let's talk about audio deep 146 00:11:00,880 --> 00:11:08,120 fix and I'll start with spec speech to text first okay so this tech is very 147 00:11:08,120 --> 00:11:11,620 popular and today you can see many companies providing these kind of 148 00:11:11,620 --> 00:11:16,760 services quite impressively in some cases you only need a one minute of 149 00:11:16,760 --> 00:11:22,940 clear audio sample and full disclosure I paid a few dollars to 11 labs and I work 150 00:11:22,940 --> 00:11:27,140 with them but I believe that you can also get a pretty good result with an 151 00:11:27,140 --> 00:11:33,660 open-source project called cookie and after you train your model it takes text 152 00:11:33,660 --> 00:11:40,040 and translate it into speech that sounds like your target so as you might think 153 00:11:40,620 --> 00:11:44,500 text-to-speech is not enough for real-time deepfake since it's text 154 00:11:44,500 --> 00:11:51,800 based and not voice based so now for a voice based solution which is called 155 00:11:51,800 --> 00:11:52,580 voice conversion 156 00:11:52,580 --> 00:12:01,820 or VC so on March 2023 our VC project was created by Fumiyama 157 00:12:01,820 --> 00:12:10,980 FTPS and Deepomb maybe three anim enthusiastic developers and this 158 00:12:10,980 --> 00:12:16,040 project converts voice samples and support just about any language it also 159 00:12:16,040 --> 00:12:21,740 supports singing which is cool and configuring this project takes some time 160 00:12:21,740 --> 00:12:22,560 but it's worth it 161 00:12:22,580 --> 00:12:29,740 way less intimidating than DFL all right so for our VC you need 162 00:12:29,740 --> 00:12:36,840 at least 10 minutes of clear audio data set the more the better and after a few 163 00:12:36,840 --> 00:12:44,760 hours our VC created VC model this model can take any voice as an input and 164 00:12:44,760 --> 00:12:52,560 converted to the target's voice but wait there's more remember that we talked about voice Matematics.com. 165 00:12:52,580 --> 00:12:59,880 that speech text-to-speech only need one minute of audio so you can actually use 166 00:12:59,880 --> 00:13:05,200 test-to-speech model to generate a bigger data set for RBC so basically you 167 00:13:05,200 --> 00:13:13,320 only need one minute of audio for RBC as well okay and now for running the 168 00:13:13,320 --> 00:13:19,520 model on the fly so in August 22 a guide called Okada created a project called 169 00:13:19,520 --> 00:13:26,160 voice changer it supports RBC model as well as other VC models and it's very 170 00:13:26,160 --> 00:13:33,260 very straightforward to work with and so you can take your microphone connect it 171 00:13:33,260 --> 00:13:40,120 to voice changer with your RBC model and then use a program called a be audio 172 00:13:40,120 --> 00:13:47,200 that redirect the audio to your favorite program and then you can call someone 173 00:13:47,200 --> 00:13:48,960 using an voice 174 00:13:51,480 --> 00:13:57,520 deep fake and RBC model also has some limitation mainly around constant 175 00:13:57,520 --> 00:14:03,980 syllables for example if you say for a period of time it may sound unnatural 176 00:14:03,980 --> 00:14:10,060 and also voice changer has to keep a buffer of your voice and to convert it 177 00:14:10,060 --> 00:14:16,000 on the fly and that might create latency and same as deep fake live you also need 178 00:14:16,000 --> 00:14:18,540 a relatively powerful GPU at your 179 00:14:18,540 --> 00:14:18,940 and that might create latency and same as deep fake live you also need a relatively powerful GPU at your 180 00:14:18,960 --> 00:14:27,680 endpoint okay lastly I want to talk about the obvious profit reason I 181 00:14:27,680 --> 00:14:31,720 believe that real-time deepfakes is will dramatically change how social 182 00:14:31,720 --> 00:14:37,820 engineering attack are executed no more text no more emails you can expect your 183 00:14:37,820 --> 00:14:43,460 supervisor calling you and asking you to do stuff and also that of course can 184 00:14:43,460 --> 00:14:48,880 cause business damage money transfer job termination granting access you name 185 00:14:48,880 --> 00:14:53,760 it and of course it can also lead to data leakage such as confidential 186 00:14:53,760 --> 00:15:00,660 documents or credential leakage and so on but it can also create business 187 00:15:00,660 --> 00:15:05,440 fatigue think of it if you need let's say perform multi-factor authentication 188 00:15:05,440 --> 00:15:10,740 by any kind for every phone call that you do that can affect the entire 189 00:15:10,740 --> 00:15:17,680 business operation okay and actually to use the stack for social engineering 190 00:15:17,680 --> 00:15:18,000 attack 191 00:15:18,000 --> 00:15:26,760 you need to collect a data and stage a specific story and then you probably want 192 00:15:26,760 --> 00:15:31,400 to automate everything just that you will able to train the model in a 193 00:15:31,400 --> 00:15:38,840 relatively fast way and also you can use bandwidth restriction if your 194 00:15:38,840 --> 00:15:43,740 endpoint or if your model is not mature enough and you just want to get away 195 00:15:43,740 --> 00:15:45,960 with low quality or with latency issues 196 00:15:48,280 --> 00:15:56,080 okay so for conclusion since this is a social engineering game-changer and sorry 197 00:15:56,080 --> 00:16:00,400 this is I think a social engineering game-changer training a model is a 198 00:16:00,400 --> 00:16:04,100 little difficult and it takes some times and required some reading to do 199 00:16:04,100 --> 00:16:09,980 beforehand however running the model itself on the endpoint is super easy and 200 00:16:09,980 --> 00:16:15,600 super easy straightforward to use so since training a model might be high effort 201 00:16:15,600 --> 00:16:15,940 so since training a model might be high effort 202 00:16:15,960 --> 00:16:22,320 I came out with something called DEF CON video art which stands for deep fake 203 00:16:22,320 --> 00:16:30,680 conversion or for video and audio in real time or a fancy bass trip that 204 00:16:30,680 --> 00:16:37,160 automates everything that I show today so it uses pre-trained models to save 205 00:16:37,160 --> 00:16:43,620 time it using back best practice configuration I managed to find and work 206 00:16:43,620 --> 00:16:45,940 for me and I packed it all in a single day and I think that's pretty cool and 207 00:16:45,940 --> 00:16:52,220 in the all day environment dependencies so I can actually use it on my machine or 208 00:16:52,220 --> 00:16:59,040 in the cloud and hopefully in KOD a one day okay so to use it I just need three 209 00:16:59,040 --> 00:17:05,380 minutes of video and one minute of audio I then use DFL and RVC to train the 210 00:17:05,380 --> 00:17:14,040 model and after around one day for video I end up with reasonable results and 211 00:17:14,040 --> 00:17:15,920 after 30 minutes of training I got a lot better results so this is something that is really good so to be fair I have an all day in my home I should have been doing this. 212 00:17:15,920 --> 00:17:19,800 of audio, I mean, after three minutes, 213 00:17:19,840 --> 00:17:21,760 I got reasonable results for audio. 214 00:17:22,140 --> 00:17:23,940 Again, it depends on your hardware. 215 00:17:24,620 --> 00:17:28,660 And you end up with two models of audio and video. 216 00:17:30,400 --> 00:17:33,920 Okay, and then you can use it in the streaming setup 217 00:17:33,920 --> 00:17:36,600 I just demonstrated, and use it as you wish. 218 00:17:37,520 --> 00:17:39,700 And now, for a live demo. 219 00:17:40,840 --> 00:17:41,380 Okay. 220 00:17:46,020 --> 00:17:48,000 Let me just get it out of the way. 221 00:17:49,380 --> 00:17:49,820 Okay. 222 00:17:56,220 --> 00:17:57,640 Excuse me guys, just a minute. 223 00:18:04,380 --> 00:18:05,460 Maybe this is right. 224 00:18:26,620 --> 00:18:29,800 Hi, I'm Jeff Maas, founder of DEF CON. 225 00:18:29,960 --> 00:18:33,320 I hope you enjoyed this talk, because right after it, 226 00:18:33,420 --> 00:18:35,920 DEF CON is officially canceled. 227 00:18:47,360 --> 00:18:47,960 Thanks. 228 00:18:50,820 --> 00:18:52,920 Okay, so what to do? 229 00:18:53,120 --> 00:18:56,020 So, like every social engineering attack, 230 00:18:56,340 --> 00:18:57,780 awareness is a key factor. 231 00:18:58,060 --> 00:19:00,880 Today, everybody know not to trust suspicious emails 232 00:19:00,880 --> 00:19:04,160 and texts, and seems like we already reached a point 233 00:19:04,160 --> 00:19:07,360 where you must suspect a suspicious phone 234 00:19:07,360 --> 00:19:08,860 and video calls as well. 235 00:19:09,540 --> 00:19:11,680 If something is fishy, then it probably is. 236 00:19:11,940 --> 00:19:15,160 And you should always ask for additional information. 237 00:19:15,840 --> 00:19:18,720 Preferably, this kind of information that only you 238 00:19:18,720 --> 00:19:22,560 and the person at the other side of the line knows. 239 00:19:23,240 --> 00:19:27,540 Also, you can use current real-time models limitation, 240 00:19:27,920 --> 00:19:30,800 as I mentioned before, but please keep in mind 241 00:19:30,800 --> 00:19:33,800 that this limitation might be solved in the future. 242 00:19:35,420 --> 00:19:38,440 Okay, and as for technological mitigation, 243 00:19:38,960 --> 00:19:41,780 well, you can ask for multi-factor authentication. 244 00:19:42,940 --> 00:19:45,080 There are some research papers, 245 00:19:45,080 --> 00:19:49,820 and GitHub project that aim to detect deepfakes using ML, 246 00:19:50,440 --> 00:19:52,320 and there are also commercial products, 247 00:19:52,500 --> 00:19:54,440 such as Intel Bloodflow. 248 00:19:55,060 --> 00:19:58,500 And lastly, you can use other phishing mitigation, 249 00:19:58,800 --> 00:20:02,800 such as notifications and alerts that will be triggered 250 00:20:02,800 --> 00:20:05,560 when you're under a deepfake attack, something like that. 251 00:20:06,200 --> 00:20:10,800 Okay, as for future work, I plan to try to do 252 00:20:10,800 --> 00:20:14,120 a full head deepfake, including the hair and everything. 253 00:20:14,360 --> 00:20:15,060 Okay, as for future work, I plan to try to do a full head deepfake, including the hair and everything. 254 00:20:15,060 --> 00:20:18,480 I want to try to play with different source data set, 255 00:20:18,580 --> 00:20:21,020 example, just my own data set and see how it goes. 256 00:20:21,260 --> 00:20:24,780 And lastly, Colab automation or integration 257 00:20:24,780 --> 00:20:27,520 for the environment I demonstrated before. 258 00:20:28,240 --> 00:20:31,300 Lastly, I want to say thanks to Mark 259 00:20:31,300 --> 00:20:32,440 that helped me with the research 260 00:20:32,440 --> 00:20:34,460 and great tutorials I find online. 261 00:20:34,760 --> 00:20:38,700 My targets that approved the use of their image. 262 00:20:38,880 --> 00:20:40,420 And lastly, the Archer TV show, 263 00:20:40,420 --> 00:20:44,420 which I think is gonna start a new season this month. 264 00:20:45,560 --> 00:20:46,000 Thank you.