Implement Store Frontend

Implement Profile Cosmetics
This commit is contained in:
Alan Moon 2025-07-10 17:18:54 -07:00
parent 0d93557959
commit 003d01fe4e
14 changed files with 920 additions and 388 deletions

View File

@ -11,5 +11,6 @@
public DateTime CreatedAt { get; set; } = new DateTime(); public DateTime CreatedAt { get; set; } = new DateTime();
public int Status { get; set; } = 0; public int Status { get; set; } = 0;
public int CurrencyAmount { get; set; } = 0; public int CurrencyAmount { get; set; } = 0;
public int ProfileCosmeticId { get; set; } = 0;
} }
} }

View File

@ -6,5 +6,6 @@
public string Username { get; set; } = string.Empty; public string Username { get; set; } = string.Empty;
public string Bio { get; set; } = string.Empty; public string Bio { get; set; } = string.Empty;
public DateTime DateOfBirth { get; set; } = new DateTime(); public DateTime DateOfBirth { get; set; } = new DateTime();
public int ProfileCosmeticId { get; set; } = 0;
} }
} }

View File

@ -5,7 +5,6 @@ using QtCNETAPI.Models;
using QtCNETAPI.Schema; using QtCNETAPI.Schema;
using RestSharp; using RestSharp;
using System.IdentityModel.Tokens.Jwt; using System.IdentityModel.Tokens.Jwt;
using System.Resources;
using System.Text.Json; using System.Text.Json;
namespace QtCNETAPI.Services.ApiService namespace QtCNETAPI.Services.ApiService
@ -769,18 +768,18 @@ namespace QtCNETAPI.Services.ApiService
return serviceResponse; return serviceResponse;
} }
public async Task<ServiceResponse<OwnedStoreItem>> BuyStoreItem(int id) public async Task<ServiceResponse<bool>> BuyStoreItem(int id)
{ {
await RefreshSessionIfInvalid(); await RefreshSessionIfInvalid();
var serviceResponse = new ServiceResponse<OwnedStoreItem>(); var serviceResponse = new ServiceResponse<bool>();
if (SessionToken == null) throw new NullReferenceException("Function Was Called Before A Session Was Made."); if (SessionToken == null) throw new NullReferenceException("Function Was Called Before A Session Was Made.");
var restRequest = new RestRequest("store/buy-item") var restRequest = new RestRequest("store/buy-item")
.AddHeader("Authorization", $"Bearer {SessionToken}") .AddHeader("Authorization", $"Bearer {SessionToken}")
.AddQueryParameter("id", id); .AddQueryParameter("id", id);
var response = await _client.GetAsync<ServiceResponse<OwnedStoreItem>>(restRequest); var response = await _client.PostAsync<ServiceResponse<bool>>(restRequest);
if (response == null) { serviceResponse.Success = false; serviceResponse.Message = "API did not respond."; return serviceResponse; } if (response == null) { serviceResponse.Success = false; serviceResponse.Message = "API did not respond."; return serviceResponse; }

View File

@ -44,7 +44,7 @@ namespace QtCNETAPI.Services.ApiService
public Task<ServiceResponse<NumberGuessResult>> GuessRandomNumber(int original, int guess); public Task<ServiceResponse<NumberGuessResult>> GuessRandomNumber(int original, int guess);
public Task<ServiceResponse<List<StoreItem>>> GetStoreItems(); public Task<ServiceResponse<List<StoreItem>>> GetStoreItems();
public Task<ServiceResponse<StoreItem>> GetStoreItem(int id); public Task<ServiceResponse<StoreItem>> GetStoreItem(int id);
public Task<ServiceResponse<OwnedStoreItem>> BuyStoreItem(int id); public Task<ServiceResponse<bool>> BuyStoreItem(int id);
public Task<ServiceResponse<List<OwnedStoreItem>>> GetOwnedStoreItems(); public Task<ServiceResponse<List<OwnedStoreItem>>> GetOwnedStoreItems();
public Task<ServiceResponse<OwnedStoreItem>> GetOwnedStoreItem(int id); public Task<ServiceResponse<OwnedStoreItem>> GetOwnedStoreItem(int id);
} }

View File

@ -48,6 +48,9 @@
tbpGames = new TabPage(); tbpGames = new TabPage();
lvGames = new ListView(); lvGames = new ListView();
ilGames = new ImageList(components); ilGames = new ImageList(components);
tbpStore = new TabPage();
lvStoreItems = new ListView();
ilStoreThumbnails = new ImageList(components);
ilTabIcons = new ImageList(components); ilTabIcons = new ImageList(components);
ctxmChangeStatus = new ContextMenuStrip(components); ctxmChangeStatus = new ContextMenuStrip(components);
onlineToolStripMenuItem = new ToolStripMenuItem(); onlineToolStripMenuItem = new ToolStripMenuItem();
@ -73,6 +76,7 @@
tbpRooms.SuspendLayout(); tbpRooms.SuspendLayout();
tbpUsers.SuspendLayout(); tbpUsers.SuspendLayout();
tbpGames.SuspendLayout(); tbpGames.SuspendLayout();
tbpStore.SuspendLayout();
ctxmChangeStatus.SuspendLayout(); ctxmChangeStatus.SuspendLayout();
pCurrencyArea.SuspendLayout(); pCurrencyArea.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).BeginInit(); ((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).BeginInit();
@ -88,13 +92,15 @@
tbcMain.Controls.Add(tbpRooms); tbcMain.Controls.Add(tbpRooms);
tbcMain.Controls.Add(tbpUsers); tbcMain.Controls.Add(tbpUsers);
tbcMain.Controls.Add(tbpGames); tbcMain.Controls.Add(tbpGames);
tbcMain.Controls.Add(tbpStore);
tbcMain.Enabled = false; tbcMain.Enabled = false;
tbcMain.ImageList = ilTabIcons; tbcMain.ImageList = ilTabIcons;
tbcMain.Location = new Point(12, 83); tbcMain.Location = new Point(12, 83);
tbcMain.Name = "tbcMain"; tbcMain.Name = "tbcMain";
tbcMain.SelectedIndex = 0; tbcMain.SelectedIndex = 0;
tbcMain.Size = new Size(305, 499); tbcMain.Size = new Size(352, 499);
tbcMain.TabIndex = 0; tbcMain.TabIndex = 0;
tbcMain.SelectedIndexChanged += tbcMain_SelectedIndexChanged;
// //
// tbpContacts // tbpContacts
// //
@ -103,7 +109,7 @@
tbpContacts.Location = new Point(4, 24); tbpContacts.Location = new Point(4, 24);
tbpContacts.Name = "tbpContacts"; tbpContacts.Name = "tbpContacts";
tbpContacts.Padding = new Padding(3); tbpContacts.Padding = new Padding(3);
tbpContacts.Size = new Size(297, 471); tbpContacts.Size = new Size(344, 471);
tbpContacts.TabIndex = 0; tbpContacts.TabIndex = 0;
tbpContacts.Text = "Contacts"; tbpContacts.Text = "Contacts";
tbpContacts.UseVisualStyleBackColor = true; tbpContacts.UseVisualStyleBackColor = true;
@ -117,7 +123,7 @@
lvContacts.Location = new Point(0, 0); lvContacts.Location = new Point(0, 0);
lvContacts.MultiSelect = false; lvContacts.MultiSelect = false;
lvContacts.Name = "lvContacts"; lvContacts.Name = "lvContacts";
lvContacts.Size = new Size(297, 478); lvContacts.Size = new Size(344, 478);
lvContacts.SmallImageList = ilProfilePics; lvContacts.SmallImageList = ilProfilePics;
lvContacts.TabIndex = 1; lvContacts.TabIndex = 1;
lvContacts.UseCompatibleStateImageBehavior = false; lvContacts.UseCompatibleStateImageBehavior = false;
@ -152,7 +158,7 @@
tbpRooms.Location = new Point(4, 24); tbpRooms.Location = new Point(4, 24);
tbpRooms.Name = "tbpRooms"; tbpRooms.Name = "tbpRooms";
tbpRooms.Padding = new Padding(3); tbpRooms.Padding = new Padding(3);
tbpRooms.Size = new Size(297, 471); tbpRooms.Size = new Size(344, 471);
tbpRooms.TabIndex = 1; tbpRooms.TabIndex = 1;
tbpRooms.Text = "Rooms"; tbpRooms.Text = "Rooms";
tbpRooms.UseVisualStyleBackColor = true; tbpRooms.UseVisualStyleBackColor = true;
@ -176,7 +182,7 @@
lbRooms.ItemHeight = 15; lbRooms.ItemHeight = 15;
lbRooms.Location = new Point(0, 0); lbRooms.Location = new Point(0, 0);
lbRooms.Name = "lbRooms"; lbRooms.Name = "lbRooms";
lbRooms.Size = new Size(297, 514); lbRooms.Size = new Size(344, 484);
lbRooms.TabIndex = 0; lbRooms.TabIndex = 0;
lbRooms.DoubleClick += lbRooms_DoubleClick; lbRooms.DoubleClick += lbRooms_DoubleClick;
// //
@ -186,7 +192,7 @@
tbpUsers.ImageIndex = 1; tbpUsers.ImageIndex = 1;
tbpUsers.Location = new Point(4, 24); tbpUsers.Location = new Point(4, 24);
tbpUsers.Name = "tbpUsers"; tbpUsers.Name = "tbpUsers";
tbpUsers.Size = new Size(297, 471); tbpUsers.Size = new Size(344, 471);
tbpUsers.TabIndex = 3; tbpUsers.TabIndex = 3;
tbpUsers.Text = "Users"; tbpUsers.Text = "Users";
tbpUsers.UseVisualStyleBackColor = true; tbpUsers.UseVisualStyleBackColor = true;
@ -200,7 +206,7 @@
lvUserDirectory.MultiSelect = false; lvUserDirectory.MultiSelect = false;
lvUserDirectory.Name = "lvUserDirectory"; lvUserDirectory.Name = "lvUserDirectory";
lvUserDirectory.RightToLeft = RightToLeft.Yes; lvUserDirectory.RightToLeft = RightToLeft.Yes;
lvUserDirectory.Size = new Size(297, 514); lvUserDirectory.Size = new Size(344, 484);
lvUserDirectory.SmallImageList = ilStatusIcons; lvUserDirectory.SmallImageList = ilStatusIcons;
lvUserDirectory.TabIndex = 0; lvUserDirectory.TabIndex = 0;
lvUserDirectory.UseCompatibleStateImageBehavior = false; lvUserDirectory.UseCompatibleStateImageBehavior = false;
@ -223,7 +229,7 @@
tbpGames.ImageIndex = 3; tbpGames.ImageIndex = 3;
tbpGames.Location = new Point(4, 24); tbpGames.Location = new Point(4, 24);
tbpGames.Name = "tbpGames"; tbpGames.Name = "tbpGames";
tbpGames.Size = new Size(297, 471); tbpGames.Size = new Size(344, 471);
tbpGames.TabIndex = 4; tbpGames.TabIndex = 4;
tbpGames.Text = "Games"; tbpGames.Text = "Games";
tbpGames.UseVisualStyleBackColor = true; tbpGames.UseVisualStyleBackColor = true;
@ -239,7 +245,7 @@
lvGames.Location = new Point(0, 0); lvGames.Location = new Point(0, 0);
lvGames.MultiSelect = false; lvGames.MultiSelect = false;
lvGames.Name = "lvGames"; lvGames.Name = "lvGames";
lvGames.Size = new Size(297, 533); lvGames.Size = new Size(344, 484);
lvGames.SmallImageList = ilGames; lvGames.SmallImageList = ilGames;
lvGames.TabIndex = 2; lvGames.TabIndex = 2;
lvGames.UseCompatibleStateImageBehavior = false; lvGames.UseCompatibleStateImageBehavior = false;
@ -254,6 +260,35 @@
ilGames.Images.SetKeyName(1, "NumberGuessGameIcon.png"); ilGames.Images.SetKeyName(1, "NumberGuessGameIcon.png");
ilGames.Images.SetKeyName(2, "Tic-tac-toe.png"); ilGames.Images.SetKeyName(2, "Tic-tac-toe.png");
// //
// tbpStore
//
tbpStore.Controls.Add(lvStoreItems);
tbpStore.ImageIndex = 3;
tbpStore.Location = new Point(4, 24);
tbpStore.Name = "tbpStore";
tbpStore.Padding = new Padding(3);
tbpStore.Size = new Size(344, 471);
tbpStore.TabIndex = 5;
tbpStore.Text = "Store";
tbpStore.UseVisualStyleBackColor = true;
//
// lvStoreItems
//
lvStoreItems.LargeImageList = ilStoreThumbnails;
lvStoreItems.Location = new Point(0, 0);
lvStoreItems.Name = "lvStoreItems";
lvStoreItems.Size = new Size(344, 484);
lvStoreItems.SmallImageList = ilStoreThumbnails;
lvStoreItems.TabIndex = 0;
lvStoreItems.UseCompatibleStateImageBehavior = false;
lvStoreItems.DoubleClick += lvStoreItems_DoubleClick;
//
// ilStoreThumbnails
//
ilStoreThumbnails.ColorDepth = ColorDepth.Depth32Bit;
ilStoreThumbnails.ImageSize = new Size(64, 64);
ilStoreThumbnails.TransparentColor = Color.Transparent;
//
// ilTabIcons // ilTabIcons
// //
ilTabIcons.ColorDepth = ColorDepth.Depth32Bit; ilTabIcons.ColorDepth = ColorDepth.Depth32Bit;
@ -301,7 +336,7 @@
// //
// lblRequestNotif // lblRequestNotif
// //
lblRequestNotif.Anchor = AnchorStyles.Top | AnchorStyles.Right; lblRequestNotif.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
lblRequestNotif.AutoSize = true; lblRequestNotif.AutoSize = true;
lblRequestNotif.Font = new Font("Segoe UI", 6F, FontStyle.Bold); lblRequestNotif.Font = new Font("Segoe UI", 6F, FontStyle.Bold);
lblRequestNotif.Location = new Point(12, 67); lblRequestNotif.Location = new Point(12, 67);
@ -337,7 +372,7 @@
pCurrencyArea.Controls.Add(llblClaimSpin); pCurrencyArea.Controls.Add(llblClaimSpin);
pCurrencyArea.Controls.Add(pbCurrencyIcon); pCurrencyArea.Controls.Add(pbCurrencyIcon);
pCurrencyArea.Controls.Add(lblCurrencyAmount); pCurrencyArea.Controls.Add(lblCurrencyAmount);
pCurrencyArea.Location = new Point(223, 5); pCurrencyArea.Location = new Point(270, 5);
pCurrencyArea.Name = "pCurrencyArea"; pCurrencyArea.Name = "pCurrencyArea";
pCurrencyArea.Size = new Size(95, 46); pCurrencyArea.Size = new Size(95, 46);
pCurrencyArea.TabIndex = 12; pCurrencyArea.TabIndex = 12;
@ -447,9 +482,10 @@
// //
// pbDonate // pbDonate
// //
pbDonate.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pbDonate.Cursor = Cursors.Hand; pbDonate.Cursor = Cursors.Hand;
pbDonate.Image = Properties.Resources.donatebtn; pbDonate.Image = Properties.Resources.donatebtn;
pbDonate.Location = new Point(241, 56); pbDonate.Location = new Point(288, 56);
pbDonate.Name = "pbDonate"; pbDonate.Name = "pbDonate";
pbDonate.Size = new Size(77, 22); pbDonate.Size = new Size(77, 22);
pbDonate.SizeMode = PictureBoxSizeMode.Zoom; pbDonate.SizeMode = PictureBoxSizeMode.Zoom;
@ -462,7 +498,7 @@
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.DodgerBlue; BackColor = Color.DodgerBlue;
ClientSize = new Size(329, 594); ClientSize = new Size(376, 594);
Controls.Add(pbDonate); Controls.Add(pbDonate);
Controls.Add(pCurrentUser); Controls.Add(pCurrentUser);
Controls.Add(pCurrencyArea); Controls.Add(pCurrencyArea);
@ -483,6 +519,7 @@
tbpRooms.ResumeLayout(false); tbpRooms.ResumeLayout(false);
tbpUsers.ResumeLayout(false); tbpUsers.ResumeLayout(false);
tbpGames.ResumeLayout(false); tbpGames.ResumeLayout(false);
tbpStore.ResumeLayout(false);
ctxmChangeStatus.ResumeLayout(false); ctxmChangeStatus.ResumeLayout(false);
pCurrencyArea.ResumeLayout(false); pCurrencyArea.ResumeLayout(false);
pCurrencyArea.PerformLayout(); pCurrencyArea.PerformLayout();
@ -531,5 +568,8 @@
private TabPage tbpUsers; private TabPage tbpUsers;
private ListView lvUserDirectory; private ListView lvUserDirectory;
private PictureBox pbDonate; private PictureBox pbDonate;
private TabPage tbpStore;
private ListView lvStoreItems;
private ImageList ilStoreThumbnails;
} }
} }

