
{"id":4271,"date":"2023-10-29T22:43:40","date_gmt":"2023-10-29T22:43:40","guid":{"rendered":"https:\/\/blog.gordonbuchan.com\/blog\/?p=4271"},"modified":"2024-04-22T21:27:15","modified_gmt":"2024-04-22T21:27:15","slug":"creating-a-home-server-and-offsite-backup-server-using-ubuntu-desktop-linux-and-fedora-server-linux","status":"publish","type":"post","link":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2023\/10\/29\/creating-a-home-server-and-offsite-backup-server-using-ubuntu-desktop-linux-and-fedora-server-linux\/","title":{"rendered":"Creating a home server and offsite backup server using Ubuntu Desktop Linux and Fedora Server Linux"},"content":{"rendered":"\n<p>In this post, we build a home server using Ubuntu Desktop Linux that includes a Samba network file server, an OpenVPN virtual private network (VPN), and a KVM hypervisor hosting virtual machine (VM) guests including a Linux\/Apache\/MySQL\/PHP web server. In addition, we build an offsite backup server using Fedora Server Linux, and link the offsite backup server to the home server via a WireGuard secure network tunnel.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"710\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-5-1024x710.png\" alt=\"\" class=\"wp-image-4406\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-5-1024x710.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-5-300x208.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-5-768x532.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-5.png 1069w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Tasks for the home server<\/h1>\n\n\n\n<p>The home server will perform the following tasks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Samba network file server<\/li>\n\n\n\n<li>OpenVPN server<\/li>\n\n\n\n<li>KVM hypervisor to host virtual machine (VM) guests<\/li>\n\n\n\n<li>LAMP web server in a VM<\/li>\n\n\n\n<li>Wireguard public-facing host to client  connection to offsite backup server<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Hardware for the home server<\/h1>\n\n\n\n<p>As the home server will host virtual machine guests, I need a certain level of performance, so I bought a refurbished circa 2017 computer for C$403 (US$294). CPU performance can affect OpenVPN performance, so the VPN server will benefit from a stronger CPU as well.<\/p>\n\n\n\n<p>The home server is a small form factor (SFF) desktop circa 2017:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dell OptiPlex 5050 SFF (circa 2017)<\/li>\n\n\n\n<li>i7-7700 CPU<\/li>\n\n\n\n<li>32GB DDR4 RAM<\/li>\n\n\n\n<li>1TB SATA SSD<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Formatting and configuring the home server with Ubuntu Desktop 22.04 LTS<\/h1>\n\n\n\n<p>I formatted the home server with Ubuntu Desktop 22.04 LTS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why choose Ubuntu Desktop instead of Ubuntu Server?<\/h2>\n\n\n\n<p>For the home server, I wanted the option of a graphical user interface (GUI) desktop for use at console, and via remote desktop. A GUI desktop is also more convenient for the creation and management of KVM virtual machine guests using the virt-manager GUI, (and avoids the need for SSH tunnel forwarding and an X11 server to reach a headless server).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Formatting in UEFI mode<\/h2>\n\n\n\n<p>With modern hardware, I like to use UEFI mode for disk booting. Although we do not need a multiple-boot menu for this server, it is easier to construct a multiple-boot menu using grub when booting in UEFI mode. This is the default on a post-2016 motherboard, but it is worth looking at the BIOS when you first lay hands on a machine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting using wired Ethernet<\/h2>\n\n\n\n<p>We need a wired Ethernet connection for the home server, as we want to create a bridge mode adapter (br0) so that virtual machine (VM) guests can have IP addresses in the host networking subnet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Downloading Ubuntu desktop Linux<\/h2>\n\n\n\n<p><a href=\"https:\/\/ubuntu.com\/download\/desktop\">https:\/\/ubuntu.com\/download\/desktop<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"706\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-13-1024x706.png\" alt=\"\" class=\"wp-image-3520\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-13-1024x706.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-13-300x207.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-13-768x530.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-13.png 1099w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"762\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-50-1024x762.png\" alt=\"\" class=\"wp-image-4573\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-50-1024x762.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-50-300x223.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-50-768x572.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-50.png 1482w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"762\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-51-1024x762.png\" alt=\"\" class=\"wp-image-4574\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-51-1024x762.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-51-300x223.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-51-768x572.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-51.png 1482w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"192\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-57.png\" alt=\"\" class=\"wp-image-4582\" style=\"aspect-ratio:3.6666666666666665;width:612px;height:auto\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-57.png 704w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-57-300x82.png 300w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Using the Rufus USB utility under Windows to write the installer<\/h2>\n\n\n\n<p>If you are writing the installer to a USB using Windows, consider using Rufus:<\/p>\n\n\n\n<p><a href=\"https:\/\/rufus.ie\">https:\/\/rufus.ie<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Ubuntu on the home server<\/h2>\n\n\n\n<p>Click on &#8220;Install Ubuntu&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"572\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-58.png\" alt=\"\" class=\"wp-image-4585\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-58.png 800w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-58-300x215.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-58-768x549.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Click on &#8220;Continue&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"790\" height=\"570\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-59.png\" alt=\"\" class=\"wp-image-4587\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-59.png 790w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-59-300x216.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-59-768x554.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Click on &#8220;Continue&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"788\" height=\"567\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-60.png\" alt=\"\" class=\"wp-image-4589\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-60.png 788w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-60-300x216.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-60-768x553.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Click on &#8220;Install Now&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"570\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-61.png\" alt=\"\" class=\"wp-image-4590\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-61.png 792w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-61-300x216.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-61-768x553.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Click on &#8220;Continue&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"258\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-40.png\" alt=\"\" class=\"wp-image-3562\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-40.png 801w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-40-300x97.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/04\/image-40-768x247.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Select a time zone. Click &#8220;Continue&#8221;:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"571\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-62.png\" alt=\"\" class=\"wp-image-4592\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-62.png 786w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-62-300x218.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-62-768x558.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Complete the fields as needed, then click on &#8220;Continue&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"572\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-68.png\" alt=\"\" class=\"wp-image-4606\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-68.png 795w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-68-300x216.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-68-768x553.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Click on &#8220;Restart Now&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"492\" height=\"150\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-64.png\" alt=\"\" class=\"wp-image-4595\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-64.png 492w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-64-300x91.png 300w\" sizes=\"auto, (max-width: 492px) 100vw, 492px\" \/><\/figure>\n\n\n\n<p>Press the ENTER key on your keyboard:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"170\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-65.png\" alt=\"\" class=\"wp-image-4596\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-65.png 468w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-65-300x109.png 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Using the nmcli command to create a bridge mode adapter (br0)<\/h2>\n\n\n\n<p>Because we are working on an Ubuntu desktop, we will use the nmcli command to create a bridge mode adapter (br0).<\/p>\n\n\n\n<p>Open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install net-tools bridge-utils\nifconfig\n<\/pre><\/div>\n\n\n<p>Look at the information displayed by the ifconfig command. Identify the name of the wired Ethernet connection. The name may be &#8220;eth0&#8221; or a string such as &#8220;enp0s31f6&#8221;<\/p>\n\n\n\n<p>Use the value you identified above and use it in place of <em>ethernet_name<\/em>.<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnmcli con add ifname br0 type bridge con-name br0\nnmcli con add type ethernet ifname ethernet_name master br0\nnmcli con up br0\nnmcli con show\nbrctl show\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Using the nmcli command to set a static IP address on the bridge mode adapter (br0)<\/h3>\n\n\n\n<p>Although the br0 adapter appears in the Gnome Settings control panel, its IP address cannot be set using this graphical user interface (GUI). We can set the IP address and other IPV4 values of a br0 adapter using the nmcli command.<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnmcli con modify br0 ipv4.addresses 192.168.56.40\/24 ipv4.gateway 192.168.56.1 ipv4.method manual\nnmcli con modify br0 ipv4.dns &quot;8.8.8.8 8.8.4.4&quot;\nnmcli con down br0 &amp;amp;&amp;amp; sudo nmcli con up br0\ncon show br0\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Understanding the bridge networking device (br0) and its relationship with the Ethernet adapter<\/h2>\n\n\n\n<p>The bridge networking device (br0) is a wrapper around the Ethernet adapter. The br0 adapter replaces the Ethernet adapter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring the desktop user to login automatically<\/h2>\n\n\n\n<p>From the Ubuntu Desktop, Start the Settings application. Click on the search icon and search for &#8220;users&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"239\" height=\"185\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-16.png\" alt=\"\" class=\"wp-image-4451\"\/><\/figure>\n\n\n\n<p>Click on &#8220;Unlock&#8230;&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"729\" height=\"486\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-9.png\" alt=\"\" class=\"wp-image-4431\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-9.png 729w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-9-300x200.png 300w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/figure>\n\n\n\n<p>When prompted, enter the password for the user that owns the desktop session:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"394\" height=\"347\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-15.png\" alt=\"\" class=\"wp-image-4449\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-15.png 394w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-15-300x264.png 300w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/figure>\n\n\n\n<p>Enable &#8220;Automatic Login&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"456\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-11.png\" alt=\"\" class=\"wp-image-4434\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-11.png 732w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-11-300x187.png 300w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Blank Screen Delay to Never and Disabling Automatic Screen Lock<\/h2>\n\n\n\n<p>In the Settings application, go to Privacy, then Screen. Change &#8220;Blank Screen Delay&#8221; to &#8220;Never&#8221;. Disable &#8220;Automatic Screen Lock&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"464\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-13.png\" alt=\"\" class=\"wp-image-4442\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-13.png 726w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-13-300x192.png 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Enabling Remote Desktop Sharing<\/h2>\n\n\n\n<p>In the Settings application, go to Sharing, then go to &#8220;Remote Desktop&#8221;. Enable &#8220;Remote Desktop&#8221;. Enable &#8220;Remote Control&#8221;. Provide values for &#8220;User Name&#8221; and &#8220;Password&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"676\" height=\"723\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-74.png\" alt=\"\" class=\"wp-image-4691\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-74.png 676w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-74-280x300.png 280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a firewall exception for the remote desktop port<\/h2>\n\n\n\n<p>Open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\nufw allow 3389\/tcp\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Testing Remote Desktop access to the home server from a Linux desktop<\/h2>\n\n\n\n<p>Use the Remmina program and select the RDP protocol. Complete the fields as necessary for your installation, then click on &#8220;Save and Connect&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"803\" height=\"635\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-79.png\" alt=\"\" class=\"wp-image-4704\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-79.png 803w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-79-300x237.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-79-768x607.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image.png\" alt=\"\" class=\"wp-image-4945\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image-300x178.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image-768x456.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing Remote Desktop Sharing from a Windows 11 Pro desktop<\/h2>\n\n\n\n<p>Click on the Start button. Enter the text &#8220;remote desktop&#8221;. Click on the icon for &#8220;Remote Desktop Connection&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"499\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-20.png\" alt=\"\" class=\"wp-image-4465\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-20.png 750w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-20-300x200.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p>Enter the IP address of the home server. Click &#8220;Connect&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"398\" height=\"245\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-21.png\" alt=\"\" class=\"wp-image-4467\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-21.png 398w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-21-300x185.png 300w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Enter the username and password you specified in the Settings application on the home server under Sharing | Remote Desktop:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"326\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-22.png\" alt=\"\" class=\"wp-image-4469\" style=\"aspect-ratio:1.3680981595092025;width:674px;height:auto\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-22.png 446w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-22-300x219.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/figure>\n\n\n\n<p>Check the box &#8220;Don&#8217;t ask me again for connection to this computer&#8221;. Click on &#8220;Yes&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"384\" height=\"393\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-23.png\" alt=\"\" class=\"wp-image-4471\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-23.png 384w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-23-293x300.png 293w\" sizes=\"auto, (max-width: 384px) 100vw, 384px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"594\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-80.png\" alt=\"\" class=\"wp-image-4705\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-80.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-80-300x174.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-80-768x446.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Considering VNC as an alternative to Remote Desktop (RDP)<\/h2>\n\n\n\n<p>If you have difficulty connecting to the home server using a Windows remote desktop client, consider using VNC:<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2021\/08\/22\/installing-x11vnc-to-replace-broken-screen-sharing-on-ubuntu-21-04\/\">Installing x11vnc to replace broken screen sharing on Ubuntu 21.04<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Creating a network file share using the Files (Nautilus) program<\/h1>\n\n\n\n<p>From the home server&#8217;s desktop, start the Files (Nautilus) program:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"52\" height=\"42\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-28.png\" alt=\"\" class=\"wp-image-4486\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"557\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-26-1024x557.png\" alt=\"\" class=\"wp-image-4483\" style=\"aspect-ratio:1.8384201077199283;width:674px;height:auto\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-26-1024x557.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-26-300x163.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-26-768x418.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-26.png 1141w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Right-click on &#8220;Documents&#8221;. Click on &#8220;Properties&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"435\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-30.png\" alt=\"\" class=\"wp-image-4488\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-30.png 883w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-30-300x148.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-30-768x378.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Click on &#8220;Local Network Share&#8221;. Check the box &#8220;Share this folder&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"382\" height=\"435\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-31.png\" alt=\"\" class=\"wp-image-4490\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-31.png 382w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-31-263x300.png 263w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Click on &#8220;Install service&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"617\" height=\"151\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-32.png\" alt=\"\" class=\"wp-image-4492\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-32.png 617w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-32-300x73.png 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Click on &#8220;Install&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"331\" height=\"188\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-33.png\" alt=\"\" class=\"wp-image-4494\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-33.png 331w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-33-300x170.png 300w\" sizes=\"auto, (max-width: 331px) 100vw, 331px\" \/><\/figure>\n\n\n\n<p>Enter the password for the user that owns the desktop on the home server. Click Authenticate:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"408\" height=\"375\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-36.png\" alt=\"\" class=\"wp-image-4499\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-36.png 408w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-36-300x276.png 300w\" sizes=\"auto, (max-width: 408px) 100vw, 408px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Check the box &#8220;Share this folder&#8221;. Enter a value for the &#8220;Comment&#8221; field. Click on &#8220;Create Share&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"384\" height=\"434\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-37.png\" alt=\"\" class=\"wp-image-4502\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-37.png 384w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-37-265x300.png 265w\" sizes=\"auto, (max-width: 384px) 100vw, 384px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Installing the Samba program on the home server<\/h1>\n\n\n\n<p>Open a terminal window. Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\napt install samba\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Creating a network file share using Samba<\/h1>\n\n\n\n<p>Open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\/samba\nnano smb.conf\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the Samba configuration file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;global]\nworkgroup = WORKGROUP\nsecurity = user\npassdb backend = tdbsam\nmap to guest = Bad User\nlog file = \/var\/log\/samba\/%m.log\nmax log size = 50\ndns proxy = no\n&#x5B;share01]\npath = \/mount2\/share01\ncreate mask = 0644\ndirectory mask = 0755\nwritable = yes\nbrowseable = yes\nvalid users = @share01\nforce group = share01\n&#x5B;share02]\npath = \/mount2\/share02\ncreate mask = 0644\ndirectory mask = 0755\nwritable = yes\nbrowseable = yes\nvalid users = @share02\nforce group = share02\n<\/pre><\/div>\n\n\n<p>Save and exit the file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Restarting Samba<\/h2>\n\n\n\n<p>Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsystemctl restart samba\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Adding users to the groups share01 and share02<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ngroupadd share01\ngroupadd share02\nusermod -aG share01 username\nusermod -aG share02 username\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Using the smbpasswd command to create a Samba username to match the desktop username<\/h1>\n\n\n\n<p>Open a terminal window. Enter the following commands. Replace <em>username<\/em> with the user that owns the desktop on the home server. When prompted, provide a value for the password:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\nsmbpasswd -a username\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Creating a firewall exception for the network file sharing (CIFS) port<\/h1>\n\n\n\n<p>Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nufw allow 137,138,139,445\/tcp\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Testing the network file share using the Files (Nautilus) program<\/h1>\n\n\n\n<p>In the Files (Nautilus) application, click on &#8220;+ Other Locations&#8221;:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"538\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-38.png\" alt=\"\" class=\"wp-image-4510\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-38.png 883w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-38-300x183.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-38-768x468.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"544\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-139.png\" alt=\"\" class=\"wp-image-4901\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-139.png 884w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-139-300x185.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-139-768x473.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAA28AAAIaCAYAAAC3V3U6AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7snQV8ldUbx3+31h2wYMAKxkbn6JAuBQWlDFDB4G8DIioWBmBQCqiIiqggSnd3jK4VbKxZ93bzf87dLixurbe753w+F3bPe+I53\/Pee8\/vfU4IkpKSVAkJCbCwsIC7uztsbGwgFApR2+HMmTPo1q1bbVcLpVKJ3NxcJCYmQiqVws3NzWD7MzMzkZGRgebNm8PW1hYikajW7aYKiQARIAJEoPEQCAkJQXBwcK03mP9G5uTkgI8TCgsLjfqN5Hlqe1xRGTtrHWYDq7Au+lEbIj4+rM57vzL3Sl2wqIyd2vhRnOkREPMvWBcXF3h6eppe64xoEReqXIDxV3x8vFrEcRErEAi05i4oKFALt8DAQIjFYq1pKJIIEAEiQASIgCkQ4L+RdnZ26ldcXJzB30iVSqUWbrU9rqionabQNzXZhrrqx5psk6bsit4rdcWionbWBjuqo34QEHKPW2MVbmW7wMPDA2ZmZuCeNV1B43Ej4aaLEMUTASJABIiAKRLgYwVzc3O9v5FZWVnqmTx1Oa4wxk5T7J\/qbFN96MfqbI+usoy5V+oDC2Ps1NVGijc9AkLuZaLwkACfNsmniOgK+fn5ai8dBSJABIgAESACjY0AHzPo+43Mzs5Wz16p62DIzrq2r77XX1\/6sTY4GbpX6gsLQ3bWBiuqo34QEFtbW9cPS+qJFVZWVuq1b7qCQqGgNW664FA8ESACRIAImDQBPmbQ9xvJr9WHcYUhO026k6qhcfWlH6uhKQaLMHSv1BcWhuw02NAKJuDTRXnb+do7\/uKBT+XkLz5LTdfyogpWU+nkjdk+MW22Ufq+4Tw0N2ml7yjKSASIABEgAkTABAkY+o3kv5\/1YVxhyE4T7JpqbVJ96cdqbZSOwgzdK\/WFhSE7dTSvwtEymQx8lhl3VugKeXl56s+5paUlJBKJrmQ1Ek\/2AbTjRo3cWlQoESACRIAIEAEiQASIABFoGAS4J4vvvs7FkTGBizs+hZp74fistZr2xJF9D3uFxJsxdyilIQJEgAgQASJABIgAESACJkhAcyyBPm+brmbzqZU8X00eNUb2laZfbQe67dq1S1e\/1kp8RERErdRDlRABIkAEiAARIAJEgAgQAVMgwD1a3INWGeGmab\/GC8fLqu5A9pUnWi3i7e7du\/jtt9\/Kl16LMVevXlWfv1YXISYpDdevhdRF1RWuU5kVjYvH9+Df3VeQXrT+tMJl1EoGVS7ir53GwR27cTG5PhtaKzSoEiJABIiAyRLg07Q2b96MWbNmYejQoeoX\/3vLli1GT+EyWTjUMCJQwwT4VMmqCDeNebwMvhauugPZV55oladN8kOrFy5ciDlz5pQvvRZjevXqhSNHjmD06NG1eni2SiXEmZDL8LLIZa3tUnMtzruCn+d8jP9SWuG5Lz7BuJaV6zrpxXV475PjUPo9g47DOsCx5iyuWsnyq\/j1vfexP98dE74dgs6u1fKcoWo2UW4iQASIABGoVgLJycmYO3cu+DE9XLAFBASoy7916xb+\/vtv7Ny5E1988QVcXV2rtV4qrHoJ9OvXr1yBx44dU8fpu1YuE0XUKgH+4MTYNW7GGManUPI1cNW1iQnZp5165RRAibJ++eUX9OzZE506ddJeQy3F8i9+Ly8vXLlyBV261KCIKtOe7DwFkhPvYsCg3ka1NOTbiZi3PRWC5lOw4sfpaCXSkU0Rhp9feBUbogGfZ37AqgE3cCE8A7mKK7gQlofHWtpBoCMrRZsaATlSLvyKTxdtxA3zR7Hkt1fRQf3JVSE7dAd+XPsPTtxKRK7IHs3bD8SkF5\/FwOYW7HoBYk5uwu+b9rN75z5yBTZwax2Mx2a8iEcD9d0\/uurTcC1E0sV92L7vJEJuRCA+KwCz1n+CEQ4CKNOvYsvaddh6OhTJBRI4eXfG0KkvYkovd5Tfj0qJpC1v4pmV11BqebSkI2b\/thiPPRDsuuvT2dPyeOz79A0sPpECoe8z+OH7p+HN9b80DkfXrcSv+68gLt8S7u0GYdrL0zFIzYsCETBtAvzhJg87duyoFw3lAzMu3B555BFMmTKllE18TMFffFbPvHnz8MMPP1TbgLBeNN4EjdCINd60soJN3zUTRFGu\/braWJKLrjQ1Gc93lazuwJ061SXeGrJ9fJ0eP1ZBW9B3zRh+VRJvd+7cwdGjR7Fu3TptttV6XMeOHbFt2zZ4e3vDycmpVuoPjb4HW5EMbp7e0L2p6kNT\/Nv4Q7IjFdLESNzNVaGVnQCq1N14f+YPuKpshWdXfInxHqyz8+7hThKbLii0R6vWzSDxGoVXZ+fhaKovRvTTN\/CulWZTJbVCQIX8+HPY8ds6\/HEgAllKFYRNHlasjN+GT+auQAg7U97CoQmclGm4c3ozFoWnQfLDu+gatQbzFm5FIvMOS6ysISnMQMzl3Vj5QSGcf56PvuzeKx3016dOK4vHoW8WYOm+aBSoBBBbOcK1qTXEcjbPXRGNvz54Fz\/dLITYsRlaNs1BVNgx\/P7xXUiXrsGLQWblqOVm50HJHkNYOLrD1ab4SYbIlX2mim3TV5+uxxeqLFz4YQG+YcKNIcODr04Wf3blHCzamQiFyBLWkmzEnN+CL+bmwOKHd9DLviyPcuZSBBEgAtVIYOvWrWqPW1nhVrKKadOm4caNG2rBOW7cuGqsnYoiAjVHoK5FmTEt42vJqmO6ZNm65HI5eNlV3X3SkH0zZswoW3Wp9z\/99JPW67VhHxdnX3\/9NXr06IG+ffuWsuP48eM4e\/Ys3nzzTa3izhj7qiTeFi9ejFdffRUWFvXjqTU\/c6Jr1644ffo0Ro0apbXTqjNSpRIhMjIUrVp4QSUxN6pom9Zt4CU6gwj5HUREKTCsvRi5V8\/iakYOcnGdTcFMw2MeLlDGRCBaym5+sS\/a+DGfhTwE29b8qZ5GKOjaF7MC7mH74u+x61YMkjOykVMI2Li1Qe8JM\/HiSH9YF49DVTmh2M6eWG46eRvJUlt4uiohZ5aWehagTMXlf37C+m2nEZoshZVbEPo8\/hymj24DO6Rj93tTsfSsFG5PfINfXmoLYdxfeG36WtwNno+\/PhoE65yD+ODJz3FSyqY4fvcjxmf9gRXr9uBydAbkFvZwbd4fsz5+GT2ZZ6Z0UOD+mV+1p9WcHa9Kxu4PJmBbbiHMXVuh1xMv4eWxrYvbl4+L6xZg5d47SMrIg9zMHs2C+uPJmTMwpCW7J5XMy7L2J2y7cBt34tOY19IMDj6P4f3vpqOdMBUX\/16DX3acQXgq2yXJIwj9nnwRM4b6wkptph7byrWDJdfHkJenuGNUf5Xiw+zf9vmHWHtTDrG5BCI2HeHhUmAlog\/sxJVsFczaPo\/vlzyF5ooIrH\/zVfzGBNPmg8+h1\/gpeOkpAe53fhIjOzaBKH4T5j6\/Glcyr+LSHTn6dizjC9NbH7esADfWv4+v9t2DxHso\/vfyNAzp4AGr4ptJGXUcR8IKAKueeGPtJxjmkIF97z+Nr07H43xIDGYE+aK0o1mJXLZIWsVOLGk\/YwUWjbAvI8f011f6XtK8Y968\/Uvx1dYYCNn5M8ISTxWVifuwcW8SFMIWeGLJcrzoexdrZ7+Jv6MPsfip6DXRQ3uRFEsETIRAffG4aXDu378fL730kkG6Tz75JNasWUPizSApSkAEjCfApzjWVOBedT59sirBGPt0CTRDwq6m7eMeNy7cfv31V3AxNnDgQDUKLtx43OTJk7UKNw0vQ\/Zp9+cZQZurRq7Y+Vqz+hT41Eke4uLiatysjBwpUpOi4Ofjz7wHxgWhZ1sEOTLsynSER6SyfAW4du4a8vmoXCXDzbMXkc2eWGQxr2YyixM15+nLih6WVpmEG6cuISwulYk+K9hZqpAZewk7vv0Aay8Wu8GVKdj\/5btYvvsqEnJEsLGWIzEuo7StbGOQy6vfwbzVe3E1IQ9CcyGyY0Ow\/bt3MH9DBGQCe3Tu2gpigRIpYWFIZa6MnFvXcVehQmHYTUSw+W7yO7cRzoSm0LEzujodwnefbcDJyEyIXFuihYsE2SnsQ6xRkyUwqVL3GU6rkiO\/QAAbSwFyEq5hz4oP8MN5zYJYCYQ5iUiWm8Pe1Rk2inREnfsXSz7ZiFCuUBX3cHrnMVy+ex\/5Ihs4WDOxILKCoygPV9bOwfyfDuBmmghOrlbIjwnBf0vmYcmRNLVAMso2TVsMMeTpjOmvEmzUfwo9MPipKXjqf19gzXtDUNoxxNrCFgbz+07CvG4O\/DGMhTe6d2oKIWN2J+wuEynO6DNjNsZ3agILdguJxEXSSSByhquzlvm6eutjTNKO4I+t0eyesEOzpoW4sGUtlq\/ehBPRuUWi0sYedtxjJo3FrdA0yKSpSExlN4jQFi29m5R+YKBuoAKZ6VlQCYQoTLqJK6ExyGD3kSYYrO9Byod\/KGK3YvHKU0h37IVXnuuBh4+V2Pk11y8jnHkIhc36YFCgNYRWbdC\/pwdEjFfk1RtaSqMoIkAEapJAVFQUWrdubbAKnobP9KFQvwnwqZKaV1lL9V0rm7ai7\/lAnT+01xX4NUODeV15TTmee4dqKlSHR6+h28c9bk8\/\/TT++OMPHD58uJRw04g5XfwN8au0543PQ3\/hhReq7BbVZXhV4vk8eb72zdPTsyrFGMwbyn547M2UaOrhrfZmGRUk\/ugQaIltR\/Nw91Y4CqWWOHsxC0K\/7uiUfgEXr53BpdwBsA69AwWb7uYU1B7NuMTWNSdT4IZHF61jnrhUbJ03HcsvpuA087K90qUT87QcxLbzWVCKmuHRz5djdhc75O5bgAlfnn4g4JQpB7Bh+z02IHfFwHeXYd4gByRu\/RCzV5xD6D9\/4sy4BejdtRt8RFcRFnkTYQWjYH75FgrZGFuZdgPX42VwYQvL05RC2HTqgYDMW4hnFwXmHTH9688wxlUEJXvqoO04eGVKvO60mkVQQjeM\/+oXzGpT3D7mmTx76jZk3TuzNVTMY\/PKb\/jvZSlyMrKQn34MS1\/7ASFxV3A9VYnWmpmzAnc89jljFCRiC3MVEKXtxrLt0ZBLAjHj+6WYxDZ\/Sd65ADO+OYdTO44jtf+jcNRnW5mONoZhX80DKD39VX5NmBDOvafheVafLOR4mVrF8OnaBa7\/7ETSySV4YdYOtLBVICUqifWtCjLmceIINWWqcq7j90XrcU0mRJOh0zBCfVOVDfrqAwpvnMc1\/pRBlYmw00cRps5+DPt3HsKUr77Bc4FDMGPaUcz\/+TJ2MI\/bcTshsjKBZqPewct9bMtPclRmISWdT6+Q4cpvC\/DWbwKIbH3wyMx38doIb8BgfWU8\/soE7Fz2C67kuWLYvDfxiHIFvn\/QRBUyUtLAZ3cKHZ1Q9DxEABcm+oWIgSI9pSwMek8ETI5AfVvzZizgmth+3Ni6KZ1xBPRNE9R3zbjS9ad655138O677+LZZ5\/Fo48+Wirx7t271eslP\/vsM\/2FVPPVsmv+dBVf02x01cvja1IcVcdn1hTs00yZ5N42HriYKzuNUlsfGeKnbQSnrRyKK0NAM2UyoGULKMTlh926gVkiqGNrSAQq5N2+gVAm1s6lCeHd91k8HuwIQd4lnAwJw62wbCgF1mjXqZWWjR60lC5yYbt0ubKBqBJZqZlqraeIuYN73NPg0Al92hetkxObldbriojbCONeM\/vuGN63CZNDZmg2eBCCxGzziRxmxz0FhJ490MNLBFX+bdwID8fV61kQWNvAUhmN69cTcOMa8\/IILNGpZ3vYtOiOYE\/Go+AClj07Fa998SuOxxaWH7gz+0RGpS32OgpZ+1pz740S2cxbo9ayzLN47ud5mDp2DMZPnITJM79HSAEXF\/nQvgZXwBbRiqEIZyKUCUyV9CZ+nDGCLZYfgqe+PotcPv\/7fgL4UkPjbCvqB2MYlusxLf1VLo2BCKuus7BozngE+9qiIPo6roYnIkeqYNJNCEt7mwf3jTL1HFbPmY\/fbuTBvvML+Gh2T2ib+am\/OiUyk9laTYZX3JptALJ1D\/Zs\/Qlv9HaCID8c\/27m\/AqQmZoNKbuLnFq1Yzuwci+aHHEn\/sGBSDavt2xg6zn7zv4W3y39Ah\/NmYUJPZvBPCcS+79bhL+YS9dgfaXKUyH92Fr8eikPDgNewgvB9lo8fWUNKPlei3dbX3K6RgSIQJUJ8PXpt2\/fNlhOaGgofHx8DKajBI2TAN+hdOXKlerdSVevXq1eb8XDhg0bsH79eqxYsQJt27atVThclBnzqlWjylRW1TVpNW072aebcKU9b3wR8dq1a9VrzOob4EuXLoFvXlKTIS2rABnJMfDrNrjEOiRjamTetE6d4S26iND7F\/H3pgwkC5phSLAfOiR3hf1utjPg9g1IjFYw71UQurazNKZQdRqJuNi9o+K+Fx6KB6QKeend\/IwusTihqCWCgz2w4W4CLu\/bDWGCEAGTn4LTlp9x+ezfsLjF5k1bBqNnJ7ZQzaIdXvjmG7TY9Ce27DmLG\/vX48bx05j29TI807qMyNWXVsvvtEQjkovbl3tqDb76KwTZNoEY+\/yjaGsVgW0rNuOawWncSrXnUWDui\/7je6JZiRmEAtsgNOGPNPTZVrYdFeVZnL58f1W0IEu0HPIyPmMvHpRsGuqHzy\/GKYEEfgF+amenMvU0vnvrY+yMVaJJ3zfw+byRaGHc8swyxjDhq5m\/ruAboEggEbbEwL6tsfLkaRQmJyH54m\/4dmskpJ4T8eXXMxEkSsHRJf\/Dp\/sv4bffT2HEwoGwKVWqGZxbBsBZHdcNfYYEw3728\/jxdgwuX03DaAP1ZbJOtH7w+CkPFw+eRgabBqI6tBDjD5WoKGI9XpySiQ+fdgKf1SlPT0cG+4C4sk9JKhOkfMMUsWORFWUaTW+JgEkRqG9r3oYMGaIecBvarfqvv\/7CsGHDTKovTK0x2jxNGq+SvmvVxcHDw0Mt0vjupV999ZW62MjISHz\/\/fdwdKy3hyJVV\/MrVU5Njt2ro+zqKEMXmOoo25gySq5xE4vF5dbAVda+Snve+EI8vkHIqVOndNVdJ\/ExMTHqemt2yqQAt+\/chSNbh+Xq1qLC7RR6dEYXD6YY5BE4ez4FAo+e6OUtgkWHvuhmB2RdOoebbM6buFUXdCq3I6Dx1Yla+sGHe9CyzmDngXitAk7k1watzFiazHPYc\/w+85PIEHvgEK4zj53A2g+tmceN+aHg26c3PEQKRLIF5uFoji59hqJnWzPknNmHk5kqWHbsh+7cVnkWMoR+GP7CR1izYRWeaSOGquAOTp2PK73WjjejImnLNVuJjLgE5HIvmf9QTHlsMAYN6orm5oY9KKIWfmjJuKhkGZA2GYCJzzyH5557DlPHjcTokd2g3qG+ArYZx7BcA6oxQoa00H1Y8f5KnMliW9M698dj\/ZhHjHkmD3zzFXbFyuHU63Usnl9auCmSTmP9lx9jyR8hbC2jIXMEsPPxVbNR3DuN43eZJ02VjpBzYeyeEcDSzR0W9xORzkSRwNwc7JZiNzA7usCTe8BUkObloqBsfbJUxCexw0GLq5Ylh+MON0QggrW1hYH6PGCbXNJ+Adtoxxs+vr7wLX75NLWFkNkhMHdCsxYucAlsV\/R5iD2BQ7fymIM2FMfOxDOvsRi+7QMNAaDrRIAIVDOBsWPH4v79++rjAHQFPt2Ie940Uz51paP4uidQ0tNU1hp918qmrex7LtKWLVuGjIwM9Yv\/TcJNN00+htcX+DpBfS99eQ2VrS+v5lp1lKGrnuoo21AZJYUbX+NWdg2cLtt4vKGyK+1544Xzecbvvfee+ly1+rDjJF\/gd+HCBfTv318fkypfU7K1aJFsk452bMqkXFQJhCJf9OzRFH\/ei2eCRoRmbJGvH\/8MWXVEvx72OLA3nU2ZFMO\/Z3CRkKikxUK3oZg09D\/c2pWAk0un4\/GfHWAhzVCLOM1HVujyCCaN2oJr\/8bg8KJpOLvMDLKcPJbGAv7jnkRwsatE7N8PfTw2YWMMWzPm1R09WjrBtVc7mJ89z7ZcsUbngd2h1m5hG\/Ham9uQ78q2freWIYntqMlUINw82JTQMu3QnzbBQKuFcPH3g6PwJlIurcHsV47Cy4ZtTZ9T5HPUl1noPgSTBv+HhXsScWrZi3j8R3vYCPORlWuOIZ\/+hXd6SCrUDqMYatbw6TOsotfYJig7P34H6y8nI51tnqNkW\/cL7YIw+d2X0JN1hjLxCHZdYGseWW8X3P4D86b\/UVyDAM6D5+BF+Wps2MfWe4mT4Nm3EyZ56X+WIw4YjfEddmHVpdtYP3sK9tix8+BSsqEy88GYcd3RxDkTnWzO41zkBrw+9Ti87HIRF50CudAGXVn5KTveK1XfhMy\/8c4bW5Bu7QBbc7YBS3om8tntImo6AKOC7SCx1VdfZ8TveLlEecsx6ZVV6FmCoezkZxj\/4SFIvcbgg0WT4C3IwFMDtuCjA1HY9NZE7JLIkJvPxC77DDw1lHaarOjtR+kbHoH6tuaNnwXFD+Dm57jx4wD4rpIlD+nmHjcu3NLS0tQelNmzZzc86GRxrRLgY9HPP\/+8VuvUVpk2b6O2dHW55s3QWWy6dnLU1o6ycdzLVNVgyD5ePheXlQk1bR9fr3fu3Llya9w06934po9cq+g6B86QfVWiy+eg88r5Qd2zZs2qDL9qzXP58mU0b968xs94S07PRU5aPHx7Da\/glElNc5kw68WE2T9bkCTwYmpcs4U6WzfWPxiO+3cjVejDDj93q+C6nTI42a6APf73NT5p8iP+2HsB4fdTkSm2hrOXD3w6+bJjAFhgwqrzrCX41GE11u88x7bNl8HSvT0eeWw6nh\/XGg9m2In8MXiwNzb9cgeuzOvqx+afiYL7oK0522TFsheGMdHJxZlCaQuv5ra4ERONiCQJbJq0waARz2LWgLLbwBtIq2uDlhJNNO80HR++XIjVW06znTsvI5mt8rK090Brnw5oWXp+XmkwAgf0fP0bfOa5Dhv2nkdYQiay2G6ULj6t0dSMb8cvqVA7jGZYrXc77zsxlHmpyFayw7db+aJttwEYPXYwgpyLPtYKNuBJ4xxVCuSmxrNdSTVBCFmWHB59+qDV7q2437wnOjw4EFuPkUJPPPbB5xCs+RFb2KYx9zP42rb+GDX9ZUwKNGf36ii896UAP\/+0GcduxCAyyxwOXp0x6LHnMGO0B4SXS9cnz3ZB67bNcTOKeezSFTCzb4YOXYbiyecmoId6a0199Vkiv7CC9rN+7\/P6V5hruxK\/H7qOxHwbNOsyEFNffh69K74IUA8oukQEiICxBFxdXdUbSmzfvl19HADfVZKvWeIedD5Vkm80wYXbpk2b1EWSgDOWLKWrSwJ1KcqMbTef9sc9PIZ2NjS2PE06Ljx0iZKKlGXIvsqKy9qwj7f\/jTfe0MqBC7jevXtrvcb5GGOfgH1JGnZV6KHNTwKfOXMmXn\/9dYPz1vUUgzNnzqBbt276kui9lpiYqC6DP1k0pFj1FsQunj9\/Hn5+flqTRUREIEdpiYSwk5g2aTpkQv1uZ62FUCQRIAJEgAgQgQoQCAkJYWuPgyuQo+aS8t9afb+RNWHn8uXL1QJu4cKFbIr8IKMap89OowpoxIn4WKci\/ajN01Rda954P1bElsp0m757paIsKlO\/sXn02WlsGSXT8TPIsrOzK5NVZx4bG7ZhGvOqV0cg+7RTrJLnjRfJXdT8y3T+\/PnYuHGj9lpqIZavveNf6FUVbsaYevduKDr5sOMBSLgZg4vSEAEiQASIABGoEgHuceM7Btb0sogqGdmIM+vzNOm71oiR1Yum8zEzF1r8UOjqCPxg7uoSbtwesk97r+hf5KI9T7lYb7bdLz+7oC5D+\/bt4eDgUCsm5GcmsW2LW1VyymStmEiVEAEiQASIABEwKQJ80X91TMcyKSjUGCJQRQLW1tbV4vjgQsvKyqqK1pTPTvaVZ1It4o0XO2LEiPKl12KMrikcNWHCSy\/Mgm3T5jVRNJVJBIgAESACRIAIEAEiQARqhQBfW1ZVgcSFGy\/DmO3zK9oosq88sWoTb+WLphgiQASIABEgAkSACBABIkAE6jMB7tHma9X4tMeKBp6H561JrzjZV7pXqrzmraKdTOmJABEgAkSACBABIkAEiAARqD8ENB4uLsb4ZoR8sxB9gXvb+L4X1bnGTV99ZN9DOmK+Raihw+D0wTS1a5xHTT49MDVe1B4iQASIABFoPAQM\/Uby38\/6MK4wZGfj6bHKtbS+9GPlrK9YLkP3Sn1hYcjOirVad2ouxviLn1XGBRyvl\/\/NA2fBNYMx29nrrqFqV8g+tpFLbm4u7OzUJ35RYATy8vJgbv7gdLNyTDRnYpDgLYeGIogAESACRMDECfAxg77fSP7Uvj6MKwzZaeLdVOXm1Zd+rHJDjCjA0L1SX1gYstOIplYoCRdqlZlGWaFKqpC4MdsnTEhIqAI608vKefC5u7qCpaVltZ+JoasuiicCRIAIEAEiUJ8IxMfH6\/2NtLW1RX0YVxiysz4xrY+21Jd+rA02hu6V+sLCkJ21wYrqqB8EhIWFhYiLi6sf1tSxFfyDwc+60OeJ5McRxMbGGpwLXMdNoeqJABEgAkSACFQrAT5WkEqlen8j+e9nXY8rjLGzWsGYYGH1oR9rA6sx90p9YGGMnbXBi+qoHwTEbm5uSExMRE5ODtzd3dVbfTamKYF8Li+fKsmfFHLhxnno2+qUL87kH+SbN2\/Cy8tL\/Xdj4lU\/bluygggQASJABGqDAP+N5NO1+MNNLtwM\/Uby38+6GFdU1M7aYNeQ66irfqwNZhW9V+qKRUXtrA12VEf9ICBITk5WsYDMzEz1FzR\/YqZZmFg\/TKxZK\/icWT5\/n0+V5EJMn3AraQnfiScjIwP5+fnqxZwUiAARIAJEgAiYGoHK\/kbW9riisnaaWn9Vd3tqux+r235t5VX2XqltFpW1U1ubKc60CKjFm2k1iVpDBIgAESACRIARZOz9AAAgAElEQVQIEAEiQASIABEwPQJ0SLfp9Sm1iAgQASJABIgAESACRIAIEAETJEDizQQ7lZpEBIgAESACRIAIEAEiQASIgOkRIPFmen1KLSICRIAIEAEiQASIABEgAkTABAmQeDPBTqUmEQEiQASIABEgAkSACBABImB6BEi8mV6fUouIABEgAkSACBABIkAEiAARMEEC4qtXr5pgs6hJRIAIEAEiQASIABEgAkSACBAB0yIgYIdu0lEBptWnjb41UVFR8Pf3b\/QcCAARIAJEgAgQASJQNwSSkpLQtGnTuqm8DmptbO2tA8QPqqRpk3VJn+omAkSACBABIkAEiAARIAJEgAgYSYDEm5GgKBkRIAJEgAgQASJABIgAESACRKAuCZB4q0v6VDcRIAJEgAgQASJABIgAESACRMBIAiTejARFyYgAESACRIAIEAEiQASIABEgAnVJgMRbXdKnuokAESACRIAIEAEiQASIABGodwRUhRlIiArHrfBE5NfB9o666hfXO1JkEBEgAkSACBABIkAEiAARaMwEZIkI2XsYt\/Kc0WXIYLRxJH9Lbd8OivhL2H8kCiqnTnDzc4Oltj6RZ+DOxXO4cuc+sgqVMHMIxICRrZF7ci\/OJlggYMBQdHE3q5Tp5eovLoXEW6VwUqYGS0CVjsvbtuFSuhhNOgzB0E5NIClujCzyIDYeuwelVQCGTegJd\/qebLDdTIYTASJABIgAEajPBJS5cbh+8Soi4lKRXaiAyMwGjk29ENCpC3wdRVDl3kd8agFkykTEpcqYeDOvz82pVdukEQfw5\/EYKESu6Dp2JNo5lBiwKZJxYdsuXMsA7NuPwmNdXFBdw7nyfSJC4sWDOH4jC0qBGOaWTKSJzWCpSsGtmGxI5bmIjs9CJ\/fqs4GDJvFWq7cbVVZvCKikuH\/lMI7bjsJAPxsI6o1hZAgRIAJEgAgQASJg0gTkSbiw9wBuZCrVzRQIhZAXZOF+TDw8OnYtinNohR7BMkTlO6FVSxJuD+8HFXJzcqGexahIwc1rsWjdtzk0vq28u1cQmlHENS87B0pUn3ASlO0TZRKio7OZcLOA94DxGPCgn6Ro29kPyiRz+Po7VZt41DAg8fbwbqC\/GhsBVR6izxzBFfvh6Oiq7aMgQ8LFAzgTkY7cfBmUIgvYNWmJdt34UzGWXpmO0JPnEHY\/A9l57OmYSgxr5+bwa2GF9LuRiEsvACwc4Nm6G3q2d4eFRiEq85Bw4wIuhsYgNU8FM9smaNm2K7qwD7jGC9jYuoLaSwSIABEgAkSgsRBQpkQhKosJDKEDgoaORFd3Js6k2Ui5XwAbzfRI5kG6feEqImW2gEcLdCk4jo0H70BWBpKQTekbO7YjHNmYpnGMLVTIz8svEm\/s37y71xHe0QtBtmyQpUxD6PU4SIsZKfLyUMBUng0ffzE+iTcu4lLoPSTnKiCxYWOvwM7oHOCKB9JYmoLb58\/jenQychXmsLNWMfHHxLWGeZk+6e4sRaGUVaAqwN3Df+AuT2vdBsMfb43EiDuISRNA0KITvO2Y78+YsZ+h+ovtqC5PYmP5vFE7TYaAAJY21hDJknHl2HnEFWpbiSqCQJqLPIUYFtZWkKjykR53EyeOXEUK\/zSrcpB0Lx4pWfmQC81hJpQj+34ELp2\/iqg0KURiAeS5qYi6dARnowuLycmQGLIX+y9E4n6eEFZWEsgz43Dr5D6cvJtvMnSpIUSACBABIkAEGhqBrVu3IiYmRqfZ\/BpPU+VgbgYztaDIR2p8ErKYABCa2aJJM1dY6ZgKJJBYwc7eHvb8ZWtZPHVOALG1NfM6NaaxhQL5+VIm29g4zsoSQsV93L6VDAXDKWNjtLAM9lDcio3ZeCcV5qvFG7uCxPN7se98OBKzZBCKBJBmxuP2aTYeu5KqzsvmqSLi+H6cCUtEtlQIMzMlctj4TtvokCcvHYQwty7uGztN35RMYUT\/VKB+be6GshbReyJgggQEsGvTF35JR3HqXihOnnHH8GZlmylE0x6PY3J3BaQFhZDlR+HkrnOIz0pEEvOYuVgWpxfYIGDIeHS3j8Gxfw8jMl8Iz55PYKi\/AqH7t+BUXCES4lKgbOkJQW4krtzOYPO0m6DL2OFoz+Zp54YdwL8nY3EvNAq5LdvAWscXd1nr6D0RIAJEgAgQASJQfQR69+6NgwcPokOHDggICChVcHh4OEJCQjBo0KAqVyh0bINuAfdw+GYaEq8exL83rODS3A8BQUHwdbXQOs1O6N4NY8d3Y3VLkXhhF\/Zdy4fQ1g99evnBKi8UJxrL2IJ5uQrUikwI5zZtgavsAXzkTcS0t0bhrSjkCWwRGOSJ2Au3kF1QAP7oXMXGXpc5H4E1vPuNQj8fC+TcOogdZ+OQcuMaYtoMQIuCO7gdWwCV0I6N6Uajp4c5NGvrDAo4Vq7fgMfQvUmxT4ztrxBb4i7h9Rsa+1llG18\/ibcqfwSpgAZLQGgLvz59kLL9IELvnsHpQqvST1jYU5DYkBM4cysBOfISH13mYZPLtbTazAWu9gIm3lSQy+RQCazg7GwDYVwGpIXSItd7WjJS1HnvI+TfXxFSohhBTjZyWTUk3rSwpSgiQASIABEgAjVMwMXFBSNHjsS+ffuQk5ODrl2L1p9du3YNoaGh6mt2dnbVYIUFPHuMxjjvuwgPi0BkdCJS7l7FiegI3Os1EoP8bXWuxc+PPsM2yEiHQsIeAg8MRgvmqlPENKKxBduzoEA9L5J5uxz84NPyBuLCY3AzRARpggwi104I8JQjiQ2wVLJCSNlMKSUbe6Uy95rA0hP+La3V4tjO1xdNz8fhnjQVKWztoVd+OvhSOYGVB1q6FU2kFIpE1dDXRfUbGvtZZBhfP4m3aukWKqShEhCYN0O3PoFI2nsd8XFF0xY1ji\/ZvRCcuB6PQrMmaNM1AE3Eabh99jqSuH9d22MYgVDtiucXVaqiBCKR5ikMi2NXBCxefUXkBO8gL9iV8LIJzJuScGuoNxLZTQSIABEgAiZBwNbWFqNGjcL+\/ftx4sQJdZvS09MxevRoWFhYVGMbRbBu4oeO\/NUjA6HH9+J0dB5ir4Uh1bcL22ajfFDlhOPkqTvIUVmhRc\/+aOdcPIxvVGMLKaR8nZmATT01M4NHG3\/YR15BEhPBEJijZRtf2JndLd5DgK9JK89RV4x6SKZUQKFtjKcrkzHxRvaPsfWTeDMGOqUxaQISt47oFRiLPdcz1N6xosAWxGZlgX8\/CJ190Z59GVgpLZAQcqNIvFWSiNDBCY5Ctt5NWQCFtTfatXaEhH1aFQU5KBTZ6JzrXsnqKBsRIAJEgAgQASJQQQJcpI0YMQJHjhxR5+R\/i8XVOGRma+YTojJg1qQpHK0l7MGvGawsispXyaTlNiVRG6HKUm+Sxmb2wca\/F3r5Ptwpu1GNLZjnTSrj4k3M+oSN0ZxaIaDpDZxJkENg44M2zS0gkLNr6mfpMnVaoZMrnEURSCiIQ3hULtz5tMnISCTyQZ\/EGc727OG7hTMcRZFIKoxF6J1suDPvZ3UFY\/pH5Wh8\/UbfidyTwJ9AHDt2DJGswVlsYMtdx77M7divXz\/0YdPPBAJarFNdHU3l1CYBCZp27ImAe3txk+\/+pA4CWLs4w1LAdhxKuICd26NgbyZFutaNTYy3VWDnh\/a+t3EoPBv3Tm\/FxhBz9nRIzr5cxPAdPBF9mlWPi954iyglESACRIAIEAEiUJYAF2uDBw8uG10t75WpoThz7Kp6mh47J4BN41NCqfb2sLFHMy8480k76l00HoaCqBBcSuAbdQghiz+PXVvOqy8KrP3Qb0irxjO2UMjY2Xe85SKI+Wwntu+Ab7sgxAlSYOHdBk35MIrt\/l0kcFhaJt4E9j7o0Pomkm5m4u7RzYg9LYJCynYRZ6mcA9uiOTtnQGDGx2e3cDCMjc9ObMGfIWzjEUW+uhuqurujMWM\/AVu\/aGz9BsXbqlWrMGzYMPD\/zc3N1fN9X3rpJbVw4wLu5s2b2LVrF\/7991\/MmTMHbm5uD++0hv6XKhtRZ44j0r4PBgXa6Zx\/3NCbSfYzAhI3dOzmg+hDEcgrBiJy74KBPRQ4f\/MeUtMSkMu+KCTmdnBxcoNDpY9csYBXrxEYbHcRVyNikZLN5mMz178Ve+JiLeJfESTe6H4kAkSACBABImDKBFRsjXxLb3dEJ6Yhi+2cqGSPcS3tHOHWMgidOzR7cGbZQwYqFGSxQ5\/VAk+JwtxM9UYcPAj4TB40nrGFSsYEWdH6E2iWpJl5dsZgz4e0IBBBvWpFzj1vPN4M7t2GYbDlBXZUQCzS8thRAXZuaB7QGV0DXYpHXuZo1pONz2xCcCUiDqk57JgBoQRW9nZw9HB6eJxAiWqM\/9OY\/jG+foFUPXFUe0hKSsKsWbPUF6dMmYInnnhCe0IWu3v3bmzatAmLFi0yXsCpUrH52c54flMi8tm4VcS2SXX2aoMeI5\/G23OmI7hJHQ9kpYcx238srrx+BUfe8Kmy8tYJjy5UK4GoqCj4+\/tXa5lUGBEgAkSACBABIkAEjCXAx9BNmzY1NnmDT9fY2luXHabXE8i3RNWE8+zQOnmJLfbGjRtXym4+H3jChAlYvHjxg80aDDdMjoyUNMh7zMeOI0dxYMcfWP5mPxT+9waGjViI0xoXiOGCKAURIAJEgAgQASJABIgAESACRMCkCegVb9HR0ejVqxdeffVVLFiwwOBiTS7g+NRKze48xpITOrdGz57B6NV\/KB57\/jP8ueppON76Fb+fLt4iRnYPuz6ZhL5tPOBo3xStBr6A1SGZDzf8UyTiyJJn0Ne\/CexsHeERMBifnS52KOvLq4zDv2+OQPc2zeFqZwUruybw6\/sslp\/NKLGZoAxn5gbAgu1oY2Zmhyc3kaI0tl8pHREgAkSACBABIkAEiAARIALVR0Dvmje+tq2igQu448ePo2\/fvhXN+iC9uZMTbNjKozx2XhbYSqOT74\/B5L9a4K2lm\/CdZzoOfPE\/vPXEXLS48gOG2+XjwmePYtx3Mjy24Acs7OKIwsRUOHjzs9UN5LVOx43jJ5AU9BF+WdkZFnmR2LVkAeY+NQ+trv6AYep1TRJ0eHMTfp7mxaZNCmHvpTmZudLNo4xEgAgQASJABIgAESACRIAIEIEKE9Ar3ipcGssQGBiIdevWVSKrim2XnomE0BNY98F63HEdiU+DzaBK24Jvf4zH4GUHsWC8i3rTkI7Lo7GvzWf45+R3GN5zJ75eeRNB8y5g7Ruti3eXKapelbZNf96hPJ0AtgH9MGxQV5Z3APp7RONAvw3Yc0mGYcFF5Vg2bYWgIFrzVolOpSxEgAgQASJABIgAESACRIAIVBOBKok3vgau7LkXfBfK7OzsCplXsO1pOJk9XZSHndvgFjwDq7Z9hkddBJCfvYLrudmIftEbdjM1xSohlwphmcjO4QoNweXcZhjbz6eUcOMp5eH682rbqUXUwhcthWlISX944leFGkOJiQARIAJEgAgQASJABIgAESACNUBAr3ibPn26egMSZ2fnclV3795dfe2dd94pJeAyMzPBT6evSDAf8An2LR4Bq9zzWDztfzhk1w59goq35mfny0HohqfW7sTcziXNFcLGzQmCW8oS69PK1GooL5LKmSkQS9iWoUooHh73VS4NRRABIkAEiAARIAJEgAgQASJABGqbgF7x5uPjg1u3bqkP4C4buGjj4o2\/5s6dC6GwaO8Tnt7Pz69scr3vBXYt0K5De7bOrR1WrQ\/HgJHv4vlve2Hf220h8WuHNuYr2JlYCnhPCip39oXKrz0CzVfhxLE7bNfK0tMmxQbylj0AsZyRAktYsSVumRmZTM5V\/ZC+cuVTRI0R4FvWUiACRIAIEAEiQASIQF0RaGxjkcbW3rq6r\/SKt\/79+6vPb+vduzcEAr7a7GHg0yW5gDt9+vQD4cav8gO7R40aVcn2CGDX50OseeswHvn8f1g5eh\/eCBiL\/z33JcYsnYynRe\/imV5eMM+Nxc10Hzw9JRh2LmPx2vQvMWrRRDynmo8pPdwhyYxGXsvHMaa9gbyGrBT7o1M7C6z48yus6j4TbVX3kOIyGhOCmcfPUF66XqcEGtPZKnUKmionAkSACBABIkAEiAARqDUCeo8K4KKtsLAQe\/bs0WoQF3Ald5Xkwk3GTj7n+SofLNH17a8x0+Mcvnz3D8Qr7TDgi93YPKcT4ta\/hadGDse45xfiz9OxyFYvWrNFv0W78M+cdri7djYmjhiJibO\/xdab6cxbZiivASsFzhi\/aBmedTuHj58ciXEvLsamK0lqLxwFIkAEiAARIAJEgAgQASJABIhAbRIQSKVSbft2PLAhMTER8+fPVx\/AzY8B0BW4cNu8eTM+\/\/zzRnWivC4eFF93BKKiouDv7193BlDNRIAIEAEiQASIABEgAkSgBggYFG+8Ti7glixZAolEgpEjR6qPA7C3t0dGRoZ6TZzG48anUdJ0tRroJSqyQgRIvFUIFyUmAkSACBABIkAEiAARaCAEjBJvvC0qtnPjiRMn1AdwR0REICsrC\/xYAL45Sb9+\/bSui2sgDMhMEyNA4s3EOpSaQwSIABEgAkSACBABIqAmYLR4I15EoKEQIPHWUHqK7CQCRIAIEAEiQASIABGoCAG9G5ZUpCBKSwSIABEgAkSACBABIkAEiAARIAI1R0DvUQE1Vy2VTATqLwG+Y+qN69dx+egpJEbHIDcrmx3arlAbzI+IELBj4YXsD4FAhYAe3fD4s8\/AzMys\/jaILCMCRIAIEAEiQASIABEwCQIk3kyiG6kR1UWAH42xZvF3SD92Cs2drRBgI4G5uRgi0UMntZCJNhF7CdmhEdd3bMWG3Fw8NWsmLC3Zie4UiAARIAJEgAgQASJABIhADREg8VZDYKnYhkng3KkzSD9xFi3t7ZAZn4+0gjyomNdNpSh9ogYXcGZCJZr52uD+0f34\/NJliM3ExZ65Iq+c2jvHvHTcQ8c9djyP2nPH\/pcwMWhhbQMnr+bwDh6AoHbtmUg0b5jQyGoiQASIABEgAkSACBCBWiFA4q1WMFMlDYXA2UPHIc4XIDIuW+1dK3oJIBIWCS9NO5QqAWRKIWIjc+DRwhptXcDSyoo8cup8ygd\/azx1mjhelkohh1J5H\/nhNxF77h\/82WogJrz5PqysrBoKKrKTCBABIkAEiAARIAJEoJYJkHirZeBUXf0mkJqYDFGmkp2NwX1kJQJ7L2airGRQ8DRMwCVE5yAlJotdKkShMl8t3MRMoInZtEou1ETMQydif\/M4\/jcvRyJWwdJMCEsrCZq72EMSfgjnjvTCgJFj6jcgso4IEAEiQASIABEgAkSgzgiQeKsz9FRxfSRQmF8Iczmb4siEGZNwDwMTaQIuwrQIOKlShEKFFKrWLWDdryeEIpE6HytG\/eJBICgSg5r\/hXIZBPxVmAvz5Fi45V9B+PEDJN6KedF\/RIAIEAEiQASIABEgAuUJkHgrz4RiGjEBKduwxJwJNKmiAEqVnK1RYxKueAqkZholnwZZNlh3DIAy0Bu3bt9WH2ivEWk8XVnhxuOEQqH6JZFIYGXjjrz2Xki9frFssfSeCBABIkAEiAARIAJEgAg8IEDijW4GIlCCgFwmh4wtO3PoFAArDxdIbKwgNJMwb1rpIxHLirOUlBQkJSSUY1kyneYij+MCT6FQsHVvSvAdLvNyzaCSlxeF5QqkCCJABIgAESACRIAIEIFGS4DEW6Ptemq4NgIypRRNxnRDZn4uUtOToUhRqEVWSW9aWeHGy6lqnEzORKO06Cw5bXZRHBEgAkSACBABIkAEiAARKO1OIB5EoJETkLIpkTFJCUhLS0NBQQHkTFSVnQapQaTLq1YWoTHpeB0ytgMlBSJABIgAESACRIAIEIFaIKDKxLXtP2PDycTS+xzUQtVVqYLEW1XoUV6TI1Agk6oFGw\/a1qrVZBybQUmhLAFVNu6e2okDN7LYiXkUiAARIAJEgAgQASJQTQRUeUgMD0NspqyaCqydYki81Q5nqqWBEJCzA7l5MMZbVpl0+qZXMueb9qBKxd9TPWEt4ZuciGBm5QjPNr0x7tWl2BGWqz2PqcTKzmPxhMfxwZ5kEm+m0qfUDiJABIgAESACRKDSBEi8VRodZTRFAmWnSFa3p03DTJs41KXd+IEDGcmpkPd8H3uOHcWB7b\/j69cGw+78VxjfuQdm\/RcHWi1nincjtYkIEAEiQASIABEgAqUJkHijO4IIlCCgVD6UUNoElr44fV41XoUhIajT81Zsn9C5NXr16YN+j4zCk7M+wvoTZ\/Dj8HT89MJsbEwotlsRjwOLJqFHC3tYWDigZY\/J+OJQQmlxp0jE4a+moqe3IywtbODqNwCfnCoEpIfwsqcFei2NfDD3W3n3W\/S1bIZXDkvZgeSx+Oe1Iejs5wZ7Swkkls5oPfwdrFq9AE\/18oertSVsPTpiwlcnkFZSicqisXPhRPT0d4WNlRN8+k7H9xcyizxpmjL93eGgLtMRLXtOw3dnMkp42mQ4\/bYfO2NPwBha4om\/8tgh6tm4vPYF9PV1goXEHHYebTFlfVSDmrNOHzwiQASIABEgAkSgCgQUEdjy8TwsP5r6YMygSjuOlfM+wZYI9librWm7+t9qfPPFR1gwbw7mzHsfny3fiOPR+Vpn86gK7mLXt+\/ho59OI5k\/FTcmvzIL4Qd\/x7JPF2DevAX4bNkGHIrIYuMROcI2f4y5S\/ciXrMsRh6KTR\/Nww+nisdAzIrc8z\/h3QW\/4nK+8baSeKvCPUNZTZFAkeqojBDT0NAn8EoSK5uOnQ5XMaASb0z5+BV0yNyFn\/6JZV8U+Tj7wUiM\/eI22r7zG3bvXo+3Am9g0ZjR+Ph8QXHZ+Tj\/8SiM+fQq\/F9di+17t+GXT1\/GIB+J4bpV6bhx7DiSOszDX3sOYu8f76Jt6LeYPW8\/HCZ\/gQ3b\/8OqSdY48N4z+OQEE3vqkIsT80di4k85GP75vzh66Be86HgAr497G3uy2GVNmW3fwu879mH3X1\/hMdFuvD3hHezN1pgkQce3d+HKtWu4di0E34ywhOL6N3hu9k7YP\/8rjpw7jT0\/v4epXd1BX2iGu5FSEAEiQASIABFoFATYmrakO3eR7dYfk2e8iBemjUZbwS1s\/3UHQtkz65JBJb+PM3\/8hlPCvnhmSjBcReyqwfwy3Nv7I34+dB9uAyfh+ecnoX\/TRBz86SfsjwG8\/FpCknIPMblFY0vl\/Sjcy1UgPjqWSTseFIiNiuUJ4W1mvK10VECjuHupkcYSUJXRT2UFFi\/HkAdNU1dF07GCjTXzQTqRX2d0dFBg7+0IyNNPYcmq22j\/3mWseTUA\/HtnYF9\/ZF\/vjCVLd+DNP5+AfcZ2LFl+A21Zmp\/fCkCpLwCN3tJrhQC2rXpjcP9uLG9veEX8g51fBeKxFx\/HUDOWsRdwbMOjOHHiDhR9AyBM+w9fr4nD0JVH8cETLmp52mllNPb4f4xNJ1ZgxDBeGSszoD+GP8LLHIgBnlHY3+t37Loow\/CeRcZYurVC27a+D8SZLOU+UlSOGNJ\/III7WbNEnfVaTReJABEgAkSACBCBxknAvIkvAvy92BjCD772aQhbHoLbsQoEeBfzUKbj6uZd2JEaiCmzhqGlRenxmK78rT1u4Mip+3Af\/Cae6N1EPUbx83FBYeI3OHL0JvqN9YcXdiMyWooebc2Qdfcu0swtIYi6gzhFEFoKEhB5Nx9uXf1gKyhaAKOrrgBfPqorCiTeGud9TK3WRYA9HDFWdGmK0CfwSlZjbDpdpumML56iKA8NwZU8Lzza31ct3NRB7I\/+fT3x0a4LCJM\/gY63L+BSblGaqn\/4RXBv5g5BTjKS2UxGcPEmdoNnUybgMoqmBMjDLuNabjaiZjSD5fMao9hkAqkQlgnad5AUtfRDS2EqUtJ0b78p6TUTcx75F28PbYcLk17ESy\/PwLhOrqXFqKY6+p8IEAEiQASIQH0iUBCCdQs34kaFTwgSwKLLs1g4KYh+7yrZnwInFzgJ8pCbr1nfoULG2b\/xl9QRA2aPQ6Ct\/gfpJfMr78ciXuqAtj7OD2f+CF3g622PfbdikGIdjDaeW3EsPAbyIA\/cCU9Ec\/bQ2ezoZUQkK9FcHInIdBcEBLiw\/EnlWlTe1qIkVR+\/lauKIohAwyWgWXdWUmgZK+aqmq4yRwUows7jYqYIfgFsTRibO11yqZnWXlApdacRCCFiqk8uk+lOU6ZQiZkEAlUhFOq1guwLT2AGM4kAStYYtS0cqNAdk3\/eg3e7lPy6EcLG3YnlSCxnpkAsYT9KSlZm8SVt36Pm7TB7ZyhGHPgVK7\/+BtO7LcGyT\/Zg37tdYVmuRIogAkSACBABIlCPCJgH4tHX3sQwgz\/a5W0WsLXjD30w5a83rhi2Fp65u5QKhXrMoW24UJaHQMh27mapH465BLD27oBmSSE4sWU\/Wr8wDN6Wuksqn79sDSXeCxzROtAdu87dRlxBIUKj2V4BozrBPPIgLoano7PwNhIc2uDRptoXfeiqi8SbHuZ0qTESKP1Naqy3rKLptInDCk+blEbi1\/dX4Zr9SKx73BNmFl3QwXI5jh9lUxaDWxd9ucvDcexEHKw6dEEr9mkX+3dAkPkKliYS8uAy0yaFrnBzVSGaTcEsQAD4ZMSqBrF\/ewSaL8OVcAV8prRVO+dKBUPbZLINSqyYGstMz1RvRlLq601gA78hL+ObIU\/jibe7Y9CKn3Dqra54pFwlZSul90SACBABIkAE6pAA+21zcqdHjVXuAYE1bK1VSL+fwtaQNSk\/xjCyAolbMKY85ou\/vv8Lv\/7hgFeeDYaLEQpZ2KQZPCQncOdOGpQtXIvGKMoU3LmbCTOPZnBlQtGsbTu472MP2o9lI8KmFfo728M8wA07r5\/FWUEMHNqOhCevS\/dko3KtIPFWDglFNHYCVfWgcX7axJk+gSdiLi9Du00qk2\/i2Jf2qrQAACAASURBVJEjsJBmIyn8LHb+sgZ\/3WqCGb8vxyR3IXviNBZvvxKAQYuewkybjzE1SIVrv76Pz28E4vUVo2HPDXN5DG88\/zmGffI4nlYtwLRgD0gyopDrPQGPdmiN0Y8G4ZMv52FWx0JM6+AE3L2GlAp8oZS9dwSsvtdnfI4Ri5\/EFPF7eK53c5jnxuBGmi+endYTdmUzlH0vboXO7S2wbOMXWNHjJbRTRSPZdSyeaHIKa44o0ba9F6ylMThyMx3gUyG0P7wqWyq9JwJEgAgQASJABBo6AWETBLZ1w4FDu\/CPpxxd3K2AtAQU7w9SodaJnDpj4rQU\/LB6O\/447IWXBnvC0FZuAssg9Gdr3X44+Bs2mw1HFzcVEi7swcHEpug3LhAW3AKX9ujgyTZkO5wB1wGvwk3IvIVB7eC2ZxeOqFwxcEyzCntSSbxVqGspsakT0DaDQZ\/oKslDXzp9Yo4LN7FYrGeqohj2Ls4QHVyE0YMWQWRuB9cWgeg+eC7+3TALo1tpfGRWCP54J7ZavYX3vpyK4feBph1G4t1tX2NOd80TPlv0\/3IvtjrPwYerX8b49\/MgcQ3A40sewZgOzdBhzkasS30VCz+bhj\/TFbBwdGfHDQxCp6ZGPILSenPYYeDiffjPZS4+Wvc6nviIbTFp74X2T3yB8VONEG8CZzzxxUoce3Y+PnziX8js\/DD84+7M1qvYsvhbvBOZikKJI7y7jMHXP7+NjvSNprUXKJIIEAEiQASIgOkREMJj4FQ8mbsF+w5sxKV8JTtyyA6Ozf3gaWDtmjYWZs0fwZNDw7Fsz2YcCXwVQ9y0pSoZJ0GLYTPwnGQ7E2d\/YG0OYOMRgEemj8WA5sXST+iMTt18sC82B+07FO+K7dwOHZrtRqyyK7qyh+8VDQKpVKptvGqwnLCwMAiZO9DPz89gWpNMoEzA4VWrcNHvFbwx3K30dC6TbHDDaVRUVBT8\/f0rZfCowSPgHeBr9KYlVfXSaYQbNzbm6nWs+29LpeymTESACBABIkAEiAARIAKmT6Dicq+Yya5du8BfNRrYQbxRp3fh4E3tu9LVaN2GClewg\/yWfYct1+qhbYZsp+s6CfAlqvo8aCUzVqdw4+VW+Jw3na2gC0SACBABIkAEiAARIAKmSKBS4i0rKwsnT55kZzmdQHb2g5N0K8GHbc8Z8iNmj+yIFs42sLJxhldgX0z8ZB8S+Tob2QUsfepJfLQ3Rc+UskpUS1mIgA4CYolEvVMiD8aKM01RFRF93OPGXyXzasuvw0yKJgJEgAgQASJABIgAEWiEBCq1QuT48eOQy4sOp+Aibvjw4ZVCp0r+B6+MnY0DzZ\/GvOWfoI2jEils6\/MLIns4VEpWVsoMykQEHhCQMPGmYjuHGCvcKpNOI9xK5uWCUSKhbRLpViQCRIAIEAEiQASIABHQTcAoiVRQUID79++DryWKjIzE0aNHH5R4+PBhdVxcXBxSUlLA1tDprq3MFdn1oziR0QxTF6\/AG5PHYPiIRzH1tU\/x7as9inZoUaeX4czcAFiYsfOjzOzw5CZ+GrAC4Wsnop2XM2ytrOHUvDPGLdyDeM2248pE7PloIvq3awEXW2vYuPhi8u8JzKOiI15dzT3s+mQS+rbxgKN9U7Qa+AJWhxQdNKw2oyAcm+eOZQsMHWBj74G2Iz\/G4YxKLRdUF0ehfhKws7eHgp0XUjZo84pVJq6scNPUwz83tg4OZaul90SACBABIkAEiAARIAJE4AEBg563v\/\/+Gxs3btSJjG9c8vbbb5e6PnnyZEyYMEFnHs0FcQs\/+IgTcGDjHtzrNgbNzbVlkaDDm5vw8zQvtimIkG1UV7RrXpOez2PRL2\/Aw0GF+MNf482F0zG3w038Os6BHRqcggs7duGu3\/tYt6w3HOQZELVqAqHqlvZ45OLk+2Mw+a8WeGvpJnznmY4DX\/wPbz0xFy2u\/IDhtpnY\/84YPPunPaYuXI+v24gRf2o9vjinglaTtTWD4hoEgV59e2Hfwf1o2rRptXvf+I6SXLyVFH2av9NTUjFowIAGwYiMJAJEgAgQASJABIgAEagbAgbF28SJE+HAPAJr1qzR6pEoaTbffXLmzJkYOnSoUa0R+szEDytv4um3n0TbHR0xcvIzeP6FKXjEx6bUKemWTVshKMin1I6O9m2HYkzbomq6dHTE9c098OvZUMjH9Sg+l0EIu6BHMGJgVzxopNqhUj5elbYN3\/4Yj8HLDmLBeBd13R2XR2Nfm8\/wz8nvMKzbdqzaEI9uH+7Gqle8i+zo64irv+7BKaNaSokaCoFhI4fj0L6DSEpIhIOTI5vKKFFv489DZTxtmnaXFW58miR\/FRYWIiM5FY6W1hgwZHBDwUR2EgEiQASIABEgAkSACNQBAYPijdvExVizZs2wZMkSpKezw3C1BDs7O7z11lto3769lqu6oizQeupqnBm\/AGe2bcD6n5dgwvJF6D7\/D\/z5bm846sqGQtzd\/jnmL\/kHZ8ISkW\/mCPMcOUTBBTpz6LsgD7+C67nZiH7RG3YzNSmVkEuFsEzMgiziGm5Lm+Gxntz7R8GUCbi7u+PjLz\/FiWPHceLICSTG3YdMLoNcxtZ4MlXPjlZUN\/\/hrpRFMUKBAJlsIx8ezx92cKEnErCDs9n\/mvQ8DX8nYoJQJGb3lqUFXJq4YtDEJ9ChY0e4urqaMlpqGxEgAkSACBABIkAEiEAVCRgl3ngdgYGB+PDDD\/H6669rrfKzzz5TC7zKBIGVF3o+NY+9ZuPlr8Zg4EezsXzUOXzQhpVWNPYtVazixjeYPHUlRNOX4qevu6CpIBxrZ0zFtspUzvOwDSogdMNTa3dibueSSISwcXOC4DY3QgWVkta4VRZxQ8nHpzW2bNlSLaRGjh6l9o5pdp801Ib33ntPnYR\/FgwFLuq4p5rXZ25uDisrK\/V7CkSACBABIkAEiAARIAJEQBcBo8UbLyA8PFxXOepNSyor3h4Wao3AIX3RbOFyhEexOY6BlrBiS9wyMzLBN2\/XDG0LrofghrI3Vrw\/DYOcmLBS2sHPqfIDX7FfO7QxX4GrEQp4TwpC2T3\/VK06o73lChw+cBvS4HblruuEQhcaHIF169ZV2Ga++2rJoBFxffv2rXBZzz33XIXzUAYiQASIABEgAkSACBCBxkGgQuItJCTkARUPDw+1RyIxMVEdx6\/179+\/QtQKz36Nl9bnInhAZ3i7WkKZdhu7V\/yIMKtgvNJRAoj90amdBVb8+RVWdZ+Jtqp7SHEZjXGt28FPtRI\/fb4BHhOC4CqOR3Rm5b1iApex+N9zX2LM0sl4WvQununlBfPcWNxM98HTU4Jh5zgGb73cBkMXT8QUvI\/n+7LrOacRnlv5OisEihLXGoGS93hVK61MWSTeqkqd8hMBIkAEiAARIAJEwHQJGC3e+NlXN2\/eVJMYNWoUpk2bpj4Pi3sq9u3b9+Ca8ahUkJo7w\/H+v\/j2rW8QnZwPoW1T+Hcdi6+2foTnW3BPmjPGL1qG4zMW4OMnt0Jm54uhH3bD4zPfxLrv4vHG4rcxfkUmFGY2cGKbmnT1cdQ2y9IIk+ww4Ivd2Oz8Lj5d\/xae+jQLsG+GduMXYdxkwE5gie4f7MB2pwX4aPXbmLgoHQoLJ3j69cVjbexoHZwRhBtKkhUrVjQUU8lOIkAEiAARIAJEgAgQgUZGQMDOlzLKfcTPcVu6dKl6N8nWrVuXwnTr1i2sXr0a8+fPR5MmTRoZQmpufSPAzyP09\/evb2aRPUSACBABIkAEiAARIAJEoEoEjBZvOTk5ejdV4Acb88O8ra2tq2QQZSYCVSVA4q2qBCk\/ESACRIAIEAEiQASIQH0kYPS0SRsbG732813zSLjpRUQXiQARIAJEgAgQASJABIgAESAClSZQ+S0aK10lZSQCRIAIEAEiQASIABEgAkSACBCBihIg8VZRYpSeCBABIkAEiAARIAJEgAgQASJQBwSMnjZZB7ZRlUSg0gRkMlml81JGIkAEiAARIAJEgAgQASJQHwmQeKuPvUI2VZmARMLOCaRABIgAESACRIAIEAEiQARMiABNmzShzqSmEAEiQASIABEgAkSACBABImC6BEi8mW7fUsuIABEgAkSACBABIkAEiAARMCECJN5MqDOpKUSACBABIkAEiAARIAJEgAiYLgESb6bbt9QyIkAEiAARIAJEgAgQASJABEyIAIk3E+pMagoRIAJEgAgQASJABIgAESACpkuAxJvp9i21jAgQASJABIgAESACRIAIEAETIkBHBZhQZ1JTqocAPyPuxvXruHz0FBKjY5CblQ2FUqEuXKB+qSBkfwgEKgT06IbHn30GZmZm1VM5lUIEiAARIAJEgAgQASJABHQQIPGmAwxFN04ChYWFWLP4O6QfO4XmzlYIsJHA3FwMkeihk1rIRJuIvYRQ4vqOrdiQm4unZs2EpaVl44RGrSYCRIAIEAEiQASIABGoFQIk3moFM1XSUAicO3UG6SfOoqW9HTLj85FWkAcV87qpFKpSTeACzkyoRDNfG9w\/uh+fX7oMsZm42DNX5JVTe+eYl4576LjHjudRe+7Y\/xImBi2sbeDk1RzewQMQ1K49E4nmDQUT2UkEiAARIAJEgAgQASJQBwRIvNUBdKqy\/hI4e+g4xPkCRMZlq71rRS8BRMIi4aWxXKkSQKYUIjYyBx4trNHWBSytrMgjp86nfPC3xlOnieNlqRRyKJX3kR9+E7Hn\/sGfrQZiwpvvw8rKqv7CIcuIABEgAkSACBABIkAE6pQAibc6xU+V1zcCqYnJEGUqASbOSgX2XsxEWcmg4GmYgEuIzkFKTBa7VIhCZb5auImZQBOzaZVcqImYh07E\/uZx\/G9ejkSsgqWZEJZWEjR3sYck\/BDOHemFASPH1DckZA8RIAJEgAgQASJABIhAPSFA4q2edASZUT8IFOYXwlzOpjgyYcYk3MPARJqAizAtAk6qFKFQIYWqdQtY9+sJoUikzseKUb94EAiKxKDmf6FcBgF\/FebCPDkWbvlXEH78AIm3Yl70HxEgAkSACBABIkAEiEB5AiTeyjOhmEZMQMo2LDFnAk2qKIBSJWdr1JiEK54CqZlGyadBlg3WHQOgDPTGrdu3oVLxdW4PPXdlhRvPKxQK1S+JRAIrG3fktfdC6vWLZYul90SACBABIkAEiAARIAJE4AEBEm90MxCBEgTkMjlkbNmZQ6cAWHm4QGJjBaGZhHnTSh+JWFacpaSkICkhoRzLkuk0F3kcF3gKhYKte1OC73CZl2sGlby8KCxXIEUQASJABIgAESACRIAINFoCJN4abddTw7URkCmlaDKmGzLzc5GangxFikItskp608oKN15OVeNkciYapUVnyWmzi+KIABEgAkSACBABIkAEiEBpdwLxIAKNnICUTYmMSUpAWloaCgoKIGeiquw0SA0iXV61sgiNScfrkLEdKBtMUN7Dv\/Oewqyfw1CjklMZj0PL5mPx7sTSaxAbDCgylAgQASJABIgAEaiXBFSZuLb9Z2w42bDGGCTe6uXdREbVFYECmVQt2HjQtlatJuPYDMqGE9gxB+e3\/YcTd3PYSXY1GBR3sePbb7D5ambN1lODTaCiiQARIAJEgAgQgXpIQJWHxPAwxGbK6qFxuk0i8aabDV1phATk7EBuHozxllUmnb7plcz5pj2oUvH3VE9YS\/gmJyKYWTnCs01vjHt1KXaE5WrPQ7FEgAgQASJABIgAESACJkeg0uLt+vXr4C8KRMCUCJSdIlndnjYNK23iUJd24wcOZCSnQt7zfew5dhQHtv+Or18bDLvzX2F85x6Y9V9czU5dNKUOprYQASJABIgAESACRKABE6iUeOOibfHixeoXCbgG3PtkejkCSuVDCaVNYOmL0+dV4xUZEoI6PW\/FVgqdW6NXnz7o98goPDnrI6w\/cQY\/Dk\/HTy\/MxsaEYrsV8TiwaBJ6tLCHhYUDWvaYjC8OJTBxV4B9Mz1g3v4DXNYsrSvcixfcLDFoVVzxejIVUtaNhrX9BPyVHot\/XhuCzv7ucLCUQGLpiJY9p+G7Mxm6py\/qrFuDWYGw1Y+jjZsdLCRmsHVvj7Hv70ZcyUVzBWH4++2RCGpqDXMrVwQM\/RCH0kvIWlU2Lq99AX19nf7P3p3ARVH2cQD\/7XLJjQiKgKJyy+F9K4p33tjhVampZVqZqal5ZCbmmS+aZnmbVuaVeWbeeGQepaJ5C4o3p4gI7O68MwurKMuyIJq7+5tPGzDzzHN8nwXnv888z4h5WMHBPRi9lsVyPly+dzJ3UIACFKAABYxcQHkR6yaOwpy9iY+uTYSkaMwd9SXWXRQvLsQ5bSd\/\/Q6zpnyBsaM+xaejxiFyzk+IjsvQei0jPLyCLf8bgy8WHcJd6dpEn\/NV93Bh5wrMnjQWo0aNReTsldh18Z54XaLA+TUTMXLm77ihmRajOIfVX4zC\/IOaqSAC0o8swuixy\/FPhv51LXLw9u+\/\/6qDtuHDh4uVHKX+\/tSpU0b+7mDzTEcgJ1AoTiCmMdIV4OV1fDqd+HS4ojFbVEaviYNRLXULFq2NF\/9QZODw+HboNOUsgkf8gK1bl2FY1dOY3LEDJh4B6oY3RKmLf+FIYk4bFWcP4nBiFk78eUwM7aQtE8cOHoVQpzka2yXj9L5o3A4ehhWbtmPrqmnoYrYVw18fgd\/TtFVTV9k5uYtPt0O5hu9iyopt2H9oN1YM9capaW9jxK+5AaH4R3L7J+3w1sLbaDh2BTZvXILR4Y7IyHwcvCljZqHvh5vh2H859vx1CNsWj8GbtcuLOXOjAAUoQAEKUIACeQTEOW23L19BmltT9Oz3Lga81QHBsn+xcfkmnMt8UkpQ3MGfP\/6Ag\/Im6N2rPlzNxOOFnp+Nq78vxOJdd+AW3gP9+\/dA03K3sHPRIvxxDajgUwkWCVdxLT3nOkZ1JxZX05W4ERcvhnbSpkR8bLyUEJUt9a9rkR4VIAVuU6ZMUQduISEh6mKlAE6z7\/Tp01i1ahXWr1\/\/pEhBPwm3sbCDDz6xXoAba7rDLk+6B6u7we2dVMw4vxXvli\/iRW1B5XE\/BQoREJ56qz0dYEmnFzaCpimiqOnEjAupXf7DZj41Ud1Jid\/PXoQi+SBmzDuL0DH\/4PsPAiD93Qlv4ou0mJqYMXMThn7dEnUxBnsPpWNAFxvcjI5GrL0TZAf34u\/sTmgkO4U9+1MR9HY43OTS5F0Z7AOaom2LOjBHOJp5xOKPhiuw5Xg22jZ6si5C8m86y\/7k59fgKObnGNIGnXP+dKB2jdKI+aUWlv55FopX68M8cQO++eE66k7cju8+rJITkIWVxomlW3AgtzhVwh0kCKXRqmk46tewFffWzI\/CPRSgAAUoQAEKUCBXwKqsNwJ8K4jXFT7wdkzC+TnHcDZeiYDKuQlUyTi5Zgs2JVZFr4FtUKnUk9djBZ3v734aew7eQfmWn+C1RmXV1y0+VVyQeWsW9uw9g7BOvqiArbgUl4V6wZa4d+UKkqysIYu9LN51FIRKspu4dCUDbrV9YC\/LuQ2poLICvKWrupxN7+DtzJkzmDp16hOBm5RFYGDgEwFct27dHmXObyhgcALihyP6Bl2atukK8PK2X990RTbLHZhSnDuGEw8qoHNTb3Xgpt7MfdG0iQe+2HIUF1zeRbuaQzFrxxFkdq6GfbtiUHfYSNjOXIXd55Sob7UHe+J88MorPuL5\/+arhlklH1SSJyIhKf+ymIWVfV7xGuqYZ+LyhkkYNW0NDp27iQdWzrBKU8C8Qc7InOLCSfybVQERDSsWOJJm0fA9fNpiPYa3DsHRHu\/i\/UH9EFHDVQwuuVGAAhSgAAUMRODhMSyZ8BNOF\/kJQTKUqtUHE3oE8d+9Yna1zNkFzrIHSM\/Q3NUjIOXwL1iVVRrNPoxAVXvdH6TnPV91Jx43spwQXKXM4+sWuQu8Kzti+7\/XkGBbH4EeG7DvwjUogtxx+cItVBQ\/fLbc+w8u3lWhovklXEp2QUCAi3j+7Xwtyl\/XnCR6XfMUFLhpSnk6gMtXeknsUN7EzukjMH7BNpy8I0O50LZ4d9I0DAsvn3OhqrqO9cP746stMbh8IxEP4IDKYX3wYWcrRP\/wC3afvI6Hjn5o\/WEU5g1rJHZcbqWyr2LLlJH46se9iLmhhGvNThg2YwberSWNE3AzNQHNvLO8gZa+wdyzpivOowKU54\/geKoZfAKkgEvQeg\/3oz6Ue6Ft+2B8tmQLjqfcw7ZDPmjzVQ\/Y74nEjzti8abFVpyq2A5RQdr\/LMjMLcR\/LFRQ5o\/dxCIKKVtMoYyZiW495sCs\/\/+wNKo2ysnO47s+PbBBU0H1yKOYT555h\/nef1Yh+HDzObyyYznmfj0L79SZgdlfbsP20bVhnS8xd1CAAhSgAAVeQgGrqug85BO0yTOlW99aymycH39Aq+9JRptOBpk43KVSKtXXP\/pct8vk4srdYurH11wy2FauBs\/bx7B\/3R\/wH9AGla0Lzin\/+TpwZaXhX7U8tvx1FtcfZuJcXBn4t68Bq0s7cfxCMmrKz+KmUyA6l9M++aOgsrSnzlMPKXCLjIzMN+L2dFU1AZyUtshz4FTZ6gci531lZuddxSADf33REV2nn0PQsKXYKD5Qb2igOBIY0QWRR3Pn0wjiHJ3o\/bgdOgIrN\/2OzT98iqBzs\/HxmB1w6j4Zy9avwZxuttg1\/h1MPpCVW\/10HBjXET0Xp6N15Grs3L4I\/Z12YthrI\/H7vadbyJ9NQ+DJv6T6jpYVNZ224LDIt01mXcLycfNwyrEd+r3qAUv\/WqhmfQ3Rey8\/Xn1ScQH79l+HTbVa8DM3g19EVwRf+w0\/\/m8NdpdtiVbeHmj9SghO\/LoIC9YdQYUur6KGhf49rQm0zAstG3h46ihiVI0xcEJvtKgdjOAateHr\/PhPUE4eV7Hrj3+h+Q3VWhOZHXxaDcKsrX9j28dl8dc3i3BQ5wlac+FOClCAAhSgwH8jILOGc3l3uLsX\/VXeqZReQcp\/07AXXKrMFva2ApLvJOTOISte+RZu9dHrvTcQkLYby388jIS8IYiOLOVlPeFukYLLl5MeL5ymSsDlK6mwdPeEqxgougaHoHzKaRzfdxIX7fzgV8YRfgFuuBlzGIdPXYOTeNzj8R2ROkp7fEj7R+y5xzUjbg8ePHg0x01XrlIAl5mZiRniyFXeeXG6zpGOPdzUD+4O\/fIns2qu3ickb8LX888hZNRRfDvIX\/2JQ7PGPkg7XRezZm3BkJVdxfk00ibO0fFriBZhtcURgoaocHE9ts4MRKf+EWhlKR5uAET\/9CoOHLgCZWN\/yJN+w\/8W3kDL2TsxtquL+peh+pw4bA+MxNoDUWj7ipU6V26mJfCsI2iSlrbgTFeAZ2YmjpsV8gmc6u4Z7NuzB6Wy0nD7wmFsXvo9Vv1bFv1WzEGP8nLx\/dsJwwcHoPnk7njPbiLeDBJwavk4fHW6Kj7+pkPO74jva+hW4wuMmRoPvxHRCDYXP4HqFIHgsZ9hhsoPn86oCb1iN3kZuDoLiNu9Gr9f8EU738LLVgSEwFeYgwWTfoBHt2C4ml9HbOrjRstKd8aID6qi+ZRX0R2f492wirC6fxDn7z9Oo7y0Cd\/tUSE4tAJss65hz5lkQLoFotCPoUzrPczWUoACFKAABYxeQF4WVYPdsGPXFqz1UKBWeRsg6SZy1wcpUvPNnGvijbcSMP+7jfhxdwW839Kj0OshmXUQmopz3ebv\/AFrLNuilpuAm0e3YeetcgiLqIpSUg1cQlHNQ1z4bXcKXJt9IK4pII4WBoXAbdsW7BFcEd7Rs8gjqTqDt\/Pnz2PEiBEYN26cVoCkpCSkpaXBw8MD5uaPs5LOuXjxol4Bn5SxZdh4bIps9cRtTw93jkOHr3KKVZw\/jpMPPNEprEqeuTw+CGvsjklbj+GCoitq5xvhNIObpxtk9+8i4YFUiPgyd4NHWTGAS81ZolNx4QRi0tMQ925lOLynaaK4uGeWHNa37omDqq78dENrzxvvTm3xk66gK6+ErnS6gjkpcJN+f7SVnZO\/ORxdysBs52R0aD4ZZlYOcPWqirotR2L9yoHo4Cct3CFtNqg\/cTM22AwTg7M30fYOUK5aO4z+7Wt8Wjf3pkIzb\/To0xQTjt7Ga69Xy7lnvkpXvF57DI4peuPtUJ1\/Eh43V14JvcZ9go3vf48RCzqj9bQGhZZtXmMEln9zAx9NHYpOs1OhtLSDs5s\/6nqXzv09s0a9L7Zha5nRGP\/tUHT9MhnKUs7w9A1DRKCj+n7yzNsnsW76\/zDiUiIyLUqjcq2O+HrxcFTXs9qPG8DvKEABClCAAhQwbAE53MPfRLf0ddi+4yf8naESH23kgNIVfeBRyNw1be22rNgC3VpfwOxta7Cn6gdo5aYtVd59FvBq0w99LTaKwdmPWHAfsHMPQIt3OqFZxdyPwsUPu2vUqYLt8fcRWi13dewyIajmuRXxqtqoLX74XtRNlpWVVfA1Y25uERERWleQlPZLm7Ty5MSJE9XfF5RWa8X0XG2y79XRCG2xAZ13nsSUeppxgWwcHBGM1ltfw55\/IsXgLQaT6jfEz2124Z9J0sibeKG3vifKvp2OOXG\/4m1pkpvyLKY0qotlzbbj5JT6wJ8jxXxXocHCzRhZM+\/Vnxx2blXg4VjEcUytjeTOFy0QGxsLX1\/fYhXbvuUrqBzgrfeiJc86SqcJ3KTKXjsZgyW\/ritWvXkSBShAAQpQgAIUoIDxC5TI59XP+0Hd5n41EWo9F\/v3ibc71vPLGX1TXET0gRuwCa0JX6kVet6fmrdLzX1CEGj1DU6KD\/KrLK7cIw3OcTNtAWkAV9cIWl6dkgzcpHyL\/Jw30+4qtp4CFKAABShAAQqYnECJBG9CYZN1npFVVroDPnnfH62n9sIguwnoWVVAzIrPMe1MID6Kapc7363ohchcOuGjvlPRcWZPvG02Gr0bVoBVejzOKLB1bAAAIABJREFUJFfB2+ID+hzy3YpZ9DJ4hmEJmFtYiCsQqSAXJ5nqG5xpWliUoE8acZNeec\/Vdr5h6bG2FKAABShAAQpQgALPU6BEgrfnWcGcvG1Q7\/PfsNZafFTA9N7ocBcoKz4q4NN10zG8zrMsEO6AZlO2Yo04x2bSsmHoPklcYtLREyFdJyOiJxi8Pf+OfelKsBCDN+nDCH0Dt+Kk0wRuec+VAkYLC479vnRvCFaIAhSgAAUoQAEKvEQCJTLnTWrP+vXr1c0q0py3lwiCVTEegWeZ89bvrXdgbmMBK6uclUaLE5xpJLWdKy1MIgVveUfZpO+lx2QoktMw8\/t5xtMRbAkFKEABClCAAhSgQIkK6D3yplmcpERLZ2YUeMkEGjZpiO07\/0C5cuVKfPStoMBNIkhOSETzZs1eMg1WhwIUoAAFKEABClDgZRLQa+TtZaow60KBwgSeZeQtPj4eIz8eAYVMCSfn0uKtjBaPHoPx9GiZVA999z0duEm3SUov6bmIKXcTUdraFsO\/GAc3t0LXpS2s+TxOAQpQgAIUoAAFKGCkAgzejLRjTblZzxK8KZVKSOfv3xeN\/Xv2IzkxEdmKbCiyFdIz4MX\/claxebwqZc4euXjrY+q9e+qjTk5O6qDOTJZn0RNxv5RGOm4mBoRm4sOxra1LwaWsK+o2a4Jq1aujfPnyTyxiYsp9yLZTgAIUoAAFKEABCuQXYPCW34R7DFzgWYI3qelSAJeenq4eFdOMkOlDMmbMGHWyyMjIQpNLwZ20oqU0\/02aX2djY6P+mRsFKEABClCAAhSgAAUKEmDwVpAM9xuswLMEb0uWLClyu6Ojo7We06RJE637de3s27evrsM8RgEKUIACFKAABShgwgJ6L1hiwkZsugkJHDt2rMRaW5y8GLyVGD8zogAFKEABClCAAkYnwJE3o+tSNuhZRt6oRwEKUIACFKAABShAgZdVgJNsXtaeYb0oQAEKUIACFKAABShAAQrkEWDwxrcDBShAAQpQgAIUoAAFKEABAxBg8GYAncQqUoACFKAABShAAQpQgAIUYPDG9wAFKEABClCAAhSgAAUoQAEDEGDwZgCdxCpSgAIUoAAFKEABClCAAhTgowL4HjBKgezsbKNsFxtFAQpQgAIUoAAFKGC6AgzeTLfvjbrlFhYWRt0+No4CFKAABShAAQpQwPQEeNuk6fU5W0wBClCAAhSgAAUoQAEKGKAAgzcD7DRWmQIUoAAFKEABClCAAhQwPQHeNml6fc4WU4ACFKAABShAAQpQgAIGJCATN6m6HHkzoE5jVSlAAQpQgAIUoAAFKEAB0xVg8Ga6fc+WU4ACFKAABShAAQpQgAIGJMDgzYA6i1WlAAUoQAEKUIACFKAABUxXgHPeTLfv2fICBKRnxJ2OicE\/ew\/iVtw1pN9Lg1KlVKeWbjaWQYBc\/EYmExBQrw5e7dMblpaWBeTG3RSgAAUoQAEKUIACFCgZAQZvJePIXIxEIDMzE99Pj0LyvoOoWMYGAXYWsLIyh5nZ40FquRi0mYkvOVSI2bQBK9PT0X3ge7C2tjYSBTaDAhSgAAUoQAEKUOBlFGDw9jL2Cuv0nwn8dfBPJO8\/jEqODki9kYGkhw8giKNuglJ4ok5SAGcpV8HT2w539v6Br\/7+B+aW5rkjczmjcurROXGUThqhk0bspHPUI3fiVwsxGCxlawfnChVRuX4zBIWEikGi1X\/WbhZMAQpQgAIUoAAFKPDyCzB4e\/n7iDV8gQKHd0XDPEOGS9fT1KNrOS8ZzOQ5gZemKipBhmyVHPGX7sPdyxbBLhDTZueMyKnPUz36XjNSp9kn5SUoFVCp7iDjwhnE\/7UWP\/uF4\/VPxsHGxuYFtpZFUYACFKAABShAAQoYkkChwVtcXBzmz5+PK1euQLqlTNtmYWGB0aNHo0aNGtoOcx8FDEYg8dZdmKWqADE4e2ITfzYXg7K8m1JKIwZwN+PuI+HaPfFQJjJVGerAzVwM0MzF2yqlQM1MHKEzE7+X9knfS\/lYmAuwtpTD2sYCFV0cYXFhF\/7a0xDN2nU0GCtWlAIUoAAFKEABClDgxQoUGrzNmzcPjRs3xqhRo+Dg4CDe8vXkRa0gCOjatSu++uorBnAvtu9Y2nMQyMzIhJVCvMVRDMzEEO7xJgZpMikI0xLAZanMkKnMguDvBduwBpCbmanPE7NRv6RN83uj+SpXZEMmvTLTYXU3Hm4ZJ3AhegeDt1wvfqEABShAAQpQgAIUyC9QaPB26dIljB8\/Hra2tvnPzrNHWqGPAZxOoicPCmmI\/TMalxwbo3lVMSguwqlM+vwEssTRZSsxQMtSPoRKUIj9IoZwubdAam6jlG6DfHqzrR4AVdXK+PfsWUgfaOT9kOPpwE06Vy6Xq1\/SqLWNXXk8CK2AxJjjT2fLnylAAQpQgAIUoAAFKPBIQGfwJl2EKpXKQgM3TW5SABcZGakepatdu3bhzEIi1vSpif6rbyFDKd6WVsoBLhUDUad5F\/T94F2099UdMBZewEucIvsoZnbvhhMfn0A4g7eXpqMU2Qpki9POnGoEwMbdBRZ2NpBbWoijaU8+EvHp4CwhIQG3b97M146nR6qlBNI+ze+WSqVS3478IN0SgiJ\/UJgvQ+6gAAUoQAEKUIACFDBZAZ3BW3FUpGBv2rRp+OWXX\/Q4XYGUhCQo6o\/Bpi9boFRmKm5dPIqty2bijbrL0GfZFszu5C7OF+JGgRcjkK3KQtmOdZCakY7E5LtQJijVH2DkHU17OnCTavas+7IVYtCYlfMsuRfTUpZCAQpQgAIUoAAFKGBoAk8OJxSj9tJF6\/r16x+91q1bB2kEriib3NkPDRo1QpPm7fD6u+OxeM9+fNc6GUsGDsGqm7mjEcqb2DnlTTTydoG9vSt8Gr2Fabtv4onLXeUt7JnRG018y8LBvjTcA1oi8pC4yErWbnzoZY+wWZcfzWNSxc5GuEMlfLQnS1x04jrWf\/IK6gZUgIuDDWwc3BDUYRTmL\/gcvcIC4e7kAGev2ug+4wCS8g6OZF\/Fli97oEmgO0o7loNf+AB8dyxVXBxe3DR5BlaEqzrPsvBp0gdzDqfkHFcDZePPkQEoJT7g2dLSAd1WPxAXykjDiUUDEe5fDvY2dijjVR1v\/xD35PyrouAybZEEssRbIq\/dvomkpCQ8fPgQCjGoevo2SE2GBY2qPV2gPumkMrLFFSi5UYACFKAABShAAQq8AAEhFac2LsbKA7cM6jpb75E3zcIkuiilIK5ENotK6DHhfXxTOxJL1l9H90FlcPSLjug6V4ZuXy5FZFUBp1dMwPiILni4Yy\/G1y4lFpuBo5GdERGVjS5j52NCrdLIvJUIp8oWhVdJSMbp6P24HRqJld\/XgGXyEXw7fCw+HlMD\/SZMxrIvbHFnaySGjn8Hk+ufwozGlmKe6TgwriN6rvLCsJmrEeWRjB1TPsKw10bC68R8tLXNzTPoCyydWxOlHlzClhljMbL7KPidnI826kd6WaDaJ6ux+K0K4gOf5XCsYA3l6Uj0\/3grPMYuxo427lDdPo\/UCm7iUW4vQuBhdpY6YJM2TdD1rKNqmnoXlp94B2XJb9mHMKZWJ6xrtRrHZzZDoY8RFz88uHJonzgXswlaBGmbi6nEuakNUWt7b5z7YxA8+MYs+T5jjhSgAAUoQAEKPH8B4QFuXTiP+IBWz7+sEixB7+BNM8JWgmXrzMrMuwaqOSmx\/dxFKJIP4ev55xAy6ii+HeSvvo2yWWMfpJ2ui1mztmDIyq5wTNmMr+eeQZCYZsFQf3GZ9jybOLhW+CaDvV9DtAirLZ7bEBUursfWmYHo1D8CraRYrQEQ\/dOrOHDgCpSN\/SFP+g3\/W3gDLWfvxNiuLuoFR6rPicP2wEisPRCFtq2lEsU8A8LQprmUZzM0dY\/DjrCV2PZ3NtrUz6mRdTk\/BAVVeRScZSfcRYLghJZhzVCvujTnj49fKLzvSi6FQnwgt7rnnlpVtaT26QoExcG3kt\/kDvDw84e\/p5N+tx9nH8H011\/FP5+cRvOngjch5SjmjxiOmWv+xoN7fyPAfTZqvjUTa6e1hwtX3Cn5vmOOFKAABShAAQpQ4CkBvYO3Fzrypqlk7sWs4vxxnHzgiU5hVR5fgJr7IKyxOyZtPYYLiq6odu4Y\/knPSaN3owp8O5jBzdMNsvtiICXeyQgpeDN3g0dZMYBLzbktUnHhBGLS0xD3bmU4vKfJSAVFlvjsrlv38twa+bgQMy9vVJInISG54CEWiwYDMLz5rxjZrgaOdeuP9wb2Refqrk8GowXWmweeVeDpWyQLGy3TlKdvuqfT563v84jdYBaEQWv2Y9CzwuAetg7vgiHbqmH8ol1oV6UU0uNP4fjDSnBi4PbMusyAAhSgAAUoQAEK6COgd5zzokfelBeO4u9UM\/j4+4gB2zatwdATDRRUBaeRySE9ekshzsXT9wLZQlxhUCZkQamSzhCvTmWW4rLu4sLx4r1t6jykYRK5G7ov2IyRNfMyymHn5iyecTufv8zcQv2wZqUmdtN20WsVjMEbTqPtzhX4NioKAxrMwjcTNmHLyFqF3\/KWr0TuKKqASt3fOVtRR990japJORYW4BU48ibNnxzRD5M3nsD5qwnIMHOGd\/3OGPzlZAxq6JIzaqu6ha0TBmPS6kOIuZKAh1bl0WXOIfzUKxGTatfFj233IearOjBXxWPt0L6I3BKDy\/EJ4s2\/dvCo3gFDZ83BR\/Wdch9ZkY1Dw8Xfu+FSrUvh1Z\/FVWG7nsHuvXfh8doojOzaWLzhV9yq10aTXCt+oQAFKEABClCAAi9UQHkR6yIX4nrTEfigaRn1NYyQFI150\/agfP\/P0NX7Pk5u+Bk7z95CYko6smAFR4+qCOvUBY29rPM9pkt4eAVb5y\/EEfsOGNSnAVzlqYWfr7qHC7t\/w9ZDZ3HjPmDvHogG7TqimY8NLq6ZjEVx9TBkaBu4S9NMFOewOnIJEluNxnsNHcXyBaQfWYxJGyzQbUxnyH\/Xr656B28vdOQt6zJWfP4dYhzbYmGEOyxL1USo9Vzs3yfesljPL2f0TXER0QduwCa0JnzFVpj7hKKq1TwxzWUo6j1126TcFeVcBVwVb8F8CH+UxAMIzH1CEGj1DU5eVKJyjyD14NwTW2ELB8qsYSNOQEpNSVVPknxi6pDMDt4tB2JGyzfRdWRDtJ63BIeG1kLzfIU8XSh\/fnaBnOCtOIGYpuyiBn2a88Snw2mvvpCEU7v24HrVifhhbi1x\/uQV7J7\/JYa3OYGUffswtoY4gVK4iyMbN+GyzwQsn9sYpRXJMPMrJ76vEp\/MU5rfuS8at4MnYcV8Ma\/0i9g0bTSGvz4C\/mcWoG3uXMzqw9djWe\/cuZgVxTeqWVm4u8kQv2k+VvQLRe8QR87D1N5b3EsBClCAAhSgwMsgIM5pu335CtLc2qLnq56wyErEmd2bsXG5OVw\/fR0BeZbFEBR3cPjHH3BQ3gT9e9WHqzRHS1XI+VbZuPr7QizeL05yatcD7coBt45tw9ZFi5A96EOE+VSCxbGruJYuwN1eHAC6E4ur6UqkxsVDIQZvFuKyi\/Gx8UCFVqhs+QB\/6aqr+vosZ9M7eHueI2+qhH8RvXcvSmXdx52Lf2HL8oVYfdYVfZdFoVt5uXhJ2wGfvO+P1lN7YZDdBPQUFyyJWfE5pp0JxEdR7eAotcWlE4a8MxXtJ7+BvsJn6FWvPCxS4\/Cg0qvoGOqH9h2rYvKMMRhcLQu9QksDsTFIKPjuxcdCBXwnE8v7qO9UdJzZE2+bjUbvhhVglR6PM8lV8LbY6Q4FnPdot7kvaoSUwjc\/T8O8uu8hWLiKBJcO6Fr2EBbuFRAU4gnbrHjs\/TcFcHaBMxeGKEy0RI4LT8VPugKx4gR4ukbfxKE5HW2QwSEwHO1aiaNnYqrWbapBVqcRor7ehiE\/dIa9+kxx0ZvglmjfPCeNepfWDxGkuZhN0baFlC4czTxi8UfDFdhyPBttxbmd0mbt5ofgYO88AVpl9J\/xBTZ3GYt+NTbhq5ZvYfDHQ9G\/rXeJfBiSUyr\/TwEKUIACFKAABUpWwKqsNwJ8pQ+kfeDtmITzc47hbLwSAZVzy1El4+SaLdiUWBW9BrZBpVJPXo8VdL6\/+2nsOXgH5Vt+gtcalVVfM\/lUcREXTJyFPXvPiCN8vqiArbgUl4V6wZa4d+UKkqzEEb\/Yy7iuDEIl2U1cupIBt9o+sJflXLAVVFaA9+MHp+kdvGkbeXv21SXN4VjGGWa7pqBL6ykws3KAq\/iQ7tothmP18rwP6bZBvc9\/w1rrERg\/vTc63AXKhrbFp+umY3gdzfp54qMAJm\/BWudRmLjgQ7wx4QEsXP0RMbU52od6IHT4CixMGoKJU\/rgl2QlSpV2g1fdcFQvV9ynyDmg2ZStWFNmNCYtG4buk+4Bjp4I6ToZET1RePAmK4Ouk2cjut9YTOy2AdkO3mj9eR2xrqfw68w5GHU5EZkWpVGpZntMXzAU1fTuqZJ9w5tcbuLAm64AS1cwl9fqWdLpZV6qOto0c8PM3UfFOZ+dUVNX3FdIhmaVfMS5mIlISNL1aYYY8NUbie1nu+D3Fd9h\/rdLMazdUiwc9At2zmmHss9QfiHV42EKUIACFKCAcQk8PIYlE37C6SI\/IUiGUrX6YIJ4xxcvC4v3lpBJAyKyB0jP0EyTEZBy+BesyiqNZh9GoKo4QqZry3u+6k48bmQ5IbhKmccfdstd4F3ZEdv\/vYYE2\/oI9NiAfReuQRHkjssXbqFi03BY7v0HF++qUNH8Ei4luyAgQJoCo2W6Vb665tRMZ99LF6Bm4mSx9PR02Nraqp\/lVtgmpbWw0GN5fikjMYB5fXmc+CosV\/G4mTtajl4pvnSktfBE69ErxJeWNKX80O3rreJLyzEEY+yRexib55BVxI9ITcuzwywAo\/68h1F5TxfLa\/PZD+JLvzzh2BPr7omRXe5m6dMDc\/eKrydOD8S2mCdK0ZY59z0nAc28s5IeVdMnv6I+KkAmFz\/jKXCinP5A0lxM88LmYuZmJ3f0xyuDv8YrA0dix4i26DRnBKL6tkZkLZ1\/SvSvDFNSgAIUoAAFjF3Aqio6D\/kEbR5Ps9e7xTIbcdBD79TGnlAGcVkLqJRK9XoUusOuHAvp2kkupn58zSWDbeVq8Lx9DPvX\/QH\/AW1Q2brgnPKfr8NYVhr+Vctjy19ncf1hJs7FlYF\/+xqwurQTxy8ko6b8LG46BaJzOe231xVUVqFXXN7e3ti1axfCwsLEh2PbQy5dMGrZpIU80tLSsFe8\/VE6hxsFDFPgyb+kzzKCputcbcGc7tsmn9JUXsLBQzdhHRQKb+m3WOvtkcXoAc1czGQtczHzZmdWDuED3kDQ3Km4el0snMFbMbB5CgUoQAEKmKSA+G+tc\/lCn7xqkjRFarTMFva2ApLvJECBsvnXn9AzMwu3+ujVxRurvl2F5T86YXCf+nDRI0KWl\/WEu8V+XL6cBJWXa87omyoBl6+kwtLdU1zwRA7L4BCU334Ex\/el4aKdH5qWcYRVgBs2xxzGYdk1OAW3g4d6fp2elRWTFRq8DRo0CPPnz8fKlSuRmZmpM2cbGxtUqlQJ77\/\/vs50PEiBl1lAE1hpC7BKap+m\/Zr8pBFu3YNo4qTW32Zgsm931K8AnP1pIiafqIx3puXO+SwpUHM\/1Awthdk\/TcE39d5HiBCHu66d0K1uIn7+YgXu1WqB2t4usHwQh71RS3HKqg7eqabnSHtJ1ZH5UIACFKAABShAAXlZVA12w45d4rQpDwVqlbcBkm5CXB+kyJuZc0288VYC5n+3ET\/uroD3W3rkrKytIyeZdRCainPd5u\/8AWss26KWm4CbR7dh561yCIuoKq7XLW4uoajmsR1bd6fAtdkHcJOLo4VBIXDbtgV7BFeEd\/Qs8khqocGbl5cXvvrqKx1V5yEKGI+Att93XSNoeVuuK52uoE8K3MzNzQt5jIV4n7tlInZ81R+T4x7CyT8c7\/8UhYnN7EoWX7yV+bUpc7Gvz2f4\/LX14lxMH7SdWBevV89A4sUdiPp2BmITM6A0s0eFGq0x6uevMcBL+2h8yVaMuVGAAhSgAAUoQIG8AnK4h7+JbunrsH3HT\/g7QwULaweUrugDj0LmrmlztKzYAt1aX8DsbWuwp+oHaOWmLVXefRbwatMPfS02isHZj1ggPirAzj0ALd7phGYVcz\/YlpdBjTpVsD3+PkKrlc8ZnSsTgmqeWxGvqo3a4sKMRd1kWVlZ2q5Xi5oP01PgpRGIjY2Fr69vserTvuUrqBzgrfeiJc86SqcJ3KTKXjsZgyW\/rstfb+UpTMz7rLb8KV7gHiXOTW2IWtt749wfg+BR9L85L7CuLIoCFKAABShAAQoYh4B4zamejMdLL+PoT7aihASk3wpdI2h5iynJwE3Kt8DnvJVQ25gNBShAAQpQgAIUoIBhCxR626RhN4+1p0DRBMzFlVKlxXekhXn0Dc40JRQl6JNG3KRX3nO1nV+02r+I1GbwH3kY90e+iLJYBgUoQAEKUIACFKBAXgEGb3w\/UCCPgPSYC+mZhvoGbsVJpwnc8p4rBYwWFpba+8IsBOP\/zsB47Ue5lwIUoAAFKEABClDARAR426SJdDSbqZ+Ag6MjlOLzQp7etI2KFWff04Gbphxx7insnZyeLpY\/U4ACFKAABShAAQpQ4JEAgze+GSiQR6Bhk4ZISUlR7ynOqJomK23nSitKSsFb3qBP831yQiLqiGVzowAFKEABClCAAhSgQEECDN4KkuF+kxRo064tzJVy3L55Cw8fPnxiFK44I20axKcDN+k2SYVCgfv37yP+ShwczK3QrFVLkzRnoylAAQpQgAIUoAAF9BPgowL0c2IqAxJ4lkcFSLdMSufv3xeN\/Xv2IzkxEdmKbCiyFeJQnPSfepVW9f9zgrmcPXJx9dbUe\/fU+53E2x+lY2ayPIueiPulNNJxM3FenZm5HNbWpeBS1hV1mzVBterVUb58+ScWMTEgclaVAhSgAAUoQAEKUOA5CojXluqLUAZvzxGZWf83As8SvEk1lgK49PR0ZGZmqleelF76bGPGjFEni4yMLDS59PsnrWgp3UZpZWUFGxsb9c\/cKEABClCAAhSgAAUo8LQAg7enRfiz0Qg8S\/C2ZMmSIjtER0drPadJkyZa9+va2bdvX12HeYwCFKAABShAAQpQwAQFNMEbHxVggp3PJhcscOzYsYIPFvFIcfJi8FZEZCanAAUoQAEKUIACJiTA2yZNqLNNpanPMvJmKkZsJwUoQAEKUIACFKCA4QhoRt44ycZw+ow1pQAFKEABClCAAhSgAAVMWIDBmwl3PptOAQpQgAIUoAAFKEABChiOAIM3w+kr1pQCFKAABShAAQpQgAIUMGEBBm8m3PlsOgUoQAEKUIACFKAABShgOAIM3gynr1hTClCAAhSgAAUoQAEKUMCEBfioABPufGNuenZ2tjE3j22jAAUoQAEKUIACFDBBAQZvJtjpptBkCwsLU2gm20gBClCAAhSgAAUoYEICvG3ShDqbTaUABShAAQpQgAIUoAAFDFeAwZvh9h1rTgEKUIACFKAABShAAQqYkACDNxPqbDaVAhSgAAUoQAEKUIACFDBcgWLNeYuIiMjX4vXr1+fbZ5A7VNewYdwobPedgNl9fGH2vBqhuond8+bhuM9gDG3rBkbRzwua+VKAAhSgAAUoQAEKUMA4BIodM0jBmuZlHBS5rVDdwdGNv+FA7H0Iz7NhyivYMjsK607de77lPM82MG8KUIACFKAABShAAQpQ4IUJFGvkrcRqJyRiTZ+a6L\/6FjKUMpiXcoBLxUDUad4FfT94F+19bUusKGZEgbwCMnGjCAUoQAEKUIACFKAABQxJoNgjbyXTSAVSEpKgqD8Gm3btxLb1SzHjwxZwODoTb9RthMG\/3YCyZApiLhSgAAUoQAEKUIACFKAABQxa4D8O3nLs5M5+aNCoEZo0b4fX3x2PxXv247vWyVgycAhW3cy9eVF5EzunvIlG3i6wt3eFT6O3MG33TTG4e4g\/BnnBruYXOKHI7YvM7RhYwQGt59+ASr1LQMKyLnBy6Y7Vydex\/pNXUDewIlwdbGDjUBY+TfpgzuGUgm9fLLBsTd8rcWHBGwipUAb2NrZwrlgTERO24UbeyPPhBawZ2QnVPJ1g5+iO4HYTsTslz42ZQhpOLBqIcP9yYh52KONVHW\/\/EJdbf4N+j7HyFKAABShAAQpQgAIUoEAJCLwUwVu+dlhUQo8J7yM0dRuWrL8uBjAZ+OuLjug6\/RyChi3Fxo2LMTTwDKZGdEHkUaBOs\/oodekIjibmBEOKc3\/ir8QsnDx8XAztpC0Txw8dg1A7HI3sknE6ej9uB32Mpb9uwcYfv0Jns98xsru4SElavpqIO3SVnZM7xOVGyjboj8lLN2FP9B9Y9lEVxMx4ByN\/yw0IhVT8MaIj+iy+jQajl2HD+gUY2dQBGZmPgzfl6Sj0\/3grHN9ZjB0Ho7Hp+9HoWYsLmWjrEe6jAAUoQAEKUIACFKCAKQroPeftwYMHGDx4MFJSUrQ6SStQOjg4YJ64gqKt7bPPVTPzroFqTkpsP3cRiuRD+Hr+OYSMOopvB\/mrV4Bs1tgHaafrYtasLfhoRgvUwXjsO5yOfp1scGv\/fsTZO0F2aB\/+ye6AhrIY7DuQiqpvNkM5ebZ4tgz2AWFo07w2zNEMTd3jsCNsJbb9nY02DZ9snpC8SWfZQ1Z2haOYn2Nwa3QMzjm3VvXSiFlTD8sPn4Mioh7MEzdi3sobqPP5VswbXDlnZckmpXFy+TYczC1OlXAXCYITWoY1Q73qkl8Nrc7cSQEKUIACFKAABShAAQqYpoDeI282Njbo1asXqlSpgtWrVz+htXbtWvj5+aF3794lErg9yjx3YEpx\/jhOPvBE47Aqj5fuN\/dBWGN3pJ84houb306MAAAgAElEQVRlWqFtjQeI3nkUmUIKonefRp2PhyMseS\/2nFdCGbsXe696o21bb61L\/5t5eaOSPAkJyTk3WeZtXGFlX1DfqpmJKxsnoEfTEFQu7wq3Kp0xXzyQ+TBnZE5x8RTOZnmifoMKBT4SwKLBAAxvnoI57Wqg9cBpWPvPXWjuAjXNtyZbTQEKUIACFKAABShAAQrkFdA7eJNOatFCXExEHF3bsGHDE4rSIwOsrKwQHh5eYrrKC0fxd6oZfPx9xIBLKHg+mlSivCLavBKEhD+24e+UA\/j9sDdavdodbWtewo6dcYj\/43fEVHgF7apqH2iUmVuIZaigzB+7iZkXUraYQnl6Fnq+ORfXao7Aok17sHP9NERUzEOrXthQzEel4+EDVsEYvOE0Tqz+BKHXl2BAg1C0mnpMvGmTGwUoQAEKUIACFKAABShAAWmyVhE2aXX1999\/Xx28xcXFqc+Mj4\/Hr7\/+qt5fYquvZ13Gis+\/Q4xjW\/SNcIelX02EWsdj\/74rj1efVFxE9IEbsAmtCV9zM\/h26YKg+I34ec5a7HFtgZZV3NGqTTBO\/rYEi349Cs\/OEahuoX9jNYGWeaFlAw9jjuG0qhHeHfcWmtcKQlD1WvBxfkybk8c17N5xFlm6qiCzg3fLgZix8Qg2feSKI\/OW4JDOE3RlxmMUoAAFKEABClCAAhSggDEJaB+K0tHCsmXLomfPnoiKisKUKVPUX998802UL19ex1m6D6kS\/kX03r0olXUfdy7+hS3LF2L1WVf0XRaFbuXl4oyyDvjkfX+0ntoLg+wmoGdVATErPse0M4H4KKqdOOdM3HxexevVJ2H89OvwHbYbQeZyyDt2RtDn4\/C1yhfDp9aAXrGbvAxcnAVc3bMW2y\/64BWfwstW+IfAR5iLRV+thPvrQXA1v4G41MejbLLSHTFsUCBaT38DvTAO\/ZtUgNX9Q7iQnmfBksubsWCvgKAQT9hmxWPvv+LcQmcX5IkBdSPyKAUoQAEKUIACFKAABShg3AJZWVlCUV+ZmZnCZ599JgwaNEj9Vfq5qHmo02feFFZ2Ly9Ym8kEcdROMC\/lKJT3qy90fH+qsP508pN5ZsQKW754Xajt6SBYWTkIFeq8IXy5LU7IeFT\/h0LsvFaCrUWoMO5YRs65D88LMxpbCVb1pwhnMnLbmXFcGF+tlOD36UHhgebcu0uFDqWshddWpYnnZQrxmz4VmlVyFgKG7RPSpTSFlp0kHPn2HaFxFWehlJmZYGHtKJSrFCK0n3H0cRkZ14Sd03sLYT4ugrW5mWBp5ypUrt5SGLruqpAplnFv70ShuZ+rYGMuF8ysywjejd4Wog7eVR8rlq0Jn3f+\/HmhsM24f6vZOgpQgAIUoAAFKEABYxSQSYFBcRqWmJiI0aNHIzIyEq6ursXJgudQ4LkIxMbGwtfXV2fe4ocF0kREbhSgAAUoQAEKUIACFDAYgWIHb1IL09LSxAdm2xtMY1lR0xBg8GYa\/cxWUoACFKAABShAAVMTKNKcN+lZboVt0sqT3ChAAQpQgAIUoAAFKEABClCgZAWeaeStZKvC3ChQMgIceSsZR+ZCAQpQgAIUoAAFKPByCRTpUQEvV9VZGwpQgAIUoAAFKEABClCAAqYjwODNdPqaLaUABShAAQpQgAIUoAAFDFiAwZsBdx6rTgEKUIACFKAABShAAQqYjgCDN9Ppa7aUAhSgAAUoQAEKUIACFDBgAQZvBtx5rDoFKEABClCAAhSgAAUoYDoCDN5Mp6\/ZUgpQgAIUoAAFKEABClDAgAUYvBlw57HqFKAABShAAQpQgAIUoIDpCDB4M52+ZkspQAEKUIACFKAABShAAQMWYPBmwJ3HqlOAAhSgAAUoQAEKUIACpiPA4M10+potpQAFKEABClCAAhSgAAUMWIDBmwF3HqtOAQpQgAIUoAAFKEABCpiOAIM30+lrtpQCFKAABShAAQpQgAIUMGABBm8G3HmsOgUoQAEKUIACFKAABShgOgIM3kynr9lSClCAAhSgAAUoQAEKUMCABRi8GXDnseoUoAAFKEABClCAAhSggOkIMHgznb5mSylAAQpQgAIUoAAFKEABAxZg8GbAnceqU4ACFKAABShAAQpQgAKmI8DgzXT6mi2lAAUoQAEKUIACFKAABQxYgMGbAXceq04BClCAAhSgAAUoQAEKmI4AgzfT6Wu2lAIUoAAFKEABClCAAhQwYAEGbwbceaw6BShAAQpQgAIUoAAFKGA6AubFber9+\/dx48YNXLt27dHX69evq7ObO3ducbPleRSgAAUoQAEKUIACFKAABSigRaDIwdvXX3+NEydO4N69e1qy4y4KUIACFKAABShAAQpQgAIUeB4CRb5tMjo62nADt+w\/Mb6mO0I+3YuM56HJPClAAQpQgAIUoAAFKEABCjwngSKPvGnqYWNjAw8PD\/XL09MT7u7ucHR0xJgxY4pU1Yxf34Rnz8Po8dsxfNPS4alzFfh3ejjqf2GBSad34EOvIseaT+Ynd4C7rx\/8PJxgVqRaMrGxCQjiZmxtYnsoQAEKUIACFKAABYxboFjBm3TrZOXKlUtARoWE67eQqbiKZWO\/wcCmnyHY4nG2ws1fMP7rI8hQ+eL2XRXwrMGbWVUMXLUHA0ug5szi5RbIzs5WV9DS0lL2cteUtaMABShAAQpQgAIUoIBugaysLPXAQ7GGskomcJOKV+H2zVuAhw88L3yLKRsT8Xg4JBNHvpmC7Y6+8DZLxJ0EMXiTtqzd4gicPcJmXRbPztlUsbMR7lAJH+3JAoQ0nFg0EOH+5WBvY4cyXtXx9g9xOWmVMZhUxwHBY49CkXsulLewZ0ZvNPEtCwf70nAPaInIQ5mao\/xqoAIWFhaQXtwoQAEKUIACFKAABShg6AKaa9tijbyVXONVSLyTBHnIeEz3n4M3p32PM51GI0islXBrNaYuSkS7GbNQZuwAXL+bLhZrWWjRytNR6P\/xVniMXYwdbdyhun0eqRXcCohSM3A0sjMiorLRZex8TKhVGpm3EuFUmRf9hUIzAQUoQAEKUIACFKAABSjwQgX+4+DtIRIT78OytAdaDPkYjZZOxpwdH2B+W2vELJyNHW79sKurLzbOAP65kwglShc6V02VcBcJghNahjVDveq2ImaNgkFTNuPruWcQNOooFgz1x3+MUXA9eYQCFKAABShAAQpQgAIUMHmBYt02WWJqqlQkpQD2TvYw9+yJod3MsCbqJ1xN2Y45C2MR\/vH7qFHKAQ7iOiYpScl5bqksuAYWDQZgePMUzGlXA60HTsPaf+4+vkXyqdOyzx3DP+meaBxWhYFbwaQ8QgEKUIACFKAABShAAQq8BAL\/bfAmpCJFfFycnb0dZLBF+IfvIeDPORj76Uyss+yBIW+Uh1xmC3s7AffEhOo5bjI5zMSlIhXighRalwu0CsbgDadxYvUnCL2+BAMahKLV1GPaHw0gqLTn8RJ0DKtAAQpQgAIUoAAFKEABClAgr0CJBG9r1qzBqFGj8O233xZNV3UPqakCbGxtxeANMPPrgw9a3cUvy\/5CwLuDEWYj7hSDNztrIC0lLSd4k7uinKuAq+cu4mFBpcns4N1yIGZsPIJNH7niyLwlOCSuZfL0Zu4TiqpW8di\/73KBo3NPn8OfKUABClCAAhSgAAUoQAEK\/BcCek3zkoKzo0ePwsvLK18dr1y5gpUrV6r3nzt3Lt9xnTuE+0h7ANja2qiDN8hc0WX0l3jPOQkd+\/rmzm+zFI9bQJmSgvviUFspMz+071gVk2eMweBqWegVWhqIjYFmMUrl5c1YsFdAUIgnbLPisfdf8b5MZxc4awlTZS6dMOSdqWg\/+Q30FT5Dr3rlYZEahweVXkXHUCly5EYBClCAAhSgAAUoQAEKUODlECg0eCssOFMoHi26r26R9LBuvTfVA9wXF5G0EYfWNA\/jKlVjAKLm581BJh63gXA1BWli8OYiM0fo8BVYmDQEE6f0wS\/JSpQq7QavuuGoXs4M2bdP4deZczDqciIyLUqjUs32mL5gKKpJLVU+XTPxkQOTt2Ct8yhMXPAh3pjwABau\/oiY2hztxeBNS7z3dAb8mQIUoAAFKEABClCAAhSgwAsRkGke+FZQaRcuXMCnn3766LAUnM2dO\/eJ5AsXLsTOnTthb2+PgQMHombNmgVlx\/0UeO4CsbGx8PX1VZcjE7fnXiALoAAFKEABClCAAhSgwHMUEMRNyr7Q4E1KxODsOfYEsy5xAQZvJU7KDClAAQpQgAIUoAAF\/kOBIgVv\/2E9WTQFiizA4K3IZDyBAhSgAAUoQAEKUOAlFtAEb5zW9RJ3EqtGAQpQgAIUoAAFKEABClBAI8Dgje8FClCAAhSgAAUoQAEKUIACBiDA4M0AOolVpAAFKEABClCAAhSgAAUowOCN7wEKUIACFKAABShAAQpQgAIGIMDgzQA6iVWkAAUoQAEKUIACFKAABSjA4I3vAQpQgAIUoAAFKEABClCAAgYgwODNADqJVaQABShAAQpQgAIUoAAFKMDgje8BClCAAhSgAAUoQAEKUIACBiDA4M0AOolVpAAFKEABClCAAhSgAAUowOCN7wEKUIACFKAABShAAQpQgAIGIMDgzQA6iVWkAAUoQAEKUIACFKAABSjA4I3vAQpQgAIUoAAFKEABClCAAgYgwODNADqJVaQABShAAQpQgAIUoAAFKMDgje8BClCAAhSgAAUoQAEKUIACBiDA4M0AOolVpAAFKEABClCAAhSgAAUowOCN7wEKUIACFKAABShAAQpQgAIGIMDgzQA6iVWkAAUoQAEKUIACFKAABSjA4I3vAQpQgAIUoAAFKEABClCAAgYgwODNADqJVaQABShAAQpQgAIUoAAFKMDgje8BClCAAhSgAAUoQAEKUIACBiDA4M0AOolVpAAFKEABClCAAhSgAAUowOCN7wEKUIACFKAABShAAQpQgAIGIMDgzQA6iVWkAAUoQAEKUIACFKAABShgrovg+vXrWLhwIS5fvgylUqkr6aNjZmZm8Pb2Rv\/+\/eHu7q7XOUxEAQpQgAIUoAAFKEABClCAAroFZFlZWUJBScaOHQsfHx+Eh4fD2dkZMpmsoKTq\/YIgICkpCTt37sSlS5cQGRmpM71eB7P\/xPh6XbG+5U\/4a1pTWOs6SUhD7J\/RuOTYGM2rOkB3bXVlxGOGLBAbGwtfX191E8T3LN8GhtyZrDsFKEABClCAAhSggBRnqWM2nbdNXrlyBT179oSXlxfs7e1hZ2en9fXzzz\/jgw8+wIEDB9RppXMuXLhQOLOQiDW9veBkYwUrKyvY2JdBhcBGiPh4LvbdVOScL3eAu68f\/DycYFZYjtlHMbN7N3zxewIKjEgLy4PHKUABClCAAhSgAAUoQAEKvIQCOoO3Bw8ewNLSUme1xZE7bN68Gampqdi4caM6rRSIZWdn6zwv56ACKQlJUNT7DJv27MWOTT9hzvCWkP3+Gdo1H4rtKWIIZlYVA1ftwdoh1aC7JnoUxyQUoAAFKEABClCAAhSgAAUMVEBn8KatTVKQ9vDhw0eHpOCuRYsW6iCvTZs22k4pdJ+8jD8aNKiPhk1bo0u\/L\/Dz0kHwivsRy3Y9AJQxmFTHAcFjjyJ3LE7cdwt7ZvRGE9+ycLAvDfeAlog8lJlbTjb+HBmAUmJ9LC0d0G21mEfWbnzoZY+wWZehyk2lip2NcIdK+GhPFqC6hW1fvIGmIV5wsbeFnYs3eq64mZM2+yq2fNkDTQLdUdqxHPzCB+C7Y6k5I3vibZonFg1EuH852NvYoYxXdbz9Q9yjMgptOBNQgAIUoAAFKEABClCAAhTQU0DngiVSHiqVCnL54xhv1apV6pG13r174+bNmyhfvrz6lknppdn0XdykoDqa2drCWpaNjIePwrU8STNwNLIzIqKy0WXsfEyoVRqZtxLhVNkiN40Fqn2yGovfqiDeEyqHYwWds+RyzhEScHTTFlzxGYclsxvBSZECM7+y4tnpODCuI3qu8sKwmasR5ZGMHVM+wrDXRsLrxHy0uhqF\/h9vhcfYxdjRxh2q2+eRWsFN972oBTWa+ylAAQpQgAIUoAAFKEABCugQKDR4UygUj26dlIK17du3q7OTgraVK1di3rx5sBWDrbybdE6RNlW2ejRPnpmKm+eisXzcdzht3RjvNrLPn03KZnw99wyCRh3FgqH+eKIB4iCatFmX80NQUJXHQVTu\/vyZ5d0jh0NQC7wSXvtRnkLSb\/jfwhtoOXsnxnZ1US+AUn1OHLYHRmLtgSi0sL6LBMEJLcOaoV51yaCG7iJ4lAIUoAAFKEABClCAAhSgQDEFCr1tUhp502zLly9XPzJAen377be4d+8e1q5dm6\/ooo68PdzUD+4ODnByrYDAJn3w\/d0GGPfzIvTzyl+97HPH8E+6JxqHVXkycMtXi2ffobhwAjHpadjybmXx9kx79aItjoGf4kBWGm7dugfzBgMwvHkK5rSrgdYDp2HtP3cf39r57MUzBwpQgAIUoAAFKEABClCAAo8E9Bp5k1KfP38ef\/75Zz663377Da1atVKPxGm2ogZvlmHjsWlyG9hb2cG5fEVULGtb8MqSgkr3SpLaFoaXySE+fg4KcRGVIq1CKa3IKXdD9wWbMbJmXio57NzERydYuWLwhtNou3MFvo2KwoAGs\/DNhE3YMrKW7kca5FPkDgpQgAIUoAAFKEABClCAAroF8g9tPZVeE4gtXbpUa07S8Z9++umJY0UN3uROPqhdtw5qVQtEZV2Bm1iKuU8oqlrFY\/++y\/lHuWTWsBGnuKWmpD65aIjcFeVcBVw9dxGPl1rR2pwndpr7hCDQ6i5OXlSisr8\/\/B+9fOHhmPvgApkdvFsOxIyNR7DpI1ccmbcEh\/S6TbPw8pmCAhSgAAUoQAEKUIACFKCARqDQkTdNIDZ58mS91YoavOmdsZhQ5tIJQ96ZivaT30Bf4TP0qlceFqlxeFDpVXQM8UWNkFL45udpmFf3PQQLV5Hg0gGv1\/dD+45VMXnGGAyuloVeoaWB2BgkPL4jVGsVpLI+6jsVHWf2xNtmo9G7YQVYpcfjTHIVvN2rPmyvbMaCvQKCQjxhmxWPvf+mAM4ucC40JNZaHHdSgAIUoAAFKEABClCAAhQoUEBn8GZubo5+\/foVeLKuAxYWmtUfdaUqzjFxyf\/JW7DWeRQmLvgQb0x4AAtXf0RMbY72oR7oOnk2ovuNxcRuG5Dt4I3Wn9fBq\/WdETp8BRYmDcHEKX3wS7ISpUq7watuOKqX0\/Xobwc0m7IVa8qMxqRlw9B90j3A0RMhXScjoidgefsUfp05B6MuJyLTojQq1WyP6QuGoppO1eK0mecUVUC\/5wwWNVempwAFKEABClCAAhSgwIsX0FzbysSHbBc4DWz06NE4e\/ZssWpXtWpVREZGFutcnkSBZxGIjY2Fr6+vOguZuD1LXjyXAhSgAAUoQAEKUIAC\/7WAIG5SHXSOEUnPblu0aBEuXbqkXmFSn81MXBnEx8en2CN2+pTBNBSgAAUoQAEKUIACFKAABUxNQOfIm6lhsL3GIcCRN+PoR7aCAhSgAAUoQAEKUCBHQDPyxqU1+I6gAAUoQAEKUIACFKAABShgAAIM3gygk1hFClCAAhSgAAUoQAEKUIACDN74HqAABShAAQpQgAIUoAAFKGAAAgzeDKCTWEUKUIACFKAABShAAQpQwHQFNCuo61xt0nR52HJjEdBM7pTaw8cGGEuvsh0UoAAFKEABClDANAU48maa\/c5WU4ACFKAABShAAQpQgAIGJsDgzcA6jNWlAAUoQAEKUIACFKAABUxTgMGbafY7W00BClCAAhSgAAUoQAEKGJgAgzcD6zBWlwIUoAAFKEABClCAAhQwTQEGb6bZ72w1BShAAQpQgAIUoAAFKGBgAgzeDKzDWF0KUIACFKAABShAAQpQwDQFGLyZZr+z1RSgAAUoQAEKUIACFKCAgQkweDOwDmN1KUABClCAAhSgAAUoQAHTFGDwZpr9zlZTgAIUoAAFKEABClCAAgYmwODNwDqM1aUABShAAQpQgAIUoAAFTFOAwZtp9jtbTQEKUIACFKAABShAAQoYmACDNwPrMFaXAhSgAAUoQAEKUIACFDBNAQZvptnvbDUFKEABClCAAhSgAAUoYGACDN4MrMNYXQpQgAIUoAAFKEABClDANAUYvJlmv7PVFKAABShAAQpQgAIUoICBCTB4M7AOY3UpQAEKUIACFKAABShAAdMUYPBmmv3OVlOAAhSgAAUoQAEKUIACBibA4M3AOozVpQAFKEABClCAAhSgAAVMU8B4gjfVTez+ZhxmbrsFlWn2JVtNAQpQgAIUoAAFKEABChixgHlhbYuIiMD69eshfdV306SXvpbIlv0nxtfrivUtf8Jf05rCWlumyivYMjsKBwe8hY\/bumlLwX0UoAAFKEABClCAAhSgAAUMVqDQ4E1qmSZw0ycYk9LqFegJSVjVPQB9\/+mNP05NRyPLJw2zDn6K0FY\/ouEv\/2JxWwe4+\/rBz8MJZgZLzYpTgAIUoAAFKEABClCAAhQovoBet03qE7TlrYJe6WXOaNujLZyurcMvBx8+1YJMHF6zHtdcO6FHuD1gVhUDV+3B2iHV8FSMV\/yW80wKUIACFKAABShAAQpQgAIGJKBX8KbXSFqeRuub3rFld7R3uYkNv0QjIy\/aw4NY\/esNuHftgTAb8YAyBpPqOCB47FEoNOkeXsCakZ1QzdMJdo7uCG43EbtThCfps69iy5c90CTQHaUdy8EvfAC+O5aKR6mUN7Fzypto5O0Ce3tX+DR6C9N234RSk4uQhhOLBiLcvxzsbexQxqs63v4hjnPqDOgNzqpSgAIUoAAFKEABClDAWAT0Ct70GknLI6J3ervmePNVD9zdtBp70h9nkBG9GhvueKN7r\/qw0iYtpOKPER3RZ\/FtNBi9DBvWL8DIpg7IyMwbvKXjwLiO6Lk4Ha0jV2Pn9kXo77QTw14bid\/vSZlm4K8vOqLr9HMIGrYUGzcuxtDAM5ga0QWRR3NGApWno9D\/461wfGcxdhyMxqbvR6NnLTfohaat3txHAQpQgAIUoAAFKEABClCgmAJFmvOmbxn6jrwBpdDo7Z7w\/X4hft6Rilc6O4pF3MeuVZuQFDIYvapbaC1SSNyIeStvoM7nWzFvcOWcYKpJaZxcvg0Hc88Qkn7D\/xbeQMvZOzG2qwtk4v7qc+KwPTASaw9EoU39Tfh6\/jmEjDqKbwf5q+fSNWvsg7TTdTFr1hYMWdkVNgl3kSA4oWVYM9SrbiumqKG1PtxJAQpQgAIUoAAFKEABClDgeQvoFbxpVo\/UNyjTpNen8uahb+HtWrPw1YotSOjUA2VStmHlpjQ0\/LwH\/ApYnURx8RTOZnmiS4MKBY6CKS6cQEx6GuLerQyH9zQ1UUGRJYf1rXvIPn8cJx94olNYlceLoJj7IKyxOyZtPYYLiq6o3WAAhjf\/FSPb1cCxbv3x3sC+6FzdFXqh6dN4pqEABShAAQpQgAIUoAAFKKCngF5xyHNZbVJTQTNv9OzfAl8NWY51119Hxx0\/YLusLb59o+DADDJpHE2AoHpqjlveRgviMbkbui\/YjJE18zZTDjs3Z8jOiucXhmQVjMEbTqPtzhX4NioKAxrMwjcTNmHLyFraH1dQWH48TgEKUIACFKAABShAAQpQoJgCek3f0nsOW24lipZeBrcu\/dHZYT8WLtmApQv2wPG1\/mhfRgrQtG\/mfjURan0Nu3ecRZb2JDD3CUGg1V2cvKhEZX9\/+D96+cLD0Qw5ecRj\/74rjxcoUVxE9IEbsAmtCV9NvCezg3fLgZix8Qg2feSKI\/OW4FBBhRZQF+6mAAUoQAEKUIACFKAABSjwrAJFGnnTtzB9b698lJ9Dawzq442wWe\/iYrY\/hn3XFNIikwVtstIdMWxQIFpPfwO9MA79m1SA1f1DuJD+eCxN5tIJH\/Wdio4ze+Jts9Ho3VBMkx6PM8lV8La4EIpD6Q745H1\/tJ7aC4PsJqBnVQExKz7HtDOB+CiqHaTZd8rLm7Fgr4CgEE\/YZsVj778pgLMLnPUKeQuqPfdTgAIUoAAFKEABClCAAhQouoBeYUjRRtKAoqYHLFB9wGA0RTrMWn6Ad4IKiymtUXf8Jmyc2BjJPw7HG6+0Roe3ovCvRxM0DnTInQfngGZTtmLNpzVwfdkwdG\/XFhH9J+DnQ\/FIU8d4Nqj3+W9YO8wPp6b3RocOffC1GLh9um4DxtaxVktm3z6FX2e+h45h9dHolQFYntYa0xcMRbXCqlf0fuAZFKAABShAAQpQgAIUoAAFdArIsrKydE79yjuKpk9QVtT0OmvHgxQohkBsbCx8fX3znSkTt3w7uYMCFKAABShAAQpQgAIGICCIm15jSM9ztUkDcGIVKUABClCAAhSgAAUoQAEK\/OcChY68\/ec1ZAUoUEQBjrwVEYzJKUABClCAAhSgAAVeegFp5E2vOW8vfUtYQQpQgAIUoAAFKEABClCAAkYuwODNyDuYzaMABShAAQpQgAIUoAAFjEOAwZtx9CNbQQEKUIACFKAABShAAQoYuQCDNyPvYDaPAhSgAAUoQAEKUIACFDAOAb1WmzSOprIVpiSQnZ1tSs1lWylAAQpQgAIUoAAFjFxAur5l8GbknWyqzbOwsDDVprPdFKAABShAAQpQgAJGKCBd3\/K2SSPsWDaJAhSgAAUoQAEKUIACFDA+AQZvxtenbBEFKEABClCAAhSgAAUoYIQCDN6MsFPZJApQgAIUoAAFKEABClDA+AQYvBlfn7JFFKAABShAAQpQgAIUoIARCjB4M8JOZZMoQAEKUIACFKAABShAAeMTYPBmfH3KFlGAAhSgAAUoQAEKUIACRijA4M0IO5VNogAFKEABClCAAhSgAAWMT4DBm\/H1KVtEAQpQgAIUoAAFKEABCszIIjUAABxQSURBVBihAIM3I+xUNokCFKAABShAAQpQgAIUMD4BBm\/G16dsEQUoQAEKUIACFKAABShghAIM3oywU9kkClCAAhSgAAUoQAEKUMD4BBi8GV+fskUUoAAFKEABClCAAhSggBEKMHgzwk5lkyhAAQpQgAIUoAAFKEAB4xNg8GZ8fcoWUYACFKAABShAAQpQgAJGKMDgzQg7lU2iAAUoQAEKUIACFKAABYxPgMGb8fUpW0QBClCAAhSgAAUoQAEKGKGAeVHb9OWXX+LKlSu4d+8eHBwcULlyZYwbN66o2TA9BShAAQpQgAIUoAAFKEABChRBoMjB2\/HjxzFr1ixYWVkhKysLH3\/8cRGKewmSCgk48P0s7HLtj8+6VobZS1AlVoECFKAABShAAQpQgAIUoEBhAjIxABMKSxQXF4f9+\/cjJiYGZ8+ezZc8ICAAwcHBaNy4Mby8vPIdf6l2KGMwqX5D\/NxmF\/6ZVBtFjl5fqsawMtoEYmNj4evrm++QTNzy7eQOClCAAhSgAAUoQAEKGICAIG56xS6Fja5JAZ30WrNmDdavX69f01XX8E2rQHwSnaU9vVVrzL+0Ee+U5fW2diDupQAFKEABClCAAhSgAAVMSaDQ4C0iIqJIHlJ6vQI4+f\/buxNoq8qyD+APcC+TcBkEBUxRZFABQTDJz5kcQTLIKRxSlxhan5Vlaqk5l0YqKUJOEJ\/5ZZZDklPyBVlZCSQGVFoCOaBLTBwZLvfu7xwQGbx4j2zuey+u31nrrsPdez\/v8+7fhrXOnz2cbWLEtQ9F3yXVhfFXxpzxp8Y3ZxwU1998WvQsXsvYuH30bCe4fSR8GxMgQIAAAQIECBAg8LEVqDW8FYNYMZDdc889sXmvOmsWXfrtF11W0VZG2QPNotG8HWLA\/gfEwDWzqn45Hr707Pjuz\/8UcxcsjmXNOsVnrv9d3HHiNvGvWz4fIy6bGgteWxblHXrFAaddFeMuOjy6FINf9lbMvv3c+Oo198aM59+Jph27x9Ar7o9JJ3WN1Y\/XrI4X7zwl+tz+QrzwdtPo1G9IfGXM9fHlQW1DXPzY\/l23YwQIECBAgAABAgS2aIGP\/FUBa87EbfheuARzVcjbrK\/Cw0VmTHkw5nc\/Kyb+8pF46H\/Hxpf326YQwBrHNnufHldNmhLTHv91\/PjsbjFnzGlx3i+XRPEGvqq5Y+P0rz4UbU67PR77w+Mx5eYLYuTATu8Ft9UzbLnL5+I7t94TU+76fnyu6aNx3vHnx6NvbdbZG4wAAQIECBAgQIAAAQKbTaDWM2+brdMmD9Q4Knp\/Oo44aP2Hi7Tpc2gM67N60IH928Wcnw+KyX\/6R6wcPihi8auxOGsbB+9\/YAzqv1Vhoz026N442g0YFscMWT3mvp2ei0f2uyMe\/ktlHLZ\/+SbPVCEBAgQIECBAgAABAgTqSuAjn3nb2ESKl1SWdK\/bxgb4SMuXx\/wHLonPH9A3durcMTp1OyomPLsyli9btmqU8r1HxTcGL4kbhuwRh46+Jn7x1KuFu+o2\/mrSdefo2vg\/sfj14v13XgQIECBAgAABAgQIEGh4ApstvI0aNWrVZZPF97p+Vc29LkaeOC6eH3Bu3DZlWky995oYvsM6u9KsT3zp\/rkx++5zYvcXJ8aovXePQ66eGUs3MrFGTcoK3\/dWHVWy20aELCZAgAABAgQIECBAoL4Fcoe34tm2lStXxm677bZqX4rvxd\/r8rVszsyYW71PnHHRSTF4YO\/o3X9gdG+\/wa40ahU7Hzw6xjzwZEw5u2M8edPEeGIj30pQl3M1NgECBAgQIECAAAECBDaHQO7wtnTp0rjsssvi7bffjiuuuGLVe\/H34vK6ejXr1Te6Z0\/Ebd\/9STz257\/E7KeejoVvrP2u8arnfhUTJk6Jx2c8FbP+MC2m\/21JRPsOsWG+q6v5GZcAAQIECBAgQIAAAQKbW+AjP7BkzX1ta95vvPHG6NSpU5x55pmrvkqgeOZt\/PjxUVx+7rnnbu75rhqvrP85MXHsS\/G1738jRtz4RlQ1bRXtt+0Ze3Zrt+pR\/5Wv\/DXu+8ENcf5zr8Xy8nax44Ch8f1bvhb9intbVSdTMigBAgQIECBAgAABAgTqVKDRihUr1p6y2kirD\/uet5EjR8aECROioqLi\/eo333wzRo8eHXfeeedGRrSYQN0JLFiwIHr06PGBBoX\/XPA1fh9QsYAAAQIECBAgQGBLECh8NVtW0mWTrVq1ikWLFtV4L9tOO+0Ujz76aCxZsiSqq6tXvRd\/79at25ZgYI4ECBAgQIAAAQIECBDYIgRKOvP2s5\/9LO67774P3MdWvHSyGOomT54c8+bNi+IZt+IZuOKlkyeffHJ07tx5i0AwyY+XgDNvH6\/jaW8IECBAgAABAgQiimfeSgpvsAhsSQLC25Z0tMyVAAECBAgQIECgFIGSL5ssZTDbECBAgAABAgQIECBAgEDdCZR0z1vdtTcyAQIECBAgQIAAAQIECJQiILyVomQbAgQIECBAgAABAgQI1LOA8FbPB0B7AgQIECBAgAABAgQIlCIgvJWiZBsCBAgQIECAAAECBAjUs4DwVs8HQHsCBAgQIECAAAECBAiUIiC8laJkGwIECBAgQIAAAQIECNSzgPBWzwdAewIECBAgQIAAAQIECJQiILyVomQbAgQIECBAgAABAgQI1LOA8FbPB0B7AgQIECBAgAABAgQIlCIgvJWiZBsCBAgQIECAAAECBAjUs0BZPffXnkCdCFRWVtbJuAYlQIAAAQIECBAgUB8Cxc+3wlt9yOtZ5wLl5eV13kMDAgQIECBAgAABAqkEip9vXTaZSlsfAgQIECBAgAABAgQI5BAoW7RoUY5ypQQIECBAgAABAgQIECCQQqCsc+fOKfroQSCZwIIFC5L10ogAAQIECBAgQIBAKgGXTaaS1ocAAQIECBAgQIAAAQI5BIS3HHhKCRAgQIAAAQIECBAgkEpAeEslrQ8BAgQIECBAgAABAgRyCAhvOfCUEiBAgAABAgQIECBAIJWA8JZKWh8CBAgQIECAAAECBAjkEBDecuApJUCAAAECBAgQIECAQCoB4S2VtD4ECBAgQIAAAQIECBDIISC85cBTSoAAAQIECBAgQIAAgVQCwlsqaX0IECBAgAABAgQIECCQQ0B4y4GnlAABAgQIECBAgAABAqkEhLdU0voQIECAAAECBAgQIEAgh4DwlgNPKQECBAgQIECAAAECBFIJCG+ppPUhQIAAAQIECBAgQIBADgHhLQeeUgIECBAgQIAAAQIECKQSEN5SSetDgAABAgQIECBAgACBHAJbfnjLFsfvf\/TtuPye+VGVA0IpAQIECBAgQIAAAQIEGrLAJoe34cOHp92v7K1Y8MSDMXXem5Gt27n65fjNrTfEXbNeW3952tnVXbeN7XflH+PiAV2i7zenx9K6625kAgQIECBAgAABAgQaiMAmh7fNOf\/srb\/FPZefGofs3jW2bt0q2nbZJfY99vyYNGNxVK9pVDkjfnD8cXHpI4vTh7Tslbh1aOuoOPqn8fbm3PFSxtrYfjeuiC49ekbP7dpGk1LGsQ0BAgQIECBAgAABAlu0QFl9zz577f\/i\/COOjh\/+u3scc9a3Y\/weXaJs8Zx4ZNK4+NLg++N3k6bGzSO6RINImfWNtW7\/JrvF6LumxeiGNCdzIUCAAAECBAgQIECgzgTqORO9E9MvPzNumD8grvj19Jh88Rlx7LAjY8Sp58ePfj0txg5+M+78yvlx\/2trLpSsjD+et0s0b9o0mjatiOPufvc9mOp48c5Tok+XttGqYpvovt8pccOflqw9Q1f573jw8s\/Hfrt2iXZtto2eB42KH818Y\/X6wmWXD196bBzQt2t0aL1VtOqwc4y8Y9HaM36l0FctiqnfOzH22blDtG7dMbrvc1Jc85tF69+DV\/VyTBvzhdivxzZR0bpddNnl4LjyieWF0avi2VuOjb7bbx2tW24V7XcYEMMveTheWu8Gvhr2u2pOXPHJiuhz4YxYuWaOtc2j+sW495wjYq9dd4iOFS2j5YZWhUs0Z982Og7qtW1hLq1i66794+T\/WViKgG0IECBAgAABAgQIEKhjgfo98\/butJh81\/PR6fjxcVbfFuvvatOd4wvfPiWuP+CmmPzga\/HZ44qry6PfOXfH7SdtXzgT1zjabL+2puUun4vvfPmA6Nzo+XhozAVx3vHnR8+nJ8Rhrd+J3180LEbe1TW+\/oO7Y+x2r8dj3zs7vn70edF19oQ4fKvFMWPKgzG\/+0Ux8Yf7RNuVS6JJz20+wpm+pfHnS4fFiHGN4rjLJ8WVu2Ux945L4uLhn41lj02Pi\/dsXpj30phx5VExfGxlfPbCCXHJwHax\/OXXou1O5YV1jWKbvU+PqyZ9Lbq0zeKl31wb51xyWpzXb15MHt62sPbD93stWgnzyF6PuY\/\/Ll7pfWlMGjcgmr\/7r3hwzIXvWx28cGyc\/tWHYrsLb4\/HDusS1a88E29s32ltC38iQIAAAQIECBAgQKDeBEoKbxt7OElNy++9996Sd6bqpb\/Hs282ib579otixNnwVd5nz+jXfHnM\/vuC989itdi2Z\/Tu3W1tuFp1hqpxtBswLI4ZsmcUd2jfTs\/FI\/vdEQ\/\/pTIO7fPLuP7Wl+LgH06NC0d0WBWG+t+wMB7d9cr4xe\/HxuGHrq6v6P3pOOKg1fUbzuPDfs9enxLXTvhH9D1\/Row\/q9eq+88O3Ld7vDV3r7juugfjKz8ZEW2W\/CquHTcvehe2ueVrvVbNcd1Xmz6HxrA+q5cM7N8u5vx8UEz+0z9i5fBBhbi6+lXzfq8dpaR5rNq8UbTeZf84bHBxXw+MA7osjMf2\/8kqq8HVr8birG0cvP+BMaj\/VoVt91jbwJ8IECBAgAABAgQIEKhXgQ1zRI2TqSmQFYNbTctrHOBDFq735MiNblfaVmvKm3TdObo2\/k8sfr06Vj47O+a881YsPGOnqPjimi0Ky1c0jhYvb\/Dkyo323\/iKlc\/Miqff\/UR8Zv9uax8cUtY99t+3S1zx0Mx4duWI6PePmfHUO6u3+SD48pj\/wHfjW2N+EX985uVY2rRdNHt7ZTT51LKNN61hTSnz2HP1abz1qotWO75nVX74qPjG4PvivCF7xMzjTo8vjj41jurf8QNhs4b2FhEgQIAAAQIECBAgUMcC9XrPW5POPaN766r468zZUVNUqZw7K\/66rGl077nj6mBUQ\/ioyadRk7LC9tVRVXxUZVYIfo07xfG3\/DFmzJjx3s+seOrpWTFhRPv3LkusaZRSl2W1P\/0yq97oNlVzr4uRJ46L5wecG7dNmRZT770mhu+wwWEpab9LmEcNu9SorHytVbM+8aX758bsu8+J3V+cGKP23j0OuXpmDVUWESBAgAABAgQIECCQWqBew1tsdWCcePR28fJPr46b520Q3yrnxx1XTYx\/thsSJwwpXO7YqEW0LNzi9saSNz7Sw0TKuveNXZu9Gk\/\/syp26tUrer3\/0yO2a5P\/IftlPQfE7i1eiN\/9dp0vCV\/5z3j89y9Fy90HRI\/Cqbay7rvHbs2K2zy39uEi7x3pZXNmxtzqfeKMi06KwQN7R+\/+A6N7+3UOS4n7Xco8SvrL1ahV7Hzw6BjzwJMx5eyO8eRNE0sqsxEBAgQIECBAgAABAnUr8MGr+Oq23wajt45PXzIuznziuLjg4INi9pfOiGEDOkeT4lcFTLwhJj3ZMo65\/eoY0bFw6inrEXv0bR43\/vSauGmvL0af7N+xuMORccwnP3zCjTp8Js4+9eoY9oORcXKTC+IL\/7V9NHvnhZj3erc4+YRPRcWHl6+3tnrxvJg+deo69+c1jo67HR7nnNkrDr36hDir1SUxsvDAkjl3fCeumbdrnD12SLQpjlCYw1dOuzqGXnVsnJp9K04Y1DnK31gY7+74uTiiV9\/ono2L2777k+hyTO\/oWPZSLHxjnctEy0rb70btjqx9HrXsa9Vzv4pbpmfRu+8nYqsVL8T0vy2JaN+hliqrCRAgQIAAAQIECBBIIrBixYpsU36GDh26SXU19Vq+eFZ2xwXHZvv03DZr1axp1qJ912zgkf+djfvtC9nSdeb39rwfZ6P23j6raFqWtejQKzvqhtnZ0qWzsov7Nc96fvMP2btrtn11UnZk8xbZ0Xe9tXqO7zyXPXDJcdmgndpnLcoKtVvvmO016s5s\/rLCvtdUv6HJ8uezmw5pVkxUG\/w0y4be9kq2fOmC7MFLj8n2\/ERF1qxZRbb9J4\/NLn944XpzX1GYw5RLj8326to2a17WNGvduW928uT52bIV\/8meHH9atm+39lnzJk2y8hZtsm137JsNHTPj\/f0peb9rm0dN+7qO1ZvTL8sG9+yYtSxrnDVpsXW28z4nZ2P\/8OpmO841Hfu6WPbMM89kNb2S\/IPShAABAgQIECBAgEAdCBQ\/3zYqfniug7ENSaDeBBYsWBA9evT4QP9GhdcHFlpAgAABAgQIECBAYAsQKIa3+r3nbQtAMkUCBAgQIECAAAECBAg0BAHhrSEcBXMgQIAAAQIECBAgQIBALQLCWy1AVhMgQIAAAQIECBAgQKAhCAhvDeEomAMBAgQIECBAgAABAgRqERDeagGymgABAgQIECBAgAABAg1BQHhrCEfBHAgQIECAAAECBAgQIFCLgPBWC5DVBAgQIECAAAECBAgQaAgCwltDOArmQIAAAQIECBAgQIAAgVoEhLdagKwmQIAAAQIECBAgQIBAQxAQ3hrCUTAHAgQIECBAgAABAgQI1CIgvNUCZDUBAgQIECBAgAABAgQagoDw1hCOgjkQIECAAAECBAgQIECgFgHhrRYgqwkQIECAAAECBAgQINAQBMoawiTMgcDmFqisrNzcQxqPAAECBAgQIECAQL0JFD\/fCm\/1xq9xXQqUl5fX5fDGJkCAAAECBAgQIJBUoPj51mWTSck1I0CAAAECBAgQIECAwKYJCG+b5qaKAAECBAgQIECAAAECSQWEt6TcmhEgQIAAAQIECBAgQGDTBIS3TXNTRYAAAQIECBAgQIAAgaQCwltSbs0IECBAgAABAgQIECCwaQLC26a5qSJAgAABAgQIECBAgEBSAeEtKbdmBAgQIECAAAECBAgQ2DQB4W3T3FQRIECAAAECBAgQIEAgqYAv6U7KrVl9CmSFV33215sAAQIECBAgQIBAHgFn3vLoqSVAgAABAgQIECBAgEAiAeEtEbQ2BAgQIECAAAECBAgQyCMgvOXRU0uAAAECBAgQIECAAIFEAsJbImhtCBAgQIAAAQIECBAgkEdAeMujp5YAAQIECBAgQIAAAQKJBIS3RNDaECBAgAABAgQIECBAII+A8JZHTy0BAgQIECBAgAABAgQSCQhviaC1IUCAAAECBAgQIECAQB4B4S2PnloCBAgQIECAAAECBAgkEhDeEkFrQ4AAAQIECBAgQIAAgTwCwlsePbUECBAgQIAAAQIECBBIJCC8JYLWhgABAgQIECBAgAABAnkEhLc8emoJECBAgAABAgQIECCQSEB4SwStDQECBAgQIECAAAECBPIICG959NQSIECAAAECBAgQIEAgkYDwlghaGwIECBAgQIAAAQIECOQREN7y6KklQIAAAQIECBAgQIBAIgHhLRG0NgQIECBAgAABAgQIEMgjILzl0VNLgAABAgQIECBAgACBRALCWyJobQgQIECAAAECBAgQIJBHQHjLo6eWAAECBAgQIECAAAECiQSEt0TQ2hAgQIAAAQIECBAgQCCPgPCWR08tAQIECBAgQIAAAQIEEgkIb4mgtSFAgAABAgQIECBAgEAeAeEtj55aAgQIECBAgAABAgQIJBIQ3hJBa0OAAAECBAgQIECAAIE8AsJbHj21BAgQIECAAAECBAgQSCQgvCWC1oYAAQIECBAgQIAAAQJ5BIS3PHpqCRAgQIAAAQIECBAgkEhAeEsErQ0BAgQIECBAgAABAgTyCAhvefTUEiBAgAABAgQIECBAIJGA8JYIWhsCBAgQIECAAAECBAjkERDe8uipJUCAAAECBAgQIECAQCIB4S0RtDYECBAgQIAAAQIECBDIIyC85dFTS4AAAQIECBAgQIAAgUQCwlsiaG0IECBAgAABAgQIECCQR0B4y6OnlgABAgQIECBAgAABAokEhLdE0NoQIECAAAECBAgQIEAgj4DwlkdPLQECBAgQIECAAAECBBIJCG+JoLUhQIAAAQIECBAgQIBAHgHhLY+eWgIECBAgQIAAAQIECCQSEN4SQWtDgAABAgQIECBAgACBPALCWx49tQQIECBAgAABAgQIEEgkILwlgtaGAAECBAgQIECAAAECeQSEtzx6agkQIECAAAECBAgQIJBIQHhLBK0NAQIECBAgQIAAAQIE8ggIb3n01BIgQIAAAQIECBAgQCCRgPCWCFobAgQIECBAgAABAgQI5BEQ3vLoqSVAgAABAgQIECBAgEAiAeEtEbQ2BAgQIECAAAECBAgQyCMgvOXRU0uAAAECBAgQIECAAIFEAsJbImhtCBAgQIAAAQIECBAgkEdAeMujp5YAAQIECBAgQIAAAQKJBIS3RNDaECBAgAABAgQIECBAII+A8JZHTy0BAgQIECBAgAABAgQSCQhviaC1IUCAAAECBAgQIECAQB4B4S2PnloCBAgQIECAAAECBAgkEhDeEkFrQ4AAAQIECBAgQIAAgTwCwlsePbUECBAgQIAAAQIECBBIJCC8JYLWhgABAgQIECBAgAABAnkEhLc8emoJECBAgAABAgQIECCQSEB4SwStDQECBAgQIECAAAECBPIICG959NQSIECAAAECBAgQIEAgkYDwlghaGwIECBAgQIAAAQIECOQREN7y6KklQIAAAQIECBAgQIBAIgHhLRG0NgQIECBAgAABAgQIEMgjILzl0VNLgAABAgQIECBAgACBRALCWyJobQgQIECAAAECBAgQIJBHQHjLo6eWAAECBAgQIECAAAECiQSEt0TQ2hAgQIAAAQIECBAgQCCPgPCWR08tAQIECBAgQIAAAQIEEgkIb4mgtSFAgAABAgQIECBAgEAeAeEtj55aAgQIECBAgAABAgQIJBIQ3hJBa0OAAAECBAgQIECAAIE8AsJbHj21BAgQIECAAAECBAgQSCQgvCWC1oYAAQIECBAgQIAAAQJ5BIS3PHpqCRAgQIAAAQIECBAgkEhAeEsErQ0BAgQIECBAgAABAgTyCAhvefTUEiBAgAABAgQIECBAIJGA8JYIWhsCBAgQIECAAAECBAjkERDe8uipJUCAAAECBAgQIECAQCIB4S0RtDYECBAgQIAAAQIECBDIIyC85dFTS4AAAQIECBAgQIAAgUQCwlsiaG0IECBAgAABAgQIECCQR0B4y6OnlgABAgQIECBAgAABAokEhLdE0NoQIECAAAECBAgQIEAgj4DwlkdPLQECBAgQIECAAAECBBIJCG+JoLUhQIAAAQIECBAgQIBAHgHhLY+eWgIECBAgQIAAAQIECCQSEN4SQWtDgAABAgQIECBAgACBPALCWx49tQQIECBAgAABAgQIEEgkILwlgtaGAAECBAgQIECAAAECeQSEtzx6agkQIECAAAECBAgQIJBIQHhLBK0NAQIECBAgQIAAAQIE8ggIb3n01BIgQIAAAQIECBAgQCCRwP8DOBH+c\/MVqJkAAAAASUVORK5CYII=\" alt=\"\"><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Select &#8220;Registered User&#8221;. Provide a value for &#8220;Username&#8221;. For Domain, put &#8220;WORKGROUP&#8221;. Provide a value for &#8220;Password&#8221;. Click on &#8220;Connect&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"527\" height=\"421\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-41.png\" alt=\"\" class=\"wp-image-4517\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-41.png 527w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-41-300x240.png 300w\" sizes=\"auto, (max-width: 527px) 100vw, 527px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-42-1024x512.png\" alt=\"\" class=\"wp-image-4519\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-42-1024x512.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-42-300x150.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-42-768x384.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-42.png 1027w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Testing the network file share using File Explorer in Windows 11 Pro<\/h1>\n\n\n\n<p>From the File Explorer application in Windows 11 Pro, enter the address of the server in the address bar. Prefix the address with &#8220;\\\\&#8221; as in &#8220;\\\\192.168.56.40&#8221; for the following example. Enter the IP address of your home server:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-45-1024x577.png\" alt=\"\" class=\"wp-image-4526\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-45-1024x577.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-45-300x169.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-45-768x432.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-45.png 1119w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-46-1024x563.png\" alt=\"\" class=\"wp-image-4528\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-46-1024x563.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-46-300x165.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-46-768x422.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-46.png 1089w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Advanced applications of Samba including Active Directory authentication<\/h2>\n\n\n\n<p>For a detailed discussion about Samba and advanced topics including Active Directory authentication, refer to <a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2022\/05\/16\/integrating-open-source-software-in-the-enterprise-chapter-1-creating-a-network-file-share-with-linux-and-samba-authenticating-against-active-directory\/\">Integrating open source software in the enterprise Chapter 1: Creating a network file share with Linux and Samba authenticating against Active Directory<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Installing a few utilities on the home server<\/h1>\n\n\n\n<p>Open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install iptraf-ng finger wireguard virt-manager build-essential\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Registering a persistent host name with noip.com<\/h1>\n\n\n\n<p>Visit the website <a href=\"https:\/\/noip.com\">noip.com<\/a><\/p>\n\n\n\n<p>Create a free account. Create a hostname. Click on &#8220;Dynamic Update Client&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"694\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-47-1024x694.png\" alt=\"\" class=\"wp-image-4555\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-47-1024x694.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-47-300x203.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-47-768x521.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-47.png 1348w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing the noip dynamic update client (DUC)<\/h2>\n\n\n\n<p>Follow the instructions provided by noip.com to install the noip dynamic update client (DUC):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"801\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-49-1024x801.png\" alt=\"\" class=\"wp-image-4558\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-49-1024x801.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-49-300x235.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-49-768x600.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-49.png 1348w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Enter the following commands in the terminal window. Use the version number in place of <em>x.xx<\/em>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/usr\/local\/src\ntar xzf noip-duc-linux.tar.gz\ncd no-ip-x.xx\nmake\nmake install\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating the \/etc\/rc.local startup script and adding the noip DUC command to the \/etc\/rc.local startup script<\/h2>\n\n\n\n<p>Open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\nnano rc.local\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to add the following text:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#!\/usr\/bin\/bash\n# persistent host name\n\/usr\/local\/bin\/noip2\nexit 0\n<\/pre><\/div>\n\n\n<p>Save and exit the file.<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nchmod 755 rc.local\nsystemctl start rc-local\nsystemctl enable rc-local\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Declaring a CNAME record in DNS to map a subdomain to the IP address of the persistent host name<\/h1>\n\n\n\n<p>If you have a registered domain name, and you have access to the DNS control panel for that domain, you can declare a CNAME record in DNS to map a subdomain to the ip address of the persistent hostname. For example, the <a href=\"https:\/\/godaddy.com\">GoDaddy<\/a> DNS control panel allows the following kind of CNAME declaration:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"178\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-69-1024x178.png\" alt=\"\" class=\"wp-image-4619\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-69-1024x178.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-69-300x52.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-69-768x133.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-69.png 1314w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>This creates the subdomain <strong>servername.example.com<\/strong>, which will ping to the same IP address as <strong>persistenthostname.ddns.net<\/strong><\/p>\n\n\n\n<p>In this case we have set the time-to-live (TTL) value to 1 hour, so the IP address of the CNAME host would be updated once per hour. Many DNS providers block the option of declaring a CNAME to the apex (@) host of a domain. You can still host a subdomain, for example:<\/p>\n\n\n\n<p>https:\/\/servername.example.com<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">If you need to declare the @ host as a CNAME consider pobox.com<\/h2>\n\n\n\n<p>If you need to declare the @ host of a domain as a CNAME associated with a persistent host name, consider using <a href=\"https:\/\/pobox.com\">pobox.com<\/a> as your DNS provider.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-71-1024x746.png\" alt=\"\" class=\"wp-image-4628\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-71-1024x746.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-71-300x219.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-71-768x560.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-71.png 1250w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Using a script to automate the installation of OpenVPN<\/h1>\n\n\n\n<p>The openvpn-install.sh from Nyr automates the installation of the OpenVPN server application:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/Nyr\/openvpn-install\">https:\/\/github.com\/Nyr\/openvpn-install<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Downloading the OpenVPN installation script<\/h2>\n\n\n\n<p>To download the openvpn-install.sh script, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/root\nmkdir openvpn\ncd openvpn\nwget https:\/\/git.io\/vpn -O openvpn-install.sh\nchmod +x openvpn-install.sh\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Modifying the OpenVPN installation script to use a non-default subnet<\/h2>\n\n\n\n<p>Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnano openvpn-install.sh\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the file openvpn-install.sh by using nano&#8217;s search-and-replace function:<\/p>\n\n\n\n<p>Press Control-| for search-and-replace<\/p>\n\n\n\n<p>search for: &#8220;10.8.&#8221;<\/p>\n\n\n\n<p>replace with: &#8220;10.4&#8221;<\/p>\n\n\n\n<p>(replace all occurrences)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Running the OpenVPN installation script<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/root\/openvpn\n.\/openvpn-install.sh\n<\/pre><\/div>\n\n\n<p>When prompted, choose the following options:<\/p>\n\n\n\n<p>protocol: TCP<br>port: 10443<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Modifying the OpenVPN server installation script file<\/h2>\n\n\n\n<p>From a root shell, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/etc\/openvpn\/server\nnano server.conf\n<\/pre><\/div>\n\n\n<p>Locate the following line:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\npush &quot;redirect-gateway def1 bypass-dhcp&quot;\n<\/pre><\/div>\n\n\n<p>Change the line to:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\npush &quot;redirect-gateway def bypass-dhcp&quot;\n<\/pre><\/div>\n\n\n<p>Press Ctrl-X to save and exit the file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Modifying the OpenVPN client profile<\/h2>\n\n\n\n<p>Use a text editor to load the OpenVPN client profile. Add the following text to the bottom of the file:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Modifying the \/etc\/openvpn\/server\/client-common.txt file<\/h2>\n\n\n\n<p>Enter the following commands<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/etc\/openvpn\/server\nnano client-common.txt\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the file.<\/p>\n\n\n\n<p>Replace the line:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nremote xxx.xxx.xxx.xxx 10443\n<\/pre><\/div>\n\n\n<p>with the line:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nremote persistenthostname.ddns.net 10443\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSave and exit the file.\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Restarting the OpenVPN server<\/h2>\n\n\n\n<p>From a root shell, enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsystemctl start openvpn-server@server\nsystemctl enable openvpn-server@server\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating a firewall exception for the OpenVPN server port<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\nufw allow 10443\/tcp\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Modifying the \/etc\/sysctl.conf file to enable network forwarding<\/h2>\n\n\n\n<p>From a root shell, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/etc\nnano sysctl.conf\n<\/pre><\/div>\n\n\n<p>Add the following text to the bottom of the file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnet.ipv4.ip_forward=1\n<\/pre><\/div>\n\n\n<p>Press Ctrl-X to save and exit the file.<\/p>\n\n\n\n<p>Enter the following command to reload the sysctl settings:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsysctl -a\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating the \/etc\/rc.local file<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/etc\nnano rc.local\n<\/pre><\/div>\n\n\n<p>Add the following text. Provide a value for <em>adaptername<\/em> that matches your installation:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n!\/usr\/bin\/bash\niptables -t nat -A POSTROUTING -s 10.4.0.0\/24 -o adaptername -j MASQUERADE\n<\/pre><\/div>\n\n\n<p>If you are using the no-ip.com dynamic update client (DUC), add the following text:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/usr\/local\/bin\/noip2\n<\/pre><\/div>\n\n\n<p>Add the following text:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nexit 0\n<\/pre><\/div>\n\n\n<p>Press Ctrl-X to save and exit the file.<\/p>\n\n\n\n<p>Enter the following command<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nchmod 755 rc.local\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Starting the rc-local service<\/h2>\n\n\n\n<p>Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsystemctl restart rc-local\nsystemctl enable rc-local\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Forwarding ports from the public-facing IP address to the internal IP address of the VPN host<\/h1>\n\n\n\n<p>Use the control panel of your router to forward a port from the public-facing IP address to the internal IP address of the VPN host.<\/p>\n\n\n\n<p>As an example, for the server described in this procedure, we are using the TCP port 10443 to host the connection:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"126\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-72.png\" alt=\"\" class=\"wp-image-4657\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-72.png 597w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-72-300x63.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creating an OpenVPN client adapter profile<\/h2>\n\n\n\n<p>Enter the following command and follow the instructions:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n.\/openvpn.sh\n<\/pre><\/div>\n\n\n<p>Select an IP address from the list:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Which IPv4 address should be used?<br>1) xxx.xxx.xxx.xxx<br><br>IPv4 address [1]: 1<\/pre>\n\n\n\n<p>Enter &#8220;2&#8221; for &#8220;2) TCP&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Which protocol should OpenVPN use?\n\n1) UDP (recommended)\n2) TCP\nProtocol [1]: 2<\/pre>\n\n\n\n<p>Enter &#8220;10443&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">What port should OpenVPN listen to?\nPort [1194]: 10443<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Downloading the OpenVPN client profile<\/h2>\n\n\n\n<p>Use the FileZilla file transfer client to download the OpenVPN client profile:<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2021\/03\/07\/web-presence-step-by-step-chapter-7-configuring-the-ssh-server-on-an-ubuntu-linux-cloud-server-to-limit-sftp-directory-visibility-within-chroot-jail-directories\/#:~:text=Obtaining%20the%20FileZilla%20file%20transfer%20program\">https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2021\/03\/07\/web-presence-step-by-step-chapter-7-configuring-the-ssh-server-on-an-ubuntu-linux-cloud-server-to-limit-sftp-directory-visibility-within-chroot-jail-directories\/#:~:text=Obtaining%20the%20FileZilla%20file%20transfer%20program<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Importing an OpenVPN client profile<\/h2>\n\n\n\n<p>Import the OpenVPN client profile into the OpenVPN client application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting to the OpenVPN server<\/h2>\n\n\n\n<p>Tip: connect a computer to your phone&#8217;s hotspot, so that you are testing a connection from outside the network.<\/p>\n\n\n\n<p>An example of a Windows client connecting to the OpenVPN server:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"438\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/12\/image-8.png\" alt=\"\" class=\"wp-image-4177\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/12\/image-8.png 480w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/12\/image-8-300x274.png 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/figure>\n\n\n\n<p>For &#8220;Username&#8221; enter the username of the VPN connection. For &#8220;Password&#8221; enter the one-time password (OTP) displayed by the Google Authenticator app:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"574\" height=\"371\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/12\/Screenshot-from-2022-12-26-17-02-39.png\" alt=\"\" class=\"wp-image-4179\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/12\/Screenshot-from-2022-12-26-17-02-39.png 574w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2022\/12\/Screenshot-from-2022-12-26-17-02-39-300x194.png 300w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/figure>\n\n\n\n<p>A successful connection:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"391\" height=\"136\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-73.png\" alt=\"\" class=\"wp-image-4661\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-73.png 391w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-73-300x104.png 300w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Advanced applications of OpenVPN including two-factor authentication<\/h2>\n\n\n\n<p>For a detailed discussion about OpenVPN and advanced topics including two-factor authentication, refer to <a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2022\/12\/26\/integrating-open-source-software-in-the-enterprise-chapter-2-using-linux-and-openvpn-to-create-a-virtual-private-network-vpn-server-with-two-factor-authentication-2fa-enabled-using-google-authent\/\">Integrating open source software in the enterprise Chapter 2: Using Linux and OpenVPN to create a virtual private network (VPN) server with two-factor authentication (2FA) enabled using Google Authenticator<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Installing and configuring virt-manager and KVM virtual machine (VM) hypervisor<\/h1>\n\n\n\n<p>We will install some programs, then run virt-manager.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing programs to support KVM and virt-manager<\/h2>\n\n\n\n<p>Open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install qemu-system qemu-utils python3 python3-pip git \n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Modifying the KVM hypervisor to use a non-default subnet<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd \/etc\/libvirt\/qemu\/networks\/\nnano default.xml\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the default.xml file.  Change the value &#8220;122&#8221; to &#8220;162&#8221;:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;ip address=&#039;192.168.162.1&#039; netmask=&#039;255.255.255.0&#039;&gt;\n    &amp;lt;dhcp&gt;\n      &amp;lt;range start=&#039;192.168.162.2&#039; end=&#039;192.168.162.254&#039;\/&gt;\n    &amp;lt;\/dhcp&gt;\n  &amp;lt;\/ip&gt;\n<\/pre><\/div>\n\n\n<p>Save and exit the file. Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsystemctl restart libvirtd\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Downloading an ISO file of Ubuntu Server<\/h2>\n\n\n\n<p>Visit the following website:<\/p>\n\n\n\n<p><a href=\"https:\/\/ubuntu.com\/download\/server\">https:\/\/ubuntu.com\/download\/server<\/a><\/p>\n\n\n\n<p>Click on &#8220;Download Ubuntu Server xx.xx.x LTS&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"698\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-76-1024x698.png\" alt=\"\" class=\"wp-image-4695\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-76-1024x698.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-76-300x204.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-76-768x523.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-76.png 1256w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"959\" height=\"304\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-77.png\" alt=\"\" class=\"wp-image-4697\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-77.png 959w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-77-300x95.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-77-768x243.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Starting the virt-manager program<\/h2>\n\n\n\n<p>From the desktop of the home server, open a terminal window. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nvirt-manager\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"329\" height=\"358\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-81.png\" alt=\"\" class=\"wp-image-4713\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-81.png 329w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-81-276x300.png 276w\" sizes=\"auto, (max-width: 329px) 100vw, 329px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"348\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-84.png\" alt=\"\" class=\"wp-image-4718\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-84.png 320w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-84-276x300.png 276w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"434\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-85.png\" alt=\"\" class=\"wp-image-4720\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-85.png 437w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-85-300x298.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-85-150x150.png 150w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-85-100x100.png 100w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"473\" height=\"436\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-86.png\" alt=\"\" class=\"wp-image-4722\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-86.png 473w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-86-300x277.png 300w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"739\" height=\"523\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-87.png\" alt=\"\" class=\"wp-image-4724\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-87.png 739w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-87-300x212.png 300w\" sizes=\"auto, (max-width: 739px) 100vw, 739px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"413\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-94-1024x413.png\" alt=\"\" class=\"wp-image-4736\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-94-1024x413.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-94-300x121.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-94-768x310.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-94.png 1190w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"441\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-95.png\" alt=\"\" class=\"wp-image-4738\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-95.png 474w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-95-300x279.png 300w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"442\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-96.png\" alt=\"\" class=\"wp-image-4740\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-96.png 443w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-96-300x300.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-96-150x150.png 150w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-96-100x100.png 100w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"445\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-98.png\" alt=\"\" class=\"wp-image-4744\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-98.png 441w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-98-297x300.png 297w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-98-150x150.png 150w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-98-100x100.png 100w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"445\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-99.png\" alt=\"\" class=\"wp-image-4746\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-99.png 441w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-99-297x300.png 297w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-99-150x150.png 150w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-99-100x100.png 100w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"227\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-100.png\" alt=\"\" class=\"wp-image-4748\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-100.png 464w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-100-300x147.png 300w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"764\" height=\"442\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-101.png\" alt=\"\" class=\"wp-image-4750\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-101.png 764w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-101-300x174.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1013\" height=\"628\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-102.png\" alt=\"\" class=\"wp-image-4752\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-102.png 1013w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-102-300x186.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-102-768x476.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-103.png\" alt=\"\" class=\"wp-image-4754\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-103.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-103-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-103-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-104.png\" alt=\"\" class=\"wp-image-4756\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-104.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-104-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-104-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-105.png\" alt=\"\" class=\"wp-image-4759\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-105.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-105-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-105-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-106.png\" alt=\"\" class=\"wp-image-4761\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-106.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-106-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-106-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-107.png\" alt=\"\" class=\"wp-image-4763\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-107.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-107-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-107-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-108.png\" alt=\"\" class=\"wp-image-4765\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-108.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-108-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-108-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-109.png\" alt=\"\" class=\"wp-image-4767\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-109.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-109-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-109-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-110.png\" alt=\"\" class=\"wp-image-4769\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-110.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-110-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-110-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-111.png\" alt=\"\" class=\"wp-image-4771\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-111.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-111-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-111-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-127.png\" alt=\"\" class=\"wp-image-4801\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-127.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-127-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-127-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-126.png\" alt=\"\" class=\"wp-image-4799\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-126.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-126-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-126-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-125.png\" alt=\"\" class=\"wp-image-4797\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-125.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-125-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-125-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-118.png\" alt=\"\" class=\"wp-image-4784\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-118.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-118-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-118-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-117.png\" alt=\"\" class=\"wp-image-4783\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-117.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-117-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-117-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"858\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-119.png\" alt=\"\" class=\"wp-image-4785\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-119.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-119-300x254.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-119-768x649.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1014\" height=\"200\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-120.png\" alt=\"\" class=\"wp-image-4787\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-120.png 1014w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-120-300x59.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-120-768x151.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"860\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-121-1024x860.png\" alt=\"\" class=\"wp-image-4789\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-121-1024x860.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-121-300x252.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-121-768x645.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-121.png 1026w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"860\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-122-1024x860.png\" alt=\"\" class=\"wp-image-4791\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-122-1024x860.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-122-300x252.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-122-768x645.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-122.png 1026w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verifying that the virtual machine (VM) is set for bridge mode with the br0 device<\/h2>\n\n\n\n<p>Click on the &#8220;i&#8221; icon on the VM. Select &#8220;NIC&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"853\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-129.png\" alt=\"\" class=\"wp-image-4807\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-129.png 1015w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-129-300x252.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-129-768x645.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Determining the current IP address of the VM<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install net-tools\nifconfig\n<\/pre><\/div>\n\n\n<p>Note the name (ie enp1so) and IP address of the first adapter:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"872\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-123-1024x872.png\" alt=\"\" class=\"wp-image-4793\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-123-1024x872.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-123-300x255.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-123-768x654.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-123.png 1028w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting to the server with SSH<\/h2>\n\n\n\n<p>Open a terminal window on the desktop of the home server. Enter the following command, substituting values for <em>username<\/em> and <em>ipaddress<\/em> to match your installation:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nssh username@ipaddress\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"749\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-124.png\" alt=\"\" class=\"wp-image-4795\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-124.png 786w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-124-300x286.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-124-768x732.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a netplan for a static IP address for the VM<\/h2>\n\n\n\n<p>As the VM is running Ubuntu Server, we will use netplan to create a static IP address.<\/p>\n\n\n\n<p>From the SSH terminal window, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\/netplan\ncp 00-installer-config.yaml 00-installer-config.yaml.b4\nnano 00-installer-config.yaml\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the 00-installer-config.yaml file. Change the value of <em>adaptername<\/em> as needed ie &#8220;enp1s0&#8221;:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnetwork:\n  version: 2\n  renderer: networkd\n  ethernets:\n    adaptername:\n      dhcp4: no\n      addresses:\n        - 192.168.56.23\/24\n      gateway4: 192.168.56.1\n      nameservers:\n        addresses: &#x5B;8.8.8.8, 8.8.4.4]\n<\/pre><\/div>\n\n\n<p>From the VM console on the desktop of the home server, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\nifconfig\ncd \/etc\/netplan\nnetplan try\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"517\" height=\"112\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-132.png\" alt=\"\" class=\"wp-image-4821\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-132.png 517w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-132-300x65.png 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Verify that the new IP address has taken effect:<\/p>\n\n\n\n<p>From the VM console on the desktop of the home server, enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nifconfig\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Updating the Ubuntu Server software<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\napt clean\napt update\napt upgrade\nufw allow 80\/tcp\nufw allow 443\/tcp\nufw allow 22\/tcp\napt install net-tools iptraf-ng\nreboot\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Creating a LAMP web server in a virtual machine (VM) guest<\/h1>\n\n\n\n<p>Open an SSH terminal window to the home server. Substitute values for <em>username<\/em> and <em>ipaddress<\/em> to match your installation:<\/p>\n\n\n\n<p>ssh username@ipaddress<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install lamp-server^\ncd \/etc\/apache2\/mods-enabled\nnano dir.conf\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the dir.conf file. Modify the line so that index.php is the first entry in the DirectoryIndex line:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm\n<\/pre><\/div>\n\n\n<p>Save and exit the file.<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnano apache2.conf\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to modify the apache2.conf file. Find the &#8220;&lt;Directory \/var\/www\/&gt;&#8221; section. Change &#8220;AlllowOverride None&#8221; to &#8220;AllowOverride All&#8221;:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;Directory \/var\/www\/html&gt;\n    Options Indexes FollowSymLinks\n    AllowOverride All\n    Require all granted\n&amp;lt;\/Directory&gt;\n<\/pre><\/div>\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\na2enmod rewrite\nsystemctl restart apache2\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Running the mysql_secure_installation command<\/h2>\n\n\n\n<p>Enter the following command. <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nmysql_secure_installation\n<\/pre><\/div>\n\n\n<p>Answer the prompts as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"682\" height=\"1024\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-141-682x1024.png\" alt=\"\" class=\"wp-image-4925\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-141-682x1024.png 682w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-141-200x300.png 200w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-141-768x1154.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-141.png 786w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Testing the web server on port 80<\/h2>\n\n\n\n<p>From the desktop of the home server, start a web browser. Visit the IP address of the VM that hosts the LAMP web server:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"611\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image-1.png\" alt=\"\" class=\"wp-image-4947\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image-1.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image-1-300x179.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/11\/image-1-768x458.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Forwarding the LAMP web server ports from the public-facing router to the bridge mode  IP address of the VM hosting the LAMP web server<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"546\" height=\"68\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-136.png\" alt=\"\" class=\"wp-image-4848\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-136.png 546w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-136-300x37.png 300w\" sizes=\"auto, (max-width: 546px) 100vw, 546px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing the web server from a public address<\/h2>\n\n\n\n<p>Using your cell phone: switch to LTE data mode. Visit the URL of your persistent hostname. If you have a CNAME declared for a subdomain host in DNS, visit that URL as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creating virtual hosts for Apache<\/h2>\n\n\n\n<p>Open an SSH terminal window to the VM hosting the LAMP web server:<\/p>\n\n\n\n<p>ssh desktop@192.168.56.23<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\/apache2\/sites-available\nnano persistenthostname.ddns.net.conf\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to edit the persistenthostname.ddns.net.conf file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;VirtualHost *:80&gt;\n    ServerAdmin webmaster@localhost\n    ServerName persistenthostname.ddns.net\n    DocumentRoot \/var\/www\/html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&amp;lt;\/VirtualHost&gt;\n<\/pre><\/div>\n\n\n<p>Save and exit the file.<\/p>\n\n\n\n<p>Enter the following commands<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnano subdomain.example.com.conf\n<\/pre><\/div>\n\n\n<p>Use the nano text editor to edit the subdomain.example.com.conf file:<\/p>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;VirtualHost *:80&gt;\n    ServerAdmin webmaster@localhost\n    ServerName subdomain.example.com\n    DocumentRoot \/var\/www\/html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&amp;lt;\/VirtualHost&gt;\n<\/pre><\/div>\n\n\n<p>Save and exit the file.<\/p>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\na2ensite persistenthostname.ddns.net.conf\na2ensite subdomain.example.com.conf\nsystemctl restart apache2\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Using Let&#8217;s Encrypt to create an SSL certificate for https<\/h2>\n\n\n\n<p>Open an SSH terminal window to the VM hosting the LAMP web server. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install python3-certbot-apache\ncertbot --apache\nsystemctl restart apache2\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Enabling Wireguard on the home server<\/h1>\n\n\n\n<p>Open an SSH terminal window to the home server. Provide values for <em>username<\/em> and <em>ipaddress<\/em> to match your installation:<\/p>\n\n\n\n<p>ssh username@ipadress<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creating public and private WireGuard keys<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\/wireguard\numask 077\nwg genkey &gt; privatekey\nwg pubkey &amp;lt; privatekey &gt; publickey\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating a firewall exception for the WireGuard port on the home server<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nufw allow 55555\/udp\n<\/pre><\/div>\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnano wg0.conf\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating the wg0.conf file<\/h2>\n\n\n\n<p>Use the nano text editor to modify the wg0.conf file. Provide a value for <em>privatekey<\/em> matching the <em>privatekey<\/em> of the home server, generated above. (Provide a value for <em>publickey<\/em> of the peer system (the offsite backup server) when the value becomes available, then restart the wg-quick@wg0 service):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;Interface]\n# home server\nAddress = 10.5.0.1\/24\nPrivateKey = privatekeyofhomeserver\nListenPort = 55555\n\n&#x5B;Peer]\n# offsite backup server\nPublicKey = publickeyofoffsitebackupserver\nAllowedIPs = 10.5.0.0\/24, 192.168.1.0\/24\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Starting the wg-quick service<\/h2>\n\n\n\n<p>Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsystemctl restart wg-quick@wg0\nsystemctl enable wg-quick@wg0\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Forwarding the WireGuard port from the public-facing router to the home server<br><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"539\" height=\"24\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-138.png\" alt=\"\" class=\"wp-image-4871\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-138.png 539w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2023\/10\/image-138-300x13.png 300w\" sizes=\"auto, (max-width: 539px) 100vw, 539px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Tasks for the offsite backup server<\/h1>\n\n\n\n<p>The offsite backup server will perform the following tasks<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Samba network file server<\/li>\n\n\n\n<li>Wireguard client connection to home server<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Hardware for the backup server<\/h1>\n\n\n\n<p>My <a href=\"https:\/\/malak.ca\" data-type=\"link\" data-id=\"https:\/\/malak.ca\">brother<\/a> donated a computer to the project,  a computer that was headed for a dumpster. This is an example of a hacker living his principles.<\/p>\n\n\n\n<p>This machine could not address more than 1.5GB RAM of the RAM we found in our junkpiles. This machine has a 20GB mechanical hard drive &#8212; we could certainly upgrade that with a 120GB SSD, but we decided to see what was possible with the mechanical drive. We will be attaching an SSD drive to the computer. Because the taskings are Samba network file sharing and a Wiregurd tunnel to the home server, it may not be necessary to upgrade the mechanical drive.<\/p>\n\n\n\n<p>The offsite backup server is a small form factor (SFF) desktop circa 2005:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HP HSTNC-008P-SF (circa 2005)<\/li>\n\n\n\n<li>Pentium(R) D CPU<\/li>\n\n\n\n<li>1.5GB DDR RAM<\/li>\n\n\n\n<li>20GB mechanical drive (presumably 5400RPM)<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Formatting and configuring the offsite backup server with Fedora Server 38<\/h1>\n\n\n\n<p>My <a href=\"https:\/\/malak.ca\">brother<\/a> formatted the offsite backup server with <a href=\"https:\/\/fedoraproject.org\/server\/download\/\">Fedora Server  38<\/a>. This server will have a text-only console. This will allow us to conserve about 1.1GB RAM, ie 3\/4 of the 1.5GB RAM we have available in the system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why choose Fedora Server instead of Fedora Desktop?<\/h2>\n\n\n\n<p>For the offsite backup server, as the hardware is limited, we will use Fedora Server to conserve CPU and RAM resources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Formatting in Legacy Mode<\/h2>\n\n\n\n<p>With older, pre-2016 hardware, it is simpler to format in Legacy Mode. In this case, the system literally is legacy, this is the only mode available.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting using wired Ethernet<\/h2>\n\n\n\n<p>We will connect the offsite backup server using wired Ethernet. This simplifies some kinds of networking, including WireGuard, which we will use later in this procedure to create a secure tunnel to the home server.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Installing a few utilities on the offsite backup server<\/h1>\n\n\n\n<p>Log in at the console of the offsite backup server. Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ndnf install net-tools iptraf-ng finger wireguard\nifconfig\n<\/pre><\/div>\n\n\n<p>Examine the output of the ifconfig command. Find the name of the Ethernet adapter, it may be something like &#8220;enp0s25&#8221; or &#8220;eth0&#8221; &#8212; take note of this value.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using the nmcli command to configure a static IP address for the offsite backup server<\/h2>\n\n\n\n<p>Enter the following commands. Provide values for <em>adaptername<\/em> and <em>ipv4.gateway<\/em> that match your installation:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnmcli con modify adaptername ipv4.addresses 192.168.1.95\/24 ipv4.gateway 192.168.1.1 ipv4.method manual\nnmcli con modify br0 ipv4.dns &quot;8.8.8.8 8.8.4.4&quot;\nnmcli con down br0 &amp;amp;&amp;amp; sudo nmcli con up br0\ncon show br0\nreboot\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Installing the Samba program on the offsite backup server<\/h1>\n\n\n\n<p>Open an SSH terminal window to the offsite backup server. Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ndnf install samba\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Creating a network file share using Samba on the offsite backup server<\/h1>\n\n\n\n<p>Refer to the section above &#8220;<em><a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2023\/10\/29\/creating-a-home-server-and-offsite-backup-server-using-ubuntu-desktop-linux-and-fedora-server-linux\/#:~:text=Creating%20a%20network%20file%20share%20using%20Samba\">Creating a network file share using Samba<\/a><\/em>&#8220;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Enabling Wireguard on the offsite backup server<\/h1>\n\n\n\n<p>Open an SSH terminal window to the offsite server. Provide values for <em>username<\/em> and <em>ipaddress<\/em> to match your installation:<\/p>\n\n\n\n<p>ssh username@ipadress<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creating public and private WireGuard keys<\/h2>\n\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\/wireguard\numask 077\nwg genkey &gt; privatekey\nwg pubkey &amp;lt; privatekey &gt; publickey\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating a firewall exception for the WireGuard port on the offsite backup server<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfirewall-cmd --zone=public --add-port=55555\/udp --permanent\n<\/pre><\/div>\n\n\n<p>Enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnano wg0.conf\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Creating the wg0.conf file<\/h2>\n\n\n\n<p>Use the nano text editor to modify the wg0.conf file. Provide a value for <em>privatekey<\/em> matching the <em>privatekey<\/em> of the home server, generated above. Provide a value for publickey matching the private key of the offsite backup server:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;Interface]\n# offsite backup server\nAddress = 10.5.0.2\/24\nPrivateKey = privatekeyofoffsitebackupserver\nListenPort = 55555\n\n&#x5B;Peer]\n# home server\nPublicKey = publickeyofhomeserver\nAllowedIPs = 10.5.0.0\/24, 192.168.56.0\/24\nEndpoint = persistenthostnameofhomeserver.ddns.net:55555\nPersistentKeepalive = 25\n\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Starting the wg-quick service<\/h2>\n\n\n\n<p>Enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsystemctl restart wg-quick@wg0\nsystemctl enable wg-quick@wg0\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Testing the WireGuard secure tunnel between the offsite backup server and the home server<\/h1>\n\n\n\n<p>From the offsite backup server, enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nping 10.5.0.1\n<\/pre><\/div>\n\n\n<p>If the ping is successful, the offsite backup server has a working WireGuard connection to the home server.<\/p>\n\n\n\n<p>From the home server, enter the following command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nping 10.5.0.2\n<\/pre><\/div>\n\n\n<p>If the ping is successful, the home server has a working Wireguard connection to the offsite backup server.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, we build a home server using Ubuntu Desktop Linux that includes a Samba network file server, an OpenVPN virtual private network (VPN), and a KVM hypervisor hosting virtual machine (VM) guests including a Linux\/Apache\/MySQL\/PHP web server. In addition, we build an offsite backup server using Fedora Server Linux, and link the offsite &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2023\/10\/29\/creating-a-home-server-and-offsite-backup-server-using-ubuntu-desktop-linux-and-fedora-server-linux\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Creating a home server and offsite backup server using Ubuntu Desktop Linux and Fedora Server Linux&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-4271","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/4271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=4271"}],"version-history":[{"count":537,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/4271\/revisions"}],"predecessor-version":[{"id":4990,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/4271\/revisions\/4990"}],"wp:attachment":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=4271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=4271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=4271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}