Compare commits
No commits in common. "master" and "6.5.4" have entirely different histories.
@ -6,6 +6,5 @@
|
|||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
public string CreatorId { get; set; } = string.Empty;
|
public string CreatorId { get; set; } = string.Empty;
|
||||||
public DateTime CreatedAt { get; set; } = new DateTime();
|
public DateTime CreatedAt { get; set; } = new DateTime();
|
||||||
public int UserCount { get; set; } = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,6 @@
|
|||||||
public string Role { get; set; } = string.Empty;
|
public string Role { get; set; } = string.Empty;
|
||||||
public string PasswordHash { get; set; } = string.Empty;
|
public string PasswordHash { get; set; } = string.Empty;
|
||||||
public string Email { get; set; } = string.Empty;
|
public string Email { get; set; } = string.Empty;
|
||||||
public bool IsEmailVerified { get; set; } = false;
|
|
||||||
public DateTime DateOfBirth { get; set; }
|
public DateTime DateOfBirth { get; set; }
|
||||||
public DateTime CreatedAt { get; set; }
|
public DateTime CreatedAt { get; set; }
|
||||||
public int Status { get; set; } = 0;
|
public int Status { get; set; } = 0;
|
||||||
@ -17,7 +16,6 @@
|
|||||||
public int StockAmount { get; set; } = 0;
|
public int StockAmount { get; set; } = 0;
|
||||||
public DateTime LastCurrencySpin { get; set; }
|
public DateTime LastCurrencySpin { get; set; }
|
||||||
public int ActiveProfileCosmetic { get; set; } = 0;
|
public int ActiveProfileCosmetic { get; set; } = 0;
|
||||||
public string CurrentRoomId { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
public virtual IEnumerable<RefreshToken>? RefreshTokens { get; }
|
public virtual IEnumerable<RefreshToken>? RefreshTokens { get; }
|
||||||
public virtual IEnumerable<Contact>? ContactsMade { get; }
|
public virtual IEnumerable<Contact>? ContactsMade { get; }
|
||||||
|
|||||||
@ -1,95 +0,0 @@
|
|||||||
using qtc_net_client_2.Properties;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
|
||||||
|
|
||||||
namespace qtc_net_client_2.Controls
|
|
||||||
{
|
|
||||||
public class RoomEntryControl : Control
|
|
||||||
{
|
|
||||||
public Image Image = Resources.RoomsChatIcon;
|
|
||||||
public string RoomName = "Room";
|
|
||||||
public bool HideUserCount = false;
|
|
||||||
public int RoomUserCount = 0;
|
|
||||||
|
|
||||||
private Font? nameFont;
|
|
||||||
private Color nameColor;
|
|
||||||
|
|
||||||
private Font userCountFont = new("Segoe UI", 9, FontStyle.Bold);
|
|
||||||
private Color userCountColor = Color.Gray;
|
|
||||||
|
|
||||||
private bool IsHoveredOn = false;
|
|
||||||
|
|
||||||
public event EventHandler? OnRoomDoubleClicked;
|
|
||||||
public RoomEntryControl()
|
|
||||||
{
|
|
||||||
// reduce flicker
|
|
||||||
SetStyle(ControlStyles.AllPaintingInWmPaint |
|
|
||||||
ControlStyles.ResizeRedraw |
|
|
||||||
ControlStyles.UserPaint |
|
|
||||||
ControlStyles.OptimizedDoubleBuffer, true);
|
|
||||||
|
|
||||||
Height = 36;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnPaint(PaintEventArgs e)
|
|
||||||
{
|
|
||||||
if(IsHoveredOn)
|
|
||||||
{
|
|
||||||
nameFont = new("Segoe UI", 9, FontStyle.Bold | FontStyle.Underline);
|
|
||||||
nameColor = Color.LightGray;
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
nameFont = new("Segoe UI", 9, FontStyle.Bold);
|
|
||||||
nameColor = Color.Black;
|
|
||||||
}
|
|
||||||
|
|
||||||
int margin = 6;
|
|
||||||
int imageSize = 32;
|
|
||||||
|
|
||||||
Rectangle imageRect = new(margin, (Height - imageSize) / 2, imageSize, imageSize);
|
|
||||||
e.Graphics.DrawImage(Image, imageRect);
|
|
||||||
|
|
||||||
int nameLeft = imageRect.Right + margin;
|
|
||||||
|
|
||||||
Rectangle nameRect = new(nameLeft, 6, Width - nameLeft - 8, Height - 16);
|
|
||||||
TextRenderer.DrawText(e.Graphics, RoomName, nameFont, nameRect, nameColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter);
|
|
||||||
|
|
||||||
string userCountText = RoomUserCount.ToString();
|
|
||||||
Size countSize = TextRenderer.MeasureText(e.Graphics, userCountText, userCountFont);
|
|
||||||
|
|
||||||
if(!HideUserCount)
|
|
||||||
{
|
|
||||||
int rightPad = 8;
|
|
||||||
int countX = Width - countSize.Width - rightPad;
|
|
||||||
int countY = (Height - countSize.Height) / 2;
|
|
||||||
Point userCountPoint = new(countX, countY);
|
|
||||||
|
|
||||||
TextRenderer.DrawText(e.Graphics, userCountText, userCountFont, userCountPoint, userCountColor, TextFormatFlags.Left);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnMouseDoubleClick(MouseEventArgs e)
|
|
||||||
{
|
|
||||||
base.OnMouseDoubleClick(e);
|
|
||||||
OnRoomDoubleClicked?.Invoke(this, EventArgs.Empty);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnMouseHover(EventArgs e)
|
|
||||||
{
|
|
||||||
base.OnMouseHover(e);
|
|
||||||
IsHoveredOn = true;
|
|
||||||
Invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnMouseLeave(EventArgs e)
|
|
||||||
{
|
|
||||||
base.OnMouseLeave(e);
|
|
||||||
IsHoveredOn = false;
|
|
||||||
Invalidate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
47
qtc-net-client-2/Forms/Main.Designer.cs
generated
47
qtc-net-client-2/Forms/Main.Designer.cs
generated
@ -30,16 +30,16 @@
|
|||||||
{
|
{
|
||||||
components = new System.ComponentModel.Container();
|
components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
|
||||||
ListViewItem listViewItem4 = new ListViewItem("Stock Market", 0);
|
ListViewItem listViewItem1 = new ListViewItem("Stock Market", 0);
|
||||||
ListViewItem listViewItem5 = new ListViewItem("Guess The Number", 1);
|
ListViewItem listViewItem2 = new ListViewItem("Guess The Number", 1);
|
||||||
ListViewItem listViewItem6 = new ListViewItem("Tic-Tac-Toe (Multiplayer)", "Tic-tac-toe.png");
|
ListViewItem listViewItem3 = new ListViewItem("Tic-Tac-Toe (Multiplayer)", "Tic-tac-toe.png");
|
||||||
tbcMain = new TabControl();
|
tbcMain = new TabControl();
|
||||||
tbpContacts = new TabPage();
|
tbpContacts = new TabPage();
|
||||||
flpContacts = new FlowLayoutPanel();
|
flpContacts = new FlowLayoutPanel();
|
||||||
ctxmRefresh = new ContextMenuStrip(components);
|
ctxmRefresh = new ContextMenuStrip(components);
|
||||||
refreshToolStripMenuItem = new ToolStripMenuItem();
|
refreshToolStripMenuItem = new ToolStripMenuItem();
|
||||||
tbpRooms = new TabPage();
|
tbpRooms = new TabPage();
|
||||||
flpRooms = new FlowLayoutPanel();
|
lbRooms = new ListBox();
|
||||||
tbpUsers = new TabPage();
|
tbpUsers = new TabPage();
|
||||||
lvUserDirectory = new ListView();
|
lvUserDirectory = new ListView();
|
||||||
ilStatusIcons = new ImageList(components);
|
ilStatusIcons = new ImageList(components);
|
||||||
@ -113,6 +113,7 @@
|
|||||||
tbcMain.SelectedIndex = 0;
|
tbcMain.SelectedIndex = 0;
|
||||||
tbcMain.Size = new Size(352, 499);
|
tbcMain.Size = new Size(352, 499);
|
||||||
tbcMain.TabIndex = 0;
|
tbcMain.TabIndex = 0;
|
||||||
|
tbcMain.SelectedIndexChanged += tbcMain_SelectedIndexChanged;
|
||||||
//
|
//
|
||||||
// tbpContacts
|
// tbpContacts
|
||||||
//
|
//
|
||||||
@ -155,7 +156,7 @@
|
|||||||
//
|
//
|
||||||
// tbpRooms
|
// tbpRooms
|
||||||
//
|
//
|
||||||
tbpRooms.Controls.Add(flpRooms);
|
tbpRooms.Controls.Add(lbRooms);
|
||||||
tbpRooms.ImageKey = "RoomsChatIcon.png";
|
tbpRooms.ImageKey = "RoomsChatIcon.png";
|
||||||
tbpRooms.Location = new Point(4, 24);
|
tbpRooms.Location = new Point(4, 24);
|
||||||
tbpRooms.Name = "tbpRooms";
|
tbpRooms.Name = "tbpRooms";
|
||||||
@ -165,19 +166,17 @@
|
|||||||
tbpRooms.Text = "Rooms";
|
tbpRooms.Text = "Rooms";
|
||||||
tbpRooms.UseVisualStyleBackColor = true;
|
tbpRooms.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// flpRooms
|
// lbRooms
|
||||||
//
|
//
|
||||||
flpRooms.AutoScroll = true;
|
lbRooms.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
flpRooms.BackColor = Color.White;
|
lbRooms.ContextMenuStrip = ctxmRefresh;
|
||||||
flpRooms.BorderStyle = BorderStyle.Fixed3D;
|
lbRooms.FormattingEnabled = true;
|
||||||
flpRooms.ContextMenuStrip = ctxmRefresh;
|
lbRooms.ItemHeight = 15;
|
||||||
flpRooms.Dock = DockStyle.Fill;
|
lbRooms.Location = new Point(0, 0);
|
||||||
flpRooms.FlowDirection = FlowDirection.TopDown;
|
lbRooms.Name = "lbRooms";
|
||||||
flpRooms.Location = new Point(3, 3);
|
lbRooms.Size = new Size(344, 484);
|
||||||
flpRooms.Name = "flpRooms";
|
lbRooms.TabIndex = 0;
|
||||||
flpRooms.Size = new Size(338, 465);
|
lbRooms.DoubleClick += lbRooms_DoubleClick;
|
||||||
flpRooms.TabIndex = 1;
|
|
||||||
flpRooms.WrapContents = false;
|
|
||||||
//
|
//
|
||||||
// tbpUsers
|
// tbpUsers
|
||||||
//
|
//
|
||||||
@ -230,10 +229,10 @@
|
|||||||
// lvGames
|
// lvGames
|
||||||
//
|
//
|
||||||
lvGames.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
lvGames.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
listViewItem4.Tag = "StockMarketGame";
|
listViewItem1.Tag = "StockMarketGame";
|
||||||
listViewItem5.Tag = "GuessTheNumberGame";
|
listViewItem2.Tag = "GuessTheNumberGame";
|
||||||
listViewItem6.Tag = "TicTacToeGame";
|
listViewItem3.Tag = "TicTacToeGame";
|
||||||
lvGames.Items.AddRange(new ListViewItem[] { listViewItem4, listViewItem5, listViewItem6 });
|
lvGames.Items.AddRange(new ListViewItem[] { listViewItem1, listViewItem2, listViewItem3 });
|
||||||
lvGames.LargeImageList = ilGames;
|
lvGames.LargeImageList = ilGames;
|
||||||
lvGames.Location = new Point(0, 0);
|
lvGames.Location = new Point(0, 0);
|
||||||
lvGames.MultiSelect = false;
|
lvGames.MultiSelect = false;
|
||||||
@ -538,6 +537,7 @@
|
|||||||
ctxmAdminRoomList.Items.AddRange(new ToolStripItem[] { toolStripMenuItem1, toolStripSeparator2, addRoomToolStripMenuItem, deleteRoomToolStripMenuItem });
|
ctxmAdminRoomList.Items.AddRange(new ToolStripItem[] { toolStripMenuItem1, toolStripSeparator2, addRoomToolStripMenuItem, deleteRoomToolStripMenuItem });
|
||||||
ctxmAdminRoomList.Name = "contextMenuStrip1";
|
ctxmAdminRoomList.Name = "contextMenuStrip1";
|
||||||
ctxmAdminRoomList.Size = new Size(143, 76);
|
ctxmAdminRoomList.Size = new Size(143, 76);
|
||||||
|
ctxmAdminRoomList.Opening += ctxmAdminRoomList_Opening;
|
||||||
//
|
//
|
||||||
// toolStripMenuItem1
|
// toolStripMenuItem1
|
||||||
//
|
//
|
||||||
@ -563,6 +563,7 @@
|
|||||||
deleteRoomToolStripMenuItem.Name = "deleteRoomToolStripMenuItem";
|
deleteRoomToolStripMenuItem.Name = "deleteRoomToolStripMenuItem";
|
||||||
deleteRoomToolStripMenuItem.Size = new Size(142, 22);
|
deleteRoomToolStripMenuItem.Size = new Size(142, 22);
|
||||||
deleteRoomToolStripMenuItem.Text = "Delete Room";
|
deleteRoomToolStripMenuItem.Text = "Delete Room";
|
||||||
|
deleteRoomToolStripMenuItem.Click += deleteRoomToolStripMenuItem_Click;
|
||||||
//
|
//
|
||||||
// lblConnectionLost
|
// lblConnectionLost
|
||||||
//
|
//
|
||||||
@ -623,6 +624,7 @@
|
|||||||
private TabControl tbcMain;
|
private TabControl tbcMain;
|
||||||
private TabPage tbpContacts;
|
private TabPage tbpContacts;
|
||||||
private TabPage tbpRooms;
|
private TabPage tbpRooms;
|
||||||
|
private ListBox lbRooms;
|
||||||
private Label lblRequestNotif;
|
private Label lblRequestNotif;
|
||||||
private System.Windows.Forms.ImageList ilProfilePics;
|
private System.Windows.Forms.ImageList ilProfilePics;
|
||||||
private NotifyIcon niMain;
|
private NotifyIcon niMain;
|
||||||
@ -649,6 +651,7 @@
|
|||||||
private ToolStripMenuItem refreshToolStripMenuItem;
|
private ToolStripMenuItem refreshToolStripMenuItem;
|
||||||
private ImageList ilStatusIcons;
|
private ImageList ilStatusIcons;
|
||||||
private TabPage tbpUsers;
|
private TabPage tbpUsers;
|
||||||
|
private ListView lvUserDirectory;
|
||||||
private PictureBox pbDonate;
|
private PictureBox pbDonate;
|
||||||
private TabPage tbpStore;
|
private TabPage tbpStore;
|
||||||
private ListView lvStoreItems;
|
private ListView lvStoreItems;
|
||||||
@ -666,7 +669,5 @@
|
|||||||
private ToolStripMenuItem deleteRoomToolStripMenuItem;
|
private ToolStripMenuItem deleteRoomToolStripMenuItem;
|
||||||
private Label lblConnectionLost;
|
private Label lblConnectionLost;
|
||||||
private FlowLayoutPanel flpContacts;
|
private FlowLayoutPanel flpContacts;
|
||||||
private ListView lvUserDirectory;
|
|
||||||
private FlowLayoutPanel flpRooms;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,7 @@
|
|||||||
using Microsoft.AspNetCore.Mvc.Routing;
|
|
||||||
using Microsoft.VisualBasic.ApplicationServices;
|
using Microsoft.VisualBasic.ApplicationServices;
|
||||||
using qtc_net_client_2.ClientModel;
|
using qtc_net_client_2.ClientModel;
|
||||||
using qtc_net_client_2.Controls;
|
using qtc_net_client_2.Controls;
|
||||||
using qtc_net_client_2.Forms;
|
using qtc_net_client_2.Forms;
|
||||||
using qtc_net_client_2.Properties;
|
|
||||||
using qtc_net_client_2.Services;
|
using qtc_net_client_2.Services;
|
||||||
using QtCNETAPI.Dtos.User;
|
using QtCNETAPI.Dtos.User;
|
||||||
using QtCNETAPI.Events;
|
using QtCNETAPI.Events;
|
||||||
@ -22,7 +20,7 @@ namespace qtc_net_client_2
|
|||||||
private IGatewayService _gatewayService;
|
private IGatewayService _gatewayService;
|
||||||
|
|
||||||
private Config _config;
|
private Config _config;
|
||||||
private ServerConfig? _serverConfig;
|
private ServerConfig _serverConfig;
|
||||||
private AudioService AudioService = new();
|
private AudioService AudioService = new();
|
||||||
private ImageFactory _imgFactory = new();
|
private ImageFactory _imgFactory = new();
|
||||||
private CredentialService _credService = new();
|
private CredentialService _credService = new();
|
||||||
@ -75,30 +73,31 @@ namespace qtc_net_client_2
|
|||||||
await OnSuccessfulLogin();
|
await OnSuccessfulLogin();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void OnRoomDoubleClicked(object? sender, EventArgs e)
|
private async void lbRooms_DoubleClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
RoomEntryControl? ctrl = sender as RoomEntryControl;
|
if (lbRooms.SelectedItems.Count > 0)
|
||||||
|
|
||||||
string? selectedRoom = ctrl?.RoomName;
|
|
||||||
if (selectedRoom != null)
|
|
||||||
{
|
{
|
||||||
if (selectedRoom == "Lobby")
|
string? selectedRoom = (string?)lbRooms.SelectedItems[lbRooms.SelectedItems.Count - 1];
|
||||||
|
if (selectedRoom != null)
|
||||||
{
|
{
|
||||||
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService);
|
if (selectedRoom == "Lobby")
|
||||||
frmChat.Show();
|
{
|
||||||
|
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService);
|
||||||
|
frmChat.Show();
|
||||||
|
|
||||||
LoggingService.LogString("User Has Joined Lobby Room");
|
LoggingService.LogString("User Has Joined Lobby Room");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// join the room
|
// join the room
|
||||||
Room? room = RoomList.FirstOrDefault(e => e.Name == selectedRoom);
|
Room? room = RoomList.FirstOrDefault(e => e.Name == selectedRoom);
|
||||||
if (room != null)
|
if (room != null)
|
||||||
{
|
{
|
||||||
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService, room);
|
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService, room);
|
||||||
frmChat.Show();
|
frmChat.Show();
|
||||||
|
|
||||||
LoggingService.LogString($"User Has Joined {room.Name}");
|
LoggingService.LogString($"User Has Joined {room.Name}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -367,67 +366,27 @@ namespace qtc_net_client_2
|
|||||||
donationWindow.Show();
|
donationWindow.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task RefreshStore()
|
private async void tbcMain_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// get store items
|
if (tbcMain.SelectedIndex == 4)
|
||||||
var storeItems = await _apiService.GetStoreItems();
|
|
||||||
if (storeItems != null && storeItems.Success && storeItems.Data != null)
|
|
||||||
{
|
{
|
||||||
if (lvStoreItems.Items.Count == storeItems.Data.Count) return;
|
// get store items
|
||||||
|
var storeItems = await _apiService.GetStoreItems();
|
||||||
if (!IsHandleCreated || IsDisposed)
|
if (storeItems != null && storeItems.Success && storeItems.Data != null)
|
||||||
return;
|
|
||||||
|
|
||||||
if (InvokeRequired)
|
|
||||||
{
|
{
|
||||||
Invoke(() => ApplyStoreItems(storeItems.Data));
|
if (lvStoreItems.Items.Count == storeItems.Data.Count) return;
|
||||||
}
|
|
||||||
else
|
ilStoreThumbnails.Images.Clear();
|
||||||
{
|
foreach (var item in storeItems.Data)
|
||||||
ApplyStoreItems(storeItems.Data);
|
{
|
||||||
|
await GetAndAddStoreThumbnail(item);
|
||||||
|
var lvitem = lvStoreItems.Items.Add(new ListViewItem { Text = item.Name, Name = item.Id.ToString() });
|
||||||
|
lvitem.ImageKey = item.Id.ToString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void ApplyStoreItems(IEnumerable<StoreItem> storeItems)
|
|
||||||
{
|
|
||||||
ilStoreThumbnails.Images.Clear();
|
|
||||||
lvStoreItems.Items.Clear();
|
|
||||||
|
|
||||||
var items = await BuildListViewItemsAsync(storeItems);
|
|
||||||
|
|
||||||
lvStoreItems.BeginUpdate();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
lvStoreItems.Items.AddRange([.. items]);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
lvStoreItems.EndUpdate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task<List<ListViewItem>> BuildListViewItemsAsync(IEnumerable<StoreItem> storeItems)
|
|
||||||
{
|
|
||||||
var items = new List<ListViewItem>();
|
|
||||||
|
|
||||||
foreach (var item in storeItems)
|
|
||||||
{
|
|
||||||
await GetAndAddStoreThumbnail(item);
|
|
||||||
|
|
||||||
var lvItem = new ListViewItem
|
|
||||||
{
|
|
||||||
Text = item.Name,
|
|
||||||
Name = item.Id.ToString(),
|
|
||||||
ImageKey = item.Id.ToString()
|
|
||||||
};
|
|
||||||
|
|
||||||
items.Add(lvItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
private async void lvStoreItems_DoubleClick(object sender, EventArgs e)
|
private async void lvStoreItems_DoubleClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (lvStoreItems.SelectedItems.Count > 0)
|
if (lvStoreItems.SelectedItems.Count > 0)
|
||||||
@ -481,13 +440,12 @@ namespace qtc_net_client_2
|
|||||||
createRoom.ShowDialog();
|
createRoom.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO - redo this
|
private void ctxmAdminRoomList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||||
//private void ctxmAdminRoomList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
{
|
||||||
//{
|
if (lbRooms.SelectedItem == null)
|
||||||
// if (lbRooms.SelectedItem == null)
|
deleteRoomToolStripMenuItem.Enabled = false;
|
||||||
// deleteRoomToolStripMenuItem.Enabled = false;
|
else deleteRoomToolStripMenuItem.Enabled = true;
|
||||||
// else deleteRoomToolStripMenuItem.Enabled = true;
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
private void ctxmAdminUserList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
private void ctxmAdminUserList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||||
{
|
{
|
||||||
@ -537,36 +495,35 @@ namespace qtc_net_client_2
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO - i have no idea on how to mark a control as selected
|
private async void deleteRoomToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
//private async void deleteRoomToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
||||||
//{
|
if (lbRooms.SelectedItems.Count > 0)
|
||||||
// if (lbRooms.SelectedItems.Count > 0)
|
{
|
||||||
// {
|
string? itemSelected = (string?)lbRooms.SelectedItems[lbRooms.SelectedItems.Count - 1];
|
||||||
// string? itemSelected = (string?)lbRooms.SelectedItems[lbRooms.SelectedItems.Count - 1];
|
if (itemSelected != null)
|
||||||
// if (itemSelected != null)
|
{
|
||||||
// {
|
var dialogResult = MessageBox.Show("Are You Sure You Want To Delete This Room?\nThis will kick everyone currently in the room out.",
|
||||||
// var dialogResult = MessageBox.Show("Are You Sure You Want To Delete This Room?\nThis will kick everyone currently in the room out.",
|
"are you sure..?",
|
||||||
// "are you sure..?",
|
MessageBoxButtons.YesNo,
|
||||||
// MessageBoxButtons.YesNo,
|
MessageBoxIcon.Question);
|
||||||
// MessageBoxIcon.Question);
|
|
||||||
|
|
||||||
// if (dialogResult == DialogResult.Yes)
|
if (dialogResult == DialogResult.Yes)
|
||||||
// {
|
{
|
||||||
// // get the room
|
// get the room
|
||||||
// var room = RoomList.FirstOrDefault(e => e.Name == itemSelected);
|
var room = RoomList.FirstOrDefault(e => e.Name == itemSelected);
|
||||||
// if (room != null)
|
if (room != null)
|
||||||
// {
|
{
|
||||||
// var apiResult = await _apiService.DeleteRoomAsync(room.Id);
|
var apiResult = await _apiService.DeleteRoomAsync(room.Id);
|
||||||
// if (apiResult != null && apiResult.Success)
|
if (apiResult != null && apiResult.Success)
|
||||||
// MessageBox.Show("Deleted!");
|
MessageBox.Show("Deleted!");
|
||||||
// else
|
else
|
||||||
// MessageBox.Show("There was an error deleting the room. Try Again?", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("There was an error deleting the room. Try Again?", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
// }
|
}
|
||||||
// else MessageBox.Show("This room is unknown. It may have already been deleted.");
|
else MessageBox.Show("This room is unknown. It may have already been deleted.");
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
|
|
||||||
private async void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
|
private async void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -663,8 +620,6 @@ namespace qtc_net_client_2
|
|||||||
llblEditProfile.Visible = true;
|
llblEditProfile.Visible = true;
|
||||||
tbcMain.Enabled = true;
|
tbcMain.Enabled = true;
|
||||||
|
|
||||||
await RefreshStore();
|
|
||||||
|
|
||||||
var pfpRes = await _apiService.GetUserProfilePic(_apiService.CurrentUser.Id);
|
var pfpRes = await _apiService.GetUserProfilePic(_apiService.CurrentUser.Id);
|
||||||
var cosmeticRes = await GetCosmeticImage(_apiService.CurrentUser.ActiveProfileCosmetic);
|
var cosmeticRes = await GetCosmeticImage(_apiService.CurrentUser.ActiveProfileCosmetic);
|
||||||
|
|
||||||
@ -691,6 +646,12 @@ namespace qtc_net_client_2
|
|||||||
pbUserPfp.Image = _imgFactory.CreateProfileImage(null, null, cosmetic);
|
pbUserPfp.Image = _imgFactory.CreateProfileImage(null, null, cosmetic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lvUserDirectory.Items.Count <= 0)
|
||||||
|
await RefreshUsers(); // prevent edge case where the refresh event never gets sent to connecting client
|
||||||
|
|
||||||
|
await RefreshContactsList();
|
||||||
|
await RefreshRoomsList();
|
||||||
|
|
||||||
// set status context menu checked
|
// set status context menu checked
|
||||||
// TODO - figure out more efficient way to do this
|
// TODO - figure out more efficient way to do this
|
||||||
UserStatus cuStatus = (UserStatus)_apiService.CurrentUser.Status;
|
UserStatus cuStatus = (UserStatus)_apiService.CurrentUser.Status;
|
||||||
@ -732,7 +693,7 @@ namespace qtc_net_client_2
|
|||||||
{
|
{
|
||||||
LoggingService.LogString("Current User Is An Admin. Using Admin Context Menu Strips...");
|
LoggingService.LogString("Current User Is An Admin. Using Admin Context Menu Strips...");
|
||||||
lvUserDirectory.ContextMenuStrip = ctxmAdminUserList;
|
lvUserDirectory.ContextMenuStrip = ctxmAdminUserList;
|
||||||
flpRooms.ContextMenuStrip = ctxmAdminRoomList;
|
lbRooms.ContextMenuStrip = ctxmAdminRoomList;
|
||||||
}
|
}
|
||||||
|
|
||||||
LoggingService.LogString("Client Ready");
|
LoggingService.LogString("Client Ready");
|
||||||
@ -771,200 +732,129 @@ namespace qtc_net_client_2
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly SemaphoreSlim _roomsRefreshLock = new(1, 1);
|
|
||||||
private async Task RefreshRoomsList()
|
private async Task RefreshRoomsList()
|
||||||
{
|
{
|
||||||
LoggingService.LogString("Refreshing Rooms List...");
|
LoggingService.LogString("Refreshing Rooms List...");
|
||||||
|
|
||||||
if (IsHandleCreated && !IsDisposed)
|
if (IsHandleCreated && !IsDisposed)
|
||||||
{
|
{
|
||||||
if (!await _roomsRefreshLock.WaitAsync(0))
|
await Invoke(async delegate ()
|
||||||
return;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
|
lbRooms.Items.Clear();
|
||||||
var roomsRes = await _apiService.GetAllRoomsAsync();
|
var roomsRes = await _apiService.GetAllRoomsAsync();
|
||||||
|
if (roomsRes.Success && roomsRes.Data != null)
|
||||||
if (!roomsRes.Success || roomsRes.Data == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
roomsRes.Data.Add(new Room
|
|
||||||
{
|
{
|
||||||
Id = "LOBBY",
|
foreach (var room in roomsRes.Data)
|
||||||
Name = "Lobby"
|
{
|
||||||
});
|
lbRooms.Items.Add(room.Name);
|
||||||
|
}
|
||||||
var uniqueRooms = roomsRes.Data
|
RoomList = roomsRes.Data;
|
||||||
.GroupBy(r => r.Id)
|
if (System.Diagnostics.Debugger.IsAttached || _config.EnableDebugLogs)
|
||||||
.Select(g => g.First())
|
LoggingService.LogModel(roomsRes.Data);
|
||||||
.ToList();
|
|
||||||
|
|
||||||
if (InvokeRequired)
|
|
||||||
{
|
|
||||||
Invoke(() => ApplyRooms(uniqueRooms));
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
// always add lobby room to rooms list
|
||||||
ApplyRooms(uniqueRooms);
|
lbRooms.Items.Add("Lobby");
|
||||||
}
|
});
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
_roomsRefreshLock.Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ApplyRooms(List<Room> newRooms)
|
|
||||||
{
|
|
||||||
RoomList.Clear();
|
|
||||||
RoomList.AddRange(newRooms.DistinctBy(r => r.Id));
|
|
||||||
|
|
||||||
var roomsSnap = RoomList.ToList();
|
|
||||||
|
|
||||||
flpRooms.SuspendLayout();
|
|
||||||
flpRooms.Controls.Clear();
|
|
||||||
|
|
||||||
foreach (var room in roomsSnap)
|
|
||||||
{
|
|
||||||
var ctrl = new RoomEntryControl
|
|
||||||
{
|
|
||||||
RoomName = room.Name,
|
|
||||||
RoomUserCount = room.UserCount,
|
|
||||||
};
|
|
||||||
|
|
||||||
if(room.Id == "LOBBY")
|
|
||||||
ctrl.HideUserCount = true; // TODO - probably make this work with the lobby room (might need backend work)
|
|
||||||
|
|
||||||
ctrl.Margin = new Padding(0, 4, 0, 4);
|
|
||||||
ctrl.Width = flpRooms.ClientSize.Width - flpRooms.Padding.Horizontal;
|
|
||||||
ctrl.OnRoomDoubleClicked += OnRoomDoubleClicked;
|
|
||||||
|
|
||||||
flpRooms.Controls.Add(ctrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
flpRooms.ResumeLayout(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly SemaphoreSlim _contactsRefreshLock = new(1, 1);
|
|
||||||
private async Task RefreshContactsList()
|
private async Task RefreshContactsList()
|
||||||
{
|
{
|
||||||
if (!await _contactsRefreshLock.WaitAsync(0))
|
LoggingService.LogString("Refreshing Contacts List...");
|
||||||
return; // already refreshing, skip
|
|
||||||
|
|
||||||
try
|
if (IsHandleCreated && !IsDisposed)
|
||||||
{
|
{
|
||||||
var contactsRes = await _apiService.GetCurrentUserContacts();
|
await Invoke(async delegate ()
|
||||||
if (!contactsRes.Success || contactsRes.Data == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (InvokeRequired)
|
|
||||||
Invoke(() => ApplyContacts(contactsRes.Data));
|
|
||||||
else
|
|
||||||
ApplyContacts(contactsRes.Data);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
_contactsRefreshLock.Release();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async void ApplyContacts(List<Contact> newContacts)
|
|
||||||
{
|
|
||||||
lblRequestNotif.Visible =
|
|
||||||
newContacts.Any(e =>
|
|
||||||
e.UserId == _apiService.CurrentUser!.Id &&
|
|
||||||
e.UserStatus == Contact.ContactStatus.AwaitingApprovalFromSelf);
|
|
||||||
|
|
||||||
Contacts.Clear();
|
|
||||||
Contacts.AddRange(newContacts.DistinctBy(c => c.Id));
|
|
||||||
|
|
||||||
flpContacts.SuspendLayout();
|
|
||||||
flpContacts.Controls.Clear();
|
|
||||||
|
|
||||||
var contactsSnap = Contacts.ToList();
|
|
||||||
|
|
||||||
foreach (var contact in contactsSnap)
|
|
||||||
{
|
|
||||||
var ctrl = await BuildContactControl(contact);
|
|
||||||
if (ctrl != null)
|
|
||||||
flpContacts.Controls.Add(ctrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
flpContacts.ResumeLayout(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task<ContactEntryControl?> BuildContactControl(Contact contact)
|
|
||||||
{
|
|
||||||
ServiceResponse<UserInformationDto> user = null!;
|
|
||||||
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
|
||||||
user = await _apiService.GetUserInformationAsync(contact.UserId);
|
|
||||||
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
|
||||||
user = await _apiService.GetUserInformationAsync(contact.OwnerId);
|
|
||||||
|
|
||||||
var ctrl = new ContactEntryControl();
|
|
||||||
|
|
||||||
if (user.Data != null)
|
|
||||||
{
|
|
||||||
switch (user.Data.Status)
|
|
||||||
{
|
{
|
||||||
case 0:
|
Contacts.Clear();
|
||||||
ctrl.StatusColor = Color.Gray;
|
flpContacts.Controls.Clear();
|
||||||
break;
|
lblRequestNotif.Visible = false;
|
||||||
case 1:
|
var contactsRes = await _apiService.GetCurrentUserContacts();
|
||||||
ctrl.StatusColor = Color.LightGreen;
|
if (contactsRes.Success && contactsRes.Data != null)
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
ctrl.StatusColor = Color.Gold;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
ctrl.StatusColor = Color.Red;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
|
||||||
{
|
|
||||||
switch (contact.OwnerStatus)
|
|
||||||
{
|
{
|
||||||
case Contact.ContactStatus.AwaitingApprovalFromOther:
|
if (contactsRes.Data.Where(e => e.UserId == _apiService.CurrentUser!.Id && e.UserStatus == Contact.ContactStatus.AwaitingApprovalFromSelf).Count() >= 1)
|
||||||
ctrl.Username = $"{user.Data.Username} [Request Sent]";
|
lblRequestNotif.Visible = true;
|
||||||
await AddProfilePicToList(user.Data.Id);
|
else
|
||||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
lblRequestNotif.Visible = false;
|
||||||
break;
|
|
||||||
case Contact.ContactStatus.Accepted:
|
|
||||||
ctrl.Username = user.Data.Username;
|
|
||||||
await AddProfilePicToList(user.Data.Id);
|
|
||||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
|
||||||
{
|
|
||||||
switch (contact.UserStatus)
|
|
||||||
{
|
|
||||||
case Contact.ContactStatus.AwaitingApprovalFromSelf:
|
|
||||||
ctrl.Username = $"{user.Data.Username} [Contact Request]";
|
|
||||||
await AddProfilePicToList(user.Data.Id);
|
|
||||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
|
||||||
AudioService.PlaySoundEffect("sndContactRequest");
|
|
||||||
break;
|
|
||||||
case Contact.ContactStatus.Accepted:
|
|
||||||
ctrl.Username = user.Data.Username;
|
|
||||||
await AddProfilePicToList(user.Data.Id);
|
|
||||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// add the control to the flow panel
|
foreach (var contact in contactsRes.Data)
|
||||||
ctrl.Margin = new Padding(0, 4, 0, 4);
|
{
|
||||||
ctrl.Width = flpContacts.ClientSize.Width - flpContacts.Padding.Horizontal;
|
ServiceResponse<UserInformationDto> user = null!;
|
||||||
ctrl.ContactDoubleClicked += Ctrl_ContactDoubleClicked;
|
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
||||||
|
user = await _apiService.GetUserInformationAsync(contact.UserId);
|
||||||
|
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
||||||
|
user = await _apiService.GetUserInformationAsync(contact.OwnerId);
|
||||||
|
|
||||||
// return the control
|
var ctrl = new ContactEntryControl();
|
||||||
return ctrl;
|
|
||||||
|
if (user.Data != null)
|
||||||
|
{
|
||||||
|
Contacts.Add(contact);
|
||||||
|
|
||||||
|
switch(user.Data.Status)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
ctrl.StatusColor = Color.Gray;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ctrl.StatusColor = Color.LightGreen;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
ctrl.StatusColor = Color.Gold;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
ctrl.StatusColor = Color.Red;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
||||||
|
{
|
||||||
|
switch (contact.OwnerStatus)
|
||||||
|
{
|
||||||
|
case Contact.ContactStatus.AwaitingApprovalFromOther:
|
||||||
|
ctrl.Username = $"{user.Data.Username} [Request Sent]";
|
||||||
|
await AddProfilePicToList(user.Data.Id);
|
||||||
|
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||||
|
break;
|
||||||
|
case Contact.ContactStatus.Accepted:
|
||||||
|
ctrl.Username = user.Data.Username;
|
||||||
|
await AddProfilePicToList(user.Data.Id);
|
||||||
|
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
||||||
|
{
|
||||||
|
switch (contact.UserStatus)
|
||||||
|
{
|
||||||
|
case Contact.ContactStatus.AwaitingApprovalFromSelf:
|
||||||
|
ctrl.Username = $"{user.Data.Username} [Contact Request]";
|
||||||
|
await AddProfilePicToList(user.Data.Id);
|
||||||
|
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||||
|
AudioService.PlaySoundEffect("sndContactRequest");
|
||||||
|
break;
|
||||||
|
case Contact.ContactStatus.Accepted:
|
||||||
|
ctrl.Username = user.Data.Username;
|
||||||
|
await AddProfilePicToList(user.Data.Id);
|
||||||
|
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add the control to the flow panel
|
||||||
|
ctrl.Margin = new Padding(0, 4, 0, 4);
|
||||||
|
ctrl.Width = flpContacts.ClientSize.Width - flpContacts.Padding.Horizontal;
|
||||||
|
ctrl.ContactDoubleClicked += Ctrl_ContactDoubleClicked;
|
||||||
|
flpContacts.Controls.Add(ctrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (System.Diagnostics.Debugger.IsAttached || _config.EnableDebugLogs)
|
||||||
|
LoggingService.LogModel(contactsRes.Data);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else return default;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void Ctrl_ContactDoubleClicked(object? sender, EventArgs e)
|
private async void Ctrl_ContactDoubleClicked(object? sender, EventArgs e)
|
||||||
|
|||||||
@ -120,96 +120,6 @@
|
|||||||
<metadata name="ctxmRefresh.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="ctxmRefresh.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>356, 21</value>
|
<value>356, 21</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>20, 44</value>
|
|
||||||
</metadata>
|
|
||||||
<data name="ilTabIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>
|
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
|
||||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
|
||||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB
|
|
||||||
AAGoAQMBqAEDARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
|
||||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B
|
|
||||||
ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB
|
|
||||||
CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB
|
|
||||||
OjgAAzMBUQNuAfUIAAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8D
|
|
||||||
VQGsAzABSwgAA/gB/wG5AZUBPAH/AYMBfQFuAf8BhAF9AWwB/wGqAYQBJwH/AawBewEAAf8BzAG8AZQB
|
|
||||||
/wN+Af8DfgH/A34B/wN+Af8DfgH/A34B/wN+Af8DfgH/A44B/wNDAXUDXQHMA3wB+AOBAf8DgQH/A4EB
|
|
||||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A3wB+ANUAag4AAMSARgDPwFtBAADOwFiA10B
|
|
||||||
xQNoAfQBnwFlATEB/wGXAVMBFwH/AZYBSwEJAf8BkwFGAQEB/wGMAUMBAwH/AX0BQAELAf8BawFAARoB
|
|
||||||
/wFuAVABNgH/A2gB8ANaAbcDNAFUBAAE/wGXAYsBbQH/AoEBgAH/AYIBgQGAAf8BmAGIAWAB/wHKAZAB
|
|
||||||
AAH/Ad0BzAGfAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DagHtA30B+gOBAf8D
|
|
||||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvNAADXwHTAz0B
|
|
||||||
ZwQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckBXwEAAf8B2AFlAQAB/wHcAWcBAAH/AdYB
|
|
||||||
ZAEAAf8BwwFcAQAB/wGiAUwBAAH/AXwBOwEDAf8BbgFGASMB/wNoAfADWgG3AzABSgT/AYYBhAF9Af8D
|
|
||||||
gQH/A4EB/wGHAYMBegH/Ac8BlAEAAf8B3gHMAZ8B/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D
|
|
||||||
4AH/A7wB/wNjAd8DbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
|
||||||
gQH/A4EB/wNVAa80AANaAcIDNAFTBAADXAHEAnwBXAH4AdQBcQEYAf8B1wFlAQAB/wHlAWwBAAH/AfIB
|
|
||||||
cgEAAf8B+gF1AQAB/wH8AXYBAAH/AfoBdgEAAf8B8wFyAQAB/wHiAWsBAAH/Ab0BWQEAAf8BhwFAAQAB
|
|
||||||
/wFxAUgBIwH/A2gB8ANWAasE/wGLAYYBegH/A4EB/wOBAf8BjgGGAXEB/wHPAZQBAAH/Ad4BzAGfIf8D
|
|
||||||
ygH/AzYBWANbAcADbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
|
||||||
aAH0A1IBpBAAAw0BEQM/AWwDUwGnAVwCWQG+AVgCVgGzAUgCRwGDAyEBMAQAA28B8wM6AWAIAAH+Ad0B
|
|
||||||
wQH/Ae0BgAEgAf8B7QFxAQIB/wHzAXMBAAH/AfoBdgEAAf8B/gF4AQAC/wF7AQgC/wGIAScC/wGiAVMB
|
|
||||||
/wH+AYEBFwH/AfwBeAEEAf8B7AFvAQAB/wHBAVsBAAH/AYYBQQEDAf8BeAFWATYB/wNjAd8E/wGsAZYB
|
|
||||||
YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D
|
|
||||||
sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D
|
|
||||||
gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B
|
|
||||||
AAH/AagBeAEAAf8BlQFqAQAB/wKAAXUB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
|
|
||||||
dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB
|
|
||||||
AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB
|
|
||||||
ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD
|
|
||||||
IAEtAmMBWgHpAb8BiAEAAf8BzQGVAQoB/wGwAYgBJwH/AXMBZAE/Af8BTQFLAUcB/wFOAUsBQgH/AWYB
|
|
||||||
VwExAf8BmgF0ARcB/wGkAXYBAwH/AXABTwEAAf8DQwF2BAEEAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8B
|
|
||||||
eAEAAv8BeAEAAv8BlQE/Av8BygGuAv8B2gHGAv8B7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMB
|
|
||||||
AAH/AdABYgEAAf8BmgFOAQoB/wFjAl0B3wT/AeEBrgExAf8BvQGXATsB/wHAAZgBNQH/AeMBpQEKAf8B
|
|
||||||
zwGUAQAB/wHeAcwBnwH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DrwH/CAADAgEDAwgB
|
|
||||||
CgMhAS8DMQFOAz0BaANDAXYDRAF6A0MBdQM9AWcDMQFNAyABLgMHAQkEAggAAmMBWgHpAdkBmgEAAf8B
|
|
||||||
2gGjARwB/wKOAYwB/wOKAf8DlwH/A5sB/wORAf8DdAH/A0gB/wFDAUIBPwH/AbUBgwEHAf8BegFXAQAB
|
|
||||||
/wM2AVgEAAH/AZUBNwL/AYkBHwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgB
|
|
||||||
xQL/AbkBlAL/AYcBIwL/AXgBAAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfBP8BuwGdAVMB
|
|
||||||
/wGIAYQBeQH/AYwBhQF0Af8BxAGZATAB/wHPAZQBAAH/Ad4BzAGfIf8DygH/BAADEwEaAzkBXQNZAbwD
|
|
||||||
ZAHbA2oB7QNjAfYDXwH7A4EB/QNfAfsDYwH2A2UB7ANjAdoDWgG6AzgBXAMTARoDQwF2AekBpwECAf8B
|
|
||||||
6QGrARIB/wHQAcoBuwH/A6wB/wNdAf8DTAH/A0sB/wNEAf8DDwH/A7MB/wNmAf8BVAFMAToB/wGuAX0B
|
|
||||||
BAH/A10BzAQAAf8BoAFJAv8BkgExAv8BgQERAv8BeQEDAv8BeAEAAv8BqAFcAv8B4AHNAv8BoQFmAv8B
|
|
||||||
2AHFAv8BwAGfAv8BiQEnAv8BeAEAAf8B/gF4AQAB/wHsAW8BAAH/Ab8BWgECAf8BYwJdAd8E/wGUAYoB
|
|
||||||
cwH/A4EB/wOBAf8BmgGKAWMB/wHPAZQBAAH/Ad4BzAGfAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D
|
|
||||||
0AH/A9AB/wO1Af8DGgEkA1YBrgNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
|
||||||
gQH/A4EB/wNrAfIDUgGhAmoBYQHmAe0BrQEQAf8B9AHQAXYB/wP6Af8D+gH/A30B/wN/Af8DgAH/A4AB
|
|
||||||
/wN+Af8DhAH/A7sB/wNqAf8BqAGAARwB/wJjAUgB9gQAAf8BswFvAv8BngFIAv8BiAEeAv8BfAEHAv8B
|
|
||||||
eAEAAv8BmAFDAv8BzgG0Av8B1wHAAv8B6gHgAv8BnQFXAv8BfgERAv8BeAEAAv8BeAEAAf8B8AFxAQAB
|
|
||||||
/wHLAWQBCQH/AWMBYQFdAd8E/wGGAYMBfgH/A4EB/wOBAf8BhgGDAXsB/wHPAZQBAAH/Ad4BzAGfAf8D
|
|
||||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DVwGyA2UB5wOBAf8DgQH/A4EB/wOBAf8D
|
|
||||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA2IB7gHvAbQBIQH/AfcB3AGXCf8D
|
|
||||||
kQH/A4gB/wOHAf8DhwH/A4EB/wNXAf8D5gH/A6MB/wG2AZEBNgH/AmoBQQH5BAAB/wHMAZ8C/wGsAWMC
|
|
||||||
/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC
|
|
||||||
/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd8E/wGLAYYBeQH/A4EB/wOBAf8BjgGGAXEB/wHPAZQB
|
|
||||||
AAH/Ad4BzAGfAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DbwHzA18B+wOBAf8D
|
|
||||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA0sBjQHwAb4B
|
|
||||||
PwH/AfQBzQFsIf8D+wH/A9AB/wHXAacBMQH/AmEBXQHRBAAB/wHpAdUC/wG8AYEC/wGkAVQC/wGOASoC
|
|
||||||
/wF/AQ0C/wF5AQIC/wF7AQkC/wGCAR0C/wF4AQAC/wF4AQAC/wF4AQEC/wF6AQQC/wF6AQMB/wHzAXQB
|
|
||||||
AwH/AeIBhAEyAf8DYwHfBP8BpwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeAB
|
|
||||||
zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB
|
|
||||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB
|
|
||||||
/wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdID
|
|
||||||
agH5Af8BuwF9Av8BowFSAv8BkAEsAv8BggETAv8BfQEIAv8BegEEAv8BeQECAv8BegEEAv8BfQEJAv8B
|
|
||||||
gAEPAv8BfwENAf8B+AGGASAB/wNoAfQDWAG4BP8B1wGxAVIB/wGaAY8BdAH/AaABkgFtAf8B4AGvATcB
|
|
||||||
/wHnAakBEAH/AesB1QGgAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DPAFkA18B
|
|
||||||
yQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqBAAD
|
|
||||||
MwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFmA2MB
|
|
||||||
1QN8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC/wGKASIC/wGNASgC
|
|
||||||
/wGTATMB/wJuAWgB9QNdAcUDNgFZBP8B9AHNAWwB/wH0AcsBZgH/AfQBywFlAf8B9AHLAWUB/wHxAcEB
|
|
||||||
SQH/AfkB4wGsAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOaAf8DBgEIAzEBTANQAZsD
|
|
||||||
ZQHsA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJCAADIgExA18B
|
|
||||||
yQJ9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8DgAH+AmUBXgHiAz0B
|
|
||||||
aAQBDAADQgFyA2MB1QNqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC
|
|
||||||
/wGnAVgB/wN8AfgDXQHHAzsBYgQAQP8IAAMFAQYDEgEXAzoBYANRAZ8DXwHTA2cB7wNjAfYDYgHuA14B
|
|
||||||
0gNRAZ4DOQFfAxEBFgMFAQYUAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAzwBZQNeAdIB
|
|
||||||
/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAAB
|
|
||||||
QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4UAAf8B/AHAAQMEAAH/AfwBgAEBBAAB
|
|
||||||
/wH5BgAB/wH5BgAB8AETBgABwAEDBAAC/wGAAQEEAAHAAQEBgAEBBAABgAIAAQEHAAEBBwABAQcAAQEH
|
|
||||||
AAEBBgABgAEBBgABwAEDAYABAQIAAcABAQHwAR8BwAEDCw==
|
|
||||||
</value>
|
|
||||||
</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">
|
||||||
<value>13, 101</value>
|
<value>13, 101</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
@ -217,31 +127,31 @@
|
|||||||
<value>
|
<value>
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAihMAAAJNU0Z0AUkBTAIBAQQB
|
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAkhMAAAJNU0Z0AUkBTAIBAQQB
|
||||||
AAHoAQEB6AEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
AAGgAQEBoAEBARABAAEQAQAE/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
|
||||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDYQH+A2EB/gMkAfsDUwH0A2IB
|
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDWAH+A1gB/gMkAfsDUwH0A2IB
|
||||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBPQF9AT0B/gE9AX0BPQH+ASEBXgEhAfsD
|
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBNAF0ATQB/gE0AXQBNAH+ASEBXgEhAfsD
|
||||||
UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7AT0CfQH+AT0CfQH+ASECXgH7A1MB
|
UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7ATQCdAH+ATQCdAH+ASECXgH7A1MB
|
||||||
9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wI9AX0B/gI9AX0B/gIhAV4B+wNTAfQD
|
9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wI0AXQB/gI0AXQB/gIhAV4B+wNTAfQD
|
||||||
YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNlAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B
|
YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNcAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B
|
||||||
8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBPQGAAT0B/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB
|
8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBNAF8ATQB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB
|
||||||
AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBPQKAAf4B
|
AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBNAJ8Af4B
|
||||||
AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD
|
AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD
|
||||||
WAG9A1oB8gI9AYAB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB
|
WAG9A1oB8gI0AXwB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB
|
||||||
sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A2EB
|
sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A1gB
|
||||||
/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB
|
/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB
|
||||||
zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/AT0BfQE9Af4DYgHuA1AB
|
zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ATQBdAE0Af4DYgHuA1AB
|
||||||
mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC
|
mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC
|
||||||
swH/AQACiAH/AQACVwH/AT0CfQH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB
|
swH/AQACiAH/AQACVwH/ATQCdAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB
|
||||||
/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wI9AX0B/gNiAe4DUAGaAwMB
|
/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wI0AXQB/gNiAe4DUAGaAwMB
|
||||||
BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B
|
BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B
|
||||||
3QMqAT8DLQFEAWABaQFgAegBPQGAAT0B/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB
|
3QMqAT8DLQFEAWABaQFgAegBNAGAATQB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB
|
||||||
+wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B
|
+wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B
|
||||||
RAFgAmkB6AE9AoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB
|
RAFgAmkB6AE0AoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB
|
||||||
/wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCPQGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C
|
/wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCNAGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C
|
||||||
AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB
|
AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB
|
||||||
+AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B
|
+AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B
|
||||||
lQFcAXwBXAH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
lQFcAXwBXAH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||||
@ -255,16 +165,16 @@
|
|||||||
+wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D
|
+wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D
|
||||||
QQH5A1oBxAJbAV8B0wIrAX4B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB
|
QQH5A1oBxAJbAV8B0wIrAX4B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB
|
||||||
/QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B
|
/QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B
|
||||||
/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBYQGFAWEB/gEnAf8BJwH/AQsB
|
/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBWAGXAVgB/gEnAf8BJwH/AQsB
|
||||||
/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||||
/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AWEChQH+AScD/wELA/8BAQP/AQAD
|
/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AVgClwH+AScD/wELA/8BAQP/AQAD
|
||||||
/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCYQGFAf4C
|
/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCWAGXAf4C
|
||||||
JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB
|
JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB
|
||||||
4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB
|
4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB
|
||||||
/QNeAeIBSAFjAUgB9gGAAYUBgAH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB
|
/QNeAeIBSAFjAUgB9gF7AZcBewH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB
|
||||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/A0AB
|
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/A0AB
|
||||||
/QNeAeIBSAJjAfYBgAKFAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B
|
/QNeAeIBSAJjAfYBewKXAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B
|
||||||
AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gKAAYUB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C
|
AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gJ7AZcB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C
|
||||||
AAL/AgAC/wIAAf0B/wIAAeQB/wIAAZgB/wNAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8DjgH/A44B
|
AAL/AgAC/wIAAf0B/wIAAeQB/wIAAZgB/wNAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8DjgH/A44B
|
||||||
/wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBfgFkAfwBXwH/AV8B
|
/wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBfgFkAfwBXwH/AV8B
|
||||||
/wEvAf8BLwH/AQwB/wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
/wEvAf8BLwH/AQwB/wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||||
@ -272,36 +182,36 @@
|
|||||||
/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wNNAfoDWgHHAlwBYQHWAmQB
|
/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wNNAfoDWgHHAlwBYQHWAmQB
|
||||||
fgH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgABpQH/A00B
|
fgH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgABpQH/A00B
|
||||||
+gNaAccDUAGaA2oB+QPFAf8DsgH/A5wB/wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB
|
+gNaAccDUAGaA2oB+QPFAf8DsgH/A5wB/wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB
|
||||||
/wNaAfIDTAGQA1ABmgNqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB/wEBAf8BAQH/AQAB
|
/wNaAfIDTAGQA1ABmgFqAWsBagH5AXwB/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB/wEHAf8BAQH/AQEB
|
||||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesBAAH/AQABrQEAAf8BWgFrAVoB
|
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVoB
|
||||||
8gNMAZADUAGaA2oB+QF8A/8BUQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB
|
awFaAfIDTAGQA1ABmgFqAmsB+QF8A/8BUQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B
|
||||||
/wEAAq0B/wFaAmsB8gNMAZADUAGaA2oB+QJ8Av8CUQL/Ah8C/wIHAv8CAQL/AgAC/wIAAv8CAAL/AgIC
|
/wEAAusB/wEAAq0B/wFaAmsB8gNMAZADUAGaAmoBawH5AnwC/wJRAv8CHwL/AgcC/wIBAv8CAAL/AgAC
|
||||||
/wICAf4B/wIAAesB/wIAAa0B/wJaAWsB8gNMAZADLwFJA2wB6wOAAf4DxgH/A64B/wOcAf8DkwH/A5AB
|
/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgABrQH/AloBawHyA0wBkAMvAUkDbAHrA4AB/gPGAf8DrgH/A5wB
|
||||||
/wOPAf8DkAH/A5MB/wOTAf8DhQH/A0AB/QNgAeADLQFFAy8BSQNsAesBgAGFAYAB/gF/Af8BfwH/AUkB
|
/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB/wOFAf8DQAH9A2AB4AMtAUUDLwFJA2wB6wGAAZcBgAH+AX8B
|
||||||
/wFJAf8BHwH/AR8B/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB
|
/wF/Af8BSQH/AUkB/wEfAf8BHwH/AQwB/wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB/wEFAf8BCgH/AQoB
|
||||||
/wEBAe0BAQH/AUABtgFAAf0BYAFmAWAB4AMtAUUDLwFJA2wB6wGAAoUB/gF/A/8BSQP/AR8D/wEMA/8B
|
/wEKAf4BCgH/AQEB7QEBAf8BQAG2AUAB/QFgAWYBYAHgAy0BRQMvAUkDbAHrAYAClwH+AX8D/wFJA/8B
|
||||||
BQP/AQMD/wEFA/8BCgP/AQoC/gH/AQEC7QH/AUACtgH9AWACZgHgAy0BRQMvAUkDbAHrAoABhQH+An8C
|
HwP/AQwD/wEFA/8BAwP/AQUD/wEKA/8BCgL+Af8BAQLtAf8BQAK2Af0BYAJmAeADLQFFAy8BSQNsAesC
|
||||||
/wJJAv8CHwL/AgwC/wIFAv8CAwL/AgUC/wIKAv8CCgH+Af8CAQHtAf8CQAG2Af0CYAFmAeADLQFFAwMB
|
gAGXAf4CfwL/AkkC/wIfAv8CDAL/AgUC/wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wJAAbYB/QJgAWYB
|
||||||
BANWAa4DbgH1A9kB/wPLAf8DtwH/A6cB/wOdAf8DmgH/A5wB/wOfAf8DmwH/A4kB/wNoAfADUgGjAwMB
|
4AMtAUUDAwEEA1YBrgNuAfUD2QH/A8sB/wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB
|
||||||
BAMDAQQDVgGuA24B9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB/wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB
|
8ANSAaMDAwEEAwMBBANWAa4DbgH1AagB/wGoAf8BiQH/AYkB/wFcAf8BXAH/ATcB/wE3Af8BIgH/ASIB
|
||||||
/wEfAf8BHwH/ASYB/wEmAf8BHQH/AR0B/wEFAfMBBQH/AV4BaAFeAfADUgGjAwMBBAMDAQQDVgGuA24B
|
/wEbAf8BGwH/AR8B/wEfAf8BJgH/ASYB/wEdAf8BHQH/AQUB8wEFAf8BXgFoAV4B8ANSAaMDAwEEAwMB
|
||||||
9QGoA/8BiQP/AVwD/wE3A/8BIgP/ARsD/wEfA/8BJgP/AR0D/wEFAvMB/wFeAmgB8ANSAaMDAwEEAwMB
|
BANWAa4DbgH1AagD/wGJA/8BXAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AV4CaAHwA1IB
|
||||||
BANWAa4DbgH1AqgC/wKJAv8CXAL/AjcC/wIiAv8CGwL/Ah8C/wImAv8CHQL/AgUB8wH/Al4BaAHwA1IB
|
owMDAQQDAwEEA1YBrgNuAfUCqAL/AokC/wJcAv8CNwL/AiIC/wIbAv8CHwL/AiYC/wIdAv8CBQHzAf8C
|
||||||
owMDAQQEAAMcAScDXQHHA2MB9gOAAf4D1wH/A8wB/wPCAf8DuwH/A7cB/wOxAf8DgAH+A2gB9ANZAbwD
|
XgFoAfADUgGjAwMBBAQAAxwBJwNdAccDYwH2A4AB/gPXAf8DzAH/A8IB/wO7Af8DtwH/A7EB/wOAAf4D
|
||||||
GwEmCAADHAEnA10BxwNjAfYBgAGFAYAB/gGlAf8BpQH/AYsB/wGLAf8BdAH/AXQB/wFmAf8BZgH/AVwB
|
aAH0A1kBvAMbASYIAAMcAScDXQHHA2MB9gGAAZcBgAH+AaUB/wGlAf8BiwH/AYsB/wF0Af8BdAH/AWYB
|
||||||
/wFcAf8BTgH/AU4B/wFtAYUBbQH+AVMBaAFTAfQBVwFZAVcBvAMbASYIAAMcAScDXQHHA2MB9gGAAoUB
|
/wFmAf8BXAH/AVwB/wFOAf8BTgH/AWQBlwFkAf4BUwFoAVMB9AFXAVkBVwG8AxsBJggAAxwBJwNdAccD
|
||||||
/gGlA/8BiwP/AXQD/wFmA/8BXAP/AU4D/wFtAoUB/gFTAmgB9AFXAlkBvAMbASYIAAMcAScDXQHHA2MB
|
YwH2AYAClwH+AaUD/wGLA/8BdAP/AWYD/wFcA/8BTgP/AWQClwH+AVMCaAH0AVcCWQG8AxsBJggAAxwB
|
||||||
9gKAAYUB/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C/wJtAYUB/gJTAWgB9AJXAVkBvAMbASYMAAMhATAD
|
JwNdAccDYwH2AoABlwH+AqUC/wKLAv8CdAL/AmYC/wJcAv8CTgL/AmQBlwH+AlMBaAH0AlcBWQG8AxsB
|
||||||
WQG2A2IB7gN9AfoDvgH9A9QB/wPMAf8DvgH9A2oB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B
|
JgwAAyEBMANZAbYDYgHuA30B+gO+Af0D1AH/A8wB/wO+Af0DagH5A2wB6wNVAawDHwEsEAADIQEwA1kB
|
||||||
+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB/wFAAb4BQAH9AWgBagFoAfkBYQFsAWEB6wNVAawDHwEsEAAD
|
tgNiAe4DfQH6Aa4BvgGuAf0BnwH/AZ8B/wGMAf8BjAH/AUIBvgFCAf0BaAFrAWgB+QFhAWwBYQHrA1UB
|
||||||
IQEwA1kBtgNiAe4DfQH6Aa4CvgH9AZ8D/wGMA/8BQAK+Af0BaAJqAfkBYQJsAesDVQGsAx8BLBAAAyEB
|
rAMfASwQAAMhATADWQG2A2IB7gN9AfoBrgK+Af0BnwP/AYwD/wFCAr4B/QFoAmsB+QFhAmwB6wNVAawD
|
||||||
MANZAbYDYgHuA30B+gKuAb4B/QKfAv8CjAL/AkABvgH9AmgBagH5AmEBbAHrA1UBrAMfASwUAAMGAQcD
|
HwEsEAADIQEwA1kBtgNiAe4DfQH6Aq4BvgH9Ap8C/wKMAv8CQgG+Af0CaAFrAfkCYQFsAesDVQGsAx8B
|
||||||
NgFYA1UBrANmAeUDfgH8A18B+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8AV8B
|
LBQAAwYBBwM2AVgDVQGsA2YB5QN+AfwDbwH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB
|
||||||
cwFfAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlA34B/AFfAnMB+wNlAeIDUwGnAzMB
|
5QN+AfwBXwGCAV8B+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8AV8CggH7A2UB
|
||||||
UQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8Al8BcwH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwAB
|
4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QN+AfwCXwGCAfsDZQHiA1MBpwMzAVEDBgEHDAAB
|
||||||
PgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMB
|
QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4EAAeABBwHgAQcB4AEHAeABBwHAAQMB
|
||||||
wAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeAB
|
wAEDAcABAwHAAQMBgAEBAYABAQGAAQEBgAEBUAABgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcAB
|
||||||
BwHgAQcB4AEHCw==
|
AwHgAQcB4AEHAeABBwHgAQcL
|
||||||
</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">
|
||||||
@ -312,7 +222,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAJCUAAAJNU0Z0AUkBTAIBAQMB
|
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAJCUAAAJNU0Z0AUkBTAIBAQMB
|
||||||
AAGoAQIBqAECASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6
|
AAFgAQIBYAECASABAAEgAQAE/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
|
||||||
@ -398,7 +308,7 @@
|
|||||||
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB
|
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB
|
||||||
EAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYBFgH/AVoBlAEYAf8B
|
EAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYBFgH/AVoBlAEYAf8B
|
||||||
XQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8IAAMnAToCUwFRAaIB
|
XQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8IAAMnAToCUwFRAaIB
|
||||||
YQFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC/wF4AQAB
|
cwFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC/wF4AQAB
|
||||||
/wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA18B0ANiAe4g
|
/wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA18B0ANiAe4g
|
||||||
AANhAdQDYwHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
|
AANhAdQDYwHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
|
||||||
ZwGpARcB/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB
|
ZwGpARcB/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB
|
||||||
@ -418,7 +328,7 @@
|
|||||||
YgHclAABSgGMAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcBnQEnAf8BCAEKAQAB
|
YgHclAABSgGMAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcBnQEnAf8BCAEKAQAB
|
||||||
/wEKAQ8BAAH/AUIBdwEDAf8BUgGMARAB/wFaAZwBEAH/ASUBQQEFAf8EAAM6AWABCAEKAQAB/wEIAQoB
|
/wEKAQ8BAAH/AUIBdwEDAf8BUgGMARAB/wFaAZwBEAH/ASUBQQEFAf8EAAM6AWABCAEKAQAB/wEIAQoB
|
||||||
AAH/BAADRgGAA0YBgANGAYAcAAMKAQ0DIgExAzQBVANEAXgCUQFQAZ8CYQFdAc8CagFeAe0CZQFdAewC
|
AAH/BAADRgGAA0YBgANGAYAcAAMKAQ0DIgExAzQBVANEAXgCUQFQAZ8CYQFdAc8CagFeAe0CZQFdAewC
|
||||||
aAFeAfABYQFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB
|
aAFeAfABcwFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB
|
||||||
WgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UBrQNVAa0D
|
WgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UBrQNVAa0D
|
||||||
VQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNwAfED
|
VQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNwAfED
|
||||||
fAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8BUgGMAQgB
|
fAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8BUgGMAQgB
|
||||||
@ -476,6 +386,96 @@
|
|||||||
<metadata name="ilStoreThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="ilStoreThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>12, 128</value>
|
<value>12, 128</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>20, 44</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="ilTabIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>
|
||||||
|
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||||
|
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||||
|
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB
|
||||||
|
AAFgAQMBYAEDARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||||
|
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B
|
||||||
|
ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB
|
||||||
|
CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB
|
||||||
|
OjgAAzMBUQNuAfUIAAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8D
|
||||||
|
VQGsAzABSwgAA/gB/wG5AZUBPAH/AYMBfQFuAf8BhAF9AWwB/wGqAYQBJwH/AawBewEAAf8BzAG8AZQB
|
||||||
|
/wN+Af8DfgH/A34B/wN+Af8DfgH/A34B/wN+Af8DfgH/A44B/wNDAXUDXQHMA3wB+AOBAf8DgQH/A4EB
|
||||||
|
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A3wB+ANUAag4AAMSARgDPwFtBAADOwFiA10B
|
||||||
|
xQNoAfQBnwFlATEB/wGXAVMBFwH/AZYBSwEJAf8BkwFGAQEB/wGMAUMBAwH/AX0BQAELAf8BawFAARoB
|
||||||
|
/wFuAVABNgH/A2gB8ANaAbcDNAFUBAAE/wGXAYsBbQH/AoEBgAH/AYIBgQGAAf8BmAGIAWAB/wHKAZAB
|
||||||
|
AAH/Ad0BzAGfAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DagHtA30B+gOBAf8D
|
||||||
|
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvNAADXwHTAz0B
|
||||||
|
ZwQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckBXwEAAf8B2AFlAQAB/wHcAWcBAAH/AdYB
|
||||||
|
ZAEAAf8BwwFcAQAB/wGiAUwBAAH/AXwBOwEDAf8BbgFGASMB/wNoAfADWgG3AzABSgT/AYYBhAF9Af8D
|
||||||
|
gQH/A4EB/wGHAYMBegH/Ac8BlAEAAf8B3gHMAZ8B/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D
|
||||||
|
4AH/A7wB/wNjAd8DbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||||
|
gQH/A4EB/wNVAa80AANaAcIDNAFTBAADXAHEAnwBXAH4AdQBcQEYAf8B1wFlAQAB/wHlAWwBAAH/AfIB
|
||||||
|
cgEAAf8B+gF1AQAB/wH8AXYBAAH/AfoBdgEAAf8B8wFyAQAB/wHiAWsBAAH/Ab0BWQEAAf8BhwFAAQAB
|
||||||
|
/wFxAUgBIwH/A2gB8ANWAasE/wGLAYYBegH/A4EB/wOBAf8BjgGGAXEB/wHPAZQBAAH/Ad4BzAGfIf8D
|
||||||
|
ygH/AzYBWANbAcADbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||||
|
aAH0A1IBpBAAAw0BEQM/AWwDUwGnAVwCWQG+AVgCVgGzAUgCRwGDAyEBMAQAA28B8wM6AWAIAAH+Ad0B
|
||||||
|
wQH/Ae0BgAEgAf8B7QFxAQIB/wHzAXMBAAH/AfoBdgEAAf8B/gF4AQAC/wF7AQgC/wGIAScC/wGiAVMB
|
||||||
|
/wH+AYEBFwH/AfwBeAEEAf8B7AFvAQAB/wHBAVsBAAH/AYYBQQEDAf8BeAFWATYB/wNjAd8E/wGsAZYB
|
||||||
|
YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D
|
||||||
|
sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D
|
||||||
|
gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B
|
||||||
|
AAH/AagBeAEAAf8BlQFqAQAB/wKAAWwB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
|
||||||
|
dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB
|
||||||
|
AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB
|
||||||
|
ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD
|
||||||
|
IAEtAmMBWgHpAb8BiAEAAf8BzQGVAQoB/wGwAYgBJwH/AXMBZAE/Af8BTQFLAUcB/wFOAUsBQgH/AWYB
|
||||||
|
VwExAf8BmgF0ARcB/wGkAXYBAwH/AXABTwEAAf8DQwF2BAEEAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8B
|
||||||
|
eAEAAv8BeAEAAv8BlQE/Av8BygGuAv8B2gHGAv8B7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMB
|
||||||
|
AAH/AdABYgEAAf8BmgFOAQoB/wFjAl0B3wT/AeEBrgExAf8BvQGXATsB/wHAAZgBNQH/AeMBpQEKAf8B
|
||||||
|
zwGUAQAB/wHeAcwBnwH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DrwH/CAADAgEDAwgB
|
||||||
|
CgMhAS8DMQFOAz0BaANDAXYDRAF6A0MBdQM9AWcDMQFNAyABLgMHAQkEAggAAmMBWgHpAdkBmgEAAf8B
|
||||||
|
2gGjARwB/wKOAYwB/wOKAf8DlwH/A5sB/wORAf8DdAH/A0gB/wFDAUIBPwH/AbUBgwEHAf8BegFXAQAB
|
||||||
|
/wM2AVgEAAH/AZUBNwL/AYkBHwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgB
|
||||||
|
xQL/AbkBlAL/AYcBIwL/AXgBAAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfBP8BuwGdAVMB
|
||||||
|
/wGIAYQBeQH/AYwBhQF0Af8BxAGZATAB/wHPAZQBAAH/Ad4BzAGfIf8DygH/BAADEwEaAzkBXQNZAbwD
|
||||||
|
ZAHbA2oB7QNjAfYDXwH7A4EB/QNfAfsDYwH2A2UB7ANjAdoDWgG6AzgBXAMTARoDQwF2AekBpwECAf8B
|
||||||
|
6QGrARIB/wHQAcoBuwH/A6wB/wNdAf8DTAH/A0sB/wNEAf8DDwH/A7MB/wNmAf8BVAFMAToB/wGuAX0B
|
||||||
|
BAH/A10BzAQAAf8BoAFJAv8BkgExAv8BgQERAv8BeQEDAv8BeAEAAv8BqAFcAv8B4AHNAv8BoQFmAv8B
|
||||||
|
2AHFAv8BwAGfAv8BiQEnAv8BeAEAAf8B/gF4AQAB/wHsAW8BAAH/Ab8BWgECAf8BYwJdAd8E/wGUAYoB
|
||||||
|
cwH/A4EB/wOBAf8BmgGKAWMB/wHPAZQBAAH/Ad4BzAGfAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D
|
||||||
|
0AH/A9AB/wO1Af8DGgEkA1YBrgNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||||
|
gQH/A4EB/wNrAfIDUgGhAmoBYQHmAe0BrQEQAf8B9AHQAXYB/wP6Af8D+gH/A30B/wN/Af8DgAH/A4AB
|
||||||
|
/wN+Af8DhAH/A7sB/wNqAf8BqAGAARwB/wJjAUgB9gQAAf8BswFvAv8BngFIAv8BiAEeAv8BfAEHAv8B
|
||||||
|
eAEAAv8BmAFDAv8BzgG0Av8B1wHAAv8B6gHgAv8BnQFXAv8BfgERAv8BeAEAAv8BeAEAAf8B8AFxAQAB
|
||||||
|
/wHLAWQBCQH/AWMBYQFdAd8E/wGGAYMBfgH/A4EB/wOBAf8BhgGDAXsB/wHPAZQBAAH/Ad4BzAGfAf8D
|
||||||
|
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DVwGyA2UB5wOBAf8DgQH/A4EB/wOBAf8D
|
||||||
|
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA2IB7gHvAbQBIQH/AfcB3AGXCf8D
|
||||||
|
kQH/A4gB/wOHAf8DhwH/A4EB/wNXAf8D5gH/A6MB/wG2AZEBNgH/AmoBQQH5BAAB/wHMAZ8C/wGsAWMC
|
||||||
|
/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC
|
||||||
|
/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd8E/wGLAYYBeQH/A4EB/wOBAf8BjgGGAXEB/wHPAZQB
|
||||||
|
AAH/Ad4BzAGfAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DbwHzA18B+wOBAf8D
|
||||||
|
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA0sBjQHwAb4B
|
||||||
|
PwH/AfQBzQFsIf8D+wH/A9AB/wHXAacBMQH/AmEBXQHRBAAB/wHpAdUC/wG8AYEC/wGkAVQC/wGOASoC
|
||||||
|
/wF/AQ0C/wF5AQIC/wF7AQkC/wGCAR0C/wF4AQAC/wF4AQAC/wF4AQEC/wF6AQQC/wF6AQMB/wHzAXQB
|
||||||
|
AwH/AeIBhAEyAf8DYwHfBP8BpwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeAB
|
||||||
|
zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB
|
||||||
|
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB
|
||||||
|
/wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdID
|
||||||
|
agH5Af8BuwF9Av8BowFSAv8BkAEsAv8BggETAv8BfQEIAv8BegEEAv8BeQECAv8BegEEAv8BfQEJAv8B
|
||||||
|
gAEPAv8BfwENAf8B+AGGASAB/wNoAfQDWAG4BP8B1wGxAVIB/wGaAY8BdAH/AaABkgFtAf8B4AGvATcB
|
||||||
|
/wHnAakBEAH/AesB1QGgAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DPAFkA18B
|
||||||
|
yQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqBAAD
|
||||||
|
MwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFmA2MB
|
||||||
|
1QN8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC/wGKASIC/wGNASgC
|
||||||
|
/wGTATMB/wJuAWgB9QNdAcUDNgFZBP8B9AHNAWwB/wH0AcsBZgH/AfQBywFlAf8B9AHLAWUB/wHxAcEB
|
||||||
|
SQH/AfkB4wGsAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOaAf8DBgEIAzEBTANQAZsD
|
||||||
|
ZQHsA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJCAADIgExA18B
|
||||||
|
yQJ9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8DgAH+AmUBXgHiAz0B
|
||||||
|
aAQBDAADQgFyA2MB1QNqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC
|
||||||
|
/wGnAVgB/wN8AfgDXQHHAzsBYgQAQP8IAAMFAQYDEgEXAzoBYANRAZ8DXwHTA2cB7wNjAfYDYgHuA14B
|
||||||
|
0gNRAZ4DOQFfAxEBFgMFAQYUAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAzwBZQNeAdIB
|
||||||
|
/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAAB
|
||||||
|
QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4UAAf8B/AHAAQMEAAH/AfwBgAEBBAAB
|
||||||
|
/wH5BgAB/wH5BgAB8AETBgABwAEDBAAC/wGAAQEEAAHAAQEBgAEBBAABgAIAAQEHAAEBBwABAQcAAQEH
|
||||||
|
AAEBBgABgAEBBgABwAEDAYABAQIAAcABAQHwAR8BwAEDCw==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
<metadata name="ilProfilePics.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="ilProfilePics.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
@ -484,7 +484,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB
|
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB
|
||||||
MAECATABAgEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
|
6AEBAegBAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
|
||||||
rQH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D2gX/A/wB/wP+Df8D/QH/A/wR/wP8Af8D/g3/A/0B/wPZAf8D
|
rQH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D2gX/A/wB/wP+Df8D/QH/A/wR/wP8Af8D/g3/A/0B/wPZAf8D
|
||||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oJ/wP9Af8D
|
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oJ/wP9Af8D
|
||||||
/g3/A/0B/wP9Ef8D/AH/A/4N/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA6IB/wO6Af8D
|
/g3/A/0B/wP9Ef8D/AH/A/4N/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA6IB/wO6Af8D
|
||||||
|
|||||||
12
qtc-net-client-2/Properties/Resources.Designer.cs
generated
12
qtc-net-client-2/Properties/Resources.Designer.cs
generated
@ -81,7 +81,7 @@ namespace qtc_net_client_2.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to 6.5.6.
|
/// Looks up a localized string similar to 6.5.4.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string AssemblyVersion {
|
internal static string AssemblyVersion {
|
||||||
get {
|
get {
|
||||||
@ -269,16 +269,6 @@ namespace qtc_net_client_2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
|
||||||
/// </summary>
|
|
||||||
internal static System.Drawing.Bitmap RoomsChatIcon {
|
|
||||||
get {
|
|
||||||
object obj = ResourceManager.GetObject("RoomsChatIcon", resourceCulture);
|
|
||||||
return ((System.Drawing.Bitmap)(obj));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -173,7 +173,7 @@
|
|||||||
<value>..\Icons\MessageIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Icons\MessageIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AssemblyVersion" xml:space="preserve">
|
<data name="AssemblyVersion" xml:space="preserve">
|
||||||
<value>6.5.6</value>
|
<value>6.5.4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cobalt_sittingatputer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="cobalt_sittingatputer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\cobalt_sittingatputer.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\cobalt_sittingatputer.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@ -193,7 +193,4 @@
|
|||||||
<data name="DefaultPfp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="DefaultPfp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\DefaultPfp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\DefaultPfp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RoomsChatIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Icons\RoomsChatIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
</root>
|
||||||
@ -19,24 +19,15 @@ namespace qtc_net_client_2.Services
|
|||||||
if (Debugger.IsAttached) return;
|
if (Debugger.IsAttached) return;
|
||||||
|
|
||||||
// get client update info
|
// get client update info
|
||||||
HttpClient client = new()
|
HttpClient client = new();
|
||||||
{
|
client.BaseAddress = new Uri("https://qtcclient.alanmoon.net");
|
||||||
BaseAddress = new Uri("https://qtcclient.alanmoon.net")
|
|
||||||
};
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ClientUpdateInfo? updateInfo = await client.GetFromJsonAsync<ClientUpdateInfo>("clientinfo.json");
|
ClientUpdateInfo? updateInfo = await client.GetFromJsonAsync<ClientUpdateInfo>("clientinfo.json");
|
||||||
if (updateInfo != null)
|
if (updateInfo != null)
|
||||||
{
|
{
|
||||||
var serverVersion = Version.Parse(updateInfo.Version);
|
if (updateInfo.Version != Resources.AssemblyVersion)
|
||||||
var clientVersion = Version.Parse(Resources.AssemblyVersion);
|
|
||||||
|
|
||||||
int relativeComparison = clientVersion.CompareTo(serverVersion);
|
|
||||||
|
|
||||||
if (relativeComparison > 0) return; // probably a version being developed or tested without a debugger, so don't do anything
|
|
||||||
|
|
||||||
if (relativeComparison < 0)
|
|
||||||
{
|
{
|
||||||
// inform the user an update is available
|
// inform the user an update is available
|
||||||
if (!updateInfo.IsUpdateMandatory)
|
if (!updateInfo.IsUpdateMandatory)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user