View File

@ -6,6 +6,8 @@ using QtCNETAPI.Models;
using qtc_net_client_2.Forms; using qtc_net_client_2.Forms;
using qtc_net_client_2.Services; using qtc_net_client_2.Services;
using qtc_net_client_2.ClientModel; using qtc_net_client_2.ClientModel;
using System.Threading.Tasks;
using QtCNETAPI.Schema;
namespace qtc_net_client_2 namespace qtc_net_client_2
{ {
@ -275,7 +277,7 @@ namespace qtc_net_client_2
var result = await _apiService.AddCurrencyToCurrentUser(tokenJackpotSpinner.TokensWon, true); var result = await _apiService.AddCurrencyToCurrentUser(tokenJackpotSpinner.TokensWon, true);
if (result.Success) if (result.Success)
{ {
lblCurrencyAmount.Text = (_apiService.CurrentUser.CurrencyAmount + tokenJackpotSpinner.TokensWon).ToString("N0"); lblCurrencyAmount.Text = _apiService.CurrentUser.CurrencyAmount.ToString("N0");
llblClaimSpin.Visible = false; llblClaimSpin.Visible = false;
} }
else MessageBox.Show("We Were Unable To Claim Your Prize At This Time. Please Try Again Later.", "Uh Oh.", MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show("We Were Unable To Claim Your Prize At This Time. Please Try Again Later.", "Uh Oh.", MessageBoxButtons.OK, MessageBoxIcon.Error);
@ -333,10 +335,9 @@ namespace qtc_net_client_2
private async void refreshToolStripMenuItem_Click(object sender, EventArgs e) private async void refreshToolStripMenuItem_Click(object sender, EventArgs e)
{ {
// refresh all controls (TODO - probably restrict this to currently visible control) if (tbcMain.SelectedIndex == 0) await RefreshContactsList();
await RefreshContactsList(); if (tbcMain.SelectedIndex == 1) await RefreshRoomsList();
await RefreshRoomsList(); if (tbcMain.SelectedIndex == 2) await RefreshUsers();
await RefreshUsers();
} }
private void pbDonate_Click(object sender, EventArgs e) private void pbDonate_Click(object sender, EventArgs e)
@ -345,6 +346,44 @@ namespace qtc_net_client_2
donationWindow.Show(); donationWindow.Show();
} }
private async void tbcMain_SelectedIndexChanged(object sender, EventArgs e)
{
if (tbcMain.SelectedIndex == 4)
{
// get store items
var storeItems = await _apiService.GetStoreItems();
if (storeItems != null && storeItems.Success && storeItems.Data != null)
{
ilStoreThumbnails.Images.Clear();
foreach (var item in storeItems.Data)
{
await GetAndAddStoreThumbnail(item);
var lvitem = lvStoreItems.Items.Add(new ListViewItem { Text = item.Name, Name = item.Id.ToString() });
lvitem.ImageKey = item.Id.ToString();
}
}
}
else lvStoreItems.Clear();
}
private async void lvStoreItems_DoubleClick(object sender, EventArgs e)
{
if (lvStoreItems.SelectedItems.Count > 0)
{
string? itemSelected = (string?)lvStoreItems.SelectedItems[lvStoreItems.SelectedItems.Count - 1].Name;
if(itemSelected != null)
{
// get item
var item = await _apiService.GetStoreItem(int.Parse(itemSelected));
if(item != null && item.Success && item.Data != null)
{
StoreItemDisplay storeItemDisplay = new StoreItemDisplay(item.Data, LoggingService, _apiService);
storeItemDisplay.ShowDialog();
}
}
}
}
private async Task OnSuccessfulLogin() private async Task OnSuccessfulLogin()
{ {
// double check // double check
@ -696,6 +735,29 @@ namespace qtc_net_client_2
else if (result != null) LoggingService.LogString($"User Has No Profile Picture Or It Could Not Be Loaded.\n{result.Message}"); else if (result != null) LoggingService.LogString($"User Has No Profile Picture Or It Could Not Be Loaded.\n{result.Message}");
} }
private async Task GetAndAddStoreThumbnail(StoreItem item)
{
try
{
using HttpClient client = new();
var response = await client.GetAsync(item.ThumbnailUrl);
if (response != null && response.IsSuccessStatusCode)
{
using var stream = await response.Content.ReadAsStreamAsync();
Image image = Image.FromStream(stream);
stream.Dispose();
ilStoreThumbnails.Images.Add(item.Id.ToString(), image);
}
else if (response != null) LoggingService.LogString($"Store Item Thumbnail Could Not Be Loaded Due To Status Code {response.StatusCode}");
else LoggingService.LogString("Store Item Thumbnail Could Not Be Loaded");
client.Dispose();
}
catch (Exception ex)
{
LoggingService.LogString("Store Item Thumbnail Could Not Be Loaded\n" + ex.Message);
}
}
public void RefreshCurrencyCounter() public void RefreshCurrencyCounter()
{ {
if (lblCurrencyAmount.InvokeRequired) if (lblCurrencyAmount.InvokeRequired)

View File

@ -127,66 +127,66 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAzg0AAAJNU0Z0AUkBTAMBAgAB SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB
AQEAAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGAAwABIAMAAQEBAAEgBgABQBIAA60B MAEBATABAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
/wO6Af8DugH/A7kB/wO6Af8DugH/A9oF/wP8Af8D/g3/A/0B/wP8Ef8D/AH/A/4N/wP9Af8D2QH/A7oB rQH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D2gX/A/wB/wP+Df8D/QH/A/wR/wP8Af8D/g3/A/0B/wPZAf8D
/wO6Af8DugH/A7oB/wO6Af8DugH//wCBAAOfAf8DugH/A7oB/wO6Af8DugH/A7oB/wPaCf8D/QH/A/4N ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oJ/wP9Af8D
/wP9Af8D/RH/A/wB/wP+Df8D2gH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH//wCBAAOiAf8DugH/A7oB /g3/A/0B/wP9Ef8D/AH/A/4N/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA6IB/wO6Af8D
/wO6Af8DugH/A7oB/wPaDf8D/AH/A/4l/wP8Df8D2gH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH//wCB ugH/A7oB/wO6Af8DugH/A9oN/wP8Af8D/iX/A/wN/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//
AAOlAf8DugH/A7oB/wO6Af8DugH/A7oB/wPZEf8D/hX/A/0d/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB AIEAA6UB/wO6Af8DugH/A7oB/wO6Af8DugH/A9kR/wP+Ff8D/R3/A9oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af//AIEAA6QB/wO5Af8DugH/A7oB/wO6Af8DugH/A9kB/wP8Ff8D/g3/A/0B/wP9Ef8D/gH/A/4B ugH/A7oB//8AgQADpAH/A7kB/wO6Af8DugH/A7oB/wO6Af8D2QH/A/wV/wP+Df8D/QH/A/0R/wP+Af8D
/wPaAf8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af//AIEAA6EB/wO6Af8DugH/A7oB/wO6Af8DugH/A9oB /gH/A9oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB//8AgQADoQH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wP+Af8D/RH/A/wB/wP+Df8D/QH/A/0R/wP8Af8D2QH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH//wCB 2gH/A/4B/wP9Ef8D/AH/A/4N/wP9Af8D/RH/A/wB/wPZAf8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af//
AAOfAf8DugH/A7oB/wO6Af8DugH/A7oB/wPaBf8D/QH/A/0R/wP9Af8D/g3/A/0B/wP9Ef8D2QH/A7oB AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oF/wP9Af8D/RH/A/0B/wP+Df8D/QH/A/0R/wPZAf8D
/wO6Af8DugH/A7oB/wO5Af8DugH//wCBAAOxAf8DugH/A7oB/wO6Af8DugH/A7oB/wPTCf8D/hX/A/wB ugH/A7oB/wO6Af8DugH/A7kB/wO6Af//AIEAA7EB/wO6Af8DugH/A7oB/wO6Af8DugH/A9MJ/wP+Ff8D
/wP+If8D0wH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7kB /AH/A/4h/wPTAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8D
/wPAAf8D/Q3/A/4R/wP+Ff8D/QX/A/0B/wPAAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB uQH/A8AB/wP9Df8D/hH/A/4V/wP9Bf8D/QH/A8AB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wPaDf8D/gH/A/0V/wP+Df8D/QH/A/wB/wPaAf8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A9oN/wP+Af8D/RX/A/4N/wP9Af8D/AH/A9oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH//wCBAAO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A90N ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wP9Af8D/RH/A/0B/wP+Df8D3AH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB 3Q3/A/0B/wP9Ef8D/QH/A/4N/wPcAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
/wO6Af8DuQH/A7kB/wO6Af8DugH/A7oB/wO6Af8DuQH/A8kB/wPsAf8D/gX/A/4B/wP8Ef8D/QH/A/0B ugH/A7oB/wO5Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO5Af8DyQH/A+wB/wP+Bf8D/gH/A/wR/wP9Af8D
/wPsAf8DygH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH//wCBAAO6Af8DugH/A7oB /QH/A+wB/wPKAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A8EB/wPSAf8D3wH/A+YB/wPqAf8D6wH/A+cB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DwQH/A9IB/wPfAf8D5gH/A+oB/wPrAf8D
/wPfAf8D0gH/A8AB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH//wCB 5wH/A98B/wPSAf8DwAH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//
AAO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A70B AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wPHAf8DxgH/A70B/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB vQH/A8cB/wPGAf8DvQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wPCAf8D5wH/A/0F/wP+Af8D+gH/A+YB/wPCAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A8IB/wPnAf8D/QX/A/4B/wP6Af8D5gH/A8IB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DyAH/A/kB/wP9Df8D/QH/A/0B/wP6Af8DyAH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wPIAf8D+QH/A/0N/wP9Af8D/QH/A/oB/wPIAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DuQH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO5Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO+Af8D+AX/A/wB/wP+Df8D/QH/A/wB/wP4Af8DvgH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB ugH/A74B/wP4Bf8D/AH/A/4N/wP9Af8D/AH/A/gB/wO+Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D
/wO6Af8DuQH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A9sN ugH/A7oB/wO5Af8DugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8D
/wP9Af8D/Q3/A/0B/wP+Af8D2wH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB 2w3/A/0B/wP9Df8D/QH/A/4B/wPbAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A/AR/wP8Af8D/hH/A/AB ugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D8BH/A/wB/wP+Ef8D
/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB 8AH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wP4Af8D/SX/A/gB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A/gB/wP9Jf8D+AH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wP0Af8D/QH/A/wR/wP+Af8D/gn/A/UB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A/QB/wP9Af8D/BH/A/4B/wP+Cf8D9QH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wPlBf8D/gH/A/wR ugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A+UF/wP+Af8D
/wP8Af8D/QX/A+UB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB /BH/A/wB/wP9Bf8D5QH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wPIAf8D/gX/A/4B/wP8Ef8D/QH/A/0B ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A8gB/wP+Bf8D/gH/A/wR/wP9Af8D
/wPIAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH//wCBAAO6Af8DugH/A7oB /QH/A8gB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af//AIEAA7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A90J/wP+Ff8D3AH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D3Qn/A/4V/wPcAf8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A9kB/wP8Cf8D/gX/A/wB/wPZAf8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D2QH/A/wJ/wP+Bf8D/AH/A9kB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wPAAf8D1gH/A+IB/wPhAf8D1QH/A8AB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A8AB/wPWAf8D4gH/A+EB/wPVAf8DwAH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7kB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
/wO6Af//AIEAA7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB uQH/A7oB//8AgQADugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAAUIB ugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAB
TQE+BwABPgMAASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA///AP8AAwAL QgFNAT4HAAE+AwABKAMAAYADAAEgAwABAQEAAQEGAAECFgAD//8A/wADAAs=
</value> </value>
</data> </data>
<metadata name="ilStatusIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ilStatusIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -196,93 +196,92 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA+hMAAAJNU0Z0AUkBTAIBAQQB SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA4hMAAAJNU0Z0AUkBTAIBAQQB
AAG4AQABuAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AAHoAQAB6AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B
0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB
BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1MB9QMkAfsDOwH+AzsB/gMkAfsDUwH0A2IB YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDQQH+A0EB/gMkAfsDUwH0A2IB
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBSgFaAUoB9QEhAVcBIQH7ARcBVwEXAf4BFwFXARcB/gEhAVcB 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBUwFaAVMB9QEhAV0BIQH7AR0BXQEdAf4BHQFdAR0B/gEhAV0B
IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAUoCWgH1ASECVwH7ARcCVwH+ARcCVwH+ASEC IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAVMCWgH1ASECXQH7AR0CXQH+AR0CXQH+ASEC
VwH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkoBWgH1AiEBVwH7AhcBVwH+AhcBVwH+AiEB XQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAlMBWgH1AiEBXQH7Ah0BXQH+Ah0BXQH+AiEB
VwH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyAz8B/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB XQH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyA0UB/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB
/wNAAf0DXQHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEXAV8BFwH+AQABVwEAAf8BAAFnAQAB/wEAAWwB /wNAAf0DXgHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEdAWUBHQH+AQABVwEAAf8BAAFnAQAB/wEAAWwB
AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/AS4BQAEuAf0BWQFeAVkB8ANWAbIBGQEaARkBIwgAAxsB AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/AToBQAE6Af0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gB
JQNYAb0DWgHyARcCXwH+AQACVwH/AQACZwH/AQACbAH/AQACYQH/AQACTAH/AQACQAH/AS4CQAH9AVkC vQNaAfIBHQJlAf4BAAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8BOgJAAf0DXgHwA1YB
XgHwA1YBsgEZAhoBIwgAAxsBJQNYAb0DWgHyAhcBXwH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgAB sgEZAhoBIwgAAxsBJQNYAb0DWgHyAh0BZQH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgABTAH/AgAB
TAH/AgABQAH/Ai4BQAH9AlkBXgHwA1YBsgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB QAH/AjoBQAH9A14B8ANWAbICGQEaASMEAAMDAQQDUgGlA2AB8wNJAf8DVQH/A2UB/wNxAf8DdQH/A3EB
/wN1Af8DcQH/A2QB/wNMAf8DMQH/AzsB/gNhAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFVAW8BVQHzAQAB /wNkAf8DTAH/AzEB/wNBAf4DYgHuA1ABmgMDAQQDAwEEAVIBUwFSAaUBXQFvAV0B8wEAAYIBAAH/AQAB
ggEAAf8BAAGZAQAB/wEAAbYBAAH/AQABzAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB mQEAAf8BAAG2AQAB/wEAAcwBAAH/AQAB0wEAAf8BAAHLAQAB/wEAAbMBAAH/AQABiAEAAf8BAAFXAQAB
/wEAAVcBAAH/ARcBVwEXAf4BXgFiAV4B7gNQAZoDAwEEAwMBBAFSAlMBpQFVAm8B8wEAAoIB/wEAApkB /wEdAV0BHQH+A2IB7gNQAZoDAwEEAwMBBAFSAlMBpQFdAm8B8wEAAoIB/wEAApkB/wEAArYB/wEAAswB
/wEAArYB/wEAAswB/wEAAtMB/wEAAssB/wEAArMB/wEAAogB/wEAAlcB/wEXAlcB/gFeAmIB7gNQAZoD /wEAAtMB/wEAAssB/wEAArMB/wEAAogB/wEAAlcB/wEdAl0B/gNiAe4DUAGaAwMBBAMDAQQCUgFTAaUC
AwEEAwMBBAJSAVMBpQJVAW8B8wIAAYIB/wIAAZkB/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB XQFvAfMCAAGCAf8CAAGZAf8CAAG2Af8CAAHMAf8CAAHTAf8CAAHLAf8CAAGzAf8CAAGIAf8CAAFXAf8C
/wIAAYgB/wIAAVcB/wIXAVcB/gJeAWIB7gNQAZoDAwEEAy0BRANgAegDegH+A24B/wN7Af8DhQH/A4oB HQFdAf4DYgHuA1ABmgMDAQQDLQFEA2AB6AOAAf4DbgH/A3sB/wOFAf8DigH/A4wB/wOKAf8DhQH/A3YB
/wOMAf8DigH/A4UB/wN2Af8DVwH/AzIB/wNAAf0DXgHdAyoBPwMtAUQBYAFpAWAB6AEXAYYBFwH+AQAB /wNXAf8DMgH/A0AB/QNeAd0DKgE/Ay0BRAFgAWkBYAHoAR0BgAEdAf4BAAHGAQAB/wEAAdwBAAH/AQAB
xgEAAf8BAAHcAQAB/wEAAe4BAAH/AQAB+AEAAf8BAAH7AQAB/wEAAfkBAAH/AQAB7wEAAf8BAAHUAQAB 7gEAAf8BAAH4AQAB/wEAAfsBAAH/AQAB+QEAAf8BAAHvAQAB/wEAAdQBAAH/AQABnAEAAf8BAAFaAQAB
/wEAAZwBAAH/AQABWgEAAf8BLgFAAS4B/QNeAd0DKgE/Ay0BRAFgAmkB6AEXAoYB/gEAAsYB/wEAAtwB /wE6AUABOgH9A14B3QMqAT8DLQFEAWACaQHoAR0CgAH+AQACxgH/AQAC3AH/AQAC7gH/AQAC+AH/AQAC
/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB/wEAApwB/wEAAloB/wEuAkAB/QNeAd0D +wH/AQAC+QH/AQAC7wH/AQAC1AH/AQACnAH/AQACWgH/AToCQAH9A14B3QMqAT8DLQFEAmABaQHoAh0B
KgE/Ay0BRAJgAWkB6AIXAYYB/gIAAcYB/wIAAdwB/wIAAe4B/wIAAfgB/wIAAfsB/wIAAfkB/wIAAe8B gAH+AgABxgH/AgAB3AH/AgAB7gH/AgAB+AH/AgAB+wH/AgAB+QH/AgAB7wH/AgAB1AH/AgABnAH/AgAB
/wIAAdQB/wIAAZwB/wIAAVoB/wIuAUAB/QNeAd0DKgE/A04BlQN3AfgDfwH/A4UB/wOKAf8DjQH/A44B WgH/AjoBQAH9A14B3QMqAT8DTgGVA3cB+AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB
/wOOAf8DjgH/A40B/wOJAf8DdwH/A00B/wMlAf8DWgHyA0oBiwNOAZUBQQGEAUEB+AEAAeUBAAH/AQAB /wN3Af8DTQH/AyUB/wNaAfIDSgGLA04BlQFHAXwBRwH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB
7wEAAf8BAAH4AQAB/wEAAf0BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAH2AQAB /QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB
/wEAAdUBAAH/AQABiwEAAf8BAAFBAQAB/wNaAfIDSgGLA04BlQFBAoQB+AEAAuUB/wEAAu8B/wEAAvgB /wEAAUEBAAH/A1oB8gNKAYsDTgGVAUcCfAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8B
/wEAAv0B/wEAA/8BAAP/AQAD/wEAAv4B/wEAAvYB/wEAAtUB/wEAAosB/wEAAkEB/wNaAfIDSgGLA04B AAP/AQAC/gH/AQAC9gH/AQAC1QH/AQACiwH/AQACQQH/A1oB8gNKAYsDTgGVAkcBfAH4AgAB5QH/AgAB
lQJBAYQB+AIAAeUB/wIAAe8B/wIAAfgB/wIAAf0B/wIAAv8CAAL/AgAC/wIAAf4B/wIAAfYB/wIAAdUB 7wH/AgAB+AH/AgAB/QH/AgAC/wIAAv8CAAL/AgAB/gH/AgAB9gH/AgAB1QH/AgABiwH/AgABQQH/A1oB
/wIAAYsB/wIAAUEB/wNaAfIDSgGLA18B0wN+AfwDkwH/A44B/wONAf8DjgH/A44B/wOOAf8DjgH/A44B 8gNKAYsDXwHTA34B/AOTAf8DjgH/A40B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB
/wONAf8DhQH/A2cB/wM0Af8DQQH5A1oBxAFbAV8BWwHTASsBsgErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB /wNBAfkDWgHEAVsBXwFbAdMBKwGkASsB/AEOAfsBDgH/AQMB/QEDAf8BAAH+AQAB/wEAAf8BAAH/AQAB
/gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB
/wEAAbkBAAH/AQABXQEAAf8DQQH5A1oBxAFbAl8B0wErArIB/AEOAvsB/wEDAv0B/wEAAv4B/wEAA/8B /wNBAfkDWgHEAVsCXwHTASsCpAH8AQ4C+wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8B
AAP/AQAD/wEAA/8BAAP/AQAC/QH/AQAC7wH/AQACuQH/AQACXQH/A0EB+QNaAcQCWwFfAdMCKwGyAfwC AAL9Af8BAALvAf8BAAK5Af8BAAJdAf8DQQH5A1oBxAJbAV8B0wIrAaQB/AIOAfsB/wIDAf0B/wIAAf4B
DgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB/wIAAV0B /wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB
/wNBAfkDWgHEA24B9QOAAf4DnwH/A5MB/wOPAf8DjgH/A44B/wOOAf8DjgH/A44B/wOOAf8DiwH/A3cB /gOfAf8DkwH/A48B/wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVkB
/wNIAf8DQAH9A2IB4QFRAXkBUQH1ATsB0QE7Af4BJwH/AScB/wELAf8BCwH/AQEB/wEBAf8BAAH/AQAB bgFZAfUBQQHFAUEB/gEnAf8BJwH/AQsB/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH5AQAB/wEAAdYBAAH/AQAB /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wE6AUABOgH9A2IB
gQEAAf8BLgFAAS4B/QNiAeEBUQJ5AfUBOwLRAf4BJwP/AQsD/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD 4QFZAm4B9QFBAsUB/gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB
/wEAA/8BAAL5Af8BAALWAf8BAAKBAf8BLgJAAf0DYgHhAlEBeQH1AjsB0QH+AicC/wILAv8CAQL/AgAC /wEAAoEB/wE6AkAB/QNiAeECWQFuAfUCQQHFAf4CJwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC
/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB+QH/AgAB1gH/AgABgQH/Ai4BQAH9A2IB4QNvAfYDgAH+A6sB /wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8COgFAAf0DYgHhA2MB9gOAAf4DqwH/A5kB/wOQAf8DjgH/A44B
/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB/QNeAeIBSAF7AUgB /wOOAf8DjgH/A44B/wOOAf8DjQH/A38B/wNVAf8DQAH9A14B4gFIAXUBSAH2AWQBxQFkAf4BQgH/AUIB
9gFeAdEBXgH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB /wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/AS4BQAEuAf0DXgHiAUgC /wEAAf8BAAH9AQAB/wEAAeQBAAH/AQABmAEAAf8BOgFAAToB/QNeAeIBSAJ1AfYBZALFAf4BQgP/ARkD
ewH2AV4C0QH+AUID/wEZA/8BBAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC/QH/AQAC5AH/AQAC /wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8BAAKYAf8BOgJAAf0DXgHiAkgB
mAH/AS4CQAH9A14B4gJIAXsB9gJeAdEB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC dQH2AmQBxQH+AkIC/wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgAB
/wIAAf0B/wIAAeQB/wIAAZgB/wIuAUAB/QNeAeIDYQHWA34B/AO4Af8DowH/A5MB/wOOAf8DjgH/A44B mAH/AjoBQAH9A14B4gNhAdYDfgH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B
/wOOAf8DjgH/A44B/wONAf8DggH/A1wB/wNNAfoDWgHHAVwBYQFcAdYBZAG2AWQB/AFfAf8BXwH/AS8B /wOCAf8DXAH/A00B+gNaAccBXAFhAVwB1gFkAaoBZAH8AV8B/wFfAf8BLwH/AS8B/wEMAf8BDAH/AQEB
/wEvAf8BDAH/AQwB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB /wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB
/wEAAf4BAAH/AQAB6gEAAf8BAAGlAQAB/wErAU0BKwH6A1oBxwFcAmEB1gFkArYB/AFfA/8BLwP/AQwD /wEAAaUBAAH/ATEBTQExAfoDWgHHAVwCYQHWAWQCqgH8AV8D/wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD
/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wErAk0B+gNaAccCXAFhAdYC /wEAA/8BAAP/AQAC/gH/AQAC6gH/AQACpQH/ATECTQH6A1oBxwJcAWEB1gJkAaoB/AJfAv8CLwL/AgwC
ZAG2AfwCXwL/Ai8C/wIMAv8CAQL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH+Af8CAAHqAf8CAAGlAf8C /wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wIxAU0B+gNaAccDUAGaA4MB
KwFNAfoDWgHHA1ABmgOJAfkDxQH/A7IB/wOcAf8DkQH/A44B/wOOAf8DjgH/A44B/wOPAf8DjgH/A4MB +QPFAf8DsgH/A5wB/wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB/wNaAfIDTAGQA1AB
/wNgAf8DWgHyA0wBkANQAZoBagGSAWoB+QF8Af8BfAH/AVEB/wFRAf8BHwH/AR8B/wEHAf8BBwH/AQEB mgFqAYwBagH5AXwB/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB/wEHAf8BAQH/AQEB/wEAAf8BAAH/AQAB
/wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAgH/AQIB/wECAf4BAgH/AQAB6wEAAf8BAAGtAQAB /wEAAf8BAAH/AQAB/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVoBawFaAfIDTAGQA1AB
/wFaAWsBWgHyA0wBkANQAZoBagKSAfkBfAP/AVED/wEfA/8BBwP/AQED/wEAA/8BAAP/AQAD/wECA/8B mgFqAowB+QF8A/8BUQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB/wEAAq0B
AgL+Af8BAALrAf8BAAKtAf8BWgJrAfIDTAGQA1ABmgJqAZIB+QJ8Av8CUQL/Ah8C/wIHAv8CAQL/AgAC /wFaAmsB8gNMAZADUAGaAmoBjAH5AnwC/wJRAv8CHwL/AgcC/wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB
/wIAAv8CAAL/AgIC/wICAf4B/wIAAesB/wIAAa0B/wJaAWsB8gNMAZADLwFJA2wB6wOiAf4DxgH/A64B /gH/AgAB6wH/AgABrQH/AloBawHyA0wBkAMvAUkDbAHrA5YB/gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B
/wOcAf8DkwH/A5AB/wOPAf8DkAH/A5MB/wOTAf8DhQH/A08B/QNgAeADLQFFAy8BSQNsAesBgAHRAYAB /wOQAf8DkwH/A5MB/wOFAf8DSQH9A2AB4AMtAUUDLwFJA2wB6wGAAcUBgAH+AX8B/wF/Af8BSQH/AUkB
/gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB /wEfAf8BHwH/AQwB/wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB/wEFAf8BCgH/AQoB/wEKAf4BCgH/AQEB
/wEKAf8BCgH+AQoB/wEBAe0BAQH/AS4BtgEuAf0BYAFmAWAB4AMtAUUDLwFJA2wB6wGAAtEB/gF/A/8B 7QEBAf8BOgG2AToB/QFgAWYBYAHgAy0BRQMvAUkDbAHrAYACxQH+AX8D/wFJA/8BHwP/AQwD/wEFA/8B
SQP/AR8D/wEMA/8BBQP/AQMD/wEFA/8BCgP/AQoC/gH/AQEC7QH/AS4CtgH9AWACZgHgAy0BRQMvAUkD AwP/AQUD/wEKA/8BCgL+Af8BAQLtAf8BOgK2Af0BYAJmAeADLQFFAy8BSQNsAesCgAHFAf4CfwL/AkkC
bAHrAoAB0QH+An8C/wJJAv8CHwL/AgwC/wIFAv8CAwL/AgUC/wIKAv8CCgH+Af8CAQHtAf8CLgG2Af0C /wIfAv8CDAL/AgUC/wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wI6AbYB/QJgAWYB4AMtAUUDAwEEA1YB
YAFmAeADLQFFAwMBBANWAa4DcQH1A9kB/wPLAf8DtwH/A6cB/wOdAf8DmgH/A5wB/wOfAf8DmwH/A4kB rgNuAfUD2QH/A8sB/wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB8ANSAaMDAwEEAwMB
/wNoAfADUgGjAwMBBAMDAQQDVgGuAW4BeQFuAfUBqAH/AagB/wGJAf8BiQH/AVwB/wFcAf8BNwH/ATcB BANWAa4DbgH1AagB/wGoAf8BiQH/AYkB/wFcAf8BXAH/ATcB/wE3Af8BIgH/ASIB/wEbAf8BGwH/AR8B
/wEiAf8BIgH/ARsB/wEbAf8BHwH/AR8B/wEmAf8BJgH/AR0B/wEdAf8BBQHzAQUB/wFZAWgBWQHwA1IB /wEfAf8BJgH/ASYB/wEdAf8BHQH/AQUB8wEFAf8BXgFoAV4B8ANSAaMDAwEEAwMBBANWAa4DbgH1AagD
owMDAQQDAwEEA1YBrgFuAnkB9QGoA/8BiQP/AVwD/wE3A/8BIgP/ARsD/wEfA/8BJgP/AR0D/wEFAvMB /wGJA/8BXAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AV4CaAHwA1IBowMDAQQDAwEEA1YB
/wFZAmgB8ANSAaMDAwEEAwMBBANWAa4CbgF5AfUCqAL/AokC/wJcAv8CNwL/AiIC/wIbAv8CHwL/AiYC rgNuAfUCqAL/AokC/wJcAv8CNwL/AiIC/wIbAv8CHwL/AiYC/wIdAv8CBQHzAf8CXgFoAfADUgGjAwMB
/wIdAv8CBQHzAf8CWQFoAfADUgGjAwMBBAQAAxwBJwNdAccDeAH2A7EB/gPXAf8DzAH/A8IB/wO7Af8D BAQAAxwBJwNdAccDcgH2A6UB/gPXAf8DzAH/A8IB/wO7Af8DtwH/A7EB/wOAAf4DaAH0A1kBvAMbASYI
twH/A7EB/wOAAf4DaAH0A1kBvAMbASYIAAMcAScDXQHHAXMBewFzAfYBiQHRAYkB/gGlAf8BpQH/AYsB AAMcAScDXQHHAWkBdQFpAfYBgAHFAYAB/gGlAf8BpQH/AYsB/wGLAf8BdAH/AXQB/wFmAf8BZgH/AVwB
/wGLAf8BdAH/AXQB/wFmAf8BZgH/AVwB/wFcAf8BTgH/AU4B/wFHAdEBRwH+AVMBeAFTAfQBVwFZAVcB /wFcAf8BTgH/AU4B/wFNAcUBTQH+AVMBcQFTAfQBVwFZAVcBvAMbASYIAAMcAScDXQHHAWkCdQH2AYAC
vAMbASYIAAMcAScDXQHHAXMCewH2AYkC0QH+AaUD/wGLA/8BdAP/AWYD/wFcA/8BTgP/AUcC0QH+AVMC xQH+AaUD/wGLA/8BdAP/AWYD/wFcA/8BTgP/AU0CxQH+AVMCcQH0AVcCWQG8AxsBJggAAxwBJwNdAccC
eAH0AVcCWQG8AxsBJggAAxwBJwNdAccCcwF7AfYCiQHRAf4CpQL/AosC/wJ0Av8CZgL/AlwC/wJOAv8C aQF1AfYCgAHFAf4CpQL/AosC/wJ0Av8CZgL/AlwC/wJOAv8CTQHFAf4CUwFxAfQCVwFZAbwDGwEmDAAD
RwHRAf4CUwF4AfQCVwFZAbwDGwEmDAADIQEwA1kBtgNoAe4DlgH6A74B/QPUAf8DzAH/A74B/QOFAfkD IQEwA1kBtgNiAe4DhAH6A74B/QPUAf8DzAH/A74B/QN/AfkDbAHrA1UBrAMfASwQAAMhATADWQG2AWIB
bAHrA1UBrAMfASwQAAMhATADWQG2AWYBagFmAe4BfQGhAX0B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB ZAFiAe4BfQGTAX0B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB/wFZAb4BWQH9AWgBjAFoAfkBYQFsAWEB
/wFfAb4BXwH9AWgBkgFoAfkBYQFsAWEB6wNVAawDHwEsEAADIQEwA1kBtgFmAmoB7gF9AqEB+gGuAr4B 6wNVAawDHwEsEAADIQEwA1kBtgFiAmQB7gF9ApMB+gGuAr4B/QGfA/8BjAP/AVkCvgH9AWgCjAH5AWEC
/QGfA/8BjAP/AV8CvgH9AWgCkgH5AWECbAHrA1UBrAMfASwQAAMhATADWQG2AmYBagHuAn0BoQH6Aq4B bAHrA1UBrAMfASwQAAMhATADWQG2AmIBZAHuAn0BkwH6Aq4BvgH9Ap8C/wKMAv8CWQG+Af0CaAGMAfkC
vgH9Ap8C/wKMAv8CXwG+Af0CaAGSAfkCYQFsAesDVQGsAx8BLBQAAwYBBwM2AVgDVQGsA2YB5QOjAfwD YQFsAesDVQGsAx8BLBQAAwYBBwM2AVgDVQGsA2YB5QORAfwDjgH7A2UB4gNTAacDMwFRAwYBBxgAAwYB
lAH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QF+AbYBfgH8AW8BogFvAfsDZQHiA1MB BwM2AVgDVQGsA2YB5QF+AaoBfgH8AWMBmQFjAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawD
pwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAX4CtgH8AW8CogH7A2UB4gNTAacDMwFRAwYBBxgAAwYB ZgHlAX4CqgH8AWMCmQH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QJ+AaoB/AJjAZkB
BwM2AVgDVQGsA2YB5QJ+AbYB/AJvAaIB+wNlAeIDUwGnAzMBUQMGAQcMAAFCAU0BPgcAAT4DAAEoAwAB +wNlAeIDUwGnAzMBUQMGAQcMAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAB
QAMAASADAAEBAQABAQYAAQEWAAP/gQAB4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwGAAQEB 4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYABAQGAAQFQAAGAAQEBgAEBAYAB
gAEBAYABAQGAAQFQAAGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeAB AQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBws=
Bws=
</value> </value>
</data> </data>
<metadata name="ilGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ilGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -292,168 +291,171 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAMiUAAAJNU0Z0AUkBTAIBAQMB SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAALiUAAAJNU0Z0AUkBTAIBAQMB
AAF4AQEBeAEBASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6 AAGoAQEBqAEBASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6
AANcAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD AANcAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD
PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEhVAADUwGiA1sBwCAAA1QB PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEhVAADUwGiA1sBwCAAA1QB
pgNZAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacC pgNZAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacC
YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8C YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8C
YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYAFdAc4DWQG7AlABTwGbAyoBQFQAA2MB0ANvAe4g YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYAFdAc4DWQG7AlABTwGbAyoBQFQAA18B0ANpAe4g
AANlAdQDbQHp5AADWgG/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB AANhAdQDZgHp5AADWgG/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB
AAH/AQgBCgEAAf8DWgG/A1oBvwFDAXQBBwH/AUcBdwEMAf8BJQFHAQAB/wEOARkBAAH/DAACSwFKAYoC AAH/AQgBCgEAAf8DWgG/A1oBvwFDAXQBBwH/AUcBdwEMAf8BJQFHAQAB/wEOARkBAAH/DAACSwFKAYoC
WgFYAb0CZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoC WgFYAb0CZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoC
ZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCYwFaAekCXwFbAdMDVQGvAy4BSFQAA2MB ZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCYwFaAekCXwFbAdMDVQGvAy4BSFQAA18B
0ANvAe4gAANlAdQDbQHp4AABCAEKAQAB/wEQAR4BAAH/ASEBQQEAAf8BJwFLAQAB/wEmAUoBAAH/ASEB 0ANpAe4gAANhAdQDZgHp4AABCAEKAQAB/wEQAR4BAAH/ASEBQQEAAf8BJwFLAQAB/wEmAUoBAAH/ASEB
QQEAAf8BEAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEpAU4BAAH/AVoBlgEQAf8BWgGcARAB QQEAAf8BEAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEpAU4BAAH/AVoBlgEQAf8BWgGcARAB
/wFzAbYBJgH/ARgBLgEAAf8MAANJAYYCWgFYAbcCZQFgAeMCZQFgAeMCZQFgAeMCZQFgAeMCagFhAeYC /wFzAbYBJgH/ARgBLgEAAf8MAANJAYYCWgFYAbcCZQFgAeMCZQFgAeMCZQFgAeMCZQFgAeMCagFhAeYC
agFeAe0BawFoAVMB9AGhAXcBKwH8Af8BeAEAAv8BeAEAAf8CbgFXAfUCagFhAeYCZQFgAeMCZQFgAeMC agFeAe0CaAFTAfQBjwF3ASsB/AH/AXgBAAL/AXgBAAH/Am4BWgH1AmoBYQHmAmUBYAHjAmUBYAHjAmUB
ZQFgAeMCZQFeAeICXgFbAc0CVQFTAaoCLgEtAUZUAANjAdADbwHuIAADZQHUA20B6dwAAQgBCgEAAf8B YAHjAmUBXgHiAl4BWwHNAlUBUwGqAi4BLQFGVAADXwHQA2kB7iAAA2EB1ANmAencAAEIAQoBAAH/AT0B
PQFxAQIB/wFMAYYBBwH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFMAX8B cQECAf8BTAGGAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BTAF/AQ8B
DwH/ATsBZwEIAf8BIQE0AQgB/wFTAY4BCwH/AVoBnAEQAf8BcgGzAScB/wFTAYEBGwH/EAADKwFBAzYB /wE7AWcBCAH/ASEBNAEIAf8BUwGOAQsB/wFaAZwBEAH/AXIBswEnAf8BUwGBARsB/xAAAysBQQM2AVkC
WQJAAT8BbgJAAT8BbgJAAT8BbgJAAT8BbgNEAXsCUQFQAZ8CXQFbAcUDYgHuAf8BeAEAAv8BeAEAAf8C QAE/AW4CQAE/AW4CQAE/AW4CQAE/AW4DRAF7AlEBUAGfAl0BWwHFA2IB7gH/AXgBAAL/AXgBAAH/Al8B
XwFdAckDRQF8AkABPwFuAkABPwFuAkABPwFuAz8BbQM7AWMDMwFSAxkBIlQAA2MB0ANvAe4gAANlAdQD XQHJA0UBfAJAAT8BbgJAAT8BbgJAAT8BbgM/AW0DOwFjAzMBUgMZASJUAANfAdADaQHuIAADYQHUA2YB
bQHp2AABFQEpAQAB/wFKAYQBBAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB 6dgAARUBKQEAAf8BSgGEAQQB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVYBkAEMAf8BWgGaARAB/wFaAZwBEAH/AXIB UgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFWAZABDAH/AVoBmgEQAf8BWgGcARAB/wFyAakB
qQEwAf8BCAEKAQAB/wEIAQoBAAH/DAADDAEQAxEBFgMVARwDFQEcAxUBHAMVARwDIQEwAj4BPQFpAlMB MAH/AQgBCgEAAf8BCAEKAQAB/wwAAwwBEAMRARYDFQEcAxUBHAMVARwDFQEcAyEBMAI+AT0BaQJTAVIB
UgGlAmYBXwHlAf8BeAEAAv8BeAEAAf8CVQFTAaoDIgExAxUBHAMVARwDFQEcAxQBGwMTARkDEAEVAwcB pQJmAV8B5QH/AXgBAAL/AXgBAAH/AlUBUwGqAyIBMQMVARwDFQEcAxUBHAMUARsDEwEZAxABFQMHAQlU
CVQAA2MB0ANvAe4gAANlAdQDbQHp1AABFgEnAQIB/wFJAYABBwH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB AANfAdADaQHuIAADYQHUA2YB6dQAARYBJwECAf8BSQGAAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCwH/AVIBjAEQAf8BUgGMARAB/wFYAZIBEAH/AVoBlAEQAf8B /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQsB/wFSAYwBEAH/AVIBjAEQAf8BWAGSARAB/wFaAZQBEAH/AVoB
WgGbARAB/wFaAZwBEAH/AVwBngESAf8BOwFtAQMB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wgAAwUE mwEQAf8BWgGcARAB/wFcAZ4BEgH/ATsBbQEDAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8IAAMFBAYE
BgQIAQoDCAEKAwgBCgMIAQoDFwEfAjkBOAFdA1EBngJlAWAB4wH/AXgBAAL/AXgBAAH/A1IBowMYASED CAEKAwgBCgMIAQoDCAEKAxcBHwI5ATgBXQNRAZ4CZQFgAeMB/wF4AQAC/wF4AQAB/wNSAaMDGAEhAwgB
CAEKAwgBCgMIAQoDCAEKAwcBCQMGAQcDAgEDVAADYwHQA28B7iAAA2UB1ANtAenQAANdAd8BRwGAAQMB CgMIAQoDCAEKAwgBCgMHAQkDBgEHAwIBA1QAA18B0ANpAe4gAANhAdQDZgHp0AADXQHfAUcBgAEDAf8B
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIB UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwB
jAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB EAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B
/wFaAZgBEAH/ARYBKgEAAf8BCAEKAQAB/wEIAQoBAAH/HAADEgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8B WgGYARAB/wEWASoBAAH/AQgBCgEAAf8BCAEKAQAB/xwAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgB
eAEAAf8CUQFQAZ8DEgEYcAADYwHQA28B7iAAA2UB1ANtAenQAAEsAVABAAH/AUoBjAEAAf8BUgGMAQgB AAH/AlEBUAGfAxIBGHAAA18B0ANpAe4gAANhAdQDZgHp0AABLAFQAQAB/wFKAYwBAAH/AVIBjAEIAf8B
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEOAf8BVQGSARAB/wFaAZwBEAH/AVoB UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBDgH/AVUBkgEQAf8BWgGcARAB/wFaAZwB
nAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB EAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8B
/wFYAZIBFgH/ARABHgEAAf8BCAEKAQAB/xwAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEB WAGSARYB/wEQAR4BAAH/AQgBCgEAAf8cAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVAB
UAGfAxIBGHAAA2MB0ANvAe4gAANlAdQDbQHp1AADSwGPATMBXgEAAf8BUgGMAQgB/wFSAYwBCAH/AVIB nwMSARhwAANfAdADaQHuIAADYQHUA2YB6dQAA0sBjwEzAV4BAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB
jAEIAf8BUgGMARAB/wF/AcABMwH/AV8BngEXAf8BIAE/AQAB/wEIAQoBAAH/AVIBjAEQAf8BWgGcARAB CAH/AVIBjAEQAf8BfwHAATMB/wFfAZ4BFwH/ASABPwEAAf8BCAEKAQAB/wFSAYwBEAH/AVoBnAEQAf8B
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZUBFwH/AVoBlAEYAf8BWgGUARgB/wFaAZQBGAH/AQgB WgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGVARcB/wFaAZQBGAH/AVoBlAEYAf8BWgGUARgB/wEIAQoB
CgEAAf8BCAEKAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQABAED AAH/AQgBCgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQBAwMB
AwEEAwYEBwEJAwcBCQMEAQUEAgQBFAADEQEWAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8D BAMGBAcBCQMHAQkDBAEFBAIEARQAAxEBFgMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEB
IQEvA2QB2QN0AfEDIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwNoAdwDcQHtAyEBLwMhAS8D LwNhAdkDcAHxAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DYgHcA2oB7QMhAS8DIQEvAyEB
IQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAw0BEbgAAUIBewEAAf8BUgGMAQgB/wF7AcYBKQH/AzMB LwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMNARG4AAFCAXsBAAH/AVIBjAEIAf8BewHGASkB/wMzAVAE
UAQAAwwBEAE5AWsBAAH/AVoBnAEQAf8BWgGcARAB/wFdAZcBEwH/AVYBlAEMAf8BWgGcARAB/wFaAZQB AAMMARABOQFrAQAB/wFaAZwBEAH/AVoBnAEQAf8BXQGXARMB/wFWAZQBDAH/AVoBnAEQAf8BWgGUARgB
GAH/AVoBlAEYAf8BYwGcARgB/wFjAaUBFwH/ASkBUAEAAf8BCAEKAQAB/xgAAxIBFwM1AVYDUAGaA2IB /wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wEpAVABAAH/AQgBCgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB
4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQABAIDCQEMAw8BFAMTARoDEgEYAwoBDQMEAQUEARQAA28B /wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQCAwkBDAMPARQDEwEaAxIBGAMKAQ0DBAEFBAEUAANpAegD
6AN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B
/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B
/wNjAc+8AAEIAQoBAAH/DAABEwEjAQAB/wFaAZQBEAH/AVoBnAEQAf8BlAHWAUoB/wENAREBAgH/ATEB
WgEAAf8BWgGUARIB/wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAaUBFwH/AWsBpQEhAf8BEAEeAQAB
/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwUBBgMdASkDMAFKAjsB
PAFlAjsBPAFkAygBPAIVARYBHQMGAQgUAAM8AWQDTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wB
jwNMAY8DbgHqA3wB+ANMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA3EB7ANxAfUDTAGPA0wB
jwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DNQFWqAADXQHfAQgBCgEAAf8BCAEKAQAB/wEIAQoB
AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AzMBUAM6AWABSwGFAQcB/wFaAZQBEAH/AVoBnAEQAf8B
OQFrAQAB/wMJAQwBEAEeAQAB/wFUAY4BEgH/AVoBlAEYAf8BYwGcARgB/wFjAZwBGAH/AWMBpQEXAf8B
cwG0ASkB/wEQAR4BAAH/GAADEgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAAD
CQEMAzMBUAJMAU0BkQJdAV8ByQJbAV0BygNEAXoDKQE9AwwBEDwAA2MB0ANvAe4gAANlAdQDbQHpzAAB
CAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB
AAH/AQgBCgEAAf8BMwFfAQIB/wFaAZQBEAH/AVoBnAEQAf8BrQHnAWMB/wEQAR4BAAH/AQgBCgEAAf8B
FAEmAQAB/wFUAY4BEgH/AWIBmwEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGcASEB/wEYAS4B
AAH/GAADEgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAADCQELAy4BRwNIAYQC
WQFcAcMCXAFfAcsDSQGFAy4BRwMPARM8AANjAdADbwHuIAADZQHUA20B6cgAAQgBCgEAAf8BKwFSAQAB
/wFBAXIBBQH/AUoBhAEGAf8BSgGEAQYB/wFKAYQBBgH/AUIBcwEGAf8BKQFQAQAB/wEQAR4BAAH/AR8B
OgEAAf8BVQGPAQsB/wFaAZUBEAH/AVoBnAEQAf8B1gH/AYwB/wEQAR4BAAH/ARgBLgEAAf8BQgF4AQMB
/wFaAZQBGAH/AWIBmwEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BcwG0ASkB/wEQAR4BAAH/GAAD
EgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAADBgEIAyQBNAM8AWYDUwGnA1gB
uAJHAUgBgwMxAU0DDwEUPAADYwHQA28B7iAAA2UB1ANtAenEAAEoAU0BAAH/AU4BiAEHAf8BUgGMAQgB
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIB
jAEQAf8BWgGUARAB/wFaAZwBEAH/AWMBpQEXAf8BQgF7AQAB/wFKAYQBBgH/AVIBjAEIAf8BWgGYARQB
/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMBpQEXAf8BlAHJAU0B/wQAAxABFQMaASQD
IQEvAxEBFgQCBAEDEgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAADAwEEAxMB
GQMlATYCOwE8AWQCQQFCAXIDMwFRAyEBLwMJAQw8AANjAdADbwHuIAADZQHUA20B6cAAASkBTgECAf8B
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB
EAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlQEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B
WgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFjAaUB
FwH/AWUBoAEhAf8EAAMeASsCMQEwAUwDOwFjAyIBMQMHAQkDBAEFAxIBGAM2AVcDUAGaA2IB4QH/AXgB
AAL/AXgBAAH/AlEBUAGfAxIBGBwAAwcBCQMcAScDIwEyAhkBGgEjAw8BFAMEAQU8AANjAdADbwHuIAAD
ZQHUA20B6bwAA0YBgAFOAYgBBwH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB
/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZcBEAH/AVoB
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGhARgB
/wFjAaUBFwH/AWMBpQEXAf8BeAG6ASwB/wEIAQoBAAH/BAADJAE0A0UBfAJaAVgBtwNOAZQDPwFtAygB
OwMfASwDOQFeA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMSARcDPAFmA0oBiQNAAW8D
LgFHAw4BEjwAA2MB0ANvAe4gAANlAdQDbQHpvAABNQFeAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVoB
lAEQAf8BWgGUARAB/wFaAZsBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlgEWAf8BWgGUARgB
/wFdAZcBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AXABswEgAf8BKwFQAQQB/wgAAycBOgJTAVEB
ogGWAV8BIQH7AmUBXAHnAlwBWgHEAkMBQgF1AzEBTQJAAT8BbgJRAVABnwJlAWAB4wH/AXgBAAL/AXgB
AAH/AlEBUAGfAxIBGBwAAxkBIgNOAZUCWwFeAc0CVgFXAbIDRAF6Ax0BKQMGAQgEAgQBMAADYwHQA28B
7iAAA2UB1ANtAem8AAFKAYQBBgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB
/wFnAakBFwH/AVIBjAEIAf8BSgGEAQYB/wFKAYQBBgH/AVIBjAEQAf8BWgGUARAB/wFaAZcBEAH/AVoB
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AV8BmAEYAf8BYwGeARgB
/wFjAaUBFwH/AWsBqQEdAf8BKQFQAQAB/wwAAyIBMQNOAZgCbwFgAfMCaAFeAfACagFhAeYCWgFXAcIC
VQFTAaoDUwGnAlkBVwG8AmwBYQHrAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADFAEbAkMBRAF3AlYB
WQG2AlsBXgHNAlYBWAGzAz8BbAMmATgDDAEPAwIBAwgAAwIBAwMNAREDDQERAw0BEQMNAREDDQERAw0B
EQMNAREDDQERAw0BEQNiAdMDcQHvAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDZQHXA28B
6gMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMEAQWUAAFKAYQBBgH/AVIBjAEIAf8B
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BaQGkAR4B/wEsAVABAwH/AQgBCgEAAf8BNwFhAQcB/wFSAYwB
DgH/AVIBjAEQAf8BfwHBATIB/wFbAV4BWwHTA1oBvwEvAVkBAAH/AUQBegEFAf8BUAGKAQgB/wFaAZwB
DgH/AVoBnAEQAf8BWgGcARAB/wFPAYYBEAH/AUQBdAEMAf8DWgG/EAACGgEZASMDRAF7Al0BWwHKAmMB
XwHaAmkBYAHoAmcBWQHvAmUBXQHsAmEBXAHWAl8BWwHYAWsBaAFTAfQB/wF4AQAC/wF4AQAB/wJRAVAB
nwMSARgcAAMPARMDNAFTA00BkgJdAWEBzwJdAWEB1AJSAVQBqAJBAUIBcgMmATgDFAEbAwYBCAMCAQMD
XQHCA38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
fwH/A2gB3JQAAUoBjAEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFnAZ0BJwH/AQgB fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
CgEAAf8BCgEPAQAB/wFCAXcBAwH/AVIBjAEQAf8BWgGcARAB/wElAUEBBQH/BAADOgFgAQgBCgEAAf8B YQHPvAABCAEKAQAB/wwAARMBIwEAAf8BWgGUARAB/wFaAZwBEAH/AZQB1gFKAf8BDQERAQIB/wExAVoB
CAEKAQAB/wQAA0YBgANGAYADRgGAHAADCgENAyIBMQM0AVQDRAF4AlEBUAGfAmEBXQHPAmoBXgHtAmUB AAH/AVoBlAESAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFrAaUBIQH/ARABHgEAAf8Y
XQHsAmgBXgHwAZYBXwEhAfsB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMGAQgDGAEhAzEBTQJMAU0B AAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMFAQYDHQEpAzABSgI7ATwB
kQJYAVoBvQJdAWEB0QJZAVwBwwJRAVMBogM9AWcCGQEaASMDDAEPA0ABbwNVAa0DVQGtA1UBrQNVAa0D ZQI7ATwBZAMoATwCFQEWAR0DBgEIFAADPAFkA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8D
VQGtA1UBrQNVAa0DVQGtA1UBrQNwAfADfQH6A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0D TAGPA2cB6gN8AfgDTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNrAewDbgH1A0wBjwNMAY8D
dAHxA3wB+ANVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNHAYGUAAE7AW0BAgH/AVIB TAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPAzUBVqgAA10B3wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUwGOARAB/wEPARsBAAH/ASMBQwEAAf8BUgGMARAB /wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wMzAVADOgFgAUsBhQEHAf8BWgGUARAB/wFaAZwBEAH/ATkB
/wFSAYwBEAH/AXsBvQEwAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgB awEAAf8DCQEMARABHgEAAf8BVAGOARIB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AXMB
CgEAAf8BCAEKAQAB/ygAAwMBBAMJAQsDIgExAzgBWwJPAU4BlwJfAVwByAJmAV8B5QGBAW8BUQH3Ab4B tAEpAf8BEAEeAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkB
WAFAAf0B/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAQBAwIBAwMVARwDNQFWAksBTAGPAlwBXwHIAl0B DAMzAVACTAFNAZECXQFfAckCWwFdAcoDRAF6AykBPQMMARA8AANfAdADaQHuIAADYQHUA2YB6cwAAQgB
YwHfAmABZQHjAlIBUwGlAzQBUwMcAScoAANjAdADbwHuIAADZQHUA20B6bwAAQgBCgEAAf8BUgGMAQgB CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AU4BggEPAf8BSgGEAQYB/wFSAYwBEAH/AWMB /wEIAQoBAAH/ATMBXwECAf8BWgGUARAB/wFaAZwBEAH/Aa0B5wFjAf8BEAEeAQAB/wEIAQoBAAH/ARQB
pQEXAf8BCAEKAQAB/wEIAQoBAAH/ARMBIwEAAf8BQgFzAQYB/wEgAT8BAAH/AQgBCgEAAf8BCAEKAQAB JgEAAf8BVAGOARIB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMBnAEhAf8BGAEuAQAB
/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/yAABAEDAwEEAwwBEAMYASADKQE9Az4BagJXAVYBtQJmAV8B /xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkBCwMuAUcDSAGEAlkB
5QGBAW8BUQH3Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYIAAEAQMHAQkDFAEbAyoBQANDAXYDVQGvAloB XAHDAlwBXwHLA0kBhQMuAUcDDwETPAADXwHQA2kB7iAAA2EB1ANmAenIAAEIAQoBAAH/ASsBUgEAAf8B
YwHpAlsBXwHQAlABUQGfAzMBUSgAA2MB0ANvAe4gAANlAdQDbQHpwAABQgFzAQYB/wFSAYwBCAH/AVIB QQFyAQUB/wFKAYQBBgH/AUoBhAEGAf8BSgGEAQYB/wFCAXMBBgH/ASkBUAEAAf8BEAEeAQAB/wEfAToB
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AUoBhAEGAf8BEAEeAQAB AAH/AVUBjwELAf8BWgGVARAB/wFaAZwBEAH/AdYB/wGMAf8BEAEeAQAB/wEYAS4BAAH/AUIBeAEDAf8B
/wExAVoBAAH/AU0BhAENAf8BWgGcARAB/wFaAZwBEAH/AVIBjAEIAf8BEAEeAQAB/wEIAQoBAAH/AQgB WgGUARgB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AXMBtAEpAf8BEAEeAQAB/xgAAxIB
CgEAAf8DRgGALAADAgEDAwsBDgMgAS4DQwF2AlcBVQGxAmYBYAHgAXIBYwFIAfYBiQFqAUEB+QJRAVAB FwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwYBCAMkATQDPAFmA1MBpwNYAbgC
nAMSARcMAAQBAwwBEAMXAR8DHQEoAx0BKAMMAQ8IAAMPARQCJgEnATkCRwFIAYMDYgHhAlwBZQHnA14B RwFIAYMDMQFNAw8BFDwAA18B0ANpAe4gAANhAdQDZgHpxAABKAFNAQAB/wFOAYgBBwH/AVIBjAEIAf8B
0gI/AUABbigAA2MB0ANvAe4gAANlAdQDbQHpxAABSQGJAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwB
/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZwBEAH/AVoB EAH/AVoBlAEQAf8BWgGcARAB/wFjAaUBFwH/AUIBewEAAf8BSgGEAQYB/wFSAYwBCAH/AVoBmAEUAf8B
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BQgFzAQYB/wEKAQ4BAAH/MAAEAQMDAQQDDAEPAx4B WgGUARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFjAaUBFwH/AZQByQFNAf8EAAMQARUDGgEkAyEB
KgM6AWECWQFXAbkCYwFbAeQDYgHuAk8BTgGXAxIBFwwAAwIBAwMhAS8DNgFZAkIBQwF1AkEBQgFzAx4B LwMRARYEAgQBAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwMBBAMTARkD
KwgAAwQBBQMMAQ8DOAFcAl0BYAHOAl0BZQHsAlkBZwHvA0YBfygAA2MB0ANvAe4gAANlAdQDbQHpyAAB JQE2AjsBPAFkAkEBQgFyAzMBUQMhAS8DCQEMPAADXwHQA2kB7iAAA2EB1ANmAenAAAEpAU4BAgH/AVIB
OgFrAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZQB jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB
EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBpQEXAf8B /wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZUBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB
GQEsAQMB/zgAAwIBAwMIAQoDIAEtAkEBQAFxAk0BTAGRA1ABmgI7AToBYgMMAQ8MAAMDAQQDKwFBA0QB nAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB
egNTAacDVQGtAzcBWgMYASADCQELAwYBBwMNAREDOQFfAl0BYQHRAlkBZwHvAmABbwHzAkYBRwGBKAAD /wFlAaABIQH/BAADHgErAjEBMAFMAzsBYwMiATEDBwEJAwQBBQMSARgDNgFXA1ABmgNiAeEB/wF4AQAC
YwHQA28B7iAAA2UB1ANtAenMAAEsAVUBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8B /wF4AQAB/wJRAVABnwMSARgcAAMHAQkDHAEnAyMBMgIZARoBIwMPARQDBAEFPAADXwHQA2kB7iAAA2EB
WgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQB 1ANmAem8AANGAYABTgGIAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
GAH/ASEBQQEAAf9AAAQCAwcBCQMQBBUBHAIWARUBHQMPARMDAgEDDAADAwEEAzADSwFMAY8CWwFdAcoC UgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB
WwFhAd4DTgGUAzQBUwMVARwDDQERAx4BKwJDAUQBdwJdAWMB3wJlAXAB8QJaAWMB6QNEAXsoAANjAdAD EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMBoQEYAf8B
bwHuIAADZQHUA20B6cgAARIBIgEAAf8BTAGGAQYB/wFSAYwBCAH/AVoBnAEQAf8BUAGKAQgB/wFSAYwB YwGlARcB/wFjAaUBFwH/AXgBugEsAf8BCAEKAQAB/wQAAyQBNANFAXwCWgFYAbcDTgGUAz8BbQMoATsD
EAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEQH/AWkBqwEfAf8B HwEsAzkBXgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADEgEXAzwBZgNKAYkDQAFvAy4B
CAEKAQAB/2wAAwIBAwMhAS8DOgFhA1UBrQJfAWMB2gNaAb8CUAFRAZ8DRAF6AkEBQgFyA0kBhQJWAVcB RwMOARI8AANfAdADaQHuIAADYQHUA2YB6bwAATUBXgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
sgJeAWoB7QJgAWQB2wJVAVcBsQM4AVsoAANjAdADbwHuIAADZQHUA20B6cgAARABHgEAAf8BSAF9AQcB UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB
/wFZAZMBEwH/AVUBiAEYAf8IAAEhAUEBAAH/AUIBewEAAf8BUgGMAQgB/wFVAZEBCAH/ATkBZgEEAf8D EAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYBFgH/AVoBlAEYAf8B
WQHveAADBgEIAxcBHwNEAXsCWQFcAcYCWwFjAeQCUwFrAfQDYgHuA2IB7gJlAXAB8QJIAXIB9gIrAaEB XQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8IAAMnAToCUwFRAaIB
/AJZAVwBvgM+AWsDJAE0KAADYwHQA28B7iAAA2UB1ANtAenQAAEeAToBAAH/nAAEAgMJAQwDKgM/AUAB kAFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC/wF4AQAB
bgNOAZYCVgFYAbMCWQFcAcECWgFdAccCWgFdAccCVwFZAbkCUQFSAaQCQAFBAXEDJQE2AxMBGSgAA2MB /wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA18B0ANpAe4g
0ANvAe4gAANlAdQDbQHp/wB5AAQBAwsBDgMmATgDOQFeA0YBfQJKAUsBiwNKAYkDPgFrAyoBPwMXAR8D AANhAdQDZgHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
AgEDLAADUwGiA1wBvyAAA1QBpgNaAbuoAAFCAU0BPgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIW ZwGpARcB/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB
AAP/AQAD/wHHAgABBwL/Ac8B8wH/BAAC/wHPAYcCAAEHAv8BzwHzAf8EAAH/Af4BAAEHAgABBwL/Ac8B EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFfAZgBGAH/AWMBngEYAf8B
8wH/BAAB/wH8AQABBwIAAQcC/wHPAfMB/wQAAf8B+AEAAQ8CAAEHAv8BzwHzAf8EAAH/AfABAAEHAgAB YwGlARcB/wFrAakBHQH/ASkBUAEAAf8MAAMiATEDTgGYAm8BYAHzAmgBXgHwAmoBYQHmAloBVwHCAlUB
BwL/Ac8B8wH/BAAB/wHgAQABAwIAAQcC/wHPAfMB/wQAAf8BwAEAAQEB/AEDA/8BzwHzAf8EAAH/AcAB UwGqA1MBpwJZAVcBvAJsAWEB6wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxQBGwJDAUQBdwJWAVkB
AAEBAfwBAwP/Ac8B8wH/BAAB/wHgAgAB/AEDAeABHwgAAf8B/AEgAQAB/AEDAeABHwgAAf8B/gHgAQAB tgJbAV4BzQJWAVgBswM/AWwDJgE4AwwBDwMCAQMIAAMCAQMDDQERAw0BEQMNAREDDQERAw0BEQMNARED
/AEDAeABHwgAAf8BwAIAAfwBAwHgAR8B/wHPAfMB/wQAAf8BgAIAAfwBAwHgAR8B/wHPAfMB/wQAAf8D DQERAw0BEQMNAREDXwHTA2cB7wMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERA2IB1wNnAeoD
AAH8AQMB4AEfAf8BzwHzAf8EAAH+AgABAQEAAQMB4AEfAf8BzwHzAf8EAAH8AgABAQEAAQMB+AEfAf8B DQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDBAEFlAABSgGEAQYB/wFSAYwBCAH/AVIB
zwHzAf8EAAH4AgABAQEAAQMB+AEfAf8BzwHzAf8EAAH4AgABAwEAAQMB+AEDAf8BzwHzAf8EAAH4AgAB jAEIAf8BUgGMAQgB/wFSAYwBCAH/AWkBpAEeAf8BLAFQAQMB/wEIAQoBAAH/ATcBYQEHAf8BUgGMAQ4B
BwEAAQMB+AEDCAAB+AIAAQ8BAAEDAfgJAAH4AQABRAF/AQABAwH4CQAB+AEAAQEB/wGAAQMB+AEAAf8B /wFSAYwBEAH/AX8BwQEyAf8BWwFeAVsB0wNaAb8BLwFZAQAB/wFEAXoBBQH/AVABigEIAf8BWgGcAQ4B
zwHzAf8EAAH4AgABfwGAAQMB/AEAAf8BzwHzAf8EAAH8AgABfwHwAQMBgQGAAf8BzwHzAf8EAAH+AgAB /wFaAZwBEAH/AVoBnAEQAf8BTwGGARAB/wFEAXQBDAH/A1oBvxAAAhoBGQEjA0QBewJdAVsBygJjAV8B
/wHwAQMBgQGAAf8BzwHzAf8EAAH/AgAB/wH8AQMBgAEAAf8BzwHzAf8EAAH/AYABAQH/Af4BAwGAAQAB 2gJpAWAB6AJnAVkB7wJlAV0B7AJhAVwB1gJfAVsB2AJoAVMB9AH/AXgBAAL/AXgBAAH/AlEBUAGfAxIB
/wHPAfMB/wQAAf8BAAEDA/8BgAEAAf8BzwHzAf8EAAH/AQwBDwP/AcABAAH/Ac8B8wH/BAAB/wHfBP8B GBwAAw8BEwM0AVMDTQGSAl0BYQHPAl0BYQHUAlIBVAGoAkEBQgFyAyYBOAMUARsDBgEIAwIBAwNaAcID
wAEAAf8BzwHzAf8EAAb/AfABAQH/Ac8B8wH/BAAL fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
YgHclAABSgGMAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcBnQEnAf8BCAEKAQAB
/wEKAQ8BAAH/AUIBdwEDAf8BUgGMARAB/wFaAZwBEAH/ASUBQQEFAf8EAAM6AWABCAEKAQAB/wEIAQoB
AAH/BAADRgGAA0YBgANGAYAcAAMKAQ0DIgExAzQBVANEAXgCUQFQAZ8CYQFdAc8CagFeAe0CZQFdAewC
aAFeAfABkAFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB
WgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UBrQNVAa0D
VQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNwAfED
fAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8BUgGMAQgB
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8BIwFDAQAB/wFSAYwBEAH/AVIB
jAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
/wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAmYBXwHlAXcBbwFRAfcBvgFSAUAB
/QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwABAEDAgEDAxUBHAM1AVYCSwFMAY8CXAFfAcgCXQFjAd8C
YAFlAeMCUgFTAaUDNAFTAxwBJygAA18B0ANpAe4gAANhAdQDZgHpvAABCAEKAQAB/wFSAYwBCAH/AVIB
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BTgGCAQ8B/wFKAYQBBgH/AVIBjAEQAf8BYwGlARcB
/wEIAQoBAAH/AQgBCgEAAf8BEwEjAQAB/wFCAXMBBgH/ASABPwEAAf8BCAEKAQAB/wEIAQoBAAH/AQgB
CgEAAf8BCAEKAQAB/wEIAQoBAAH/IAAEAQMDAQQDDAEQAxgBIAMpAT0DPgFqAlcBVgG1AmYBXwHlAXcB
bwFRAfcB/wF4AQAC/wF4AQAB/wJRAVABnwMSARggAAQBAwcBCQMUARsDKgFAA0MBdgNVAa8CWgFjAekC
WwFfAdACUAFRAZ8DMwFRKAADXwHQA2kB7iAAA2EB1ANmAenAAAFCAXMBBgH/AVIBjAEIAf8BUgGMAQgB
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BSgGEAQYB/wEQAR4BAAH/ATEB
WgEAAf8BTQGEAQ0B/wFaAZwBEAH/AVoBnAEQAf8BUgGMAQgB/wEQAR4BAAH/AQgBCgEAAf8BCAEKAQAB
/wNGAYAsAAMCAQMDCwEOAyABLgNDAXYCVwFVAbECZgFgAeABZwFjAUgB9gGDAWoBQQH5AlEBUAGcAxIB
FwwABAEDDAEQAxcBHwMdASgDHQEoAwwBDwgAAw8BFAImAScBOQJHAUgBgwNiAeECXAFlAecDXgHSAj8B
QAFuKAADXwHQA2kB7iAAA2EB1ANmAenEAAFJAYkBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
jAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB
/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFCAXMBBgH/AQoBDgEAAf8wAAQBAwMBBAMMAQ8DHgEqAzoB
YQJZAVcBuQJjAVsB5ANiAe4CTwFOAZcDEgEXDAADAgEDAyEBLwM2AVkCQgFDAXUCQQFCAXMDHgErCAAD
BAEFAwwBDwM4AVwCXQFgAc4CXQFlAewCWQFnAe8DRgF/KAADXwHQA2kB7iAAA2EB1ANmAenIAAE6AWsB
AAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlAEQAf8B
WgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGlARcB/wEZASwB
AwH/OAADAgEDAwgBCgMgAS0CQQFAAXECTQFMAZEDUAGaAjsBOgFiAwwBDwwAAwMBBAMrAUEDRAF6A1MB
pwNVAa0DNwFaAxgBIAMJAQsDBgEHAw0BEQM5AV8CXQFhAdECWQFnAe8CYAFvAfMCRgFHAYEoAANfAdAD
aQHuIAADYQHUA2YB6cwAASwBVQEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB
EAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8B
IQFBAQAB/0AABAIDBwEJAxAEFQEcAhYBFQEdAw8BEwMCAQMMAAMDAQQDMANLAUwBjwJbAV0BygJbAWEB
3gNOAZQDNAFTAxUBHAMNAREDHgErAkMBRAF3Al0BYwHfAmUBcAHxAloBYwHpA0QBeygAA18B0ANpAe4g
AANhAdQDZgHpyAABEgEiAQAB/wFMAYYBBgH/AVIBjAEIAf8BWgGcARAB/wFQAYoBCAH/AVIBjAEQAf8B
WgGUARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAERAf8BaQGrAR8B/wEIAQoB
AAH/bAADAgEDAyEBLwM6AWEDVQGtAl8BYwHaA1oBvwJQAVEBnwNEAXoCQQFCAXIDSQGFAlYBVwGyAl4B
agHtAmABZAHbAlUBVwGxAzgBWygAA18B0ANpAe4gAANhAdQDZgHpyAABEAEeAQAB/wFIAX0BBwH/AVkB
kwETAf8BVQGIARgB/wgAASEBQQEAAf8BQgF7AQAB/wFSAYwBCAH/AVUBkQEIAf8BOQFmAQQB/wNZAe94
AAMGAQgDFwEfA0QBewJZAVwBxgJbAWMB5AJTAWgB9ANiAe4DYgHuAmUBcAHxAkgBZwH2AisBjwH8AlkB
XAG+Az4BawMkATQoAANfAdADaQHuIAADYQHUA2YB6dAAAR4BOgEAAf+cAAQCAwkBDAMqAz8BQAFuA04B
lgJWAVgBswJZAVwBwQJaAV0BxwJaAV0BxwJXAVkBuQJRAVIBpAJAAUEBcQMlATYDEwEZKAADXwHQA2kB
7iAAA2EB1ANmAen/AHkABAEDCwEOAyYBOAM5AV4DRgF9AkoBSwGLA0oBiQM+AWsDKgE/AxcBHwMCAQMs
AANTAaIDWgG/IAADVAGmA1kBu6gAAUIBTQE+BwABPgMAASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA/8B
AAP/AccCAAEHAv8BzwHzAf8EAAL/Ac8BhwIAAQcC/wHPAfMB/wQAAf8B/gEAAQcCAAEHAv8BzwHzAf8E
AAH/AfwBAAEHAgABBwL/Ac8B8wH/BAAB/wH4AQABDwIAAQcC/wHPAfMB/wQAAf8B8AEAAQcCAAEHAv8B
zwHzAf8EAAH/AeABAAEDAgABBwL/Ac8B8wH/BAAB/wHAAQABAQH8AQMD/wHPAfMB/wQAAf8BwAEAAQEB
/AEDA/8BzwHzAf8EAAH/AeACAAH8AQMB4AEfCAAB/wH8ASABAAH8AQMB4AEfCAAB/wH+AeABAAH8AQMB
4AEfCAAB/wHAAgAB/AEDAeABHwH/Ac8B8wH/BAAB/wGAAgAB/AEDAeABHwH/Ac8B8wH/BAAB/wMAAfwB
AwHgAR8B/wHPAfMB/wQAAf4CAAEBAQABAwHgAR8B/wHPAfMB/wQAAfwCAAEBAQABAwH4AR8B/wHPAfMB
/wQAAfgCAAEBAQABAwH4AR8B/wHPAfMB/wQAAfgCAAEDAQABAwH4AQMB/wHPAfMB/wQAAfgCAAEHAQAB
AwH4AQMIAAH4AgABDwEAAQMB+AkAAfgBAAFEAX8BAAEDAfgJAAH4AQABAQH/AYABAwH4AQAB/wHPAfMB
/wQAAfgCAAF/AYABAwH8AQAB/wHPAfMB/wQAAfwCAAF/AfABAwGBAYAB/wHPAfMB/wQAAf4CAAH/AfAB
AwGBAYAB/wHPAfMB/wQAAf8CAAH/AfwBAwGAAQAB/wHPAfMB/wQAAf8BgAEBAf8B/gEDAYABAAH/Ac8B
8wH/BAAB/wEAAQMD/wGAAQAB/wHPAfMB/wQAAf8BDAEPA/8BwAEAAf8BzwHzAf8EAAH/Ad8E/wHAAQAB
/wHPAfMB/wQABv8B8AEBAf8BzwHzAf8EAAs=
</value> </value>
</data> </data>
<metadata name="ilStoreThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>12, 128</value>
</metadata>
<metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>20, 44</value> <value>20, 44</value>
</metadata> </metadata>
@ -461,8 +463,8 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAuBIAAAJNU0Z0AUkBTAIBAQQB SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB
AAF4AQIBeAECARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AAGoAQIBqAECARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B
ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB
CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB
@ -488,7 +490,7 @@
YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D
sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D
gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B
AAH/AagBeAEAAf8BlQFqAQAB/wKAAU8B/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB AAH/AagBeAEAAf8BlQFqAQAB/wKAAVUB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB
AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB
ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD
@ -524,24 +526,24 @@
AwH/AeIBhAEyAf8DYwHfBP8BpwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeAB AwH/AeIBhAEyAf8DYwHfBP8BpwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeAB
zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB
/wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdIB /wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdID
dQJqAfkB/wG7AX0C/wGjAVIC/wGQASwC/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC agH5Af8BuwF9Av8BowFSAv8BkAEsAv8BggETAv8BfQEIAv8BegEEAv8BeQECAv8BegEEAv8BfQEJAv8B
/wGAAQ8C/wF/AQ0B/wH4AYYBIAH/A2gB9ANYAbgE/wHXAbEBUgH/AZoBjwF0Af8BoAGSAW0B/wHgAa8B gAEPAv8BfwENAf8B+AGGASAB/wNoAfQDWAG4BP8B1wGxAVIB/wGaAY8BdAH/AaABkgFtAf8B4AGvATcB
NwH/AecBqQEQAf8B6wHVAaAB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/wM8AWQD /wHnAakBEAH/AesB1QGgAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DPAFkA18B
XwHJA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A30B+gNVAaoE yQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqBAAD
AAMzAVEDaAHwAfMBxgFYAf8B+gHnAbgW/wH+AfsB/wH5AeIBqgH/Ae8BuAEtAf8DTgGWBAIEAAM8AWYD MwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFmA2MB
YwHVA3wB+AH/Ab4BhQL/AaoBXwL/AZkBPgL/AY0BJwL/AYYBGgL/AYMBFQL/AYUBGQL/AYoBIgL/AY0B 1QN8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC/wGKASIC/wGNASgC
KAL/AZMBMwH/Am4BaAH1A10BxQM2AVkE/wH0Ac0BbAH/AfQBywFmAf8B9AHLAWUB/wH0AcsBZQH/AfEB /wGTATMB/wJuAWgB9QNdAcUDNgFZBP8B9AHNAWwB/wH0AcsBZgH/AfQBywFlAf8B9AHLAWUB/wHxAcEB
wQFJAf8B+QHjAawB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A5oB/wMGAQgDMQFMA1AB SQH/AfkB4wGsAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOaAf8DBgEIAzEBTANQAZsD
mwNlAewDfQH6A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDagHtA1ABmwMvAUkIAAMiATED ZQHsA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJCAADIgExA18B
XwHJAn0BZwH6AfMBygFlAf8B+QHhAaYB/wH7Ae0BzAH/AfsB7AHIAf8B+AHdAZsB/wOAAf4CZQFeAeID yQJ9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8DgAH+AmUBXgHiAz0B
PQFoBAEMAANCAXIDYwHVAXUBawFqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC aAQBDAADQgFyA2MB1QNqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC
/wGjAVEC/wGnAVgB/wN8AfgDXQHHAzsBYgQAQP8IAAMFAQYDEgEXAzoBYANRAZ8DXwHTA2cB7wNjAfYD /wGnAVgB/wN8AfgDXQHHAzsBYgQAQP8IAAMFAQYDEgEXAzoBYANRAZ8DXwHTA2cB7wNjAfYDYgHuA14B
YgHuA14B0gNRAZ4DOQFfAxEBFgMFAQYUAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAzwB 0gNRAZ4DOQFfAxEBFgMFAQYUAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAzwBZQNeAdIB
ZQNeAdIB/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQD /wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAAB
NQFVCAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4UAAf8B/AHAAQMEAAH/AfwB QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4UAAf8B/AHAAQMEAAH/AfwBgAEBBAAB
gAEBBAAB/wH5BgAB/wH5BgAB8AETBgABwAEDBAAC/wGAAQEEAAHAAQEBgAEBBAABgAIAAQEHAAEBBwAB /wH5BgAB/wH5BgAB8AETBgABwAEDBAAC/wGAAQEEAAHAAQEBgAEBBAABgAIAAQEHAAEBBwABAQcAAQEH
AQcAAQEHAAEBBgABgAEBBgABwAEDAYABAQIAAcABAQHwAR8BwAEDCw== AAEBBgABgAEBBgABwAEDAYABAQIAAcABAQHwAR8BwAEDCw==
</value> </value>
</data> </data>
<metadata name="ctxmChangeStatus.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ctxmChangeStatus.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -628,7 +630,7 @@
</value> </value>
</data> </data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>70</value> <value>90</value>
</metadata> </metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@ -41,21 +41,21 @@
pbCurrencyIcon = new PictureBox(); pbCurrencyIcon = new PictureBox();
lblCurrencyAmount = new Label(); lblCurrencyAmount = new Label();
flpUsernameCurrency = new FlowLayoutPanel(); flpUsernameCurrency = new FlowLayoutPanel();
panel1 = new Panel(); pCurrency = new Panel();
((System.ComponentModel.ISupportInitialize)pbUserPfp).BeginInit(); ((System.ComponentModel.ISupportInitialize)pbUserPfp).BeginInit();
((System.ComponentModel.ISupportInitialize)pbUserStatus).BeginInit(); ((System.ComponentModel.ISupportInitialize)pbUserStatus).BeginInit();
((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).BeginInit(); ((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).BeginInit();
flpUsernameCurrency.SuspendLayout(); flpUsernameCurrency.SuspendLayout();
panel1.SuspendLayout(); pCurrency.SuspendLayout();
SuspendLayout(); SuspendLayout();
// //
// pbUserPfp // pbUserPfp
// //
pbUserPfp.BorderStyle = BorderStyle.FixedSingle; pbUserPfp.BorderStyle = BorderStyle.FixedSingle;
pbUserPfp.Image = Properties.Resources.DefaultPfp; pbUserPfp.Image = Properties.Resources.DefaultPfp;
pbUserPfp.Location = new Point(12, 12); pbUserPfp.Location = new Point(9, 5);
pbUserPfp.Name = "pbUserPfp"; pbUserPfp.Name = "pbUserPfp";
pbUserPfp.Size = new Size(128, 126); pbUserPfp.Size = new Size(138, 139);
pbUserPfp.SizeMode = PictureBoxSizeMode.StretchImage; pbUserPfp.SizeMode = PictureBoxSizeMode.StretchImage;
pbUserPfp.TabIndex = 2; pbUserPfp.TabIndex = 2;
pbUserPfp.TabStop = false; pbUserPfp.TabStop = false;
@ -64,7 +64,7 @@
// //
lblUsername.AutoSize = true; lblUsername.AutoSize = true;
lblUsername.Font = new Font("Segoe UI Light", 15F, FontStyle.Bold); lblUsername.Font = new Font("Segoe UI Light", 15F, FontStyle.Bold);
lblUsername.ForeColor = SystemColors.ControlLight; lblUsername.ForeColor = Color.White;
lblUsername.Location = new Point(3, 0); lblUsername.Location = new Point(3, 0);
lblUsername.Name = "lblUsername"; lblUsername.Name = "lblUsername";
lblUsername.Size = new Size(105, 28); lblUsername.Size = new Size(105, 28);
@ -188,21 +188,21 @@
// //
flpUsernameCurrency.BackColor = Color.Transparent; flpUsernameCurrency.BackColor = Color.Transparent;
flpUsernameCurrency.Controls.Add(lblUsername); flpUsernameCurrency.Controls.Add(lblUsername);
flpUsernameCurrency.Controls.Add(panel1); flpUsernameCurrency.Controls.Add(pCurrency);
flpUsernameCurrency.Location = new Point(152, 8); flpUsernameCurrency.Location = new Point(152, 8);
flpUsernameCurrency.Name = "flpUsernameCurrency"; flpUsernameCurrency.Name = "flpUsernameCurrency";
flpUsernameCurrency.Size = new Size(246, 33); flpUsernameCurrency.Size = new Size(246, 33);
flpUsernameCurrency.TabIndex = 13; flpUsernameCurrency.TabIndex = 13;
flpUsernameCurrency.WrapContents = false; flpUsernameCurrency.WrapContents = false;
// //
// panel1 // pCurrency
// //
panel1.Controls.Add(pbCurrencyIcon); pCurrency.Controls.Add(pbCurrencyIcon);
panel1.Controls.Add(lblCurrencyAmount); pCurrency.Controls.Add(lblCurrencyAmount);
panel1.Location = new Point(114, 3); pCurrency.Location = new Point(114, 3);
panel1.Name = "panel1"; pCurrency.Name = "pCurrency";
panel1.Size = new Size(73, 24); pCurrency.Size = new Size(73, 24);
panel1.TabIndex = 14; pCurrency.TabIndex = 14;
// //
// Profile // Profile
// //
@ -220,6 +220,7 @@
Controls.Add(pbUserPfp); Controls.Add(pbUserPfp);
Controls.Add(btnMessage); Controls.Add(btnMessage);
Font = new Font("Segoe UI Light", 9F); Font = new Font("Segoe UI Light", 9F);
ForeColor = Color.White;
FormBorderStyle = FormBorderStyle.FixedDialog; FormBorderStyle = FormBorderStyle.FixedDialog;
Icon = (Icon)resources.GetObject("$this.Icon"); Icon = (Icon)resources.GetObject("$this.Icon");
MaximizeBox = false; MaximizeBox = false;
@ -234,8 +235,8 @@
((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).EndInit(); ((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).EndInit();
flpUsernameCurrency.ResumeLayout(false); flpUsernameCurrency.ResumeLayout(false);
flpUsernameCurrency.PerformLayout(); flpUsernameCurrency.PerformLayout();
panel1.ResumeLayout(false); pCurrency.ResumeLayout(false);
panel1.PerformLayout(); pCurrency.PerformLayout();
ResumeLayout(false); ResumeLayout(false);
} }
@ -253,6 +254,6 @@
private PictureBox pbCurrencyIcon; private PictureBox pbCurrencyIcon;
private Label lblCurrencyAmount; private Label lblCurrencyAmount;
private FlowLayoutPanel flpUsernameCurrency; private FlowLayoutPanel flpUsernameCurrency;
private Panel panel1; private Panel pCurrency;
} }
} }

View File

@ -13,6 +13,11 @@ using System.Windows.Forms;
using QtCNETAPI.Services.GatewayService; using QtCNETAPI.Services.GatewayService;
using qtc_net_client_2.ClientModel; using qtc_net_client_2.ClientModel;
using qtc_net_client_2.Properties; using qtc_net_client_2.Properties;
using qtc_net_client_2.Services;
using QtCNETAPI.Schema;
using System.Diagnostics;
using System.Drawing.Imaging;
using System.Drawing.Design;
namespace qtc_net_client_2.Forms namespace qtc_net_client_2.Forms
{ {
@ -35,7 +40,7 @@ namespace qtc_net_client_2.Forms
InitializeComponent(); InitializeComponent();
} }
private void frmProfile_Load(object sender, EventArgs e) private async void frmProfile_Load(object sender, EventArgs e)
{ {
lblUsername.Text = _userInformationDto.Username; lblUsername.Text = _userInformationDto.Username;
lblCurrencyAmount.Text = _userInformationDto.CurrencyAmount.ToString("N0"); lblCurrencyAmount.Text = _userInformationDto.CurrencyAmount.ToString("N0");
@ -45,8 +50,7 @@ namespace qtc_net_client_2.Forms
{ {
using (var ms = new MemoryStream(pfpRes.Data)) using (var ms = new MemoryStream(pfpRes.Data))
{ {
pbUserPfp.Image = Image.FromStream(ms); pbUserPfp.Image = new Bitmap(ms);
ms.Dispose();
} }
} }
@ -67,6 +71,25 @@ namespace qtc_net_client_2.Forms
break; break;
} }
if(_userInformationDto.ProfileCosmeticId != 0)
{
var res = await _apiService.GetStoreItem(_userInformationDto.ProfileCosmeticId);
if (res != null && res.Success && res.Data != null)
{
var client = new HttpClient();
var response = await client.GetAsync(res.Data.AssetUrl);
if (response.IsSuccessStatusCode)
{
using(var stream = await response.Content.ReadAsStreamAsync())
{
CombineProfileImageWithCosmetic(pbUserPfp.Image, new Bitmap(stream));
}
response.Dispose();
}
client.Dispose();
}
}
if (_userInformationDto.Id == _apiService.CurrentUser!.Id) if (_userInformationDto.Id == _apiService.CurrentUser!.Id)
{ {
btnAddContact.Visible = false; btnAddContact.Visible = false;
@ -215,5 +238,22 @@ namespace qtc_net_client_2.Forms
Close(); Close();
frmDirectMessage.Show(); frmDirectMessage.Show();
} }
private void CombineProfileImageWithCosmetic(Image pfp, Bitmap cosmetic)
{
cosmetic.MakeTransparent();
Bitmap combined = new Bitmap(pbUserPfp.Width, pbUserPfp.Height);
using (Graphics g = Graphics.FromImage(combined))
{
g.Clear(Color.Transparent);
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
g.DrawImage(pfp, 0, 0, pbUserPfp.Width, pbUserPfp.Height);
g.DrawImage(cosmetic, 0, 0, pbUserPfp.Width, pbUserPfp.Height);
}
pbUserPfp.Image = combined;
}
} }
} }

