From 4e3a057177aed60d4008c298cddf2b3c02aae844 Mon Sep 17 00:00:00 2001 From: Moonbase Date: Tue, 9 Dec 2025 17:30:01 -0800 Subject: [PATCH] Refactor Logout Code --- QtCNETAPI/Services/ApiService/ApiService.cs | 9 + QtCNETAPI/Services/ApiService/IApiService.cs | 1 + .../Services/GatewayService/GatewayService.cs | 5 +- .../CurrentProfileControl.Designer.cs | 25 +- .../Controls/CurrentProfileControl.cs | 9 +- .../Controls/MainTabControl.Designer.cs | 2 +- qtcnet-client/Controls/MainTabControl.cs | 40 +- qtcnet-client/Controls/MainTabControl.resx | 702 +++++++++--------- qtcnet-client/Forms/ChatRoomForm.Designer.cs | 23 +- qtcnet-client/Forms/ChatRoomForm.resx | 148 ++-- qtcnet-client/Forms/MainForm.cs | 219 ++++-- 11 files changed, 672 insertions(+), 511 deletions(-) diff --git a/QtCNETAPI/Services/ApiService/ApiService.cs b/QtCNETAPI/Services/ApiService/ApiService.cs index aae4448..165357f 100644 --- a/QtCNETAPI/Services/ApiService/ApiService.cs +++ b/QtCNETAPI/Services/ApiService/ApiService.cs @@ -283,6 +283,15 @@ namespace QtCNETAPI.Services.ApiService return serviceResponse; } + public async Task LogoutAsync() + { + // reset everything + CurrentUser = null; + SessionToken = null; + + return CurrentUser == null && SessionToken == null; + } + public async Task> ResendVerificationEmail(string email) { var serviceResponse = new ServiceResponse(); diff --git a/QtCNETAPI/Services/ApiService/IApiService.cs b/QtCNETAPI/Services/ApiService/IApiService.cs index f88c57f..41aa316 100644 --- a/QtCNETAPI/Services/ApiService/IApiService.cs +++ b/QtCNETAPI/Services/ApiService/IApiService.cs @@ -25,6 +25,7 @@ namespace QtCNETAPI.Services.ApiService public Task>> GetAllUsersAsync(); public Task> DeleteUserById(string id); public Task> LoginAsync(UserLoginDto userLoginDto); + public Task LogoutAsync(); public Task> ResendVerificationEmail(string email); public Task> SendPasswordResetEmail(string email); public Task> ResetPassword(UserPasswordResetDto request); diff --git a/QtCNETAPI/Services/GatewayService/GatewayService.cs b/QtCNETAPI/Services/GatewayService/GatewayService.cs index aec7a64..3f440d4 100644 --- a/QtCNETAPI/Services/GatewayService/GatewayService.cs +++ b/QtCNETAPI/Services/GatewayService/GatewayService.cs @@ -90,7 +90,7 @@ namespace QtCNETAPI.Services.GatewayService return; } - // ensure current user is up to date (particularly status) + // ensure current user is up to date (particularly status (its still busted lol)) await _apiService.SetCurrentUser(); } @@ -99,6 +99,9 @@ namespace QtCNETAPI.Services.GatewayService if (HubConnection != null && HubConnection.State == HubConnectionState.Connected) { await HubConnection.StopAsync(); + + HubConnection = null; + CurrentRoom = null; } } diff --git a/qtcnet-client/Controls/CurrentProfileControl.Designer.cs b/qtcnet-client/Controls/CurrentProfileControl.Designer.cs index 4939796..0da8149 100644 --- a/qtcnet-client/Controls/CurrentProfileControl.Designer.cs +++ b/qtcnet-client/Controls/CurrentProfileControl.Designer.cs @@ -30,7 +30,7 @@ { pbCurrentProfilePic = new PictureBox(); llblSignOut = new LinkLabel(); - linkLabel1 = new LinkLabel(); + llblEditProfile = new LinkLabel(); pictureBox1 = new PictureBox(); lblUsername = new Label(); lblCurrencyAmount = new Label(); @@ -48,7 +48,6 @@ pbCurrentProfilePic.SizeMode = PictureBoxSizeMode.Zoom; pbCurrentProfilePic.TabIndex = 0; pbCurrentProfilePic.TabStop = false; - pbCurrentProfilePic.Click += pbCurrentProfilePic_Click; // // llblSignOut // @@ -59,16 +58,18 @@ llblSignOut.TabIndex = 2; llblSignOut.TabStop = true; llblSignOut.Text = "Not You?"; + llblSignOut.LinkClicked += llblSignOut_LinkClicked; // - // linkLabel1 + // llblEditProfile // - linkLabel1.AutoSize = true; - linkLabel1.Location = new Point(130, 24); - linkLabel1.Name = "linkLabel1"; - linkLabel1.Size = new Size(64, 15); - linkLabel1.TabIndex = 3; - linkLabel1.TabStop = true; - linkLabel1.Text = "Edit Profile"; + llblEditProfile.AutoSize = true; + llblEditProfile.Location = new Point(130, 24); + llblEditProfile.Name = "llblEditProfile"; + llblEditProfile.Size = new Size(64, 15); + llblEditProfile.TabIndex = 3; + llblEditProfile.TabStop = true; + llblEditProfile.Text = "Edit Profile"; + llblEditProfile.LinkClicked += llblEditProfile_LinkClicked; // // pictureBox1 // @@ -110,7 +111,7 @@ BackColor = Color.Transparent; Controls.Add(lblCurrencyAmount); Controls.Add(pictureBox1); - Controls.Add(linkLabel1); + Controls.Add(llblEditProfile); Controls.Add(llblSignOut); Controls.Add(lblUsername); Controls.Add(pbCurrentProfilePic); @@ -127,7 +128,7 @@ private PictureBox pbCurrentProfilePic; private LinkLabel llblSignOut; - private LinkLabel linkLabel1; + private LinkLabel llblEditProfile; private PictureBox pictureBox1; private Label lblUsername; private Label lblCurrencyAmount; diff --git a/qtcnet-client/Controls/CurrentProfileControl.cs b/qtcnet-client/Controls/CurrentProfileControl.cs index 635c8cb..e8227db 100644 --- a/qtcnet-client/Controls/CurrentProfileControl.cs +++ b/qtcnet-client/Controls/CurrentProfileControl.cs @@ -18,7 +18,8 @@ namespace qtcnet_client.Controls [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] public Image ProfileImage { get; set; } = Resources.DefaultPfp; - public event EventHandler? OnProfileImageClicked; + public event EventHandler? OnEditProfileClicked; + public event EventHandler? OnSignOutClicked; public CurrentProfileControl() { @@ -32,13 +33,15 @@ namespace qtcnet_client.Controls pbCurrentProfilePic.Image = ProfileImage; } - private void pbCurrentProfilePic_Click(object sender, EventArgs e) => OnProfileImageClicked?.Invoke(this, EventArgs.Empty); - public void RefreshInfo() { lblUsername.Text = $"Welcome, {Username}!"; lblCurrencyAmount.Text = CurrencyCount.ToString(); pbCurrentProfilePic.Image = ProfileImage; } + + private void llblEditProfile_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => OnEditProfileClicked?.Invoke(this, EventArgs.Empty); + + private void llblSignOut_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => OnSignOutClicked?.Invoke(this, EventArgs.Empty); } } diff --git a/qtcnet-client/Controls/MainTabControl.Designer.cs b/qtcnet-client/Controls/MainTabControl.Designer.cs index b179a52..939b6b6 100644 --- a/qtcnet-client/Controls/MainTabControl.Designer.cs +++ b/qtcnet-client/Controls/MainTabControl.Designer.cs @@ -153,7 +153,7 @@ lvUserList.SmallImageList = ilStatusIcons; lvUserList.TabIndex = 0; lvUserList.UseCompatibleStateImageBehavior = false; - lvUserList.View = View.SmallIcon; + lvUserList.View = View.List; lvUserList.MouseDoubleClick += lvUserList_MouseDoubleClick; // // ilStatusIcons diff --git a/qtcnet-client/Controls/MainTabControl.cs b/qtcnet-client/Controls/MainTabControl.cs index 5c7018a..0926145 100644 --- a/qtcnet-client/Controls/MainTabControl.cs +++ b/qtcnet-client/Controls/MainTabControl.cs @@ -63,18 +63,38 @@ namespace qtcnet_client.Controls public void AddRooms(List roomControls) { - tlpRoomsList.SuspendLayout(); - - foreach (RoomControl roomControl in roomControls) + if(tlpRoomsList.InvokeRequired) { - roomControl.Width = tlpRoomsList.ClientSize.Width; - roomControl.OnRoomDoubleClicked += RoomControl_OnRoomDoubleClicked; + tlpRoomsList.Invoke(() => + { + tlpRoomsList.SuspendLayout(); + + foreach (RoomControl roomControl in roomControls) + { + roomControl.Width = tlpRoomsList.ClientSize.Width; + roomControl.OnRoomDoubleClicked += RoomControl_OnRoomDoubleClicked; + } + + tlpRoomsList.Controls.Clear(); + tlpRoomsList.Controls.AddRange([.. roomControls.DistinctBy(ctrl => ctrl.RoomId)]); + + tlpRoomsList.ResumeLayout(true); + }); + } else + { + tlpRoomsList.SuspendLayout(); + + foreach (RoomControl roomControl in roomControls) + { + roomControl.Width = tlpRoomsList.ClientSize.Width; + roomControl.OnRoomDoubleClicked += RoomControl_OnRoomDoubleClicked; + } + + tlpRoomsList.Controls.Clear(); + tlpRoomsList.Controls.AddRange([.. roomControls.DistinctBy(ctrl => ctrl.RoomId)]); + + tlpRoomsList.ResumeLayout(true); } - - tlpRoomsList.Controls.Clear(); - tlpRoomsList.Controls.AddRange([.. roomControls.DistinctBy(ctrl => ctrl.RoomId)]); - - tlpRoomsList.ResumeLayout(true); } private void RoomControl_OnRoomDoubleClicked(object? sender, EventArgs e) => OnRoomControlDoubleClicked?.Invoke(sender, e); diff --git a/qtcnet-client/Controls/MainTabControl.resx b/qtcnet-client/Controls/MainTabControl.resx index 00a788a..c5e3c0f 100644 --- a/qtcnet-client/Controls/MainTabControl.resx +++ b/qtcnet-client/Controls/MainTabControl.resx @@ -124,93 +124,92 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA+hMAAAJNU0Z0AUkBTAIBAQQB - AAHQAQAB0AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA8hMAAAJNU0Z0AUkBTAIBAQQB + AAHYAQAB2AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD - YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1cB9QMkAfsDPgH+Az4B/gMkAfsDUwH0A2IB - 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBTQFaAU0B9QEhAVoBIQH7ARoBWgEaAf4BGgFaARoB/gEhAVoB - IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAU0CWgH1ASECWgH7ARoCWgH+ARoCWgH+ASEC - WgH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAk0BWgH1AiEBWgH7AhoBWgH+AhoBWgH+AiEB - WgH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyA0IB/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB - /wNAAf0DXgHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEaAWIBGgH+AQABVwEAAf8BAAFnAQAB/wEAAWwB - AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ATQBQAE0Af0BXAFeAVwB8ANWAbIBGQEaARkBIwgAAxsB - JQNYAb0DWgHyARoCYgH+AQACVwH/AQACZwH/AQACbAH/AQACYQH/AQACTAH/AQACQAH/ATQCQAH9AVwC - XgHwA1YBsgEZAhoBIwgAAxsBJQNYAb0DWgHyAhoBYgH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgAB - TAH/AgABQAH/AjQBQAH9AlwBXgHwA1YBsgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB - /wN1Af8DcQH/A2QB/wNMAf8DMQH/Az4B/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFaAW8BWgHzAQAB + YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1gB9QMkAfsDPwH+Az8B/gMkAfsDUwH0A2IB + 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBTwFaAU8B9QEhAVsBIQH7ARsBWwEbAf4BGwFbARsB/gEhAVsB + IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAU8CWgH1ASECWwH7ARsCWwH+ARsCWwH+ASEC + WwH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAk8BWgH1AiEBWwH7AhsBWwH+AhsBWwH+AiEB + WwH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyA0MB/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB + /wNAAf0DXgHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEbAWMBGwH+AQABVwEAAf8BAAFnAQAB/wEAAWwB + AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ATYBQAE2Af0BXQFeAV0B8ANWAbIBGQEaARkBIwgAAxsB + JQNYAb0DWgHyARsCYwH+AQACVwH/AQACZwH/AQACbAH/AQACYQH/AQACTAH/AQACQAH/ATYCQAH9AV0C + XgHwA1YBsgEZAhoBIwgAAxsBJQNYAb0DWgHyAhsBYwH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgAB + TAH/AgABQAH/AjYBQAH9Al0BXgHwA1YBsgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB + /wN1Af8DcQH/A2QB/wNMAf8DMQH/Az8B/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFbAW8BWwHzAQAB ggEAAf8BAAGZAQAB/wEAAbYBAAH/AQABzAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB - /wEAAVcBAAH/ARoBWgEaAf4BYQFiAWEB7gNQAZoDAwEEAwMBBAFSAlMBpQFaAm8B8wEAAoIB/wEAApkB - /wEAArYB/wEAAswB/wEAAtMB/wEAAssB/wEAArMB/wEAAogB/wEAAlcB/wEaAloB/gFhAmIB7gNQAZoD - AwEEAwMBBAJSAVMBpQJaAW8B8wIAAYIB/wIAAZkB/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB - /wIAAYgB/wIAAVcB/wIaAVoB/gJhAWIB7gNQAZoDAwEEAy0BRANgAegDfQH+A24B/wN7Af8DhQH/A4oB - /wOMAf8DigH/A4UB/wN2Af8DVwH/AzIB/wNAAf0DXgHdAyoBPwMtAUQBYAFpAWAB6AEaAYABGgH+AQAB - xgEAAf8BAAHcAQAB/wEAAe4BAAH/AQAB+AEAAf8BAAH7AQAB/wEAAfkBAAH/AQAB7wEAAf8BAAHUAQAB - /wEAAZwBAAH/AQABWgEAAf8BNAFAATQB/QNeAd0DKgE/Ay0BRAFgAmkB6AEaAoAB/gEAAsYB/wEAAtwB - /wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB/wEAApwB/wEAAloB/wE0AkAB/QNeAd0D - KgE/Ay0BRAJgAWkB6AIaAYAB/gIAAcYB/wIAAdwB/wIAAe4B/wIAAfgB/wIAAfsB/wIAAfkB/wIAAe8B - /wIAAdQB/wIAAZwB/wIAAVoB/wI0AUAB/QNeAd0DKgE/A04BlQN3AfgDfwH/A4UB/wOKAf8DjQH/A44B - /wOOAf8DjgH/A40B/wOJAf8DdwH/A00B/wMlAf8DWgHyA0oBiwNOAZUBRAF9AUQB+AEAAeUBAAH/AQAB - 7wEAAf8BAAH4AQAB/wEAAf0BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAH2AQAB - /wEAAdUBAAH/AQABiwEAAf8BAAFBAQAB/wNaAfIDSgGLA04BlQFEAn0B+AEAAuUB/wEAAu8B/wEAAvgB - /wEAAv0B/wEAA/8BAAP/AQAD/wEAAv4B/wEAAvYB/wEAAtUB/wEAAosB/wEAAkEB/wNaAfIDSgGLA04B - lQJEAX0B+AIAAeUB/wIAAe8B/wIAAfgB/wIAAf0B/wIAAv8CAAL/AgAC/wIAAf4B/wIAAfYB/wIAAdUB - /wIAAYsB/wIAAUEB/wNaAfIDSgGLA18B0wN+AfwDkwH/A44B/wONAf8DjgH/A44B/wOOAf8DjgH/A44B - /wONAf8DhQH/A2cB/wM0Af8DQQH5A1oBxAFbAV8BWwHTASsBrAErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB - /gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB - /wEAAbkBAAH/AQABXQEAAf8DQQH5A1oBxAFbAl8B0wErAqwB/AEOAvsB/wEDAv0B/wEAAv4B/wEAA/8B - AAP/AQAD/wEAA/8BAAP/AQAC/QH/AQAC7wH/AQACuQH/AQACXQH/A0EB+QNaAcQCWwFfAdMCKwGsAfwC - DgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB/wIAAV0B - /wNBAfkDWgHEA24B9QOAAf4DnwH/A5MB/wOPAf8DjgH/A44B/wOOAf8DjgH/A44B/wOOAf8DiwH/A3cB - /wNIAf8DQAH9A2IB4QFWAXEBVgH1AT4BywE+Af4BJwH/AScB/wELAf8BCwH/AQEB/wEBAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH5AQAB/wEAAdYBAAH/AQAB - gQEAAf8BNAFAATQB/QNiAeEBVgJxAfUBPgLLAf4BJwP/AQsD/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD - /wEAA/8BAAL5Af8BAALWAf8BAAKBAf8BNAJAAf0DYgHhAlYBcQH1Aj4BywH+AicC/wILAv8CAQL/AgAC - /wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB+QH/AgAB1gH/AgABgQH/AjQBQAH9A2IB4QNpAfYDgAH+A6sB - /wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB/QNeAeIBSAF4AUgB - 9gFhAcsBYQH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/ATQBQAE0Af0DXgHiAUgC - eAH2AWECywH+AUID/wEZA/8BBAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC/QH/AQAC5AH/AQAC - mAH/ATQCQAH9A14B4gJIAXgB9gJhAcsB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC - /wIAAf0B/wIAAeQB/wIAAZgB/wI0AUAB/QNeAeIDYQHWA34B/AO4Af8DowH/A5MB/wOOAf8DjgH/A44B - /wOOAf8DjgH/A44B/wONAf8DggH/A1wB/wNNAfoDWgHHAVwBYQFcAdYBZAGwAWQB/AFfAf8BXwH/AS8B - /wEvAf8BDAH/AQwB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf4BAAH/AQAB6gEAAf8BAAGlAQAB/wEuAU0BLgH6A1oBxwFcAmEB1gFkArAB/AFfA/8BLwP/AQwD - /wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wEuAk0B+gNaAccCXAFhAdYC - ZAGwAfwCXwL/Ai8C/wIMAv8CAQL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH+Af8CAAHqAf8CAAGlAf8C - LgFNAfoDWgHHA1ABmgOGAfkDxQH/A7IB/wOcAf8DkQH/A44B/wOOAf8DjgH/A44B/wOPAf8DjgH/A4MB - /wNgAf8DWgHyA0wBkANQAZoBagGPAWoB+QF8Af8BfAH/AVEB/wFRAf8BHwH/AR8B/wEHAf8BBwH/AQEB - /wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAgH/AQIB/wECAf4BAgH/AQAB6wEAAf8BAAGtAQAB - /wFaAWsBWgHyA0wBkANQAZoBagKPAfkBfAP/AVED/wEfA/8BBwP/AQED/wEAA/8BAAP/AQAD/wECA/8B - AgL+Af8BAALrAf8BAAKtAf8BWgJrAfIDTAGQA1ABmgJqAY8B+QJ8Av8CUQL/Ah8C/wIHAv8CAQL/AgAC - /wIAAv8CAAL/AgIC/wICAf4B/wIAAesB/wIAAa0B/wJaAWsB8gNMAZADLwFJA2wB6wOcAf4DxgH/A64B - /wOcAf8DkwH/A5AB/wOPAf8DkAH/A5MB/wOTAf8DhQH/A0wB/QNgAeADLQFFAy8BSQNsAesBgAHLAYAB - /gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB - /wEKAf8BCgH+AQoB/wEBAe0BAQH/ATQBtgE0Af0BYAFmAWAB4AMtAUUDLwFJA2wB6wGAAssB/gF/A/8B - SQP/AR8D/wEMA/8BBQP/AQMD/wEFA/8BCgP/AQoC/gH/AQEC7QH/ATQCtgH9AWACZgHgAy0BRQMvAUkD - bAHrAoABywH+An8C/wJJAv8CHwL/AgwC/wIFAv8CAwL/AgUC/wIKAv8CCgH+Af8CAQHtAf8CNAG2Af0C - YAFmAeADLQFFAwMBBANWAa4DbgH1A9kB/wPLAf8DtwH/A6cB/wOdAf8DmgH/A5wB/wOfAf8DmwH/A4kB - /wNoAfADUgGjAwMBBAMDAQQDVgGuAW4BcQFuAfUBqAH/AagB/wGJAf8BiQH/AVwB/wFcAf8BNwH/ATcB - /wEiAf8BIgH/ARsB/wEbAf8BHwH/AR8B/wEmAf8BJgH/AR0B/wEdAf8BBQHzAQUB/wFcAWgBXAHwA1IB - owMDAQQDAwEEA1YBrgFuAnEB9QGoA/8BiQP/AVwD/wE3A/8BIgP/ARsD/wEfA/8BJgP/AR0D/wEFAvMB - /wFcAmgB8ANSAaMDAwEEAwMBBANWAa4CbgFxAfUCqAL/AokC/wJcAv8CNwL/AiIC/wIbAv8CHwL/AiYC - /wIdAv8CBQHzAf8CXAFoAfADUgGjAwMBBAQAAxwBJwNdAccDdQH2A6sB/gPXAf8DzAH/A8IB/wO7Af8D - twH/A7EB/wOAAf4DaAH0A1kBvAMbASYIAAMcAScDXQHHAW8BeAFvAfYBgwHLAYMB/gGlAf8BpQH/AYsB - /wGLAf8BdAH/AXQB/wFmAf8BZgH/AVwB/wFcAf8BTgH/AU4B/wFKAcsBSgH+AVMBdQFTAfQBVwFZAVcB - vAMbASYIAAMcAScDXQHHAW8CeAH2AYMCywH+AaUD/wGLA/8BdAP/AWYD/wFcA/8BTgP/AUoCywH+AVMC - dQH0AVcCWQG8AxsBJggAAxwBJwNdAccCbwF4AfYCgwHLAf4CpQL/AosC/wJ0Av8CZgL/AlwC/wJOAv8C - SgHLAf4CUwF1AfQCVwFZAbwDGwEmDAADIQEwA1kBtgNlAe4DjQH6A74B/QPUAf8DzAH/A74B/QOCAfkD - bAHrA1UBrAMfASwQAAMhATADWQG2AWMBZwFjAe4BfQGbAX0B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB - /wFcAb4BXAH9AWgBjwFoAfkBYQFsAWEB6wNVAawDHwEsEAADIQEwA1kBtgFjAmcB7gF9ApsB+gGuAr4B - /QGfA/8BjAP/AVwCvgH9AWgCjwH5AWECbAHrA1UBrAMfASwQAAMhATADWQG2AmMBZwHuAn0BmwH6Aq4B - vgH9Ap8C/wKMAv8CXAG+Af0CaAGPAfkCYQFsAesDVQGsAx8BLBQAAwYBBwM2AVgDVQGsA2YB5QOaAfwD - kQH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QF+AbABfgH8AWkBnAFpAfsDZQHiA1MB - pwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAX4CsAH8AWkCnAH7A2UB4gNTAacDMwFRAwYBBxgAAwYB - BwM2AVgDVQGsA2YB5QJ+AbAB/AJpAZwB+wNlAeIDUwGnAzMBUQMGAQcMAAFCAU0BPgcAAT4DAAEoAwAB - QAMAASADAAEBAQABAQYAAQEWAAP/gQAB4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwGAAQEB - gAEBAYABAQGAAQFQAAGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeAB - Bws= + /wEAAVcBAAH/ARsBWwEbAf4DYgHuA1ABmgMDAQQDAwEEAVICUwGlAVsCbwHzAQACggH/AQACmQH/AQAC + tgH/AQACzAH/AQAC0wH/AQACywH/AQACswH/AQACiAH/AQACVwH/ARsCWwH+A2IB7gNQAZoDAwEEAwMB + BAJSAVMBpQJbAW8B8wIAAYIB/wIAAZkB/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB + /wIAAVcB/wIbAVsB/gNiAe4DUAGaAwMBBAMtAUQDYAHoA34B/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB + /wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B3QMqAT8DLQFEAWABaQFgAegBGwGAARsB/gEAAcYBAAH/AQAB + 3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB+wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB + /wEAAVoBAAH/ATYBQAE2Af0DXgHdAyoBPwMtAUQBYAJpAegBGwKAAf4BAALGAf8BAALcAf8BAALuAf8B + AAL4Af8BAAL7Af8BAAL5Af8BAALvAf8BAALUAf8BAAKcAf8BAAJaAf8BNgJAAf0DXgHdAyoBPwMtAUQC + YAFpAegCGwGAAf4CAAHGAf8CAAHcAf8CAAHuAf8CAAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8C + AAGcAf8CAAFaAf8CNgFAAf0DXgHdAyoBPwNOAZUDdwH4A38B/wOFAf8DigH/A40B/wOOAf8DjgH/A44B + /wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB8gNKAYsDTgGVAUUBfAFFAfgBAAHlAQAB/wEAAe8BAAH/AQAB + +AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB + /wEAAYsBAAH/AQABQQEAAf8DWgHyA0oBiwNOAZUBRQJ8AfgBAALlAf8BAALvAf8BAAL4Af8BAAL9Af8B + AAP/AQAD/wEAA/8BAAL+Af8BAAL2Af8BAALVAf8BAAKLAf8BAAJBAf8DWgHyA0oBiwNOAZUCRQF8AfgC + AAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8CAAL/AgAC/wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8C + AAFBAf8DWgHyA0oBiwNfAdMDfgH8A5MB/wOOAf8DjQH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A4UB + /wNnAf8DNAH/A0EB+QNaAcQBWwFfAVsB0wErAaoBKwH8AQ4B+wEOAf8BAwH9AQMB/wEAAf4BAAH/AQAB + /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf0BAAH/AQAB7wEAAf8BAAG5AQAB + /wEAAV0BAAH/A0EB+QNaAcQBWwJfAdMBKwKqAfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8B + AAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB/wEAAl0B/wNBAfkDWgHEAlsBXwHTAisBqgH8Ag4B+wH/AgMB + /QH/AgAB/gH/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH9Af8CAAHvAf8CAAG5Af8CAAFdAf8DQQH5A1oB + xANuAfUDgAH+A58B/wOTAf8DjwH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A4sB/wN3Af8DSAH/A0AB + /QNiAeEBVwFwAVcB9QE/AckBPwH+AScB/wEnAf8BCwH/AQsB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB + /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB+QEAAf8BAAHWAQAB/wEAAYEBAAH/ATYB + QAE2Af0DYgHhAVcCcAH1AT8CyQH+AScD/wELA/8BAQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC + +QH/AQAC1gH/AQACgQH/ATYCQAH9A2IB4QJXAXAB9QI/AckB/gInAv8CCwL/AgEC/wIAAv8CAAL/AgAC + /wIAAv8CAAL/AgAC/wIAAfkB/wIAAdYB/wIAAYEB/wI2AUAB/QNiAeEDZwH2A4AB/gOrAf8DmQH/A5AB + /wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wONAf8DfwH/A1UB/wNAAf0DXgHiAUgBdwFIAfYBYgHJAWIB + /gFCAf8BQgH/ARkB/wEZAf8BBAH/AQQB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB + /wEAAf8BAAH/AQAB/wEAAf0BAAH/AQAB5AEAAf8BAAGYAQAB/wE2AUABNgH9A14B4gFIAncB9gFiAskB + /gFCA/8BGQP/AQQD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAuQB/wEAApgB/wE2AkAB + /QNeAeICSAF3AfYCYgHJAf4CQgL/AhkC/wIEAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH9Af8C + AAHkAf8CAAGYAf8CNgFAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8DjgH/A44B/wOOAf8DjgH/A44B + /wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBrgFkAfwBXwH/AV8B/wEvAf8BLwH/AQwB + /wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH+AQAB + /wEAAeoBAAH/AQABpQEAAf8BLwFNAS8B+gNaAccBXAJhAdYBZAKuAfwBXwP/AS8D/wEMA/8BAQP/AQAD + /wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8BLwJNAfoDWgHHAlwBYQHWAmQBrgH8Al8C + /wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgABpQH/Ai8BTQH6A1oB + xwNQAZoDhQH5A8UB/wOyAf8DnAH/A5EB/wOOAf8DjgH/A44B/wOOAf8DjwH/A44B/wODAf8DYAH/A1oB + 8gNMAZADUAGaAWoBjgFqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB/wEBAf8BAQH/AQAB + /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesBAAH/AQABrQEAAf8BWgFrAVoB + 8gNMAZADUAGaAWoCjgH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD/wEAA/8BAgP/AQIC/gH/AQAC + 6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagGOAfkCfAL/AlEC/wIfAv8CBwL/AgEC/wIAAv8CAAL/AgAC + /wICAv8CAgH+Af8CAAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesDmgH+A8YB/wOuAf8DnAH/A5MB + /wOQAf8DjwH/A5AB/wOTAf8DkwH/A4UB/wNLAf0DYAHgAy0BRQMvAUkDbAHrAYAByQGAAf4BfwH/AX8B + /wFJAf8BSQH/AR8B/wEfAf8BDAH/AQwB/wEFAf8BBQH/AQMB/wEDAf8BBQH/AQUB/wEKAf8BCgH/AQoB + /gEKAf8BAQHtAQEB/wE2AbYBNgH9AWABZgFgAeADLQFFAy8BSQNsAesBgALJAf4BfwP/AUkD/wEfA/8B + DAP/AQUD/wEDA/8BBQP/AQoD/wEKAv4B/wEBAu0B/wE2ArYB/QFgAmYB4AMtAUUDLwFJA2wB6wKAAckB + /gJ/Av8CSQL/Ah8C/wIMAv8CBQL/AgMC/wIFAv8CCgL/AgoB/gH/AgEB7QH/AjYBtgH9AmABZgHgAy0B + RQMDAQQDVgGuA24B9QPZAf8DywH/A7cB/wOnAf8DnQH/A5oB/wOcAf8DnwH/A5sB/wOJAf8DaAHwA1IB + owMDAQQDAwEEA1YBrgFuAXABbgH1AagB/wGoAf8BiQH/AYkB/wFcAf8BXAH/ATcB/wE3Af8BIgH/ASIB + /wEbAf8BGwH/AR8B/wEfAf8BJgH/ASYB/wEdAf8BHQH/AQUB8wEFAf8BXQFoAV0B8ANSAaMDAwEEAwMB + BANWAa4BbgJwAfUBqAP/AYkD/wFcA/8BNwP/ASID/wEbA/8BHwP/ASYD/wEdA/8BBQLzAf8BXQJoAfAD + UgGjAwMBBAMDAQQDVgGuAm4BcAH1AqgC/wKJAv8CXAL/AjcC/wIiAv8CGwL/Ah8C/wImAv8CHQL/AgUB + 8wH/Al0BaAHwA1IBowMDAQQEAAMcAScDXQHHA3QB9gOpAf4D1wH/A8wB/wPCAf8DuwH/A7cB/wOxAf8D + gAH+A2gB9ANZAbwDGwEmCAADHAEnA10BxwFtAXcBbQH2AYEByQGBAf4BpQH/AaUB/wGLAf8BiwH/AXQB + /wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BSwHJAUsB/gFTAXQBUwH0AVcBWQFXAbwDGwEmCAAD + HAEnA10BxwFtAncB9gGBAskB/gGlA/8BiwP/AXQD/wFmA/8BXAP/AU4D/wFLAskB/gFTAnQB9AFXAlkB + vAMbASYIAAMcAScDXQHHAm0BdwH2AoEByQH+AqUC/wKLAv8CdAL/AmYC/wJcAv8CTgL/AksByQH+AlMB + dAH0AlcBWQG8AxsBJgwAAyEBMANZAbYDZAHuA4oB+gO+Af0D1AH/A8wB/wO+Af0DgQH5A2wB6wNVAawD + HwEsEAADIQEwA1kBtgFiAWYBYgHuAX0BmQF9AfoBrgG+Aa4B/QGfAf8BnwH/AYwB/wGMAf8BWwG+AVsB + /QFoAY4BaAH5AWEBbAFhAesDVQGsAx8BLBAAAyEBMANZAbYBYgJmAe4BfQKZAfoBrgK+Af0BnwP/AYwD + /wFbAr4B/QFoAo4B+QFhAmwB6wNVAawDHwEsEAADIQEwA1kBtgJiAWYB7gJ9AZkB+gKuAb4B/QKfAv8C + jAL/AlsBvgH9AmgBjgH5AmEBbAHrA1UBrAMfASwUAAMGAQcDNgFYA1UBrANmAeUDlwH8A5AB+wNlAeID + UwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUBfgGuAX4B/AFnAZsBZwH7A2UB4gNTAacDMwFRAwYB + BxgAAwYBBwM2AVgDVQGsA2YB5QF+Aq4B/AFnApsB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UB + rANmAeUCfgGuAfwCZwGbAfsDZQHiA1MBpwMzAVEDBgEHDAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwAB + AQEAAQEGAAEBFgAD/4EAAeABBwHgAQcB4AEHAeABBwHAAQMBwAEDAcABAwHAAQMBgAEBAYABAQGAAQEB + gAEBUAABgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHgAQcL @@ -220,170 +219,169 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAECYAAAJNU0Z0AUkBTAIBAQMB - AAFAAQABQAEAASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6 - AAJRAVAB5wEIAQoBAAH/AyoBQAwAAyoBQAM2AVcDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8B - bAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAjsBOgFiAzMBUQMYASFUAANTAaIDWwHAIAAD - VAGmA1kBvPAAAyEBMANGAYAUAAEVAR8BBAH/AQ0BFQEAAf8BCAEKAQAB/wEIAQoBAAH/DAADRAF6A1MB - pwFlAWEBWwHPAWUBYQFbAc8BZQFhAVsBzwFlAWEBWwHPAWUBYQFbAc8BZQFhAVsBzwFlAWEBWwHPAWUB - YQFbAc8BZQFhAVsBzwFlAWEBWwHPAWUBYQFbAc8BZQFhAVsBzwFlAWEBWwHPAWUBYQFbAc8BZQFhAVsB - zwFjAWABWwHOA1kBuwJQAU8BmwMqAUBUAANfAdADbAHuIAADYQHUA2oB6eQAA1oBvwEIAQoBAAH/AQgB - CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/A1oBvwNaAb8BQwF0AQcB - /wFHAXcBDAH/ASUBRwEAAf8BDgEZAQAB/wwAAksBSgGKAVwBWgFYAb0BhwFnAUgB6gGHAWcBSAHqAYcB - ZwFIAeoBhwFnAUgB6gGHAWcBSAHqAYcBZwFIAeoBhwFnAUgB6gGHAWcBSAHqAYcBZwFIAeoBhwFnAUgB - 6gGHAWcBSAHqAYcBZwFIAeoBhwFnAUgB6gGHAWcBSAHqAYcBZwFIAeoBhQFpAUkB6QFnAV8BWgHTA1UB - rwMuAUhUAANfAdADbAHuIAADYQHUA2oB6eAAAQgBCgEAAf8BEAEeAQAB/wEhAUEBAAH/AScBSwEAAf8B - JgFKAQAB/wEhAUEBAAH/ARABHgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BKQFOAQAB/wFaAZYB - EAH/AVoBnAEQAf8BcwG2ASYB/wEYAS4BAAH/DAADSQGGAloBWAG3AXsBZQFTAeMBewFlAVMB4wF7AWUB - UwHjAXsBZQFTAeMBggFqAVEB5gGWAWoBRQHtAa8BbQEwAfQB1wF3ARAB/AH/AXgBAAL/AXgBAAH/AbMB - bgEsAfUBggFqAVEB5gF7AWUBUwHjAXsBZQFTAeMBewFlAVMB4wF5AWUBUgHiAWEBXgFbAc0CVQFTAaoC - LgEtAUZUAANfAdADbAHuIAADYQHUA2oB6dwAAQgBCgEAAf8BPQFxAQIB/wFMAYYBBwH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFMAX8BDwH/ATsBZwEIAf8BIQE0AQgB/wFTAY4B - CwH/AVoBnAEQAf8BcgGzAScB/wFTAYEBGwH/EAADKwFBAzYBWQJAAT8BbgJAAT8BbgJAAT8BbgJAAT8B - bgNEAXsCUQFQAZ8CXQFbAcUBlQFqAUIB7gH/AXgBAAL/AXgBAAH/AWABXwFbAckDRQF8AkABPwFuAkAB - PwFuAkABPwFuAz8BbQM7AWMDMwFSAxkBIlQAA18B0ANsAe4gAANhAdQDagHp2AABFQEpAQAB/wFKAYQB - BAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8B - UgGMARAB/wFaAZQBEAH/AVYBkAEMAf8BWgGaARAB/wFaAZwBEAH/AXIBqQEwAf8BCAEKAQAB/wEIAQoB - AAH/DAADDAEQAxEBFgMVARwDFQEcAxUBHAMVARwDIQEwAj4BPQFpAlMBUgGlAYABZwFRAeUB/wF4AQAC - /wF4AQAB/wJVAVMBqgMiATEDFQEcAxUBHAMVARwDFAEbAxMBGQMQARUDBwEJVAADXwHQA2wB7iAAA2EB - 1ANqAenUAAEWAScBAgH/AUkBgAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB - CAH/AVIBjAELAf8BUgGMARAB/wFSAYwBEAH/AVgBkgEQAf8BWgGUARAB/wFaAZsBEAH/AVoBnAEQAf8B - XAGeARIB/wE7AW0BAwH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/CAADBQQGBAgBCgMIAQoDCAEKAwgB - CgMXAR8COQE4AV0DUQGeAXsBZQFTAeMB/wF4AQAC/wF4AQAB/wNSAaMDGAEhAwgBCgMIAQoDCAEKAwgB - CgMHAQkDBgEHAwIBA1QAA18B0ANsAe4gAANhAdQDagHp0AACVwFUAd8BRwGAAQMB/wFSAYwBCAH/AVIB + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAACYAAAJNU0Z0AUkBTAIBAQMB + AAFIAQABSAEAASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6 + AANTAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD + PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEhVAADUwGiA1sBwCAAA1QB + pgNZAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacB + YwFhAV0BzwFjAWEBXQHPAWMBYQFdAc8BYwFhAV0BzwFjAWEBXQHPAWMBYQFdAc8BYwFhAV0BzwFjAWEB + XQHPAWMBYQFdAc8BYwFhAV0BzwFjAWEBXQHPAWMBYQFdAc8BYwFhAV0BzwFjAWEBXQHPAWMBYQFdAc8B + YgFgAV0BzgNZAbsCUAFPAZsDKgFAVAADXwHQA2sB7iAAA2EB1ANpAenkAANaAb8BCAEKAQAB/wEIAQoB + AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wNaAb8DWgG/AUMBdAEHAf8B + RwF3AQwB/wElAUcBAAH/AQ4BGQEAAf8MAAJLAUoBigJaAVgBvQGBAWcBSwHqAYEBZwFLAeoBgQFnAUsB + 6gGBAWcBSwHqAYEBZwFLAeoBgQFnAUsB6gGBAWcBSwHqAYEBZwFLAeoBgQFnAUsB6gGBAWcBSwHqAYEB + ZwFLAeoBgQFnAUsB6gGBAWcBSwHqAYEBZwFLAeoBgQFnAUsB6gGAAWgBTgHpAWMBXwFbAdMDVQGvAy4B + SFQAA18B0ANrAe4gAANhAdQDaQHp4AABCAEKAQAB/wEQAR4BAAH/ASEBQQEAAf8BJwFLAQAB/wEmAUoB + AAH/ASEBQQEAAf8BEAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEpAU4BAAH/AVoBlgEQAf8B + WgGcARAB/wFzAbYBJgH/ARgBLgEAAf8MAANJAYYCWgFYAbcBdgFlAVYB4wF2AWUBVgHjAXYBZQFWAeMB + dgFlAVYB4wF8AWoBVAHmAY4BagFIAe0BpwFrATUB9AHSAXcBEgH8Af8BeAEAAv8BeAEAAf8BrQFuAS8B + 9QF8AWoBVAHmAXYBZQFWAeMBdgFlAVYB4wF2AWUBVgHjAXMBZQFWAeIBYAFeAVsBzQJVAVMBqgIuAS0B + RlQAA18B0ANrAe4gAANhAdQDaQHp3AABCAEKAQAB/wE9AXEBAgH/AUwBhgEHAf8BUgGMAQgB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AUwBfwEPAf8BOwFnAQgB/wEhATQBCAH/AVMBjgELAf8B + WgGcARAB/wFyAbMBJwH/AVMBgQEbAf8QAAMrAUEDNgFZAkABPwFuAkABPwFuAkABPwFuAkABPwFuA0QB + ewJRAVABnwJdAVsBxQGOAWkBRwHuAf8BeAEAAv8BeAEAAf8CXwFcAckDRQF8AkABPwFuAkABPwFuAkAB + PwFuAz8BbQM7AWMDMwFSAxkBIlQAA18B0ANrAe4gAANhAdQDaQHp2AABFQEpAQAB/wFKAYQBBAH/AVIB jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB - /wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZgBEAH/ARYB - KgEAAf8BCAEKAQAB/wEIAQoBAAH/HAADEgEXAzUBVgNQAZoBdgFmAVYB4QH/AXgBAAL/AXgBAAH/AlEB - UAGfAxIBGHAAA18B0ANsAe4gAANhAdQDagHp0AABLAFQAQAB/wFKAYwBAAH/AVIBjAEIAf8BUgGMAQgB - /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBDgH/AVUBkgEQAf8BWgGcARAB/wFaAZwBEAH/AVoB - lAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWAGSARYB - /wEQAR4BAAH/AQgBCgEAAf8cAAMSARcDNQFWA1ABmgF2AWYBVgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8D - EgEYcAADXwHQA2wB7iAAA2EB1ANqAenUAANLAY8BMwFeAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB - /wFSAYwBEAH/AX8BwAEzAf8BXwGeARcB/wEgAT8BAAH/AQgBCgEAAf8BUgGMARAB/wFaAZwBEAH/AVoB - nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlQEXAf8BWgGUARgB/wFaAZQBGAH/AVoBlAEYAf8BCAEKAQAB - /wEIAQoBAAH/GAADEgEXAzUBVgNQAZoBdgFmAVYB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQABAED - AwEEAwYEBwEJAwcBCQMEAQUEAgQBFAADEQEWAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8D - IQEvA2EB2QNxAfEDIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwNkAdwDawHtAyEBLwMhAS8D - IQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAw0BEbgAAUIBewEAAf8BUgGMAQgB/wF7AcYBKQH/AzMB - UAQAAwwBEAE5AWsBAAH/AVoBnAEQAf8BWgGcARAB/wFdAZcBEwH/AVYBlAEMAf8BWgGcARAB/wFaAZQB - GAH/AVoBlAEYAf8BYwGcARgB/wFjAaUBFwH/ASkBUAEAAf8BCAEKAQAB/xgAAxIBFwM1AVYDUAGaAXYB - ZgFWAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQCAwkBDAMPARQDEwEaAxIBGAMKAQ0DBAEFBAEU - AANpAegDfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B + /wFaAZQBEAH/AVYBkAEMAf8BWgGaARAB/wFaAZwBEAH/AXIBqQEwAf8BCAEKAQAB/wEIAQoBAAH/DAAD + DAEQAxEBFgMVARwDFQEcAxUBHAMVARwDIQEwAj4BPQFpAlMBUgGlAXsBZgFVAeUB/wF4AQAC/wF4AQAB + /wJVAVMBqgMiATEDFQEcAxUBHAMVARwDFAEbAxMBGQMQARUDBwEJVAADXwHQA2sB7iAAA2EB1ANpAenU + AAEWAScBAgH/AUkBgAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAELAf8BUgGMARAB/wFSAYwBEAH/AVgBkgEQAf8BWgGUARAB/wFaAZsBEAH/AVoBnAEQAf8BXAGeARIB + /wE7AW0BAwH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/CAADBQQGBAgBCgMIAQoDCAEKAwgBCgMXAR8C + OQE4AV0DUQGeAXYBZQFWAeMB/wF4AQAC/wF4AQAB/wNSAaMDGAEhAwgBCgMIAQoDCAEKAwgBCgMHAQkD + BgEHAwIBA1QAA18B0ANrAe4gAANhAdQDaQHp0AACWAFXAd8BRwGAAQMB/wFSAYwBCAH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB + EAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZgBEAH/ARYBKgEAAf8B + CAEKAQAB/wEIAQoBAAH/HAADEgEXAzUBVgNQAZoBcQFlAVkB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIB + GHAAA18B0ANrAe4gAANhAdQDaQHp0AABLAFQAQAB/wFKAYwBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBDgH/AVUBkgEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEQAf8B + WgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWAGSARYB/wEQAR4B + AAH/AQgBCgEAAf8cAAMSARcDNQFWA1ABmgFxAWUBWQHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYcAAD + XwHQA2sB7iAAA2EB1ANpAenUAANLAY8BMwFeAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB + EAH/AX8BwAEzAf8BXwGeARcB/wEgAT8BAAH/AQgBCgEAAf8BUgGMARAB/wFaAZwBEAH/AVoBnAEQAf8B + WgGcARAB/wFaAZwBEAH/AVoBlQEXAf8BWgGUARgB/wFaAZQBGAH/AVoBlAEYAf8BCAEKAQAB/wEIAQoB + AAH/GAADEgEXAzUBVgNQAZoBcQFlAVkB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQABAEDAwEEAwYE + BwEJAwcBCQMEAQUEAgQBFAADEQEWAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvA2EB + 2QNwAfEDIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwNiAdwDagHtAyEBLwMhAS8DIQEvAyEB + LwMhAS8DIQEvAyEBLwMhAS8DIQEvAw0BEbgAAUIBewEAAf8BUgGMAQgB/wF7AcYBKQH/AzMBUAQAAwwB + EAE5AWsBAAH/AVoBnAEQAf8BWgGcARAB/wFdAZcBEwH/AVYBlAEMAf8BWgGcARAB/wFaAZQBGAH/AVoB + lAEYAf8BYwGcARgB/wFjAaUBFwH/ASkBUAEAAf8BCAEKAQAB/xgAAxIBFwM1AVYDUAGaAXEBZQFZAeEB + /wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQCAwkBDAMPARQDEwEaAxIBGAMKAQ0DBAEFBAEUAANpAegD + 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 + YQHPvAABCAEKAQAB/wwAARMBIwEAAf8BWgGUARAB/wFaAZwBEAH/AZQB1gFKAf8BDQERAQIB/wExAVoB + AAH/AVoBlAESAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFrAaUBIQH/ARABHgEAAf8Y + AAMSARcDNQFWA1ABmgFxAWUBWQHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAADBQEGAx0BKQMwAUoC + OwE8AWUCOwE8AWQDKAE8AhUBFgEdAwYBCBQAAzwBZANMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8D + TAGPA0wBjwNnAeoDfAH4A0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DbQHsA24B9QNMAY8D + TAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwM1AVaoAANXAd8BCAEKAQAB/wEIAQoBAAH/AQgB + CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8DMwFQAzoBYAFLAYUBBwH/AVoBlAEQAf8BWgGcARAB + /wE5AWsBAAH/AwkBDAEQAR4BAAH/AVQBjgESAf8BWgGUARgB/wFjAZwBGAH/AWMBnAEYAf8BYwGlARcB + /wFzAbQBKQH/ARABHgEAAf8YAAMSARcDNQFWA1ABmgFxAWUBWQHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8D + EgEYFAADCQEMAzMBUAJMAU0BkQJcAV8ByQJbAWABygNEAXoDKQE9AwwBEDwAA18B0ANrAe4gAANhAdQD + aQHpzAABCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB + /wEIAQoBAAH/AQgBCgEAAf8BMwFfAQIB/wFaAZQBEAH/AVoBnAEQAf8BrQHnAWMB/wEQAR4BAAH/AQgB + CgEAAf8BFAEmAQAB/wFUAY4BEgH/AWIBmwEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGcASEB + /wEYAS4BAAH/GAADEgEXAzUBVgNQAZoBcQFlAVkB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkB + CwMuAUcDSAGEAlkBXQHDAlsBYAHLA0kBhQMuAUcDDwETPAADXwHQA2sB7iAAA2EB1ANpAenIAAEIAQoB + AAH/ASsBUgEAAf8BQQFyAQUB/wFKAYQBBgH/AUoBhAEGAf8BSgGEAQYB/wFCAXMBBgH/ASkBUAEAAf8B + EAEeAQAB/wEfAToBAAH/AVUBjwELAf8BWgGVARAB/wFaAZwBEAH/AdYB/wGMAf8BEAEeAQAB/wEYAS4B + AAH/AUIBeAEDAf8BWgGUARgB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AXMBtAEpAf8B + EAEeAQAB/xgAAxIBFwM1AVYDUAGaAXEBZQFZAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMGAQgD + JAE0AzwBZgNTAacDWAG4AkcBSAGDAzEBTQMPARQ8AANfAdADawHuIAADYQHUA2kB6cQAASgBTQEAAf8B + TgGIAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB + EAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBnAEQAf8BYwGlARcB/wFCAXsBAAH/AUoBhAEGAf8B + UgGMAQgB/wFaAZgBFAH/AVoBlAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB/wGUAckB + TQH/BAADEAEVAxoBJAMhAS8DEQEWBAIEAQMSARcDNQFWA1ABmgFxAWUBWQHhAf8BeAEAAv8BeAEAAf8C + UQFQAZ8DEgEYFAADAwEEAxMBGQMlATYCOwE8AWQCQQFCAXIDMwFRAyEBLwMJAQw8AANfAdADawHuIAAD + YQHUA2kB6cAAASkBTgECAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlQEQAf8BWgGcARAB + /wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAZwBGAH/AWMB + pQEXAf8BYwGlARcB/wFjAaUBFwH/AWUBoAEhAf8EAAMeASsCMQEwAUwDOwFjAyIBMQMHAQkDBAEFAxIB + GAM2AVcDUAGaAXEBZQFZAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMHAQkDHAEnAyMBMgIZARoB + IwMPARQDBAEFPAADXwHQA2sB7iAAA2EB1ANpAem8AANGAYABTgGIAQcB/wFSAYwBCAH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwB + EAH/AVoBlAEQAf8BWgGXARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8B + WgGUARgB/wFjAZwBGAH/AWMBoQEYAf8BYwGlARcB/wFjAaUBFwH/AXgBugEsAf8BCAEKAQAB/wQAAyQB + NANFAXwCWgFYAbcDTgGUAz8BbQMoATsDHwEsAzkBXgNQAZoBcQFlAVkB4QH/AXgBAAL/AXgBAAH/AlEB + UAGfAxIBGBwAAxIBFwM8AWYDSgGJA0ABbwMuAUcDDgESPAADXwHQA2sB7iAAA2EB1ANpAem8AAE1AV4B + BwH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBmwEQAf8BWgGcARAB/wFaAZwB + EAH/AVoBnAEQAf8BWgGWARYB/wFaAZQBGAH/AV0BlwEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8B + cAGzASAB/wErAVABBAH/CAADJwE6AlMBUQGiAdMBZgEbAfsBfQFmAVMB5wJcAVoBxAJDAUIBdQMxAU0C + QAE/AW4CUQFQAZ8BdgFlAVYB4wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxkBIgNOAZUCWwFgAc0C + VgFXAbIDRAF6Ax0BKQMGAQgEAgQBMAADXwHQA2sB7iAAA2EB1ANpAem8AAFKAYQBBgH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFnAakBFwH/AVIBjAEIAf8BSgGEAQYB/wFKAYQB + BgH/AVIBjAEQAf8BWgGUARAB/wFaAZcBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B + WgGUARgB/wFaAZQBGAH/AV8BmAEYAf8BYwGeARgB/wFjAaUBFwH/AWsBqQEdAf8BKQFQAQAB/wwAAyIB + MQNOAZgBpQFvAToB8wGVAWgBQAHwAXwBagFUAeYBXAFaAVcBwgJVAVMBqgNTAacCWQFXAbwBiQFsAU8B + 6wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxQBGwJDAUQBdwJWAVkBtgJbAWABzQJWAVgBswM/AWwD + JgE4AwwBDwMCAQMIAAMCAQMDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDXwHTA2sB + 7wMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERA2IB1wNnAeoDDQERAw0BEQMNAREDDQERAw0B + EQMNAREDDQERAw0BEQMNAREDBAEFlAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB + CAH/AWkBpAEeAf8BLAFQAQMB/wEIAQoBAAH/ATcBYQEHAf8BUgGMAQ4B/wFSAYwBEAH/AX8BwQEyAf8B + WwFeAVsB0wNaAb8BLwFZAQAB/wFEAXoBBQH/AVABigEIAf8BWgGcAQ4B/wFaAZwBEAH/AVoBnAEQAf8B + TwGGARAB/wFEAXQBDAH/A1oBvxAAAhoBGQEjA0QBewFgAV0BWwHKAWkBYwFcAdoBfgFpAU8B6AGRAWcB + QgHvAYgBawFMAewBZgFhAVsB1gFlAWABWwHYAacBawE1AfQB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgc + AAMPARMDNAFTA00BkgJdAWMBzwJdAWYB1AJSAVQBqAJBAUIBcgMmATgDFAEbAwYBCAMCAQMDWgHCA38B /wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B - /wN/Af8DYQHPvAABCAEKAQAB/wwAARMBIwEAAf8BWgGUARAB/wFaAZwBEAH/AZQB1gFKAf8BDQERAQIB - /wExAVoBAAH/AVoBlAESAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFrAaUBIQH/ARAB - HgEAAf8YAAMSARcDNQFWA1ABmgF2AWYBVgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAADBQEGAx0B - KQMwAUoCOwE8AWUCOwE8AWQDKAE8AhUBFgEdAwYBCBQAAzwBZANMAY8DTAGPA0wBjwNMAY8DTAGPA0wB - jwNMAY8DTAGPA0wBjwNoAeoDfAH4A0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DbgHsA24B - 9QNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwM1AVaoAAJWAVQB3wEIAQoBAAH/AQgB - CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wMzAVADOgFgAUsBhQEHAf8BWgGUARAB - /wFaAZwBEAH/ATkBawEAAf8DCQEMARABHgEAAf8BVAGOARIB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB - /wFjAaUBFwH/AXMBtAEpAf8BEAEeAQAB/xgAAxIBFwM1AVYDUAGaAXYBZgFWAeEB/wF4AQAC/wF4AQAB - /wJRAVABnwMSARgUAAMJAQwDMwFQAkwBTQGRAlsBYAHJAlsBYQHKA0QBegMpAT0DDAEQPAADXwHQA2wB - 7iAAA2EB1ANqAenMAAEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB - /wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEzAV8BAgH/AVoBlAEQAf8BWgGcARAB/wGtAecBYwH/ARAB - HgEAAf8BCAEKAQAB/wEUASYBAAH/AVQBjgESAf8BYgGbARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB - /wFjAZwBIQH/ARgBLgEAAf8YAAMSARcDNQFWA1ABmgF2AWYBVgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8D - EgEYFAADCQELAy4BRwNIAYQCWQFeAcMCWQFiAcsDSQGFAy4BRwMPARM8AANfAdADbAHuIAADYQHUA2oB - 6cgAAQgBCgEAAf8BKwFSAQAB/wFBAXIBBQH/AUoBhAEGAf8BSgGEAQYB/wFKAYQBBgH/AUIBcwEGAf8B - KQFQAQAB/wEQAR4BAAH/AR8BOgEAAf8BVQGPAQsB/wFaAZUBEAH/AVoBnAEQAf8B1gH/AYwB/wEQAR4B - AAH/ARgBLgEAAf8BQgF4AQMB/wFaAZQBGAH/AWIBmwEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8B - cwG0ASkB/wEQAR4BAAH/GAADEgEXAzUBVgNQAZoBdgFmAVYB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIB - GBQAAwYBCAMkATQDPAFmA1MBpwJYAVkBuAJHAUgBgwMxAU0DDwEUPAADXwHQA2wB7iAAA2EB1ANqAenE - AAEoAU0BAAH/AU4BiAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB - jAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZwBEAH/AWMBpQEXAf8BQgF7AQAB - /wFKAYQBBgH/AVIBjAEIAf8BWgGYARQB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMB - pQEXAf8BlAHJAU0B/wQAAxABFQMaASQDIQEvAxEBFgQCBAEDEgEXAzUBVgNQAZoBdgFmAVYB4QH/AXgB - AAL/AXgBAAH/AlEBUAGfAxIBGBQAAwMBBAMTARkDJQE2AjsBPAFkAkEBQgFyAzMBUQMhAS8DCQEMPAAD - XwHQA2wB7iAAA2EB1ANqAenAAAEpAU4BAgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZUB - EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8B - YwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB/wFlAaABIQH/BAADHgErAjEBMAFMAzsBYwMiATED - BwEJAwQBBQMSARgDNgFXA1ABmgF2AWYBVgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADBwEJAxwB - JwMjATICGQEaASMDDwEUAwQBBTwAA18B0ANsAe4gAANhAdQDagHpvAADRgGAAU4BiAEHAf8BUgGMAQgB - /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIB - jAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlwEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB - /wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAaEBGAH/AWMBpQEXAf8BYwGlARcB/wF4AboBLAH/AQgB - CgEAAf8EAAMkATQDRQF8AloBWAG3A04BlAM/AW0DKAE7Ax8BLAM5AV4DUAGaAXYBZgFWAeEB/wF4AQAC - /wF4AQAB/wJRAVABnwMSARgcAAMSARcDPAFmA0oBiQNAAW8DLgFHAw4BEjwAA18B0ANsAe4gAANhAdQD - agHpvAABNQFeAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB - /wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB/wFaAZsBEAH/AVoB - nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlgEWAf8BWgGUARgB/wFdAZcBGAH/AWMBnAEYAf8BYwGlARcB - /wFjAaUBFwH/AXABswEgAf8BKwFQAQQB/wgAAycBOgJTAVEBogHWAWgBGAH7AYIBaAFQAecBXQFcAVoB - xAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8BewFlAVMB4wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxkB - IgNOAZUCWwFhAc0CVgFXAbIDRAF6Ax0BKQMGAQgEAgQBMAADXwHQA2wB7iAAA2EB1ANqAem8AAFKAYQB - BgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFnAakBFwH/AVIBjAEIAf8B - SgGEAQYB/wFKAYQBBgH/AVIBjAEQAf8BWgGUARAB/wFaAZcBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB - EAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AV8BmAEYAf8BYwGeARgB/wFjAaUBFwH/AWsBqQEdAf8B - KQFQAQAB/wwAAyIBMQNOAZgBqwFvATYB8wGbAWkBOwHwAYIBagFRAeYBXQFaAVcBwgJVAVMBqgNTAacC - WQFXAbwBjwFsAUwB6wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxQBGwJDAUQBdwJWAVkBtgJbAWEB - zQJWAVgBswM/AWwDJgE4AwwBDwMCAQMIAAMCAQMDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0B - EQMNAREDXwHTA20B7wMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERA2IB1wNoAeoDDQERAw0B - EQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDBAEFlAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AWkBpAEeAf8BLAFQAQMB/wEIAQoBAAH/ATcBYQEHAf8BUgGMAQ4B/wFSAYwB - EAH/AX8BwQEyAf8BWwFeAVoB0wNaAb8BLwFZAQAB/wFEAXoBBQH/AVABigEIAf8BWgGcAQ4B/wFaAZwB - EAH/AVoBnAEQAf8BTwGGARAB/wFEAXQBDAH/A1oBvxAAAhoBGQEjA0QBewFhAV0BWwHKAW0BYwFaAdoB - hQFpAUwB6AGXAWkBPgHvAY8BbAFHAewBaQFhAVkB1gFoAWEBWQHYAa8BbQEwAfQB/wF4AQAC/wF4AQAB - /wJRAVABnwMSARgcAAMPARMDNAFTA00BkgJbAWUBzwJbAWoB1AJSAVQBqAJBAUIBcgMmATgDFAEbAwYB - CAMCAQMDWgHCA38B/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 - /wN/Af8DfwH/A2QB3JQAAUoBjAEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFnAZ0B - JwH/AQgBCgEAAf8BCgEPAQAB/wFCAXcBAwH/AVIBjAEQAf8BWgGcARAB/wElAUEBBQH/BAADOgFgAQgB - CgEAAf8BCAEKAQAB/wQAA0YBgANGAYADRgGAHAADCgENAyIBMQM0AVQDRAF4AlEBUAGfAWUBYQFbAc8B - lgFqAUUB7QGPAWwBRwHsAZsBaQE7AfAB1gFoARgB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYB - CAMYASEDMQFNAkwBTQGRAlgBXAG9AlsBZAHRAlkBXgHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UB - rQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA2sB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UB - rQNVAa0DVQGtA1UBrQNxAfEDfAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cB - gZQAATsBbQECAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8B - IwFDAQAB/wFSAYwBEAH/AVIBjAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB - AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAWEBXwFcAcgB - gAFnAVEB5QHDAW8BKgH3AecBcAEQAf0B/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAQBAwIBAwMVARwD - NQFWAksBTAGPAlwBYQHIAlQBcQHfAlMBewHjAlIBUwGlAzQBUwMcAScoAANfAdADbAHuIAADYQHUA2oB - 6bwAAQgBCgEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AU4BggEPAf8B - SgGEAQYB/wFSAYwBEAH/AWMBpQEXAf8BCAEKAQAB/wEIAQoBAAH/ARMBIwEAAf8BQgFzAQYB/wEgAT8B - AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/yAABAEDAwEEAwwBEAMYASAD - KQE9Az4BagJXAVYBtQGAAWcBUQHlAcMBbwEqAfcB/wF4AQAC/wF4AQAB/wJRAVABnwMSARggAAQBAwcB - CQMUARsDKgFAA0MBdgNVAa8CSQGFAekCWwFlAdACUAFRAZ8DMwFRKAADXwHQA2wB7iAAA2EB1ANqAenA - AAFCAXMBBgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIB - jAEQAf8BSgGEAQYB/wEQAR4BAAH/ATEBWgEAAf8BTQGEAQ0B/wFaAZwBEAH/AVoBnAEQAf8BUgGMAQgB - /wEQAR4BAAH/AQgBCgEAAf8BCAEKAQAB/wNGAYAsAAMCAQMDCwEOAyABLgNDAXYCVwFVAbEBdwFmAVUB - 4AG2AW8BKQH2Ac0BagEeAfkCUQFQAZwDEgEXDAAEAQMMARADFwEfAx0BKAMdASgDDAEPCAADDwEUAiYB - JwE5AkcBSAGDAlYBdgHhAlABggHnAloBZQHSAj8BQAFuKAADXwHQA2wB7iAAA2EB1ANqAenEAAFJAYkB - AAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8B - UgGMARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFCAXMB - BgH/AQoBDgEAAf8wAAQBAwMBBAMMAQ8DHgEqAzoBYQJZAVcBuQF6AWUBTwHkAZUBagFCAe4CTwFOAZcD - EgEXDAADAgEDAyEBLwM2AVkCQgFDAXUCQQFCAXMDHgErCAADBAEFAwwBDwM4AVwCWwFjAc4CRwGPAewC - PgGXAe8DRgF/KAADXwHQA2wB7iAAA2EB1ANqAenIAAE6AWsBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB - CAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B - WgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGlARcB/wEZASwBAwH/OAADAgEDAwgBCgMgAS0CQQFAAXEC - TQFMAZEDUAGaAjsBOgFiAwwBDwwAAwMBBAMrAUEDRAF6A1MBpwNVAa0DNwFaAxgBIAMJAQsDBgEHAw0B - EQM5AV8CWwFkAdECPgGXAe8CNgGrAfMCRgFHAYEoAANfAdADbAHuIAADYQHUA2oB6cwAASwBVQEAAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwB - EAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BIQFBAQAB/0AABAIDBwEJAxAEFQEcAhYB - FQEdAw8BEwMCAQMMAAMDAQQDMANLAUwBjwJbAWEBygJWAXIB3gNOAZQDNAFTAxUBHAMNAREDHgErAkMB - RAF3AlQBcQHfAjwBpAHxAkkBhQHpA0QBeygAA18B0ANsAe4gAANhAdQDagHpyAABEgEiAQAB/wFMAYYB - BgH/AVIBjAEIAf8BWgGcARAB/wFQAYoBCAH/AVIBjAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8B - WgGcARAB/wFaAZwBEAH/AVoBnAERAf8BaQGrAR8B/wEIAQoBAAH/bAADAgEDAyEBLwM6AWEDVQGtAloB - bQHaAloBWwG/AlABUQGfA0QBegJBAUIBcgNJAYUCVgFXAbICRQGWAe0CWQFwAdsCVQFXAbEDOAFbKAAD - XwHQA2wB7iAAA2EB1ANqAenIAAEQAR4BAAH/AUgBfQEHAf8BWQGTARMB/wFVAYgBGAH/CAABIQFBAQAB - /wFCAXsBAAH/AVIBjAEIAf8BVQGRAQgB/wE5AWYBBAH/AUQBSQE+Ae94AAMGAQgDFwEfA0QBewJZAV8B - xgJPAXoB5AIwAa8B9AJCAZUB7gJCAZUB7gI8AaQB8QIpAbYB9gIQAdcB/AJZAVwBvgM+AWsDJAE0KAAD - XwHQA2wB7iAAA2EB1ANqAenQAAEeAToBAAH/nAAEAgMJAQwDKgM/AUABbgNOAZYCVgFYAbMCWQFcAcEC - WgFeAccCWgFeAccCVwFZAbkCUQFSAaQCQAFBAXEDJQE2AxMBGSgAA18B0ANsAe4gAANhAdQDagHp/wB5 - AAQBAwsBDgMmATgDOQFeA0YBfQJKAUsBiwNKAYkDPgFrAyoBPwMXAR8DAgEDLAADUwGiA1oBvyAAA1QB - pgNZAbuoAAFCAU0BPgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIWAAP/AQAD/wHHAgABBwL/Ac8B - 8wH/BAAC/wHPAYcCAAEHAv8BzwHzAf8EAAH/Af4BAAEHAgABBwL/Ac8B8wH/BAAB/wH8AQABBwIAAQcC - /wHPAfMB/wQAAf8B+AEAAQ8CAAEHAv8BzwHzAf8EAAH/AfABAAEHAgABBwL/Ac8B8wH/BAAB/wHgAQAB - AwIAAQcC/wHPAfMB/wQAAf8BwAEAAQEB/AEDA/8BzwHzAf8EAAH/AcABAAEBAfwBAwP/Ac8B8wH/BAAB - /wHgAgAB/AEDAeABHwgAAf8B/AEgAQAB/AEDAeABHwgAAf8B/gHgAQAB/AEDAeABHwgAAf8BwAIAAfwB - AwHgAR8B/wHPAfMB/wQAAf8BgAIAAfwBAwHgAR8B/wHPAfMB/wQAAf8DAAH8AQMB4AEfAf8BzwHzAf8E - AAH+AgABAQEAAQMB4AEfAf8BzwHzAf8EAAH8AgABAQEAAQMB+AEfAf8BzwHzAf8EAAH4AgABAQEAAQMB - +AEfAf8BzwHzAf8EAAH4AgABAwEAAQMB+AEDAf8BzwHzAf8EAAH4AgABBwEAAQMB+AEDCAAB+AIAAQ8B - AAEDAfgJAAH4AQABRAF/AQABAwH4CQAB+AEAAQEB/wGAAQMB+AEAAf8BzwHzAf8EAAH4AgABfwGAAQMB - /AEAAf8BzwHzAf8EAAH8AgABfwHwAQMBgQGAAf8BzwHzAf8EAAH+AgAB/wHwAQMBgQGAAf8BzwHzAf8E - AAH/AgAB/wH8AQMBgAEAAf8BzwHzAf8EAAH/AYABAQH/Af4BAwGAAQAB/wHPAfMB/wQAAf8BAAEDA/8B - gAEAAf8BzwHzAf8EAAH/AQwBDwP/AcABAAH/Ac8B8wH/BAAB/wHfBP8BwAEAAf8BzwHzAf8EAAb/AfAB - AQH/Ac8B8wH/BAAL + /wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A2IB + 3JQAAUoBjAEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFnAZ0BJwH/AQgBCgEAAf8B + CgEPAQAB/wFCAXcBAwH/AVIBjAEQAf8BWgGcARAB/wElAUEBBQH/BAADOgFgAQgBCgEAAf8BCAEKAQAB + /wQAA0YBgANGAYADRgGAHAADCgENAyIBMQM0AVQDRAF4AlEBUAGfAWMBYQFdAc8BjgFqAUgB7QGIAWsB + TAHsAZUBaAFAAfAB0wFmARsB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwB + TQGRAlgBWgG9Al0BYgHRAlkBXQHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UB + rQNVAa0DVQGtA1UBrQNVAa0DVQGtA2oB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UB + rQNwAfEDfAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8BIwFDAQAB/wFSAYwB + EAH/AVIBjAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8B + CAEKAQAB/wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAXsBZgFVAeUBvgFvAS4B + 9wHkAW8BEgH9Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAAEAQMCAQMDFQEcAzUBVgJLAUwBjwJcAV8B + yAJXAW0B3wJWAXYB4wJSAVMBpQM0AVMDHAEnKAADXwHQA2sB7iAAA2EB1ANpAem8AAEIAQoBAAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFOAYIBDwH/AUoBhAEGAf8BUgGMARAB + /wFjAaUBFwH/AQgBCgEAAf8BCAEKAQAB/wETASMBAAH/AUIBcwEGAf8BIAE/AQAB/wEIAQoBAAH/AQgB + CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8gAAQBAwMBBAMMARADGAEgAykBPQM+AWoCVwFWAbUB + ewFmAVUB5QG+AW8BLgH3Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYIAAEAQMHAQkDFAEbAyoBQANDAXYD + VQGvAk4BgAHpAlsBYwHQAlABUQGfAzMBUSgAA18B0ANrAe4gAANhAdQDaQHpwAABQgFzAQYB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AUoBhAEGAf8B + EAEeAQAB/wExAVoBAAH/AU0BhAENAf8BWgGcARAB/wFaAZwBEAH/AVIBjAEIAf8BEAEeAQAB/wEIAQoB + AAH/AQgBCgEAAf8DRgGALAADAgEDAwsBDgMgAS4DQwF2AlcBVQGxAXMBZgFZAeABsQFtAS0B9gHHAWoB + IAH5AlEBUAGcAxIBFwwABAEDDAEQAxcBHwMdASgDHQEoAwwBDwgAAw8BFAImAScBOQJHAUgBgwJZAXEB + 4QJTAX0B5wJbAWIB0gI/AUABbigAA18B0ANrAe4gAANhAdQDaQHpxAABSQGJAQAB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB + /wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BQgFzAQYB/wEKAQ4BAAH/MAAE + AQMDAQQDDAEPAx4BKgM6AWECWQFXAbkBdAFjAVMB5AGOAWkBRwHuAk8BTgGXAxIBFwwAAwIBAwMhAS8D + NgFZAkIBQwF1AkEBQgFzAx4BKwgAAwQBBQMMAQ8DOAFcAl0BYgHOAkwBiAHsAkIBkQHvA0YBfygAA18B + 0ANrAe4gAANhAdQDaQHpyAABOgFrAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIB + jAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB + /wFaAZQBGAH/AWMBpQEXAf8BGQEsAQMB/zgAAwIBAwMIAQoDIAEtAkEBQAFxAk0BTAGRA1ABmgI7AToB + YgMMAQ8MAAMDAQQDKwFBA0QBegNTAacDVQGtAzcBWgMYASADCQELAwYBBwMNAREDOQFfAl0BYgHRAkIB + kQHvAjoBpQHzAkYBRwGBKAADXwHQA2sB7iAAA2EB1ANpAenMAAEsAVUBAAH/AVIBjAEIAf8BUgGMAQgB + /wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB + nAEQAf8BWgGUARgB/wFaAZQBGAH/ASEBQQEAAf9AAAQCAwcBCQMQBBUBHAIWARUBHQMPARMDAgEDDAAD + AwEEAzADSwFMAY8CWwFgAcoCWQFtAd4DTgGUAzQBUwMVARwDDQERAx4BKwJDAUQBdwJXAW0B3wJBAZ4B + 8QJOAYAB6QNEAXsoAANfAdADawHuIAADYQHUA2kB6cgAARIBIgEAAf8BTAGGAQYB/wFSAYwBCAH/AVoB + nAEQAf8BUAGKAQgB/wFSAYwBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB + /wFaAZwBEQH/AWkBqwEfAf8BCAEKAQAB/2wAAwIBAwMhAS8DOgFhA1UBrQJcAWkB2gNaAb8CUAFRAZ8D + RAF6AkEBQgFyA0kBhQJWAVcBsgJIAY4B7QJbAWsB2wJVAVcBsQM4AVsoAANfAdADawHuIAADYQHUA2kB + 6cgAARABHgEAAf8BSAF9AQcB/wFZAZMBEwH/AVUBiAEYAf8IAAEhAUEBAAH/AUIBewEAAf8BUgGMAQgB + /wFVAZEBCAH/ATkBZgEEAf8BSAFLAUIB73gAAwYBCAMXAR8DRAF7AlkBXgHGAlMBdAHkAjUBpwH0AkcB + jgHuAkcBjgHuAkEBngHxAi0BsQH2AhIB0gH8AlkBXAG+Az4BawMkATQoAANfAdADawHuIAADYQHUA2kB + 6dAAAR4BOgEAAf+cAAQCAwkBDAMqAz8BQAFuA04BlgJWAVgBswJZAVwBwQJaAV0BxwJaAV0BxwJXAVkB + uQJRAVIBpAJAAUEBcQMlATYDEwEZKAADXwHQA2sB7iAAA2EB1ANpAen/AHkABAEDCwEOAyYBOAM5AV4D + RgF9AkoBSwGLA0oBiQM+AWsDKgE/AxcBHwMCAQMsAANTAaIDWgG/IAADVAGmA1kBu6gAAUIBTQE+BwAB + PgMAASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA/8BAAP/AccCAAEHAv8BzwHzAf8EAAL/Ac8BhwIAAQcC + /wHPAfMB/wQAAf8B/gEAAQcCAAEHAv8BzwHzAf8EAAH/AfwBAAEHAgABBwL/Ac8B8wH/BAAB/wH4AQAB + DwIAAQcC/wHPAfMB/wQAAf8B8AEAAQcCAAEHAv8BzwHzAf8EAAH/AeABAAEDAgABBwL/Ac8B8wH/BAAB + /wHAAQABAQH8AQMD/wHPAfMB/wQAAf8BwAEAAQEB/AEDA/8BzwHzAf8EAAH/AeACAAH8AQMB4AEfCAAB + /wH8ASABAAH8AQMB4AEfCAAB/wH+AeABAAH8AQMB4AEfCAAB/wHAAgAB/AEDAeABHwH/Ac8B8wH/BAAB + /wGAAgAB/AEDAeABHwH/Ac8B8wH/BAAB/wMAAfwBAwHgAR8B/wHPAfMB/wQAAf4CAAEBAQABAwHgAR8B + /wHPAfMB/wQAAfwCAAEBAQABAwH4AR8B/wHPAfMB/wQAAfgCAAEBAQABAwH4AR8B/wHPAfMB/wQAAfgC + AAEDAQABAwH4AQMB/wHPAfMB/wQAAfgCAAEHAQABAwH4AQMIAAH4AgABDwEAAQMB+AkAAfgBAAFEAX8B + AAEDAfgJAAH4AQABAQH/AYABAwH4AQAB/wHPAfMB/wQAAfgCAAF/AYABAwH8AQAB/wHPAfMB/wQAAfwC + AAF/AfABAwGBAYAB/wHPAfMB/wQAAf4CAAH/AfABAwGBAYAB/wHPAfMB/wQAAf8CAAH/AfwBAwGAAQAB + /wHPAfMB/wQAAf8BgAEBAf8B/gEDAYABAAH/Ac8B8wH/BAAB/wEAAQMD/wGAAQAB/wHPAfMB/wQAAf8B + DAEPA/8BwAEAAf8BzwHzAf8EAAH/Ad8E/wHAAQAB/wHPAfMB/wQABv8B8AEBAf8BzwHzAf8EAAs= @@ -393,114 +391,114 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAABBkAAAJNU0Z0AUkBTAIBAQUB - AAHYAQAB2AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASAa + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA/hgAAAJNU0Z0AUkBTAIBAQUB + AAHgAQAB4AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASAa AAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8DVQGsAzABS8wAAzsB - YgNdAcUBaQJoAfQBnwFlATEB/wGXAVMBFwH/AZYBSwEJAf8BkwFGAQEB/wGMAUMBAwH/AX0BQAELAf8B - awFAARoB/wFuAVABNgH/A2gB8ANaAbcDNAFUxAADNQFVA10BxwJuAVoB9QG4AWUBGwH/AbkBWAECAf8B - yQFfAQAB/wHYAWUBAAH/AdwBZwEAAf8B1gFkAQAB/wHDAVwBAAH/AaIBTAEAAf8BfAE7AQMB/wFuAUYB - IwH/A2gB8ANaAbcDMAFKwAADXAHEAYEBfAFcAfgB1AFxARgB/wHXAWUBAAH/AeUBbAEAAf8B8gFyAQAB - /wH6AXUBAAH/AfwBdgEAAf8B+gF2AQAB/wHzAXIBAAH/AeIBawEAAf8BvQFZAQAB/wGHAUABAAH/AXEB - SAEjAf8DaAHwA1YBq8AAAf4B3QHBAf8B7QGAASAB/wHtAXEBAgH/AfMBcwEAAf8B+gF2AQAB/wH+AXgB - AAL/AXsBCAL/AYgBJwL/AaIBUwH/Af4BgQEXAf8B/AF4AQQB/wHsAW8BAAH/AcEBWwEAAf8BhgFBAQMB - /wF4AVYBNgH/A2MB38AAAf8BsgFvAf8B/QGAAREB/wH8AXcBAQH/Af0BdwEAAv8BeAEAAv8BfwEPAv8B - kgE7Av8BswGDAv8B6gHgAv8BkAE9Av8BewEKAf8B/AF3AQAB/wHlAWwBAAH/AbEBVAEAAf8BhAFLARoB - /wNjAd/AAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8BeAEAAv8BeAEAAv8BlQE/Av8BygGuAv8B2gHGAv8B - 7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMBAAH/AdABYgEAAf8BmgFOAQoB/wFjAl0B38AAAf8B - lQE3Av8BiQEfAv8BfQEIAv8BeAEAAv8BeAEAAv8BqAFcAv8B4AHNAv8BoQFmAv8B2AHFAv8BuQGUAv8B - hwEjAv8BeAEAAf8B+wF2AQAB/wHiAWoBAAH/Aa8BVAEDAf8BYwJdAd/AAAH/AaABSQL/AZIBMQL/AYEB - EQL/AXkBAwL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgBxQL/AcABnwL/AYkBJwL/AXgBAAH/Af4B - eAEAAf8B7AFvAQAB/wG/AVoBAgH/AWMCXQHfwAAB/wGzAW8C/wGeAUgC/wGIAR4C/wF8AQcC/wF4AQAC - /wGYAUMC/wHOAbQC/wHXAcAC/wHqAeAC/wGdAVcC/wF+AREC/wF4AQAC/wF4AQAB/wHwAXEBAAH/AcsB - ZAEJAf8BYwFhAV0B38AAAf8BzAGfAv8BrAFjAv8BkwEzAv8BgQERAv8BeQECAv8BggEWAv8BmgFLAv8B - rgF4Av8BpQFXAv8BgQEXAv8BeQEEAv8BeAEAAv8BeAEAAf8B8AFxAQAB/wHVAXEBFwH/AmMBXQHfwAAB - /wHpAdUC/wG8AYEC/wGkAVQC/wGOASoC/wF/AQ0C/wF5AQIC/wF7AQkC/wGCAR0C/wF4AQAC/wF4AQAC - /wF4AQEC/wF6AQQC/wF6AQMB/wHzAXQBAwH/AeIBhAEyAf8DYwHfwAADXgHSAY4BhwF9AfkB/wG7AX0C - /wGjAVIC/wGQASwC/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC/wGAAQ8C/wF/AQ0B - /wH4AYYBIAH/AXMCaAH0A1gBuMAAAzwBZgNjAdUBiAJ8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC - /wGGARoC/wGDARUC/wGFARkC/wGKASIC/wGNASgC/wGTATMB/wFwAW4BaAH1A10BxQM2AVnEAANCAXID - YwHVAY4BiQGDAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC/wGnAVgB - /wGIAnwB+ANdAccDOwFizAADPAFlA14B0gH/Ae8B4AL/AdwBvAL/Ac0BnwL/AcEBigL/AbsBfwL/Ab8B - hgL/Ac0BoQL/AekB1gH/A1wBxAM1AVXIAANnAe8CZwFZAe8BZwFdAVkB7wFnAVsBWQHvAWcBWwFZAe8B - ZwJZAe8BZwFkAVkB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7zgAAzMBUQNvAfUD - BwEJAyoBPwNFAXwDWQG7A2MB3wNoAfQDgAH+A4EB/wOBAf8DgQH/A4AB/gNoAfQDYwHfA1oBugNEAXoD - JwE6CAADNwFaA1gBuANjAd8CYwFdAd8BYgJdAd8DXQHfA10B3wFhAl0B3wNjAd8DYwHfA1UBrAMwAUsI - AAP4Af8BuQGVATwB/wGDAX0BbgH/AYQBfQFsAf8BqgGEAScB/wGsAXsBAAH/AcwBvAGUAf8DfgH/A34B - /wN+Af8DfgH/A34B/wN+Af8DfgH/A34B/wOOAf84AAMSARgDPwFtA0MBdQNdAcwDfAH4A4EB/wOBAf8D - gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfAH4A1QBqAQAAzsBYgNdAcUBaQJoAfQB - nwFlATEB/wGXAVMBFwH/AZYBSwEJAf8BkwFGAQEB/wGMAUMBAwH/AX0BQAELAf8BawFAARoB/wFuAVAB - NgH/A2gB8ANaAbcDNAFUBAAE/wGXAYsBbQH/AoEBgAH/AYIBgQGAAf8BmAGIAWAB/wHKAZABAAH/Ad0B - zAGfAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf80AANfAdMDPQFnBAADagHtA30B - +gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAzUB - VQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckBXwEAAf8B2AFlAQAB/wHcAWcBAAH/AdYBZAEAAf8B - wwFcAQAB/wGiAUwBAAH/AXwBOwEDAf8BbgFGASMB/wNoAfADWgG3AzABSgT/AYYBhAF9Af8DgQH/A4EB - /wGHAYMBegH/Ac8BlAEAAf8B3gHMAZ8B/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A7wB - /zQAA1oBwgM0AVMEAANjAd8DbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB - /wOBAf8DgQH/A4EB/wNVAa8DXAHEAYEBfAFcAfgB1AFxARgB/wHXAWUBAAH/AeUBbAEAAf8B8gFyAQAB - /wH6AXUBAAH/AfwBdgEAAf8B+gF2AQAB/wHzAXIBAAH/AeIBawEAAf8BvQFZAQAB/wGHAUABAAH/AXEB - SAEjAf8DaAHwA1YBqwT/AYsBhgF6Af8DgQH/A4EB/wGOAYYBcQH/Ac8BlAEAAf8B3gHMAZ8h/wPKAf8Q - AAMNAREDPwFsA1MBpwFcAlkBvgFYAlYBswFIAkcBgwMhATAEAANvAfMDOgFgCAADNgFYA1sBwANuAfUD - gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNoAfQDUgGkAf4B3QHBAf8B - 7QGAASAB/wHtAXEBAgH/AfMBcwEAAf8B+gF2AQAB/wH+AXgBAAL/AXsBCAL/AYgBJwL/AaIBUwH/Af4B - gQEXAf8B/AF4AQQB/wHsAW8BAAH/AcEBWwEAAf8BhgFBAQMB/wF4AVYBNgH/A2MB3wT/AawBlgFgAf8B - gwGCAX8B/wGFAYIBfQH/AbMBkwFEAf8BzwGUAQAB/wHeAcwBnwH/A7AB/wOwAf8DsAH/A7AB/wOwAf8D - sAH/A7AB/wOwAf8DqAH/CAADGgEkA1IBoAJjAUgB9gGiAXMBAAH/Aa4BfAEAAf8BsAF9AQAB/wGoAXgB - AAH/AZUBagEAAf8BgAFvARsB/gFcAlkBxgNXAbUDFgEeCAADAgEDAxoBIwM4AVwDVAGoA2IB1wNwAfED - gAH+A4EB/wOBAf8DgQH/A4EB/QNoAfADYQHUA1MBpQM2AVkDGAEgAf8BsgFvAf8B/QGAAREB/wH8AXcB - AQH/Af0BdwEAAv8BeAEAAv8BfwEPAv8BkgE7Av8BswGDAv8B6gHgAv8BkAE9Av8BewEKAf8B/AF3AQAB - /wHlAWwBAAH/AbEBVAEAAf8BhAFLARoB/wNjAd8E/wHZAaoBNwH/Ab4BmAE4Af8BwAGYATYB/wHcAaIB - FAH/Ac8BlAEAAf8B3gHMAZ8B/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/wQAAyAB - LQJjAVoB6QG/AYgBAAH/Ac0BlQEKAf8BsAGIAScB/wFzAWQBPwH/AU0BSwFHAf8BTgFLAUIB/wFmAVcB - MQH/AZoBdAEXAf8BpAF2AQMB/wFwAU8BAAH/A0MBdgQBRAAB/wGaAUIC/wGDARUB/wH+AXoBBAL/AXgB - AAL/AXgBAAL/AZUBPwL/AcoBrgL/AdoBxgL/Ae0B5QL/AZYBSQL/AXwBDQH/Af4BeAEAAf8B9AFzAQAB - /wHQAWIBAAH/AZoBTgEKAf8BYwJdAd8E/wHhAa4BMQH/Ab0BlwE7Af8BwAGYATUB/wHjAaUBCgH/Ac8B - lAEAAf8B3gHMAZ8B/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A68B/wQAAmMBWgHpAdkB - mgEAAf8B2gGjARwB/wKOAYwB/wOKAf8DlwH/A5sB/wORAf8DdAH/A0gB/wFDAUIBPwH/AbUBgwEHAf8B - egFXAQAB/wM2AVgMAAMCAQMDCAEKAyEBLwMxAU4DPQFoA0MBdgNEAXoDQwF1Az0BZwMxAU0DIAEuAwcB - CQQCBAAB/wGVATcC/wGJAR8C/wF9AQgC/wF4AQAC/wF4AQAC/wGoAVwC/wHgAc0C/wGhAWYC/wHYAcUC - /wG5AZQC/wGHASMC/wF4AQAB/wH7AXYBAAH/AeIBagEAAf8BrwFUAQMB/wFjAl0B3wT/AbsBnQFTAf8B - iAGEAXkB/wGMAYUBdAH/AcQBmQEwAf8BzwGUAQAB/wHeAcwBnyH/A8oB/wNDAXYB6QGnAQIB/wHpAasB - EgH/AdABygG7Af8DrAH/A10B/wNMAf8DSwH/A0QB/wMPAf8DswH/A2YB/wFUAUwBOgH/Aa4BfQEEAf8D - XQHMCAADEwEaAzkBXQNZAbwDZAHbA2oB7QNjAfYDXwH7A4EB/QNfAfsDYwH2A2UB7ANjAdoDWgG6AzgB - XAMTARoB/wGgAUkC/wGSATEC/wGBAREC/wF5AQMC/wF4AQAC/wGoAVwC/wHgAc0C/wGhAWYC/wHYAcUC - /wHAAZ8C/wGJAScC/wF4AQAB/wH+AXgBAAH/AewBbwEAAf8BvwFaAQIB/wFjAl0B3wT/AZQBigFzAf8D - gQH/A4EB/wGaAYoBYwH/Ac8BlAEAAf8B3gHMAZ8B/wPQAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D - 0AH/A7UB/wJqAWEB5gHtAa0BEAH/AfQB0AF2Af8D+gH/A/oB/wN9Af8DfwH/A4AB/wOAAf8DfgH/A4QB - /wO7Af8DagH/AagBgAEcAf8CYwFIAfYEAAMaASQDVgGuA2gB9AOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB - /wOBAf8DgQH/A4EB/wOBAf8DgQH/A2sB8gNSAaEB/wGzAW8C/wGeAUgC/wGIAR4C/wF8AQcC/wF4AQAC - /wGYAUMC/wHOAbQC/wHXAcAC/wHqAeAC/wGdAVcC/wF+AREC/wF4AQAC/wF4AQAB/wHwAXEBAAH/AcsB - ZAEJAf8BYwFhAV0B3wT/AYYBgwF+Af8DgQH/A4EB/wGGAYMBewH/Ac8BlAEAAf8B3gHMAZ8B/wOBAf8D - gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/wFlAmIB7gHvAbQBIQH/AfcB3AGXCf8DkQH/A4gB - /wOHAf8DhwH/A4EB/wNXAf8D5gH/A6MB/wG2AZEBNgH/AYABagFBAfkEAANXAbIDZQHnA4EB/wOBAf8D - gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNVAa8B/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/wOhAf8DSwGNAfABvgE/Af8B - 9AHNAWwh/wP7Af8D0AH/AdcBpwExAf8CYQFdAdEEAANvAfMDXwH7A4EB/wOBAf8DgQH/A4EB/wOBAf8D - gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNVAa8B/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/wPAAf8DBwEJAWUBYwFiAe4B8QG8ATsB - /wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANkAdsD - aAH0A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNVAa8D - XgHSAY4BhwF9AfkB/wG7AX0C/wGjAVIC/wGQASwC/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC - /wF9AQkC/wGAAQ8C/wF/AQ0B/wH4AYYBIAH/AXMCaAH0A1gBuAT/AdcBsQFSAf8BmgGPAXQB/wGgAZIB - bQH/AeABrwE3Af8B5wGpARAB/wHrAdUBoAH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D - kwH/BAADMwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAAD - PAFkA18ByQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoD - VQGqAzwBZgNjAdUBiAJ8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC - /wGKASIC/wGNASgC/wGTATMB/wFwAW4BaAH1A10BxQM2AVkE/wH0Ac0BbAH/AfQBywFmAf8B9AHLAWUB - /wH0AcsBZQH/AfEBwQFJAf8B+QHjAawB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A5oB - /wgAAyIBMQNfAckBlQF9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8B - vAGOAWwB/gJlAV4B4gM9AWgEAQgAAwYBCAMxAUwDUAGbA2UB7AN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB - /wOBAf8DgQH/A30B+gNqAe0DUAGbAy8BSQQAA0IBcgNjAdUBjgGJAYMB+QH/AckBmQL/AbwBfwL/Aa4B - ZgL/AaQBUwL/AZ8BSgL/AZ8BSwL/AaMBUQL/AacBWAH/AYgCfAH4A10BxwM7AWIEAED/EAADDwETA0cB - ggNkAdsBqgGPAW8B/ANnAeoDVAGoAygBOxwAAwUBBgMSARcDOgFgA1EBnwNfAdMDZwHvA2MB9gNiAe4D - XgHSA1EBngM5AV8DEQEWAwUBBgwAAzwBZQNeAdIB/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C - /wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEG - AAEBFgAD/wEAAcABAwYAAYABAWYAAYABAQYAAcABAwgAAf8B/AIAAcABAwIAAf8B/AIAAYABAQIAAf8B - +QYAAf8B+QYAAfABEwYAAcABAwYAAYABAQL/BAABgAEBAcABAQUAAQEBgAYAAQEHAAEBBwABAQcAAQEG - AAGAAQEGAAHAAQMCAAGAAQECAAHwAR8BwAEBAcABAws= + YgNdAcUDaAH0AZ8BZQExAf8BlwFTARcB/wGWAUsBCQH/AZMBRgEBAf8BjAFDAQMB/wF9AUABCwH/AWsB + QAEaAf8BbgFQATYB/wNoAfADWgG3AzQBVMQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckB + XwEAAf8B2AFlAQAB/wHcAWcBAAH/AdYBZAEAAf8BwwFcAQAB/wGiAUwBAAH/AXwBOwEDAf8BbgFGASMB + /wNoAfADWgG3AzABSsAAA1wBxAF+AXwBXAH4AdQBcQEYAf8B1wFlAQAB/wHlAWwBAAH/AfIBcgEAAf8B + +gF1AQAB/wH8AXYBAAH/AfoBdgEAAf8B8wFyAQAB/wHiAWsBAAH/Ab0BWQEAAf8BhwFAAQAB/wFxAUgB + IwH/A2gB8ANWAavAAAH+Ad0BwQH/Ae0BgAEgAf8B7QFxAQIB/wHzAXMBAAH/AfoBdgEAAf8B/gF4AQAC + /wF7AQgC/wGIAScC/wGiAVMB/wH+AYEBFwH/AfwBeAEEAf8B7AFvAQAB/wHBAVsBAAH/AYYBQQEDAf8B + eAFWATYB/wNjAd/AAAH/AbIBbwH/Af0BgAERAf8B/AF3AQEB/wH9AXcBAAL/AXgBAAL/AX8BDwL/AZIB + OwL/AbMBgwL/AeoB4AL/AZABPQL/AXsBCgH/AfwBdwEAAf8B5QFsAQAB/wGxAVQBAAH/AYQBSwEaAf8D + YwHfwAAB/wGaAUIC/wGDARUB/wH+AXoBBAL/AXgBAAL/AXgBAAL/AZUBPwL/AcoBrgL/AdoBxgL/Ae0B + 5QL/AZYBSQL/AXwBDQH/Af4BeAEAAf8B9AFzAQAB/wHQAWIBAAH/AZoBTgEKAf8BYwJdAd/AAAH/AZUB + NwL/AYkBHwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgBxQL/AbkBlAL/AYcB + IwL/AXgBAAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfwAAB/wGgAUkC/wGSATEC/wGBAREC + /wF5AQMC/wF4AQAC/wGoAVwC/wHgAc0C/wGhAWYC/wHYAcUC/wHAAZ8C/wGJAScC/wF4AQAB/wH+AXgB + AAH/AewBbwEAAf8BvwFaAQIB/wFjAl0B38AAAf8BswFvAv8BngFIAv8BiAEeAv8BfAEHAv8BeAEAAv8B + mAFDAv8BzgG0Av8B1wHAAv8B6gHgAv8BnQFXAv8BfgERAv8BeAEAAv8BeAEAAf8B8AFxAQAB/wHLAWQB + CQH/AWMBYQFdAd/AAAH/AcwBnwL/AawBYwL/AZMBMwL/AYEBEQL/AXkBAgL/AYIBFgL/AZoBSwL/Aa4B + eAL/AaUBVwL/AYEBFwL/AXkBBAL/AXgBAAL/AXgBAAH/AfABcQEAAf8B1QFxARcB/wJjAV0B38AAAf8B + 6QHVAv8BvAGBAv8BpAFUAv8BjgEqAv8BfwENAv8BeQECAv8BewEJAv8BggEdAv8BeAEAAv8BeAEAAv8B + eAEBAv8BegEEAv8BegEDAf8B8wF0AQMB/wHiAYQBMgH/A2MB38AAA14B0gGNAYYBewH5Af8BuwF9Av8B + owFSAv8BkAEsAv8BggETAv8BfQEIAv8BegEEAv8BeQECAv8BegEEAv8BfQEJAv8BgAEPAv8BfwENAf8B + +AGGASAB/wFxAmgB9ANYAbjAAAM8AWYDYwHVAYUCfAH4Af8BvgGFAv8BqgFfAv8BmQE+Av8BjQEnAv8B + hgEaAv8BgwEVAv8BhQEZAv8BigEiAv8BjQEoAv8BkwEzAf8BbwFuAWgB9QNdAcUDNgFZxAADQgFyA2MB + 1QGNAYgBggH5Af8ByQGZAv8BvAF/Av8BrgFmAv8BpAFTAv8BnwFKAv8BnwFLAv8BowFRAv8BpwFYAf8B + hQJ8AfgDXQHHAzsBYswAAzwBZQNeAdIB/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC + /wHNAaEC/wHpAdYB/wNcAcQDNQFVyAADZwHvAmcBWQHvAWcBXQFZAe8BZwFbAVkB7wFnAVsBWQHvAWcC + WQHvAWcBZAFZAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe84AAMzAVEDbgH1AwcB + CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB + OggAAzcBWgNYAbgDYwHfAmMBXQHfAWICXQHfA10B3wNdAd8BYQJdAd8DYwHfA2MB3wNVAawDMAFLCAAD + +AH/AbkBlQE8Af8BgwF9AW4B/wGEAX0BbAH/AaoBhAEnAf8BrAF7AQAB/wHMAbwBlAH/A34B/wN+Af8D + fgH/A34B/wN+Af8DfgH/A34B/wN+Af8DjgH/OAADEgEYAz8BbQNDAXUDXQHMA3wB+AOBAf8DgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A3wB+ANUAagEAAM7AWIDXQHFA2gB9AGfAWUB + MQH/AZcBUwEXAf8BlgFLAQkB/wGTAUYBAQH/AYwBQwEDAf8BfQFAAQsB/wFrAUABGgH/AW4BUAE2Af8D + aAHwA1oBtwM0AVQEAAT/AZcBiwFtAf8CgQGAAf8BggGBAYAB/wGYAYgBYAH/AcoBkAEAAf8B3QHMAZ8B + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/zQAA18B0wM9AWcEAANqAe0DfQH6A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNVAa8DNQFVA10B + xwJuAVoB9QG4AWUBGwH/AbkBWAECAf8ByQFfAQAB/wHYAWUBAAH/AdwBZwEAAf8B1gFkAQAB/wHDAVwB + AAH/AaIBTAEAAf8BfAE7AQMB/wFuAUYBIwH/A2gB8ANaAbcDMAFKBP8BhgGEAX0B/wOBAf8DgQH/AYcB + gwF6Af8BzwGUAQAB/wHeAcwBnwH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8DvAH/NAAD + WgHCAzQBUwQAA2MB3wNuAfUDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DgQH/A1UBrwNcAcQBfgF8AVwB+AHUAXEBGAH/AdcBZQEAAf8B5QFsAQAB/wHyAXIBAAH/AfoB + dQEAAf8B/AF2AQAB/wH6AXYBAAH/AfMBcgEAAf8B4gFrAQAB/wG9AVkBAAH/AYcBQAEAAf8BcQFIASMB + /wNoAfADVgGrBP8BiwGGAXoB/wOBAf8DgQH/AY4BhgFxAf8BzwGUAQAB/wHeAcwBnyH/A8oB/xAAAw0B + EQM/AWwDUwGnAVwCWQG+AVgCVgGzAUgCRwGDAyEBMAQAA28B8wM6AWAIAAM2AVgDWwHAA24B9QOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A2gB9ANSAaQB/gHdAcEB/wHtAYAB + IAH/Ae0BcQECAf8B8wFzAQAB/wH6AXYBAAH/Af4BeAEAAv8BewEIAv8BiAEnAv8BogFTAf8B/gGBARcB + /wH8AXgBBAH/AewBbwEAAf8BwQFbAQAB/wGGAUEBAwH/AXgBVgE2Af8DYwHfBP8BrAGWAWAB/wGDAYIB + fwH/AYUBggF9Af8BswGTAUQB/wHPAZQBAAH/Ad4BzAGfAf8DsAH/A7AB/wOwAf8DsAH/A7AB/wOwAf8D + sAH/A7AB/wOoAf8IAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0BAAH/AagBeAEAAf8B + lQFqAQAB/wGAAXABHAH+AVwCWQHGA1cBtQMWAR4IAAMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4D + gQH/A4EB/wOBAf8DgQH9A2gB8ANhAdQDUwGlAzYBWQMYASAB/wGyAW8B/wH9AYABEQH/AfwBdwEBAf8B + /QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcBAAH/AeUB + bAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwBogEUAf8B + zwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/BAADIAEtAmMB + WgHpAb8BiAEAAf8BzQGVAQoB/wGwAYgBJwH/AXMBZAE/Af8BTQFLAUcB/wFOAUsBQgH/AWYBVwExAf8B + mgF0ARcB/wGkAXYBAwH/AXABTwEAAf8DQwF2BAFEAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8BeAEAAv8B + eAEAAv8BlQE/Av8BygGuAv8B2gHGAv8B7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMBAAH/AdAB + YgEAAf8BmgFOAQoB/wFjAl0B3wT/AeEBrgExAf8BvQGXATsB/wHAAZgBNQH/AeMBpQEKAf8BzwGUAQAB + /wHeAcwBnwH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DrwH/BAACYwFaAekB2QGaAQAB + /wHaAaMBHAH/Ao4BjAH/A4oB/wOXAf8DmwH/A5EB/wN0Af8DSAH/AUMBQgE/Af8BtQGDAQcB/wF6AVcB + AAH/AzYBWAwAAwIBAwMIAQoDIQEvAzEBTgM9AWgDQwF2A0QBegNDAXUDPQFnAzEBTQMgAS4DBwEJBAIE + AAH/AZUBNwL/AYkBHwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgBxQL/AbkB + lAL/AYcBIwL/AXgBAAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfBP8BuwGdAVMB/wGIAYQB + eQH/AYwBhQF0Af8BxAGZATAB/wHPAZQBAAH/Ad4BzAGfIf8DygH/A0MBdgHpAacBAgH/AekBqwESAf8B + 0AHKAbsB/wOsAf8DXQH/A0wB/wNLAf8DRAH/Aw8B/wOzAf8DZgH/AVQBTAE6Af8BrgF9AQQB/wNdAcwI + AAMTARoDOQFdA1kBvANkAdsDagHtA2MB9gNfAfsDgQH9A18B+wNjAfYDZQHsA2MB2gNaAboDOAFcAxMB + GgH/AaABSQL/AZIBMQL/AYEBEQL/AXkBAwL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgBxQL/AcAB + nwL/AYkBJwL/AXgBAAH/Af4BeAEAAf8B7AFvAQAB/wG/AVoBAgH/AWMCXQHfBP8BlAGKAXMB/wOBAf8D + gQH/AZoBigFjAf8BzwGUAQAB/wHeAcwBnwH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D + tQH/AmoBYQHmAe0BrQEQAf8B9AHQAXYB/wP6Af8D+gH/A30B/wN/Af8DgAH/A4AB/wN+Af8DhAH/A7sB + /wNqAf8BqAGAARwB/wJjAUgB9gQAAxoBJANWAa4DaAH0A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DawHyA1IBoQH/AbMBbwL/AZ4BSAL/AYgBHgL/AXwBBwL/AXgBAAL/AZgB + QwL/Ac4BtAL/AdcBwAL/AeoB4AL/AZ0BVwL/AX4BEQL/AXgBAAL/AXgBAAH/AfABcQEAAf8BywFkAQkB + /wFjAWEBXQHfBP8BhgGDAX4B/wOBAf8DgQH/AYYBgwF7Af8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/AWQCYgHuAe8BtAEhAf8B9wHcAZcJ/wORAf8DiAH/A4cB + /wOHAf8DgQH/A1cB/wPmAf8DowH/AbYBkQE2Af8BfwFqAUEB+QQAA1cBsgNlAecDgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwH/AcwBnwL/AawBYwL/AZMB + MwL/AYEBEQL/AXkBAgL/AYIBFgL/AZoBSwL/Aa4BeAL/AaUBVwL/AYEBFwL/AXkBBAL/AXgBAAL/AXgB + AAH/AfABcQEAAf8B1QFxARcB/wJjAV0B3wT/AYsBhgF5Af8DgQH/A4EB/wGOAYYBcQH/Ac8BlAEAAf8B + 3gHMAZ8B/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wNLAY0B8AG+AT8B/wH0Ac0B + bCH/A/sB/wPQAf8B1wGnATEB/wJhAV0B0QQAA28B8wNfAfsDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwH/AekB1QL/AbwBgQL/AaQBVAL/AY4BKgL/AX8B + DQL/AXkBAgL/AXsBCQL/AYIBHQL/AXgBAAL/AXgBAAL/AXgBAQL/AXoBBAL/AXoBAwH/AfMBdAEDAf8B + 4gGEATIB/wNjAd8E/wGnAZQBZwH/AYMBggF/Af8BhQGDAX4B/wGwAZQBTgH/AdMBlwECAf8B4AHOAZ8B + /wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A8AB/wMHAQkBZAJiAe4B8QG8ATsB/wH6AeoB + wgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANkAdsDaAH0A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNVAa8DXgHSAY0B + hgF7AfkB/wG7AX0C/wGjAVIC/wGQASwC/wGCARMC/wF9AQgC/wF6AQQC/wF5AQIC/wF6AQQC/wF9AQkC + /wGAAQ8C/wF/AQ0B/wH4AYYBIAH/AXECaAH0A1gBuAT/AdcBsQFSAf8BmgGPAXQB/wGgAZIBbQH/AeAB + rwE3Af8B5wGpARAB/wHrAdUBoAH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/BAAD + MwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFkA18B + yQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqAzwB + ZgNjAdUBhQJ8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC/wGKASIC + /wGNASgC/wGTATMB/wFvAW4BaAH1A10BxQM2AVkE/wH0Ac0BbAH/AfQBywFmAf8B9AHLAWUB/wH0AcsB + ZQH/AfEBwQFJAf8B+QHjAawB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A5oB/wgAAyIB + MQNfAckBkgF9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8BugGMAW0B + /gJlAV4B4gM9AWgEAQgAAwYBCAMxAUwDUAGbA2UB7AN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D + gQH/A30B+gNqAe0DUAGbAy8BSQQAA0IBcgNjAdUBjQGIAYIB+QH/AckBmQL/AbwBfwL/Aa4BZgL/AaQB + UwL/AZ8BSgL/AZ8BSwL/AaMBUQL/AacBWAH/AYUCfAH4A10BxwM7AWIEAED/EAADDwETA0cBggNkAdsB + pwGMAW8B/ANnAeoDVAGoAygBOxwAAwUBBgMSARcDOgFgA1EBnwNfAdMDZwHvA2MB9gNiAe4DXgHSA1EB + ngM5AV8DEQEWAwUBBgwAAzwBZQNeAdIB/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC + /wHNAaEC/wHpAdYB/wNcAcQDNQFVCAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD + /wEAAcABAwYAAYABAWYAAYABAQYAAcABAwgAAf8B/AIAAcABAwIAAf8B/AIAAYABAQIAAf8B+QYAAf8B + +QYAAfABEwYAAcABAwYAAYABAQL/BAABgAEBAcABAQUAAQEBgAYAAQEHAAEBBwABAQcAAQEGAAGAAQEG + AAHAAQMCAAGAAQECAAHwAR8BwAEBAcABAws= diff --git a/qtcnet-client/Forms/ChatRoomForm.Designer.cs b/qtcnet-client/Forms/ChatRoomForm.Designer.cs index c3ef501..5f62751 100644 --- a/qtcnet-client/Forms/ChatRoomForm.Designer.cs +++ b/qtcnet-client/Forms/ChatRoomForm.Designer.cs @@ -35,8 +35,8 @@ btnSend = new Button(); lblRoomName = new Label(); lvUsers = new ListView(); - flpMessages = new FlowLayoutPanel(); ilStatusIcons = new ImageList(components); + flpMessages = new FlowLayoutPanel(); SuspendLayout(); // // lblUsersOnline @@ -86,6 +86,7 @@ // lvUsers // lvUsers.Location = new Point(12, 69); + lvUsers.MultiSelect = false; lvUsers.Name = "lvUsers"; lvUsers.Size = new Size(151, 315); lvUsers.SmallImageList = ilStatusIcons; @@ -93,6 +94,16 @@ lvUsers.UseCompatibleStateImageBehavior = false; lvUsers.View = View.List; // + // ilStatusIcons + // + ilStatusIcons.ColorDepth = ColorDepth.Depth32Bit; + ilStatusIcons.ImageStream = (ImageListStreamer)resources.GetObject("ilStatusIcons.ImageStream"); + ilStatusIcons.TransparentColor = Color.Transparent; + ilStatusIcons.Images.SetKeyName(0, "Offline"); + ilStatusIcons.Images.SetKeyName(1, "Online"); + ilStatusIcons.Images.SetKeyName(2, "Away"); + ilStatusIcons.Images.SetKeyName(3, "DoNotDisturb"); + // // flpMessages // flpMessages.AutoScroll = true; @@ -104,16 +115,6 @@ flpMessages.TabIndex = 7; flpMessages.WrapContents = false; // - // ilStatusIcons - // - ilStatusIcons.ColorDepth = ColorDepth.Depth32Bit; - ilStatusIcons.ImageStream = (ImageListStreamer)resources.GetObject("ilStatusIcons.ImageStream"); - ilStatusIcons.TransparentColor = Color.Transparent; - ilStatusIcons.Images.SetKeyName(0, "Offline"); - ilStatusIcons.Images.SetKeyName(1, "Online"); - ilStatusIcons.Images.SetKeyName(2, "Away"); - ilStatusIcons.Images.SetKeyName(3, "DoNotDisturb"); - // // ChatRoomForm // AutoScaleDimensions = new SizeF(7F, 15F); diff --git a/qtcnet-client/Forms/ChatRoomForm.resx b/qtcnet-client/Forms/ChatRoomForm.resx index 6d83f4c..fd395e1 100644 --- a/qtcnet-client/Forms/ChatRoomForm.resx +++ b/qtcnet-client/Forms/ChatRoomForm.resx @@ -125,89 +125,89 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAGhQAAAJNU0Z0AUkBTAIBAQQB - AAGYAQABmAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ + AAGgAQABoAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD - YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA0wB9QMkAfsDNwH+AzcB/gMkAfsDUwH0A2IB - 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBRgFYAUYB9QEhAVMBIQH7ARMBUwETAf4BEwFTARMB/gEhAVMB - IQH7AU8BUwFPAfQDYgHhA1EBoQMeASoQAAMgAS0DVAGrA1sB5AFGAlgB9QEhAlMB+wETAlMB/gETAlMB - /gEhAlMB+wFPAlMB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkYBWAH1AiEBUwH7AhMBUwH+AhMB - UwH+AiEBUwH7Ak8BUwH0A2IB4QNRAaEDHgEqDAADGwElA1gBvQNaAfIDOwH+AzAB/wM5Af8DPAH/AzYB - /wMqAf8DJAH/A0AB/QNZAfADVgGyAxoBIwgAAxsBJQNYAb0BVwFaAVcB8gETAVsBEwH+AQABVwEAAf8B - AAFnAQAB/wEAAWwBAAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ASYBQAEmAf0BVAFeAVQB8ANWAbIB - GQEaARkBIwgAAxsBJQNYAb0BVwJaAfIBEwJbAf4BAAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8B - AAJAAf8BJgJAAf0BVAJeAfADVgGyARkCGgEjCAADGwElA1gBvQJXAVoB8gITAVsB/gIAAVcB/wIAAWcB - /wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wImAUAB/QJUAV4B8ANWAbICGQEaASMEAAMDAQQDUgGlA18B - 8wNJAf8DVQH/A2UB/wNxAf8DdQH/A3EB/wNkAf8DTAH/AzEB/wM3Af4DXQHuA1ABmgMDAQQDAwEEAVIB - UwFSAaUBUQFvAVEB8wEAAYIBAAH/AQABmQEAAf8BAAG2AQAB/wEAAcwBAAH/AQAB0wEAAf8BAAHLAQAB - /wEAAbMBAAH/AQABiAEAAf8BAAFXAQAB/wETAVMBEwH+AVoBYQFaAe4DUAGaAwMBBAMDAQQBUgJTAaUB - UQJvAfMBAAKCAf8BAAKZAf8BAAK2Af8BAALMAf8BAALTAf8BAALLAf8BAAKzAf8BAAKIAf8BAAJXAf8B - EwJTAf4BWgJhAe4DUAGaAwMBBAMDAQQCUgFTAaUCUQFvAfMCAAGCAf8CAAGZAf8CAAG2Af8CAAHMAf8C - AAHTAf8CAAHLAf8CAAGzAf8CAAGIAf8CAAFXAf8CEwFTAf4CWgFhAe4DUAGaAwMBBAMtAUQDYAHoA3YB + YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA00B9QMkAfsDOAH+AzgB/gMkAfsDUwH0A2IB + 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBRwFZAUcB9QEhAVQBIQH7ARQBVAEUAf4BFAFUARQB/gEhAVQB + IQH7AVEBUwFRAfQDYgHhA1EBoQMeASoQAAMgAS0DVAGrA1sB5AFHAlkB9QEhAlQB+wEUAlQB/gEUAlQB + /gEhAlQB+wFRAlMB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkcBWQH1AiEBVAH7AhQBVAH+AhQB + VAH+AiEBVAH7AlEBUwH0A2IB4QNRAaEDHgEqDAADGwElA1gBvQNaAfIDPAH+AzAB/wM5Af8DPAH/AzYB + /wMqAf8DJAH/A0AB/QNaAfADVgGyAxoBIwgAAxsBJQNYAb0BWQFaAVkB8gEUAVwBFAH+AQABVwEAAf8B + AAFnAQAB/wEAAWwBAAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ASgBQAEoAf0BVQFeAVUB8ANWAbIB + GQEaARkBIwgAAxsBJQNYAb0BWQJaAfIBFAJcAf4BAAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8B + AAJAAf8BKAJAAf0BVQJeAfADVgGyARkCGgEjCAADGwElA1gBvQJZAVoB8gIUAVwB/gIAAVcB/wIAAWcB + /wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wIoAUAB/QJVAV4B8ANWAbICGQEaASMEAAMDAQQDUgGlA2AB + 8wNJAf8DVQH/A2UB/wNxAf8DdQH/A3EB/wNkAf8DTAH/AzEB/wM4Af4DXgHuA1ABmgMDAQQDAwEEAVIB + UwFSAaUBUgFvAVIB8wEAAYIBAAH/AQABmQEAAf8BAAG2AQAB/wEAAcwBAAH/AQAB0wEAAf8BAAHLAQAB + /wEAAbMBAAH/AQABiAEAAf8BAAFXAQAB/wEUAVQBFAH+AVsBYgFbAe4DUAGaAwMBBAMDAQQBUgJTAaUB + UgJvAfMBAAKCAf8BAAKZAf8BAAK2Af8BAALMAf8BAALTAf8BAALLAf8BAAKzAf8BAAKIAf8BAAJXAf8B + FAJUAf4BWwJiAe4DUAGaAwMBBAMDAQQCUgFTAaUCUgFvAfMCAAGCAf8CAAGZAf8CAAG2Af8CAAHMAf8C + AAHTAf8CAAHLAf8CAAGzAf8CAAGIAf8CAAFXAf8CFAFUAf4CWwFiAe4DUAGaAwMBBAMtAUQDYAHoA3cB /gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B3QMqAT8DLQFEAWAB - aQFgAegBEwGOARMB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB+wEAAf8BAAH5AQAB - /wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/ASYBQAEmAf0DXgHdAyoBPwMtAUQBYAJpAegB - EwKOAf4BAALGAf8BAALcAf8BAALuAf8BAAL4Af8BAAL7Af8BAAL5Af8BAALvAf8BAALUAf8BAAKcAf8B - AAJaAf8BJgJAAf0DXgHdAyoBPwMtAUQCYAFpAegCEwGOAf4CAAHGAf8CAAHcAf8CAAHuAf8CAAH4Af8C - AAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8CJgFAAf0DXgHdAyoBPwNOAZUDdwH4A38B - /wOFAf8DigH/A40B/wOOAf8DjgH/A44B/wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB8gNKAYsDTgGVAT0B - kAE9AfgBAAHlAQAB/wEAAe8BAAH/AQAB+AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB/wEAAYsBAAH/AQABQQEAAf8BVwFaAVcB8gNKAYsDTgGVAT0C - kAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC - iwH/AQACQQH/AVcCWgHyA0oBiwNOAZUCPQGQAfgCAAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8CAAL/AgAC - /wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8CAAFBAf8CVwFaAfIDSgGLA18B0wN+AfwDkwH/A44B + aQFgAegBFAGMARQB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB+wEAAf8BAAH5AQAB + /wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/ASgBQAEoAf0DXgHdAyoBPwMtAUQBYAJpAegB + FAKMAf4BAALGAf8BAALcAf8BAALuAf8BAAL4Af8BAAL7Af8BAAL5Af8BAALvAf8BAALUAf8BAAKcAf8B + AAJaAf8BKAJAAf0DXgHdAyoBPwMtAUQCYAFpAegCFAGMAf4CAAHGAf8CAAHcAf8CAAHuAf8CAAH4Af8C + AAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8CKAFAAf0DXgHdAyoBPwNOAZUDdwH4A38B + /wOFAf8DigH/A40B/wOOAf8DjgH/A44B/wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB8gNKAYsDTgGVAT4B + jQE+AfgBAAHlAQAB/wEAAe8BAAH/AQAB+AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB + /wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB/wEAAYsBAAH/AQABQQEAAf8BWQFaAVkB8gNKAYsDTgGVAT4C + jQH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC + iwH/AQACQQH/AVkCWgHyA0oBiwNOAZUCPgGNAfgCAAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8CAAL/AgAC + /wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8CAAFBAf8CWQFaAfIDSgGLA18B0wN+AfwDkwH/A44B /wONAf8DjgH/A44B/wOOAf8DjgH/A44B/wONAf8DhQH/A2cB/wM0Af8DQQH5A1oBxAFbAV8BWwHTASsB - ugErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB/gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB/wEAAbkBAAH/AQABXQEAAf8BOAFBATgB+QNaAcQBWwJfAdMB - KwK6AfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB - /wEAAl0B/wE4AkEB+QNaAcQCWwFfAdMCKwG6AfwCDgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8C - AAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB/wIAAV0B/wI4AUEB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B - /wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAUsBgwFLAfUBNwHZATcB + uAErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB/gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB + /wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB/wEAAbkBAAH/AQABXQEAAf8BOwFBATsB+QNaAcQBWwJfAdMB + KwK4AfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB + /wEAAl0B/wE7AkEB+QNaAcQCWwFfAdMCKwG4AfwCDgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8C + AAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB/wIAAV0B/wI7AUEB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B + /wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAUwBgQFMAfUBOAHXATgB /gEnAf8BJwH/AQsB/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wEmAUABJgH9A2IB4QFLAoMB9QE3AtkB - /gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB/wEAAoEB/wEmAkAB - /QNiAeECSwGDAfUCNwHZAf4CJwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8C - AAHWAf8CAAGBAf8CJgFAAf0DYgHhA3QB9gOIAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B - /wOOAf8DjQH/A38B/wNVAf8DQAH9A14B4gFIAYcBSAH2AVoB2QFaAf4BQgH/AUIB/wEZAf8BGQH/AQQB + /wEAAf8BAAH/AQAB/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wEoAUABKAH9A2IB4QFMAoEB9QE4AtcB + /gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB/wEAAoEB/wEoAkAB + /QNiAeECTAGBAfUCOAHXAf4CJwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8C + AAHWAf8CAAGBAf8CKAFAAf0DYgHhA3MB9gOGAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B + /wOOAf8DjQH/A38B/wNVAf8DQAH9A14B4gFIAYMBSAH2AVsB1wFbAf4BQgH/AUIB/wEZAf8BGQH/AQQB /wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB - /wEAAeQBAAH/AQABmAEAAf8BJgFAASYB/QNeAeIBSAKHAfYBWgLZAf4BQgP/ARkD/wEEA/8BAAP/AQAD - /wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8BAAKYAf8BJgJAAf0DXgHiAkgBhwH2AloB2QH+AkIC - /wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/AiYBQAH9A14B - 4gNhAdYDiQH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B - +gNaAccBXAFhAVwB1gFkAb4BZAH8AV8B/wFfAf8BLwH/AS8B/wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB/wEAAaUBAAH/AScB - TQEnAfoDWgHHAVwCYQHWAWQCvgH8AV8D/wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC - /gH/AQAC6gH/AQACpQH/AScCTQH6A1oBxwJcAWEB1gJkAb4B/AJfAv8CLwL/AgwC/wIBAv8CAAL/AgAC - /wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wInAU0B+gNaAccDUAGaA40B+QPFAf8DsgH/A5wB - /wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB/wNaAfIDTAGQA1ABmgFqAaEBagH5AXwB + /wEAAeQBAAH/AQABmAEAAf8BKAFAASgB/QNeAeIBSAKDAfYBWwLXAf4BQgP/ARkD/wEEA/8BAAP/AQAD + /wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8BAAKYAf8BKAJAAf0DXgHiAkgBgwH2AlsB1wH+AkIC + /wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/AigBQAH9A14B + 4gNhAdYDhgH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B + +gNaAccBXAFhAVwB1gFkAbwBZAH8AV8B/wFfAf8BLwH/AS8B/wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB + /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB/wEAAaUBAAH/ASgB + TQEoAfoDWgHHAVwCYQHWAWQCvAH8AV8D/wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC + /gH/AQAC6gH/AQACpQH/ASgCTQH6A1oBxwJcAWEB1gJkAbwB/AJfAv8CLwL/AgwC/wIBAv8CAAL/AgAC + /wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wIoAU0B+gNaAccDUAGaA4wB+QPFAf8DsgH/A5wB + /wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB/wNaAfIDTAGQA1ABmgFqAZ0BagH5AXwB /wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB/wEHAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVcBawFXAfIDTAGQA1ABmgFqAqEB+QF8A/8B - UQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB/wEAAq0B/wFXAmsB8gNMAZAD - UAGaAmoBoQH5AnwC/wJRAv8CHwL/AgcC/wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgAB - rQH/AlcBawHyA0wBkAMvAUkDbAHrA6oB/gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB - /wOFAf8DUwH9A2AB4AMtAUUDLwFJA2wB6wGAAdkBgAH+AX8B/wF/Af8BSQH/AUkB/wEfAf8BHwH/AQwB - /wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB/wEFAf8BCgH/AQoB/wEKAf4BCgH/AQEB7QEBAf8BJgG2ASYB - /QFgAWYBYAHgAy0BRQMvAUkDbAHrAYAC2QH+AX8D/wFJA/8BHwP/AQwD/wEFA/8BAwP/AQUD/wEKA/8B - CgL+Af8BAQLtAf8BJgK2Af0BYAJmAeADLQFFAy8BSQNsAesCgAHZAf4CfwL/AkkC/wIfAv8CDAL/AgUC - /wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wImAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgN8AfUD2QH/A8sB - /wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4BbwGDAW8B + /wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVkBawFZAfIDTAGQA1ABmgFqAp0B+QF8A/8B + UQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB/wEAAq0B/wFZAmsB8gNMAZAD + UAGaAmoBnQH5AnwC/wJRAv8CHwL/AgcC/wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgAB + rQH/AlkBawHyA0wBkAMvAUkDbAHrA6gB/gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB + /wOFAf8DUgH9A2AB4AMtAUUDLwFJA2wB6wGAAdcBgAH+AX8B/wF/Af8BSQH/AUkB/wEfAf8BHwH/AQwB + /wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB/wEFAf8BCgH/AQoB/wEKAf4BCgH/AQEB7QEBAf8BKAG2ASgB + /QFgAWYBYAHgAy0BRQMvAUkDbAHrAYAC1wH+AX8D/wFJA/8BHwP/AQwD/wEFA/8BAwP/AQUD/wEKA/8B + CgL+Af8BAQLtAf8BKAK2Af0BYAJmAeADLQFFAy8BSQNsAesCgAHXAf4CfwL/AkkC/wIfAv8CDAL/AgUC + /wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wIoAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgN5AfUD2QH/A8sB + /wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4BbgGBAW4B 9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB/wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB/wEfAf8BHwH/ASYB - /wEmAf8BHQH/AR0B/wEFAfMBBQH/AVQBawFUAfADUgGjAwMBBAMDAQQDVgGuAW8CgwH1AagD/wGJA/8B - XAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AVQCawHwA1IBowMDAQQDAwEEA1YBrgJvAYMB - 9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC/wIfAv8CJgL/Ah0C/wIFAfMB/wJUAWsB8ANSAaMDAwEEBAAD - HAEnA10BxwN9AfYDuQH+A9cB/wPMAf8DwgH/A7sB/wO3Af8DsQH/A4AB/gNpAfQDWQG8AxsBJggAAxwB - JwNdAccBdwGHAXcB9gGRAdkBkQH+AaUB/wGlAf8BiwH/AYsB/wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB - /wFOAf8BTgH/AUMB2QFDAf4BUgF9AVIB9AFXAVkBVwG8AxsBJggAAxwBJwNdAccBdwKHAfYBkQLZAf4B - pQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BQwLZAf4BUgJ9AfQBVwJZAbwDGwEmCAADHAEnA10BxwJ3AYcB - 9gKRAdkB/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C/wJDAdkB/gJSAX0B9AJXAVkBvAMbASYMAAMhATAD - WQG2A2wB7gOfAfoDvgH9A9QB/wPMAf8DvgH9A4kB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYBagFuAWoB - 7gGHAakBhwH6Aa4BxgGuAf0BnwH/AZ8B/wGMAf8BjAH/AWMBxgFjAf0BaAGhAWgB+QFhAWwBYQHrA1UB - rAMfASwQAAMhATADWQG2AWoCbgHuAYcCqQH6Aa4CxgH9AZ8D/wGMA/8BYwLGAf0BaAKhAfkBYQJsAesD - VQGsAx8BLBAAAyEBMANZAbYCagFuAe4ChwGpAfoCrgHGAf0CnwL/AowC/wJjAcYB/QJoAaEB+QJhAWwB - 6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA60B/AOYAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB - WANVAawDZgHlAX4BvgF+AfwBdwGyAXcB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUB - fgK+AfwBdwKyAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAn4BvgH8AncBsgH7A2UB + /wEmAf8BHQH/AR0B/wEFAfMBBQH/AVUBagFVAfADUgGjAwMBBAMDAQQDVgGuAW4CgQH1AagD/wGJA/8B + XAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AVUCagHwA1IBowMDAQQDAwEEA1YBrgJuAYEB + 9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC/wIfAv8CJgL/Ah0C/wIFAfMB/wJVAWoB8ANSAaMDAwEEBAAD + HAEnA10BxwN7AfYDtwH+A9cB/wPMAf8DwgH/A7sB/wO3Af8DsQH/A4AB/gNoAfQDWQG8AxsBJggAAxwB + JwNdAccBdgGDAXYB9gGPAdcBjwH+AaUB/wGlAf8BiwH/AYsB/wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB + /wFOAf8BTgH/AUQB1wFEAf4BUwF7AVMB9AFXAVkBVwG8AxsBJggAAxwBJwNdAccBdgKDAfYBjwLXAf4B + pQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BRALXAf4BUwJ7AfQBVwJZAbwDGwEmCAADHAEnA10BxwJ2AYMB + 9gKPAdcB/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C/wJEAdcB/gJTAXsB9AJXAVkBvAMbASYMAAMhATAD + WQG2A2sB7gOdAfoDvgH9A9QB/wPMAf8DvgH9A4gB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYBaQFtAWkB + 7gGEAacBhAH6Aa4BwwGuAf0BnwH/AZ8B/wGMAf8BjAH/AWIBwwFiAf0BaAGdAWgB+QFhAWwBYQHrA1UB + rAMfASwQAAMhATADWQG2AWkCbQHuAYQCpwH6Aa4CwwH9AZ8D/wGMA/8BYgLDAf0BaAKdAfkBYQJsAesD + VQGsAx8BLBAAAyEBMANZAbYCaQFtAe4ChAGnAfoCrgHDAf0CnwL/AowC/wJiAcMB/QJoAZ0B+QJhAWwB + 6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA6sB/AOXAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB + WANVAawDZgHlAX4BvAF+AfwBdQGuAXUB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUB + fgK8AfwBdQKuAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAn4BvAH8AnUBrgH7A2UB 4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB 4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYAB AQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw== diff --git a/qtcnet-client/Forms/MainForm.cs b/qtcnet-client/Forms/MainForm.cs index 664e69e..de1f849 100644 --- a/qtcnet-client/Forms/MainForm.cs +++ b/qtcnet-client/Forms/MainForm.cs @@ -46,6 +46,9 @@ namespace qtcnet_client _credentialService = credentialService; _config = config; + // sub to currentuser updates + _apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate; + InitializeComponent(); } @@ -406,47 +409,68 @@ namespace qtcnet_client CurrentProfileControl?.RefreshInfo(); } - private void _gatewayService_OnUserForceLogout(object? sender, EventArgs e) + private async void _gatewayService_OnUserForceLogout(object? sender, EventArgs e) { KryptonMessageBox.Show("The Server Has Logged You Out. Please Try Signing In Again.", "Uh Oh.", KryptonMessageBoxButtons.OK, KryptonMessageBoxIcon.Error); - _credentialService.DeleteAccessToken(); - - SuspendLayout(); - - // remove controls - Controls.Remove(MainTabControl); - Controls.Remove(CurrentProfileControl); - - // dispose of them - MainTabControl?.Dispose(); - MainTabControl = null; - CurrentProfileControl?.Dispose(); - CurrentProfileControl = null; - - // readd login control and branding - Size = LoggedOutSize; - - // add branding control - BrandingControl = new() + var _res = await _apiService.LogoutAsync(); + if(_res) { - Location = new(-2, -17), - Anchor = AnchorStyles.Top | AnchorStyles.Left - }; + _credentialService.DeleteAccessToken(); - // add login control - LoginControl = new() - { - Location = new(12, 233) - }; - LoginControl.OnSuccessfulLogin += LoginControl_OnSuccessfulLogin; - LoginControl.OnRegisterPressed += LoginControl_OnRegisterPressed; + SuspendLayout(); - Controls.Add(BrandingControl); - Controls.Add(LoginControl); + // remove controls + Controls.Remove(MainTabControl); + Controls.Remove(CurrentProfileControl); - ResumeLayout(true); + // dispose of them + MainTabControl?.Dispose(); + MainTabControl = null; + CurrentProfileControl?.Dispose(); + CurrentProfileControl = null; + + // readd login control and branding + Size = LoggedOutSize; + + // unsub from gateway events + + _gatewayService.OnServerReconnecting -= _gatewayService_OnServerReconnecting; + _gatewayService.OnServerReconnected -= _gatewayService_OnServerReconnected; + _gatewayService.OnServerDisconnect -= _gatewayService_OnServerDisconnect; + //_gatewayService.OnDirectMessageReceived -= _gatewayService_OnDirectMessageReceived; + _gatewayService.OnRoomMessageReceived -= _gatewayService_OnRoomMessageReceived; + _gatewayService.OnRoomUserListReceived -= _gatewayService_OnRoomUserListReceived; + _gatewayService.OnRefreshUserListsReceived -= _gatewayService_OnRefreshUserListReceived; + _gatewayService.OnRefreshRoomListReceived -= _gatewayService_OnRefreshRoomListReceived; + _gatewayService.OnRefreshContactsListReceived -= _gatewayService_OnRefreshContactsListReceived; + _gatewayService.OnServerConfigReceived -= _gatewayService_OnServerConfigReceived; + _gatewayService.OnUserForceLogout -= _gatewayService_OnUserForceLogout; + + // stop gateway connection + await _gatewayService.StopAsync(); + + // add branding control + BrandingControl = new() + { + Location = new(-2, -17), + Anchor = AnchorStyles.Top | AnchorStyles.Left + }; + + // add login control + LoginControl = new() + { + Location = new(12, 233) + }; + LoginControl.OnSuccessfulLogin += LoginControl_OnSuccessfulLogin; + LoginControl.OnRegisterPressed += LoginControl_OnRegisterPressed; + + Controls.Add(BrandingControl); + Controls.Add(LoginControl); + + ResumeLayout(true); + } } private void _gatewayService_OnServerConfigReceived(object? sender, EventArgs e) @@ -496,19 +520,22 @@ namespace qtcnet_client { if(e is ServerConnectionClosedEventArgs _args) { - Reconnect: // probably not the best idea to use labels but whatever - var _dialogRes = KryptonMessageBox.Show($"Connection To The Server Lost. Would You Like To Try Again?\n\nError - {_args.Error?.Message}", "Uh Oh.", - KryptonMessageBoxButtons.YesNo, KryptonMessageBoxIcon.Error); - if(_dialogRes == DialogResult.Yes) + if(_args.Error != null) { - // completely restart connection - await _gatewayService.StopAsync(); - await _gatewayService.StartAsync(); + Reconnect: // probably not the best idea to use labels but whatever + var _dialogRes = KryptonMessageBox.Show($"Connection To The Server Lost. Would You Like To Try Again?\n\nError - {_args.Error?.Message}", "Uh Oh.", + KryptonMessageBoxButtons.YesNo, KryptonMessageBoxIcon.Error); + if (_dialogRes == DialogResult.Yes) + { + // completely restart connection + await _gatewayService.StopAsync(); + await _gatewayService.StartAsync(); - if (_gatewayService.HubConnection?.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected) - _gatewayService_OnServerReconnected(sender, e); - else - goto Reconnect; + if (_gatewayService.HubConnection?.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected) + _gatewayService_OnServerReconnected(sender, e); + else + goto Reconnect; + } } } } @@ -572,9 +599,6 @@ namespace qtcnet_client if (_apiService.CurrentUser != null) { - // sub to currentuser updates - _apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate; - // pause ui SuspendLayout(); @@ -618,6 +642,9 @@ namespace qtcnet_client Location = new(12, 12), }; + CurrentProfileControl.OnEditProfileClicked += CurrentProfileControl_OnEditProfileClicked; + CurrentProfileControl.OnSignOutClicked += CurrentProfileControl_OnSignOutClicked; + // get profile image for the current user var _currentProfileImageRes = await _apiService.GetUserProfilePic(_apiService.CurrentUser.Id); if (_currentProfileImageRes.Success && _currentProfileImageRes.Data != null) @@ -671,6 +698,104 @@ namespace qtcnet_client } } + private async void CurrentProfileControl_OnSignOutClicked(object? sender, EventArgs e) + { + var _dialogRes = KryptonMessageBox.Show("Doing This Will Sign You Out. Are You Sure?", "are you sure...?", + KryptonMessageBoxButtons.YesNo, KryptonMessageBoxIcon.Question); + + if (_dialogRes == DialogResult.Yes) + { + var _res = await _apiService.LogoutAsync(); + + if(_res) + { + _credentialService.DeleteAccessToken(); + + SuspendLayout(); + + // remove controls + Controls.Remove(MainTabControl); + Controls.Remove(CurrentProfileControl); + + // dispose of them + MainTabControl?.Dispose(); + MainTabControl = null; + CurrentProfileControl?.Dispose(); + CurrentProfileControl = null; + + // readd login control and branding + Size = LoggedOutSize; + + // unsub from gateway events + + _gatewayService.OnServerReconnecting -= _gatewayService_OnServerReconnecting; + _gatewayService.OnServerReconnected -= _gatewayService_OnServerReconnected; + _gatewayService.OnServerDisconnect -= _gatewayService_OnServerDisconnect; + //_gatewayService.OnDirectMessageReceived -= _gatewayService_OnDirectMessageReceived; + _gatewayService.OnRoomMessageReceived -= _gatewayService_OnRoomMessageReceived; + _gatewayService.OnRoomUserListReceived -= _gatewayService_OnRoomUserListReceived; + _gatewayService.OnRefreshUserListsReceived -= _gatewayService_OnRefreshUserListReceived; + _gatewayService.OnRefreshRoomListReceived -= _gatewayService_OnRefreshRoomListReceived; + _gatewayService.OnRefreshContactsListReceived -= _gatewayService_OnRefreshContactsListReceived; + _gatewayService.OnServerConfigReceived -= _gatewayService_OnServerConfigReceived; + _gatewayService.OnUserForceLogout -= _gatewayService_OnUserForceLogout; + + // stop gateway connection + await _gatewayService.StopAsync(); + + // add branding control + BrandingControl = new() + { + Location = new(-2, -17), + Anchor = AnchorStyles.Top | AnchorStyles.Left + }; + + // add login control + LoginControl = new() + { + Location = new(12, 233) + }; + LoginControl.OnSuccessfulLogin += LoginControl_OnSuccessfulLogin; + LoginControl.OnRegisterPressed += LoginControl_OnRegisterPressed; + + Controls.Add(BrandingControl); + Controls.Add(LoginControl); + + ResumeLayout(true); + } + } + } + + private async void CurrentProfileControl_OnEditProfileClicked(object? sender, EventArgs e) + { + var _user = await _apiService.GetUserInformationAsync(_apiService.CurrentUser!.Id); + if (_user.Success && _user.Data != null) + { + // create a profile form + ProfileForm _profile = new(_apiService) + { + UserId = _user.Data.Id, + Username = _user.Data.Username, + Bio = _user.Data.Bio, + Status = _user.Data.Status, + }; + + // get profile image + var _pfpBytes = await _apiService.GetUserProfilePic(_apiService.CurrentUser!.Id); + if (_pfpBytes.Success && _pfpBytes.Data != null) + { + using var ms = new MemoryStream(_pfpBytes.Data); + Image img = Image.FromStream(ms); + _profile.ProfileImage = img; + } + + _profile.OnClose += ProfileForm_OnClose; + + OpenProfileForms.Add(_profile); + _profile.Show(); + } + } + private void _gatewayService_OnRoomUserListReceived(object? sender, EventArgs e) { if(e is RoomListEventArgs _args)