View File

@ -33,6 +33,8 @@
rtxtBio = new RichTextBox(); rtxtBio = new RichTextBox();
lblBio = new Label(); lblBio = new Label();
btnSave = new Button(); btnSave = new Button();
cbCosmetic = new ComboBox();
lblCosmetic = new Label();
SuspendLayout(); SuspendLayout();
// //
// tbUsername // tbUsername
@ -71,7 +73,7 @@
// btnSave // btnSave
// //
btnSave.ForeColor = Color.Black; btnSave.ForeColor = Color.Black;
btnSave.Location = new Point(76, 148); btnSave.Location = new Point(76, 177);
btnSave.Name = "btnSave"; btnSave.Name = "btnSave";
btnSave.Size = new Size(43, 23); btnSave.Size = new Size(43, 23);
btnSave.TabIndex = 4; btnSave.TabIndex = 4;
@ -79,12 +81,32 @@
btnSave.UseVisualStyleBackColor = true; btnSave.UseVisualStyleBackColor = true;
btnSave.Click += btnSave_Click; btnSave.Click += btnSave_Click;
// //
// frmProfileEdit // cbCosmetic
//
cbCosmetic.FormattingEnabled = true;
cbCosmetic.Items.AddRange(new object[] { "(None)" });
cbCosmetic.Location = new Point(76, 148);
cbCosmetic.Name = "cbCosmetic";
cbCosmetic.Size = new Size(121, 23);
cbCosmetic.TabIndex = 5;
//
// lblCosmetic
//
lblCosmetic.AutoSize = true;
lblCosmetic.Location = new Point(21, 151);
lblCosmetic.Name = "lblCosmetic";
lblCosmetic.Size = new Size(53, 15);
lblCosmetic.TabIndex = 6;
lblCosmetic.Text = "Cosmetic";
//
// ProfileEdit
// //
AutoScaleDimensions = new SizeF(6F, 15F); AutoScaleDimensions = new SizeF(6F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.DodgerBlue; BackColor = Color.DodgerBlue;
ClientSize = new Size(345, 187); ClientSize = new Size(345, 208);
Controls.Add(lblCosmetic);
Controls.Add(cbCosmetic);
Controls.Add(btnSave); Controls.Add(btnSave);
Controls.Add(lblBio); Controls.Add(lblBio);
Controls.Add(rtxtBio); Controls.Add(rtxtBio);
@ -95,7 +117,7 @@
FormBorderStyle = FormBorderStyle.FixedDialog; FormBorderStyle = FormBorderStyle.FixedDialog;
MaximizeBox = false; MaximizeBox = false;
MinimizeBox = false; MinimizeBox = false;
Name = "frmProfileEdit"; Name = "ProfileEdit";
StartPosition = FormStartPosition.CenterParent; StartPosition = FormStartPosition.CenterParent;
Text = "QtC.NET Client - Edit Profile"; Text = "QtC.NET Client - Edit Profile";
Load += frmProfileEdit_Load; Load += frmProfileEdit_Load;
@ -110,5 +132,7 @@
private RichTextBox rtxtBio; private RichTextBox rtxtBio;
private Label lblBio; private Label lblBio;
private Button btnSave; private Button btnSave;
private ComboBox cbCosmetic;
private Label lblCosmetic;
} }
} }

View File

@ -1,4 +1,5 @@
using QtCNETAPI.Dtos.User; using Microsoft.AspNetCore.Mvc.TagHelpers;
using QtCNETAPI.Dtos.User;
using QtCNETAPI.Services.ApiService; using QtCNETAPI.Services.ApiService;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -21,38 +22,53 @@ namespace qtc_net_client_2.Forms
InitializeComponent(); InitializeComponent();
} }
private void frmProfileEdit_Load(object sender, EventArgs e) private async void frmProfileEdit_Load(object sender, EventArgs e)
{ {
tbUsername.Text = _apiService.CurrentUser!.Username; tbUsername.Text = _apiService.CurrentUser.Username;
rtxtBio.Text = _apiService.CurrentUser!.Bio; rtxtBio.Text = _apiService.CurrentUser.Bio;
// get all owned cosmetics
var boughtItems = await _apiService.GetOwnedStoreItems();
if(boughtItems != null && boughtItems.Success && boughtItems.Data != null)
{
foreach(var item in boughtItems.Data)
{
// get item from the store
var storeItem = await _apiService.GetStoreItem(item.StoreItemId);
if(storeItem != null && storeItem.Success && storeItem.Data != null)
{
cbCosmetic.Items.Add(storeItem.Data.Name);
}
}
}
cbCosmetic.SelectedIndex = _apiService.CurrentUser.ActiveProfileCosmetic;
} }
private async void btnSave_Click(object sender, EventArgs e) private async void btnSave_Click(object sender, EventArgs e)
{ {
if(!string.IsNullOrEmpty(tbUsername.Text) && (tbUsername.Text != _apiService.CurrentUser!.Username || rtxtBio.Text != _apiService.CurrentUser!.Bio)) // update user info
UserUpdateInformationDto userUpdateInformationDto = new UserUpdateInformationDto
{ {
// update user info Id = _apiService.CurrentUser.Id,
UserUpdateInformationDto userUpdateInformationDto = new UserUpdateInformationDto Username = tbUsername.Text,
{ Bio = rtxtBio.Text,
Id = _apiService.CurrentUser.Id, DateOfBirth = _apiService.CurrentUser.DateOfBirth,
Username = tbUsername.Text, ProfileCosmeticId = cbCosmetic.SelectedIndex
Bio = rtxtBio.Text, };
DateOfBirth = _apiService.CurrentUser.DateOfBirth
};
var res = await _apiService.UpdateUserInformationAsync(userUpdateInformationDto); var res = await _apiService.UpdateUserInformationAsync(userUpdateInformationDto);
if (res.Success) if (res.Success)
{ {
DialogResult = DialogResult.OK; DialogResult = DialogResult.OK;
Close(); Close();
} }
else else
{ {
MessageBox.Show(res.Message, "Info Update Error", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(res.Message, "Info Update Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
DialogResult = DialogResult.Cancel; DialogResult = DialogResult.Cancel;
Close(); Close();
}
} }
} }
} }

View File

@ -0,0 +1,135 @@
namespace qtc_net_client_2.Forms
{
partial class StoreItemDisplay
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(StoreItemDisplay));
pbItemThumbnail = new PictureBox();
lblName = new Label();
lblDescription = new Label();
btnBuy = new Button();
pbCurrencyIcon = new PictureBox();
lblPrice = new Label();
((System.ComponentModel.ISupportInitialize)pbItemThumbnail).BeginInit();
((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).BeginInit();
SuspendLayout();
//
// pbItemThumbnail
//
pbItemThumbnail.Location = new Point(12, 12);
pbItemThumbnail.Name = "pbItemThumbnail";
pbItemThumbnail.Size = new Size(148, 141);
pbItemThumbnail.SizeMode = PictureBoxSizeMode.StretchImage;
pbItemThumbnail.TabIndex = 0;
pbItemThumbnail.TabStop = false;
//
// lblName
//
lblName.AutoSize = true;
lblName.Font = new Font("Segoe UI", 21.75F, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0);
lblName.Location = new Point(165, 7);
lblName.Name = "lblName";
lblName.Size = new Size(239, 40);
lblName.TabIndex = 1;
lblName.Text = "Item Name Here";
//
// lblDescription
//
lblDescription.Location = new Point(169, 44);
lblDescription.Name = "lblDescription";
lblDescription.Size = new Size(448, 109);
lblDescription.TabIndex = 2;
lblDescription.Text = resources.GetString("lblDescription.Text");
//
// btnBuy
//
btnBuy.ForeColor = Color.Black;
btnBuy.Location = new Point(542, 157);
btnBuy.Name = "btnBuy";
btnBuy.Size = new Size(75, 23);
btnBuy.TabIndex = 3;
btnBuy.Text = "Buy";
btnBuy.UseVisualStyleBackColor = true;
btnBuy.Click += btnBuy_Click;
//
// pbCurrencyIcon
//
pbCurrencyIcon.Image = Properties.Resources.CurrencyIcon;
pbCurrencyIcon.Location = new Point(48, 161);
pbCurrencyIcon.Name = "pbCurrencyIcon";
pbCurrencyIcon.Size = new Size(15, 14);
pbCurrencyIcon.SizeMode = PictureBoxSizeMode.StretchImage;
pbCurrencyIcon.TabIndex = 19;
pbCurrencyIcon.TabStop = false;
//
// lblPrice
//
lblPrice.AutoEllipsis = true;
lblPrice.Font = new Font("Segoe UI", 8F, FontStyle.Bold, GraphicsUnit.Point, 0);
lblPrice.Location = new Point(64, 162);
lblPrice.Name = "lblPrice";
lblPrice.Size = new Size(61, 13);
lblPrice.TabIndex = 20;
lblPrice.Text = "99,999,999";
//
// StoreItemDisplay
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.DodgerBlue;
ClientSize = new Size(629, 188);
Controls.Add(lblPrice);
Controls.Add(pbCurrencyIcon);
Controls.Add(btnBuy);
Controls.Add(lblDescription);
Controls.Add(lblName);
Controls.Add(pbItemThumbnail);
ForeColor = Color.White;
FormBorderStyle = FormBorderStyle.FixedDialog;
MaximizeBox = false;
MinimizeBox = false;
Name = "StoreItemDisplay";
StartPosition = FormStartPosition.CenterScreen;
Text = "QtC.NET Client - Store Item";
Load += StoreItemDisplay_Load;
((System.ComponentModel.ISupportInitialize)pbItemThumbnail).EndInit();
((System.ComponentModel.ISupportInitialize)pbCurrencyIcon).EndInit();
ResumeLayout(false);
PerformLayout();
}
#endregion
private PictureBox pbItemThumbnail;
private Label lblName;
private Label lblDescription;
private Button btnBuy;
private PictureBox pbCurrencyIcon;
private Label lblPrice;
}
}

View File

@ -0,0 +1,88 @@
using qtc_net_client_2.Services;
using QtCNETAPI.Dtos.User;
using QtCNETAPI.Schema;
using QtCNETAPI.Services.ApiService;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace qtc_net_client_2.Forms
{
public partial class StoreItemDisplay : Form
{
private StoreItem StoreItem { get; set; }
private LoggingService _loggingService;
private IApiService _apiService;
public StoreItemDisplay(StoreItem item, LoggingService loggingService, IApiService apiService)
{
StoreItem = item;
_loggingService = loggingService;
_apiService = apiService;
InitializeComponent();
}
private async void StoreItemDisplay_Load(object sender, EventArgs e)
{
lblName.Text = StoreItem.Name;
lblDescription.Text = StoreItem.Description;
lblPrice.Text = StoreItem.Price.ToString("N0");
try
{
using HttpClient client = new();
var response = await client.GetAsync(StoreItem.ThumbnailUrl);
if (response != null && response.IsSuccessStatusCode)
{
using var stream = await response.Content.ReadAsStreamAsync();
Image image = Image.FromStream(stream);
stream.Dispose();
pbItemThumbnail.Image = image;
}
else if (response != null) _loggingService.LogString($"Store Item Thumbnail Could Not Be Loaded Due To Status Code {response.StatusCode}");
else _loggingService.LogString("Store Item Thumbnail Could Not Be Loaded");
client.Dispose();
}
catch (Exception ex)
{
_loggingService.LogString("Store Item Thumbnail Could Not Be Loaded\n" + ex.Message);
}
}
private async void btnBuy_Click(object sender, EventArgs e)
{
Enabled = false;
// attempt to buy item
var ownedStoreItem = await _apiService.BuyStoreItem(StoreItem.Id);
if (ownedStoreItem != null && ownedStoreItem.Success && ownedStoreItem.Data != null)
{
Enabled = true;
var result = MessageBox.Show($"Successfully Bought '{StoreItem.Name}'! Would You Like To Wear It Now?", "Success!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
// send an update dto that only updates the current users cosmetic
UserUpdateInformationDto updateDto = new UserUpdateInformationDto
{
Id = _apiService.CurrentUser.Id,
Bio = _apiService.CurrentUser.Bio,
DateOfBirth = _apiService.CurrentUser.DateOfBirth,
Username = _apiService.CurrentUser.Username,
ProfileCosmeticId = StoreItem.Id
};
await _apiService.UpdateUserInformationAsync(updateDto);
}
}
else MessageBox.Show("We Weren't Able To Complete Your Purchase.\nYou May Not Have Enough Funds For This Item.", "Oops.", MessageBoxButtons.OK, MessageBoxIcon.Error);
Close();
}
}
}

View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblDescription.Text" xml:space="preserve">
<value>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</value>
</data>
</root>