From c92d6426451704ecd6fbddffd88f702ec0b9ae07 Mon Sep 17 00:00:00 2001 From: Moonbase Date: Wed, 10 Dec 2025 20:11:53 -0800 Subject: [PATCH] Reimplement Store and Cosmetic Changing --- .../Controls/MainTabControl.Designer.cs | 41 +- qtcnet-client/Controls/MainTabControl.cs | 86 +- qtcnet-client/Controls/MainTabControl.resx | 920 +++++++++++------- qtcnet-client/Factories/ImageFactory.cs | 15 + qtcnet-client/Forms/MainForm.cs | 67 +- qtcnet-client/Forms/ProfileForm.Designer.cs | 8 + qtcnet-client/Forms/ProfileForm.cs | 42 +- qtcnet-client/Forms/ProfileForm.resx | 3 + qtcnet-client/Forms/StoreItemForm.Designer.cs | 176 ++++ qtcnet-client/Forms/StoreItemForm.cs | 56 ++ qtcnet-client/Forms/StoreItemForm.resx | 120 +++ 11 files changed, 1140 insertions(+), 394 deletions(-) create mode 100644 qtcnet-client/Forms/StoreItemForm.Designer.cs create mode 100644 qtcnet-client/Forms/StoreItemForm.cs create mode 100644 qtcnet-client/Forms/StoreItemForm.resx diff --git a/qtcnet-client/Controls/MainTabControl.Designer.cs b/qtcnet-client/Controls/MainTabControl.Designer.cs index 939b6b6..ea99ee5 100644 --- a/qtcnet-client/Controls/MainTabControl.Designer.cs +++ b/qtcnet-client/Controls/MainTabControl.Designer.cs @@ -45,9 +45,9 @@ lvGameList = new ListView(); ilGameIcons = new ImageList(components); tpStore = new TabPage(); - listView1 = new ListView(); - ilTabIcons = new ImageList(components); + lvStoreItems = new ListView(); ilStoreIcons = new ImageList(components); + ilTabIcons = new ImageList(components); tcMain.SuspendLayout(); tpContacts.SuspendLayout(); tpRooms.SuspendLayout(); @@ -210,7 +210,7 @@ // tpStore // tpStore.BorderStyle = BorderStyle.Fixed3D; - tpStore.Controls.Add(listView1); + tpStore.Controls.Add(lvStoreItems); tpStore.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point, 0); tpStore.ImageKey = "Store"; tpStore.Location = new Point(4, 24); @@ -221,16 +221,25 @@ tpStore.Text = "Store"; tpStore.UseVisualStyleBackColor = true; // - // listView1 + // lvStoreItems // - listView1.BorderStyle = BorderStyle.None; - listView1.Dock = DockStyle.Fill; - listView1.Location = new Point(3, 3); - listView1.MultiSelect = false; - listView1.Name = "listView1"; - listView1.Size = new Size(362, 539); - listView1.TabIndex = 0; - listView1.UseCompatibleStateImageBehavior = false; + lvStoreItems.BorderStyle = BorderStyle.None; + lvStoreItems.Dock = DockStyle.Fill; + lvStoreItems.LargeImageList = ilStoreIcons; + lvStoreItems.Location = new Point(3, 3); + lvStoreItems.MultiSelect = false; + lvStoreItems.Name = "lvStoreItems"; + lvStoreItems.Size = new Size(362, 539); + lvStoreItems.TabIndex = 0; + lvStoreItems.UseCompatibleStateImageBehavior = false; + lvStoreItems.DoubleClick += lvStoreItems_DoubleClick; + // + // ilStoreIcons + // + ilStoreIcons.ColorDepth = ColorDepth.Depth32Bit; + ilStoreIcons.ImageStream = (ImageListStreamer)resources.GetObject("ilStoreIcons.ImageStream"); + ilStoreIcons.TransparentColor = Color.Transparent; + ilStoreIcons.Images.SetKeyName(0, "Default"); // // ilTabIcons // @@ -243,12 +252,6 @@ ilTabIcons.Images.SetKeyName(3, "Games"); ilTabIcons.Images.SetKeyName(4, "Store"); // - // ilStoreIcons - // - ilStoreIcons.ColorDepth = ColorDepth.Depth32Bit; - ilStoreIcons.ImageSize = new Size(32, 32); - ilStoreIcons.TransparentColor = Color.Transparent; - // // MainTabControl // AutoScaleDimensions = new SizeF(7F, 15F); @@ -280,7 +283,7 @@ private ImageList ilStatusIcons; private TableLayoutPanel tlpContactsList; private TabPage tpStore; - private ListView listView1; + private ListView lvStoreItems; private TabPage tpRooms; private TableLayoutPanel tlpRoomsList; private ImageList ilGameIcons; diff --git a/qtcnet-client/Controls/MainTabControl.cs b/qtcnet-client/Controls/MainTabControl.cs index 0926145..6d58c96 100644 --- a/qtcnet-client/Controls/MainTabControl.cs +++ b/qtcnet-client/Controls/MainTabControl.cs @@ -1,4 +1,6 @@ using Krypton.Toolkit; +using qtcnet_client.Factories; +using QtCNETAPI.Schema; using System; using System.Collections.Generic; using System.ComponentModel; @@ -13,19 +15,24 @@ namespace qtcnet_client.Controls { [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public ListViewItem? SelectedUser { get; set; } + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public ListViewItem? SelectedStoreItem { get; set; } public event EventHandler? OnContactControlDoubleClicked; public event EventHandler? OnUserItemDoubleClicked; public event EventHandler? OnRoomControlDoubleClicked; + public event EventHandler? OnStoreItemDoubleClicked; - public MainTabControl() + private ImageFactory _imgFactory; + public MainTabControl(ImageFactory imageFactory) { + _imgFactory = imageFactory; InitializeComponent(); } public void AddContacts(List contactControls) { - if(tlpContactsList.InvokeRequired) + if (tlpContactsList.InvokeRequired) { tlpContactsList.Invoke(() => { @@ -42,7 +49,8 @@ namespace qtcnet_client.Controls tlpContactsList.ResumeLayout(true); }); - } else + } + else { tlpContactsList.SuspendLayout(); @@ -63,7 +71,7 @@ namespace qtcnet_client.Controls public void AddRooms(List roomControls) { - if(tlpRoomsList.InvokeRequired) + if (tlpRoomsList.InvokeRequired) { tlpRoomsList.Invoke(() => { @@ -80,7 +88,8 @@ namespace qtcnet_client.Controls tlpRoomsList.ResumeLayout(true); }); - } else + } + else { tlpRoomsList.SuspendLayout(); @@ -101,7 +110,7 @@ namespace qtcnet_client.Controls public void AddUsers(List users) { - if(lvUserList.InvokeRequired) + if (lvUserList.InvokeRequired) { lvUserList.Invoke(() => { @@ -112,7 +121,8 @@ namespace qtcnet_client.Controls lvUserList.ResumeLayout(true); }); - } else + } + else { lvUserList.SuspendLayout(); @@ -125,15 +135,73 @@ namespace qtcnet_client.Controls private void lvUserList_MouseDoubleClick(object sender, MouseEventArgs e) { - if(lvUserList.SelectedItems.Count > 0) + if (lvUserList.SelectedItems.Count > 0) { ListViewItem? lvi = lvUserList.SelectedItems[0]; - if(lvi != null) + if (lvi != null) { SelectedUser = lvi; OnUserItemDoubleClicked?.Invoke(this, EventArgs.Empty); } } } + + public async void AddStoreItems(List items) + { + if (lvStoreItems.InvokeRequired) + { + await lvStoreItems.Invoke(async () => + { + lvStoreItems.SuspendLayout(); + + // iterate through store items + foreach (var item in items) + { + ilStoreIcons.Images.Add(await _imgFactory.GetStoreItemThumb(item.Id)); + + lvStoreItems.Items.Add(new ListViewItem() + { + Tag = item.Id, + Text = item.Name, + ImageIndex = item.Id, + }); + } + + lvStoreItems.ResumeLayout(true); + }); + } + else + { + lvStoreItems.SuspendLayout(); + + // iterate through store items + foreach (var item in items) + { + var lvi = lvStoreItems.Items.Add(new ListViewItem() + { + Tag = item.Id, + Text = item.Name, + }); + + ilStoreIcons.Images.Add(await _imgFactory.GetStoreItemThumb(item.Id)); + lvi.ImageIndex = item.Id; + } + + lvStoreItems.ResumeLayout(true); + } + } + + private void lvStoreItems_DoubleClick(object sender, EventArgs e) + { + if(lvStoreItems.SelectedItems.Count > 0) + { + ListViewItem? lvi = lvStoreItems.SelectedItems[0]; + if(lvi != null) + { + SelectedStoreItem = lvi; + OnStoreItemDoubleClicked?.Invoke(this, EventArgs.Empty); + } + } + } } } diff --git a/qtcnet-client/Controls/MainTabControl.resx b/qtcnet-client/Controls/MainTabControl.resx index c5e3c0f..fc76d99 100644 --- a/qtcnet-client/Controls/MainTabControl.resx +++ b/qtcnet-client/Controls/MainTabControl.resx @@ -124,92 +124,91 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA8hMAAAJNU0Z0AUkBTAIBAQQB - AAHYAQAB2AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ - AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B - 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB - BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD - 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/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 + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAuBMAAAJNU0Z0AUkBTAIBAQQC + AAEBAQABAQEQAQABEAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAUADAAEgAwABAQEAASAGAAEg/wD/ + AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAuAAMGAQcDNAFUA1EBogNeAdIDWgHpA2AB6ANdAdED + UAGfAzEBTQMFAQYYAAMGAQcDNAFUA1EBogNeAdIDWgHpA2AB6ANdAdEDUAGfAzEBTQMFAQYYAAMGAQcD + NAFUA1EBogNeAdIDWgHpA2AB6ANdAdEDUAGfAzEBTQMFAQYYAAMGAQcDNAFUA1EBogNeAdIDWgHpA2AB + 6ANdAdEDUAGfAzEBTQMFAQYUAAMgAS0DVAGrA1sB5ANaAfUDJAH7A0QB/gNEAf4DJAH7A1MB9ANiAeED + UQGhAx4BKhAAAyABLQNUAasDWwHkAVcBWgFXAfUBIQFeASEB+wEgAWABIAH+ASABYAEgAf4BIQFeASEB + +wNTAfQDYgHhA1EBoQMeASoQAAMgAS0DVAGrA1sB5AFXAloB9QEhAl4B+wEgAmAB/gEgAmAB/gEhAl4B + +wNTAfQDYgHhA1EBoQMeASoQAAMgAS0DVAGrA1sB5AJXAVoB9QIhAV4B+wIgAWAB/gIgAWAB/gIhAV4B + +wNTAfQDYgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNIAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8D + QAH9A14B8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBIAFoASAB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB + /wEAAWEBAAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIB + IAJoAf4BAAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMI + AAMbASUDWAG9A1oB8gIgAWgB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0D + XgHwA1YBsgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8D + MQH/A0QB/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYB + AAH/AQABzAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ASABYAEgAf4D + YgHuA1ABmgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQAC + ywH/AQACswH/AQACiAH/AQACVwH/ASACYAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB + /wIAAZkB/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wIgAWAB/gNiAe4D + UAGaAwMBBAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8D + QAH9A14B3QMqAT8DLQFEAWABaQFgAegBIAGAASAB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgB + AAH/AQAB+wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0D + KgE/Ay0BRAFgAmkB6AEgAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B + /wEAAtQB/wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCIAGAAf4CAAHGAf8CAAHcAf8C + AAHuAf8CAAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8D + TgGVA3cB+AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfID + SgGLA04BlQFLAXwBSwH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8B + AAH/AQAB/wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB/wEAAUEBAAH/A1oB8gNKAYsD + TgGVAUsCfAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC + 1QH/AQACiwH/AQACQQH/A1oB8gNKAYsDTgGVAksBfAH4AgAB5QH/AgAB7wH/AgAB+AH/AgAB/QH/AgAC + /wIAAv8CAAL/AgAB/gH/AgAB9gH/AgAB1QH/AgABiwH/AgABQQH/A1oB8gNKAYsDXwHTA34B/AOTAf8D + jgH/A40B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB/wNBAfkDWgHEAVsBXwFbAdMB + KwGbASsB/AEOAfsBDgH/AQMB/QEDAf8BAAH+AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8B + AAH/AQAB/wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsC + mwH8AQ4C+wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8B + AAJdAf8DQQH5A1oBxAJbAV8B0wIrAZsB/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8C + AAL/AgAB/QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8D + jgH/A44B/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBRAG/AUQB/gEnAf8B + JwH/AQsB/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8B + AAH/AQAB/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AUQCvwH+AScD/wELA/8B + AQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUC + RAG/Af4CJwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8D + QAH9A2IB4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8D + VQH/A0AB/QNeAeIBSAFyAUgB9gFnAb8BZwH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8B + AAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgB + AAH/A0AB/QNeAeIBSAJyAfYBZwK/Af4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8B + AAL9Af8BAALkAf8BAAKYAf8DQAH9A14B4gJIAXIB9gJnAb8B/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC + /wIAAv8CAAL/AgAC/wIAAf0B/wIAAeQB/wIAAZgB/wNAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8D + jgH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBoQFkAfwB + XwH/AV8B/wEvAf8BLwH/AQwB/wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8B + AAH/AQAB/wEAAf8BAAH+AQAB/wEAAeoBAAH/AQABpQEAAf8BNAFNATQB+gNaAccBXAJhAdYBZAKhAfwB + XwP/AS8D/wEMA/8BAQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8BNAJNAfoD + WgHHAlwBYQHWAmQBoQH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB + 6gH/AgABpQH/AjQBTQH6A1oBxwNQAZoDgAH5A8UB/wOyAf8DnAH/A5EB/wOOAf8DjgH/A44B/wOOAf8D + jwH/A44B/wODAf8DYAH/A1oB8gNMAZADUAGaAWoBiQFqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8B + BwH/AQcB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesB + AAH/AQABrQEAAf8BWgFrAVoB8gNMAZADUAGaAWoCiQH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD + /wEAA/8BAgP/AQIC/gH/AQAC6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagGJAfkCfAL/AlEC/wIfAv8C + BwL/AgEC/wIAAv8CAAL/AgAC/wICAv8CAgH+Af8CAAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesD + kAH+A8YB/wOuAf8DnAH/A5MB/wOQAf8DjwH/A5AB/wOTAf8DkwH/A4UB/wNGAf0DYAHgAy0BRQMvAUkD + bAHrAYABvwGAAf4BfwH/AX8B/wFJAf8BSQH/AR8B/wEfAf8BDAH/AQwB/wEFAf8BBQH/AQMB/wEDAf8B + BQH/AQUB/wEKAf8BCgH/AQoB/gEKAf8BAQHtAQEB/wFAAbYBQAH9AWABZgFgAeADLQFFAy8BSQNsAesB + gAK/Af4BfwP/AUkD/wEfA/8BDAP/AQUD/wEDA/8BBQP/AQoD/wEKAv4B/wEBAu0B/wFAArYB/QFgAmYB + 4AMtAUUDLwFJA2wB6wKAAb8B/gJ/Av8CSQL/Ah8C/wIMAv8CBQL/AgMC/wIFAv8CCgL/AgoB/gH/AgEB + 7QH/AkABtgH9AmABZgHgAy0BRQMDAQQDVgGuA24B9QPZAf8DywH/A7cB/wOnAf8DnQH/A5oB/wOcAf8D + nwH/A5sB/wOJAf8DaAHwA1IBowMDAQQDAwEEA1YBrgNuAfUBqAH/AagB/wGJAf8BiQH/AVwB/wFcAf8B + NwH/ATcB/wEiAf8BIgH/ARsB/wEbAf8BHwH/AR8B/wEmAf8BJgH/AR0B/wEdAf8BBQHzAQUB/wFeAWgB + XgHwA1IBowMDAQQDAwEEA1YBrgNuAfUBqAP/AYkD/wFcA/8BNwP/ASID/wEbA/8BHwP/ASYD/wEdA/8B + BQLzAf8BXgJoAfADUgGjAwMBBAMDAQQDVgGuA24B9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC/wIfAv8C + JgL/Ah0C/wIFAfMB/wJeAWgB8ANSAaMDAwEEBAADHAEnA10BxwNtAfYDnwH+A9cB/wPMAf8DwgH/A7sB + /wO3Af8DsQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccBYwFyAWMB9gGAAb8BgAH+AaUB/wGlAf8B + iwH/AYsB/wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB/wFOAf8BTgH/AVABvwFQAf4BUwFrAVMB9AFXAVkB + VwG8AxsBJggAAxwBJwNdAccBYwJyAfYBgAK/Af4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BUAK/Af4B + UwJrAfQBVwJZAbwDGwEmCAADHAEnA10BxwJjAXIB9gKAAb8B/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C + /wJQAb8B/gJTAWsB9AJXAVkBvAMbASYMAAMhATADWQG2A2IB7gN9AfoDvgH9A9QB/wPMAf8DvgH9A3kB + +QNsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuAX0BigF9AfoBrgG+Aa4B/QGfAf8BnwH/AYwB/wGMAf8B + VgG+AVYB/QFoAYkBaAH5AWEBbAFhAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuAX0CigH6Aa4CvgH9AZ8D + /wGMA/8BVgK+Af0BaAKJAfkBYQJsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuAn0BigH6Aq4BvgH9Ap8C + /wKMAv8CVgG+Af0CaAGJAfkCYQFsAesDVQGsAx8BLBQAAwYBBwM2AVgDVQGsA2YB5QOIAfwDiwH7A2UB + 4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QF+AaEBfgH8AV8BlgFfAfsDZQHiA1MBpwMzAVED + BgEHGAADBgEHAzYBWANVAawDZgHlAX4CoQH8AV8ClgH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgD + VQGsA2YB5QJ+AaEB/AJfAZYB+wNlAeIDUwGnAzMBUQMGAQcMAAFCAU0BPgcAAT4DAAEoAwABQAMAASAD + AAEBAQABAQYAAQEWAAP/gQAB4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYAB + AQGAAQFQAAGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBws= @@ -219,169 +218,389 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAACYAAAJNU0Z0AUkBTAIBAQMB - AAFIAQABSAEAASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6 - AANTAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAziUAAAJNU0Z0AUkBTAIBAQMB + AAFwAQABcAEAASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6 + AANcAecBCAEKAQAB/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/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/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 + pgNZAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacC + YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8C + YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYAFdAc4DWQG7AlABTwGbAyoBQFQAA18B0ANmAe4g + AANhAdQDYwHp5AADWgG/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB + AAH/AQgBCgEAAf8DWgG/A1oBvwFDAXQBBwH/AUcBdwEMAf8BJQFHAQAB/wEOARkBAAH/DAACSwFKAYoC + WgFYAb0BbwFnAVYB6gFvAWcBVgHqAW8BZwFWAeoBbwFnAVYB6gFvAWcBVgHqAW8BZwFWAeoBbwFnAVYB + 6gFvAWcBVgHqAW8BZwFWAeoBbwFnAVYB6gFvAWcBVgHqAW8BZwFWAeoBbwFnAVYB6gFvAWcBVgHqAW8B + ZwFWAeoBbQFjAVkB6QJfAVsB0wNVAa8DLgFIVAADXwHQA2YB7iAAA2EB1ANjAengAAEIAQoBAAH/ARAB + HgEAAf8BIQFBAQAB/wEnAUsBAAH/ASYBSgEAAf8BIQFBAQAB/wEQAR4BAAH/AQgBCgEAAf8BCAEKAQAB + /wEIAQoBAAH/ASkBTgEAAf8BWgGWARAB/wFaAZwBEAH/AXMBtgEmAf8BGAEuAQAB/wwAA0kBhgJaAVgB + twFnAWUBXQHjAWcBZQFdAeMBZwFlAV0B4wFnAWUBXQHjAWwBagFcAeYBdwFqAVYB7QGPAWgBQwH0AcgB + dwEcAfwB/wF4AQAC/wF4AQAB/wGTAW4BQAH1AWwBagFcAeYBZwFlAV0B4wFnAWUBXQHjAWcBZQFdAeMB + ZwFlAV4B4gJeAVsBzQJVAVMBqgIuAS0BRlQAA18B0ANmAe4gAANhAdQDYwHp3AABCAEKAQAB/wE9AXEB + AgH/AUwBhgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AUwBfwEPAf8B + OwFnAQgB/wEhATQBCAH/AVMBjgELAf8BWgGcARAB/wFyAbMBJwH/AVMBgQEbAf8QAAMrAUEDNgFZAkAB + PwFuAkABPwFuAkABPwFuAkABPwFuA0QBewJRAVABnwJdAVsBxQF5AWQBVQHuAf8BeAEAAv8BeAEAAf8C + XwFdAckDRQF8AkABPwFuAkABPwFuAkABPwFuAz8BbQM7AWMDMwFSAxkBIlQAA18B0ANmAe4gAANhAdQD + YwHp2AABFQEpAQAB/wFKAYQBBAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB + /wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVYBkAEMAf8BWgGaARAB/wFaAZwBEAH/AXIB + qQEwAf8BCAEKAQAB/wEIAQoBAAH/DAADDAEQAxEBFgMVARwDFQEcAxUBHAMVARwDIQEwAj4BPQFpAlMB + UgGlAW0BZgFfAeUB/wF4AQAC/wF4AQAB/wJVAVMBqgMiATEDFQEcAxUBHAMVARwDFAEbAxMBGQMQARUD + BwEJVAADXwHQA2YB7iAAA2EB1ANjAenUAAEWAScBAgH/AUkBgAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAELAf8BUgGMARAB/wFSAYwBEAH/AVgBkgEQAf8BWgGUARAB + /wFaAZsBEAH/AVoBnAEQAf8BXAGeARIB/wE7AW0BAwH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/CAAD + BQQGBAgBCgMIAQoDCAEKAwgBCgMXAR8COQE4AV0DUQGeAWcBZQFdAeMB/wF4AQAC/wF4AQAB/wNSAaMD + GAEhAwgBCgMIAQoDCAEKAwgBCgMHAQkDBgEHAwIBA1QAA18B0ANmAe4gAANhAdQDYwHp0AADXQHfAUcB + gAEDAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB /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= + nAEQAf8BWgGYARAB/wEWASoBAAH/AQgBCgEAAf8BCAEKAQAB/xwAAxIBFwM1AVYDUAGaAWcBYgFgAeEB + /wF4AQAC/wF4AQAB/wJRAVABnwMSARhwAANfAdADZgHuIAADYQHUA2MB6dAAASwBUAEAAf8BSgGMAQAB + /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQ4B/wFVAZIBEAH/AVoB + nAEQAf8BWgGcARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB + /wFaAZQBGAH/AVgBkgEWAf8BEAEeAQAB/wEIAQoBAAH/HAADEgEXAzUBVgNQAZoBZwFiAWAB4QH/AXgB + AAL/AXgBAAH/AlEBUAGfAxIBGHAAA18B0ANmAe4gAANhAdQDYwHp1AADSwGPATMBXgEAAf8BUgGMAQgB + /wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wF/AcABMwH/AV8BngEXAf8BIAE/AQAB/wEIAQoBAAH/AVIB + jAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZUBFwH/AVoBlAEYAf8BWgGUARgB + /wFaAZQBGAH/AQgBCgEAAf8BCAEKAQAB/xgAAxIBFwM1AVYDUAGaAWcBYgFgAeEB/wF4AQAC/wF4AQAB + /wJRAVABnwMSARgUAAQBAwMBBAMGBAcBCQMHAQkDBAEFBAIEARQAAxEBFgMhAS8DIQEvAyEBLwMhAS8D + IQEvAyEBLwMhAS8DIQEvAyEBLwNhAdkDcAHxAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8D + YgHcA2oB7QMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMNARG4AAFCAXsBAAH/AVIB + jAEIAf8BewHGASkB/wMzAVAEAAMMARABOQFrAQAB/wFaAZwBEAH/AVoBnAEQAf8BXQGXARMB/wFWAZQB + DAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wEpAVABAAH/AQgBCgEAAf8Y + AAMSARcDNQFWA1ABmgFnAWIBYAHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAAEAgMJAQwDDwEUAxMB + GgMSARgDCgENAwQBBQQBFAADaQHoA38B/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/A2EBz7wAAQgBCgEAAf8MAAETASMBAAH/AVoBlAEQAf8BWgGcARAB + /wGUAdYBSgH/AQ0BEQECAf8BMQFaAQAB/wFaAZQBEgH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMB + pQEXAf8BawGlASEB/wEQAR4BAAH/GAADEgEXAzUBVgNQAZoBZwFiAWAB4QH/AXgBAAL/AXgBAAH/AlEB + UAGfAxIBGBQAAwUBBgMdASkDMAFKAjsBPAFlAjsBPAFkAygBPAIVARYBHQMGAQgUAAM8AWQDTAGPA0wB + jwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DZwHqA3wB+ANMAY8DTAGPA0wBjwNMAY8DTAGPA0wB + jwNMAY8DTAGPA2gB7ANuAfUDTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DNQFWqAAD + XQHfAQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AzMBUAM6AWAB + SwGFAQcB/wFaAZQBEAH/AVoBnAEQAf8BOQFrAQAB/wMJAQwBEAEeAQAB/wFUAY4BEgH/AVoBlAEYAf8B + YwGcARgB/wFjAZwBGAH/AWMBpQEXAf8BcwG0ASkB/wEQAR4BAAH/GAADEgEXAzUBVgNQAZoBZwFiAWAB + 4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkBDAMzAVACTAFNAZECXQFfAckCWwFdAcoDRAF6AykB + PQMMARA8AANfAdADZgHuIAADYQHUA2MB6cwAAQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8B + CAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/ATMBXwECAf8BWgGUARAB/wFaAZwB + EAH/Aa0B5wFjAf8BEAEeAQAB/wEIAQoBAAH/ARQBJgEAAf8BVAGOARIB/wFiAZsBGAH/AWMBnAEYAf8B + YwGlARcB/wFjAaUBFwH/AWMBnAEhAf8BGAEuAQAB/xgAAxIBFwM1AVYDUAGaAWcBYgFgAeEB/wF4AQAC + /wF4AQAB/wJRAVABnwMSARgUAAMJAQsDLgFHA0gBhAJZAVwBwwJcAV8BywNJAYUDLgFHAw8BEzwAA18B + 0ANmAe4gAANhAdQDYwHpyAABCAEKAQAB/wErAVIBAAH/AUEBcgEFAf8BSgGEAQYB/wFKAYQBBgH/AUoB + hAEGAf8BQgFzAQYB/wEpAVABAAH/ARABHgEAAf8BHwE6AQAB/wFVAY8BCwH/AVoBlQEQAf8BWgGcARAB + /wHWAf8BjAH/ARABHgEAAf8BGAEuAQAB/wFCAXgBAwH/AVoBlAEYAf8BYgGbARgB/wFjAZwBGAH/AWMB + pQEXAf8BYwGlARcB/wFzAbQBKQH/ARABHgEAAf8YAAMSARcDNQFWA1ABmgFnAWIBYAHhAf8BeAEAAv8B + eAEAAf8CUQFQAZ8DEgEYFAADBgEIAyQBNAM8AWYDUwGnA1gBuAJHAUgBgwMxAU0DDwEUPAADXwHQA2YB + 7iAAA2EB1ANjAenEAAEoAU0BAAH/AU4BiAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB + /wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZwBEAH/AWMB + pQEXAf8BQgF7AQAB/wFKAYQBBgH/AVIBjAEIAf8BWgGYARQB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB + /wFjAaUBFwH/AWMBpQEXAf8BlAHJAU0B/wQAAxABFQMaASQDIQEvAxEBFgQCBAEDEgEXAzUBVgNQAZoB + ZwFiAWAB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwMBBAMTARkDJQE2AjsBPAFkAkEBQgFyAzMB + UQMhAS8DCQEMPAADXwHQA2YB7iAAA2EB1ANjAenAAAEpAU4BAgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8B + WgGUARAB/wFaAZUBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQB + GAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB/wFlAaABIQH/BAADHgErAjEB + MAFMAzsBYwMiATEDBwEJAwQBBQMSARgDNgFXA1ABmgFnAWIBYAHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8D + EgEYHAADBwEJAxwBJwMjATICGQEaASMDDwEUAwQBBTwAA18B0ANmAe4gAANhAdQDYwHpvAADRgGAAU4B + iAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB + /wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlwEQAf8BWgGcARAB/wFaAZwBEAH/AVoB + nAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAaEBGAH/AWMBpQEXAf8BYwGlARcB + /wF4AboBLAH/AQgBCgEAAf8EAAMkATQDRQF8AloBWAG3A04BlAM/AW0DKAE7Ax8BLAM5AV4DUAGaAWcB + YgFgAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMSARcDPAFmA0oBiQNAAW8DLgFHAw4BEjwAA18B + 0ANmAe4gAANhAdQDYwHpvAABNQFeAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB + /wFaAZsBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlgEWAf8BWgGUARgB/wFdAZcBGAH/AWMB + nAEYAf8BYwGlARcB/wFjAaUBFwH/AXABswEgAf8BKwFQAQQB/wgAAycBOgJTAVEBogHEAV8BIQH7AW4B + ZQFcAecCXAFaAcQCQwFCAXUDMQFNAkABPwFuAlEBUAGfAWcBZQFdAeMB/wF4AQAC/wF4AQAB/wJRAVAB + nwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA18B0ANmAe4gAANhAdQD + YwHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BZwGpARcB + /wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwBEAH/AVoB + nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFfAZgBGAH/AWMBngEYAf8BYwGlARcB + /wFrAakBHQH/ASkBUAEAAf8MAAMiATEDTgGYAYwBbwFKAfMBfAFoAU8B8AFsAWoBXAHmAloBVwHCAlUB + UwGqA1MBpwJZAVcBvAF1AWwBWgHrAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADFAEbAkMBRAF3AlYB + WQG2AlsBXgHNAlYBWAGzAz8BbAMmATgDDAEPAwIBAwgAAwIBAwMNAREDDQERAw0BEQMNAREDDQERAw0B + EQMNAREDDQERAw0BEQNfAdMDZwHvAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDYgHXA2cB + 6gMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMEAQWUAAFKAYQBBgH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BaQGkAR4B/wEsAVABAwH/AQgBCgEAAf8BNwFhAQcB/wFSAYwB + DgH/AVIBjAEQAf8BfwHBATIB/wFbAV4BWwHTA1oBvwEvAVkBAAH/AUQBegEFAf8BUAGKAQgB/wFaAZwB + DgH/AVoBnAEQAf8BWgGcARAB/wFPAYYBEAH/AUQBdAEMAf8DWgG/EAACGgEZASMDRAF7Al0BWwHKAmMB + XwHaAW4BaQFZAegBewFnAVAB7wF1AWYBWgHsAmEBXAHWAWABXwFbAdgBjwFoAUMB9AH/AXgBAAL/AXgB + AAH/AlEBUAGfAxIBGBwAAw8BEwM0AVMDTQGSAl0BYQHPAl0BYQHUAlIBVAGoAkEBQgFyAyYBOAMUARsD + BgEIAwIBAwNaAcIDfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D + fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D + fwH/A38B/wN/Af8DYgHclAABSgGMAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcB + nQEnAf8BCAEKAQAB/wEKAQ8BAAH/AUIBdwEDAf8BUgGMARAB/wFaAZwBEAH/ASUBQQEFAf8EAAM6AWAB + CAEKAQAB/wEIAQoBAAH/BAADRgGAA0YBgANGAYAcAAMKAQ0DIgExAzQBVANEAXgCUQFQAZ8CYQFdAc8B + dwFqAVYB7QF1AWYBWgHsAXwBaAFPAfABxAFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYB + CAMYASEDMQFNAkwBTQGRAlgBWgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UB + rQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UB + rQNVAa0DVQGtA1UBrQNwAfEDfAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cB + gZQAATsBbQECAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8B + IwFDAQAB/wFSAYwBEAH/AVIBjAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB + AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAW0B + ZgFfAeUBpgFvAToB9wHVAWoBHAH9Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAAEAQMCAQMDFQEcAzUB + VgJLAUwBjwJcAV8ByAJdAWMB3wJdAWcB4wJSAVMBpQM0AVMDHAEnKAADXwHQA2YB7iAAA2EB1ANjAem8 + AAEIAQoBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFOAYIBDwH/AUoB + hAEGAf8BUgGMARAB/wFjAaUBFwH/AQgBCgEAAf8BCAEKAQAB/wETASMBAAH/AUIBcwEGAf8BIAE/AQAB + /wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8gAAQBAwMBBAMMARADGAEgAykB + PQM+AWoCVwFWAbUBbQFmAV8B5QGmAW8BOgH3Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYIAAEAQMHAQkD + FAEbAyoBQANDAXYDVQGvAlkBbQHpAlsBXwHQAlABUQGfAzMBUSgAA18B0ANmAe4gAANhAdQDYwHpwAAB + QgFzAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwB + EAH/AUoBhAEGAf8BEAEeAQAB/wExAVoBAAH/AU0BhAENAf8BWgGcARAB/wFaAZwBEAH/AVIBjAEIAf8B + EAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8DRgGALAADAgEDAwsBDgMgAS4DQwF2AlcBVQGxAWcBZgFgAeAB + lwFjATcB9gGyAWoBKgH5AlEBUAGcAxIBFwwABAEDDAEQAxcBHwMdASgDHQEoAwwBDwgAAw8BFAImAScB + OQJHAUgBgwJgAWcB4QJcAW4B5wNeAdICPwFAAW4oAANfAdADZgHuIAADYQHUA2MB6cQAAUkBiQEAAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFSAYwB + EAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AUIBcwEGAf8B + CgEOAQAB/zAABAEDAwEEAwwBDwMeASoDOgFhAlkBVwG5AWgBYwFbAeQBeQFkAVUB7gJPAU4BlwMSARcM + AAMCAQMDIQEvAzYBWQJCAUMBdQJBAUIBcwMeASsIAAMEAQUDDAEPAzgBXAJdAWABzgJaAXUB7AJQAXsB + 7wNGAX8oAANfAdADZgHuIAADYQHUA2MB6cgAAToBawEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B + UgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB + EAH/AVoBlAEYAf8BWgGUARgB/wFjAaUBFwH/ARkBLAEDAf84AAMCAQMDCAEKAyABLQJBAUABcQJNAUwB + kQNQAZoCOwE6AWIDDAEPDAADAwEEAysBQQNEAXoDUwGnA1UBrQM3AVoDGAEgAwkBCwMGAQcDDQERAzkB + XwJdAWEB0QJQAXsB7wJKAYwB8wJGAUcBgSgAA18B0ANmAe4gAANhAdQDYwHpzAABLAFVAQAB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8B + WgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wEhAUEBAAH/QAAEAgMHAQkDEAQVARwCFgEVAR0D + DwETAwIBAwwAAwMBBAMwA0sBTAGPAlsBXQHKAlsBZAHeA04BlAM0AVMDFQEcAw0BEQMeASsCQwFEAXcC + XQFjAd8CUQGFAfECWQFtAekDRAF7KAADXwHQA2YB7iAAA2EB1ANjAenIAAESASIBAAH/AUwBhgEGAf8B + UgGMAQgB/wFaAZwBEAH/AVABigEIAf8BUgGMARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB + EAH/AVoBnAEQAf8BWgGcAREB/wFpAasBHwH/AQgBCgEAAf9sAAMCAQMDIQEvAzoBYQNVAa0CXwFjAdoD + WgG/AlABUQGfA0QBegJBAUIBcgNJAYUCVgFXAbICVgF3Ae0CYAFkAdsCVQFXAbEDOAFbKAADXwHQA2YB + 7iAAA2EB1ANjAenIAAEQAR4BAAH/AUgBfQEHAf8BWQGTARMB/wFVAYgBGAH/CAABIQFBAQAB/wFCAXsB + AAH/AVIBjAEIAf8BVQGRAQgB/wE5AWYBBAH/AVMBVQFQAe94AAMGAQgDFwEfA0QBewJZAVwBxgJbAWgB + 5AJDAY8B9AJVAXkB7gJVAXkB7gJRAYUB8QI3AZcB9gIcAcgB/AJZAVwBvgM+AWsDJAE0KAADXwHQA2YB + 7iAAA2EB1ANjAenQAAEeAToBAAH/nAAEAgMJAQwDKgM/AUABbgNOAZYCVgFYAbMCWQFcAcECWgFdAccC + WgFdAccCVwFZAbkCUQFSAaQCQAFBAXEDJQE2AxMBGSgAA18B0ANmAe4gAANhAdQDYwHp/wB5AAQBAwsB + DgMmATgDOQFeA0YBfQJKAUsBiwNKAYkDPgFrAyoBPwMXAR8DAgEDLAADUwGiA1oBvyAAA1QBpgNZAbuo + AAFCAU0BPgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIWAAP/AQAD/wHHAgABBwL/Ac8B8wH/BAAC + /wHPAYcCAAEHAv8BzwHzAf8EAAH/Af4BAAEHAgABBwL/Ac8B8wH/BAAB/wH8AQABBwIAAQcC/wHPAfMB + /wQAAf8B+AEAAQ8CAAEHAv8BzwHzAf8EAAH/AfABAAEHAgABBwL/Ac8B8wH/BAAB/wHgAQABAwIAAQcC + /wHPAfMB/wQAAf8BwAEAAQEB/AEDA/8BzwHzAf8EAAH/AcABAAEBAfwBAwP/Ac8B8wH/BAAB/wHgAgAB + /AEDAeABHwgAAf8B/AEgAQAB/AEDAeABHwgAAf8B/gHgAQAB/AEDAeABHwgAAf8BwAIAAfwBAwHgAR8B + /wHPAfMB/wQAAf8BgAIAAfwBAwHgAR8B/wHPAfMB/wQAAf8DAAH8AQMB4AEfAf8BzwHzAf8EAAH+AgAB + AQEAAQMB4AEfAf8BzwHzAf8EAAH8AgABAQEAAQMB+AEfAf8BzwHzAf8EAAH4AgABAQEAAQMB+AEfAf8B + zwHzAf8EAAH4AgABAwEAAQMB+AEDAf8BzwHzAf8EAAH4AgABBwEAAQMB+AEDCAAB+AIAAQ8BAAEDAfgJ + AAH4AQABRAF/AQABAwH4CQAB+AEAAQEB/wGAAQMB+AEAAf8BzwHzAf8EAAH4AgABfwGAAQMB/AEAAf8B + zwHzAf8EAAH8AgABfwHwAQMBgQGAAf8BzwHzAf8EAAH+AgAB/wHwAQMBgQGAAf8BzwHzAf8EAAH/AgAB + /wH8AQMBgAEAAf8BzwHzAf8EAAH/AYABAQH/Af4BAwGAAQAB/wHPAfMB/wQAAf8BAAEDA/8BgAEAAf8B + zwHzAf8EAAH/AQwBDwP/AcABAAH/Ac8B8wH/BAAB/wHfBP8BwAEAAf8BzwHzAf8EAAb/AfABAQH/Ac8B + 8wH/BAAL + + + + 360, 15 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs + LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAODEAAAJNU0Z0AUkBTAMBAQAB + EAEAARABAAEyAQABMgEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAcgDAAEyAwABAQEAASAFAAFAAZz/ + AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDmAAQBAwMBBAMHAQkDCgENAw4BEgMQARUDEgEXAxIBGAMSARcD + EAEVAw4BEgMKAQ0DBgEIAwMBBAQB/wD/AOYAAwUBBgMNAREDGgEkAyYBOAEyATEBMAFMAToBOAE2AVoB + PgE8ATkBYgFAAT4BOwFmAT4BPAE5AWIBOQE4ATYBWQExATABLwFKAyUBNgMZASIDDAEPAwQBBf8A/wDa + AAMHAQkDEwEZASQCIwMzATIBTwFEAUIBPQFsAVMBTQFDAYQBYQFWAUUBmAFtAV4BRAGoAXYBZAFCAbIB + ewFnAUEBtwF9AWcBQAG6AXsBZwFBAbcBdQFjAUMBsQFsAV0BRAGnAV8BVQFEAZYBUQFLAUIBggFBAUAB + PAFoATIBMQEwAUwCIgEhATADEQEWAwYBB/8A/wDCAAQBAwMBBAMJAQsDGgEkAi8BLgFIAU0BSAFBAXsB + bQFfAUMBqQGXAXMBNAHRAbQBgAEeAekBygGEAQ4B9gHVAYwBBAH9AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B1wGJAQIB/gHVAYsBBAH9AckBhQERAfQBtAF/ASEB5gGSAXEBNwHNAWkBXAFEAaQB + SQFGAT8BdQEtAiwBQwMYASEDCAEKAwMBBP8A/wC6AAMEAQUDFQEcAi8BLgFHAVIBTQFDAYMBeQFlAUEB + tgGdAXQBMAHXAbMBfwEgAecBxAGFARMB8gHRAYoBCgH5AdUBjAEEAf0B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B1wGJAQIB/gHSAYYBBAH8Ac4BhgEMAfgBxQGFARQB + 8QGzAX8BJAHlAZsBdQEzAdQBcwFiAUIBsAFNAUkBQQF8AisBKgFAAxIBGAMCAQP/AP8ArgADAgEDAwcB + CQMgAS4BPAE6ATgBXgFhAVYBRAGZAY4BbgE6AckBvAGBARwB7AHVAYoBBgH7AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHXAYkBAgH+AdMBhwEIAfoBtAF+AR8B + 6AGIAWwBOwHEAVwBVAFEAZMBOAE3ATUBVwMdASkDBgEIBAL/AP8ApgADCAEKAhYBFQEdAUUBQgE9AW4B + eQFlAUEBtgHGAYUBEwHzAdIBhgEEAfwB2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHVAYoB + BgH7AcEBhAEUAfABcgFhAUMBrQFAAT4BOgFlAxIBGAMGAQj/AP8AngAEAQMGAQgDJAE0AUoBRgE/AXYB + fQFmAUABuQGzAX0BIQHmAdUBigEGAfsB1wGIAQIB/gHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdcBiAECAf4B0wGGAQgB+gGrAXoBJgHiAXcBZAFCAbMBRAFCAT0BbQMgAS4DBQEGBAH/AP8AkgAE + AQMGAQgDHQEpAUQBQgE9AWwBhAFqAT0BwAG2AYABHgHpAdcBiQECAf4B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdcBiAECAf4BswF9ASEB + 5gF7AWcBQQG3AT8BPQE6AWQCGgEZASMDBQEG/wD/AJIABAIDDwETAT8BPQE6AWQBdgFkAUIBsgHRAYoB + CgH5AdUBjAEEAf0B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHSAYYBBAH8AcsBhAEOAfYBbQFeAUQBqAE5ATgB + NgFZAwwBEAQB/wD/AI4AAxIBFwIsASsBQgFoAVsBRAGiAaQBeAEsAdwB1wGJAQIB/gHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B1wGJAQIB/gHVAYwBBAH9AZ4BdgEwAdYBYQFWAUQBmQInASYBOQMPARP/ + AP8AhgAEAQMCAQMDJAE0AUsBSAFBAXkBmAFyATMB0gHOAYYBDAH4AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHJAYcBDwH1AZABcAE3AcsBRAFCAT0BbAMgAS0E + Av8A/wCCAAMCAQMDCQEMATsBOQE3AVwBfQFmAUACuQGBAR0B6wHXAYgBAgH+AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHWAYwBBAH9AbMBfwEgAecBcgFhAUMB + rQE1ATQBMwFSAwYBBwQC/wD/AH4AAwgBCgMeASoBUgFNAUMBgwGoAXoBJwHfAcsBhAEOAfYB2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGLAQAB/wHbAYsBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + iwEAAf8B2wGLAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHJAYUBEQH0AZ4BdAEwAdcBSwFIAUEBeQMYASEDBgEI/wD/AH4AAw8BEwEzATIBMQFOAW0BXgFEAagB + 0QGKAQoB+QHWAYwBBAH9AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEBAf8B2wGNAQIB/wHcAY0B + BAH/AdwBjgEFAf8B3AGNAQQB/wHbAY0BAgH/AdsBjAEBAf8B2wGNAQIB/wHbAY0BAgH/AdsBjAEBAf8B + 2wGMAQAB/wHbAYwBAQH/AdsBjQECAf8B2wGNAQMB/wHbAY0BAwH/AdsBjAEBAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQIB/wHcAY0BBAH/AdwBjQEFAf8B3AGNAQQB/wHbAY0BAgH/AdsBjAEBAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B0gGHAQQB/AHJAYcBDwH1AWQBWQFFAZ4CLAErAUIDDAEQ/wD/ + AHoABAEDFgEeAUsBSAFAAXgBiAFsATsBxAHXAYgBAgH+AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + iwEAAf8B2wGNAQMB/wHcAZABCQH/Ad4BlQEVAf8B3wGYARoB/wHeAZYBFgH/Ad0BkQEMAf8B2wGNAQQB + /wHcAY8BCAH/AdwBjwEIAf8B3AGOAQUB/wHbAYwBAgH/AdwBjQEEAf8B3QGRAQoB/wHdAZQBEQH/Ad0B + kwEQAf8B2wGNAQQB/wHbAYwBAQH/AdsBjAEAAf8B2wGMAQEB/wHcAY8BCAH/Ad4BlAESAf8B3wGXARoB + /wHeAZYBFgH/Ad0BkQEMAf8B3AGNAQQB/wHbAYsBAAH/AdsBjAEAAf8B2wGMAQAB/wHXAYkBAgH+AdUB + jAEEAf0BfgFoAT4BvAFDAUEBPAFrAxMBGv8A/wB6AAMFAQYDIAEtAWIBWAFFAZoBoAF1ASwB2QHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAQH/Ad0BkgEQAf8B4QGfASwB/wHmAbIBVQH/AekBuwFoAf8B + 6wG/AXEB/wHqAbwBbAH/AecBsgFWAf8B5AGrAUUB/wHlAa8BTQH/AeMBpwE8Af8B4AGaASAB/wHdAZIB + DgH/AeABmwEiAf8B5gGxAVIB/wHnAbUBWgH/AeUBrAFHAf8B3QGUAREB/wHcAY4BBQH/AdwBkAEJAf8B + 4AGcASUB/wHlAawBSAH/AekBugFnAf8B6gG+AXAB/wHqAbwBagH/AegBtQFbAf8B4gGiATMB/wHeAZUB + FQH/AdsBjAEBAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8BmAFyATMB0gFaAVIBRAGOAxwBJwMDAQT/ + AP8AdgADCwEOAioBKQE+AXwBZgFAArgBfwEdAeoB2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGNAQQB + /wHhAZ8BLAH/AekBuQFmAf8B8wHbAbEB/wH2AeQBwwH/AfcB5wHMAf8B9wHnAcwB/wH0AdwBswH/AfEB + 0wGeAf8B8gHWAaUB/wHsAcMBewH/AeQBpwE+Af8B3wGaAR8B/wHlAa0BSgH/AfMB2gGuAf8B8wHaAa8B + /wHtAccBgwH/Ad8BmgEfAf8B3QGRAQwB/wHeAZcBGwH/AecBtQFcAf8B8AHPAZcB/wH2AeQBxwH/AfYB + 5gHJAf8B9gHkAcUB/wH1Ad8BuQH/AesBwAF0Af8B4wGlATkB/wHcAY4BBgH/AdsBjAEBAf8B2wGMAQAB + /wHbAYwBAAH/Aa4BfgElAeMBcQFgAUQBrAMlATYDBwEJ/wD/AHYAAxIBGAE0ATMBMgFQAY4BbgE6AckB + xAGFARMB8gHbAYwBAAH/AdsBjAEAAf8B3AGOAQQB/wHdAZMBEAH/AeoBvAFqAf8B8QHTAZ8B/wHzAdoB + rwH/Ae4ByAGGAf8B7AHCAXkB/wHxAdQBoAH/AfcB5QHGAf8B+QHtAdgB/wH0Ad4BtwH/AeoBvQFtAf8B + 3wGZAR4B/wHgAZwBJQH/AekBuQFkAf8B+AHpAc8B/wHvAc0BkQH/AeYBsAFQAf8B3QGSAQ4B/wHfAZcB + GgH/AeUBqwFHAf8B8gHWAaUB/wHyAdcBpwH/Ae4BygGLAf8B6gG9AW0B/wHrAcIBeQH/AfAB0gGdAf8B + 8gHWAaYB/wHsAcQBfQH/Ad8BmgEgAf8B3AGQAQoB/wHbAYsBAAH/AdsBjAEAAf8BvwGCARkB7QGCAWoB + PgG/Ai4BLQFGAw4BEv8A/wB2AAMYASABPAE7ATgBXwGbAXUBMwHUAc4BhgEMAfgB2wGMAQAB/wHbAYwB + AAH/Ad0BkQELAf8B4AGcASMB/wHvAc0BkQH/AfMB3AGyAf8B7QHHAYUB/wHmAbABUQH/AeUBrQFLAf8B + 7wHMAZAB/wH2AeUBxgH/AfoB8QHhAf8B9AHfAboB/wHpAbkBZQH/Ad0BkQEMAf8B4AGdAScB/wHrAb4B + cAH/AfoB7wHcAf8B7AHCAXkB/wHhAaABLwH/AdsBjQEFAf8B4QGfASwB/wHqAbsBagH/AfYB4gG/Af8B + 8AHPAZYB/wHlAa0BTAH/AeEBoAEtAf8B4wGmATsB/wHoAbcBYwH/Ae8BzQGTAf8B7QHFAYAB/wHhAZ4B + KgH/Ad0BkgEPAf8B2wGLAQAB/wHbAYwBAAH/AckBhQERAfQBkAFwATYBzAE2ATUBMwFTAxMBGf8A/wB2 + AAMdASgBQwFBATwBawGmAXgBKgHdAdIBhgEEAfwB2wGMAQAB/wHbAYsBAAH/Ad4BlAEUAf8B4wGlATkB + /wHyAdYBpgH/AfIB1wGnAf8B4wGmATwB/wHgAZsBIwH/AeMBpQE5Af8B8AHOAZUB/wH0Ad4BuAH/AfUB + 4wHEAf8B8wHbAbIB/wHoAbcBYAH/AdwBjgEEAf8B4AGdAScB/wHqAb4BcAH/AfkB7AHYAf8B6QG5AWcB + /wHeAZcBHAH/AdoBiwEDAf8B5AGoAUMB/wHtAcgBhgH/AfQB3gG2Af8B6gG7AWsB/wHcAY8BCwH/AdsB + iwEDAf8B3AGNAQYB/wHdAZMBEgH/AeUBrAFJAf8B5gGwAVEB/wHgAZ0BKAH/Ad0BkgEPAf8B2wGLAQAB + /wHbAYwBAAH/AdEBiQEKAfkBnQF1ATAB1QE8ATsBOAFfAxgBIP8A/wB2AAMfASwBRgFDAT4BcAGoAXoB + JwHfAdUBjAEEAf0B2wGMAQAB/wHbAYsBAAH/Ad4BlQEXAf8B5AGoAT8B/wHyAdcBpwH/AfEB1QGkAf8B + 4gGiATMB/wHeAZYBFwH/Ad4BlgEYAf8B5AGoAT8B/wHqAb4BcAH/AfAB0QGcAf8B8wHaAbAB/wHpAbkB + ZwH/AdwBjwEGAf8B4AGdAScB/wHqAb4BcAH/AfkB7AHYAf8B6QG5AWcB/wHeAZcBHAH/AdoBiwEDAf8B + 5AGrAUgB/wHuAcoBiwH/AfMB2gGvAf8B6AG4AWMB/wHbAY4BBgH/AdsBjAECAf8B2wGMAQIB/wHcAY4B + BwH/Ad4BlwEaAf8B3wGYAR0B/wHdAZIBDgH/AdwBjgEFAf8B2wGMAQAB/wHbAYwBAAH/AdMBhgEIAfoB + oAF3AS8B2AE/AT0BOgFkAhoBGQEj/wD/AHYAAyABLQFIAUQBPwFyAaoBewEoAeAB1QGMAQQB/QHbAYwB + AAH/AdsBigEAAf8B3gGWARgB/wHkAaoBQgH/AfIB1wGoAf8B8QHUAaEB/wHhAaABLgH/Ad0BkwEQAf8B + 2wGNAQMB/wHcAZABCgH/AeQBqwFGAf8B7QHHAYYB/wHzAdkBrgH/AeoBuwFqAf8B3AGPAQgB/wHhAZ8B + LAH/AesBwAF0Af8B+QHtAdoB/wHqAbwBbAH/Ad8BmgEhAf8B2wGLAQQB/wHlAawBSgH/Ae4BywGOAf8B + 8gHZAasB/wHnAbYBXwH/AdsBjQEEAf8B2wGMAQEB/wHbAYwBAAH/AdsBjAEAAf8B2wGLAQAB/wHbAYsB + AAH/AdsBiwEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B1AGKAQYB+wGgAXgBLAHZAUABPgE6AWUD + GgEk/wD/AHYAAh8BHgErAUUBQwE+AW8BpwF5ASoB3gHSAYYBBAH8AdsBjAEAAf8B2wGKAQAB/wHeAZYB + GAH/AeQBqgFCAf8B8gHXAagB/wHxAdQBoQH/AeEBoAEuAf8B3QGSARAB/wHbAYsBAAH/AdoBiwEBAf8B + 4wGoAUAB/wHtAccBhQH/AfMB2QGuAf8B6gG7AWsB/wHdAZABCgH/AeIBowE0Af8B7AHEAX0B/wH6Ae8B + 3gH/AewBwQF3Af8B4QGfAS0B/wHcAY0BBQH/AeUBrQFKAf8B7gHLAY4B/wHyAdkBqwH/AecBtwFfAf8B + 2wGOAQQB/wHbAYwBAQH/AdsBjAEAAf8B2wGMAQAB/wHbAYsBAAH/AdsBiwEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHSAYYBCAH6AZ8BdwEvAdgBPgE8ATkBYgMZASL/AP8AdgADGwElAUAB + PgE6AWUBoAF1ASwB2QHTAYYBCAH6AdsBjAEAAf8B2wGKAQAB/wHeAZUBGAH/AeQBqQFBAf8B8gHXAagB + /wHxAdQBogH/AeEBoQEvAf8B3QGSARAB/wHbAYsBAAH/AdoBigEAAf8B4wGnAUEB/wHtAccBhgH/AfMB + 2QGtAf8B6gG8AWsB/wHdAZQBEQH/AecBswFZAf8B8gHVAaMB/wH8AfcB7gH/AfIB1wGpAf8B6AG3AWAB + /wHdAZQBEwH/AeYBrgFNAf8B7gHKAY0B/wHzAdkBrAH/AegBtwFgAf8B2wGOAQQB/wHbAYwBAQH/AdsB + jAEAAf8B2wGMAQIB/wHcAY8BCQH/AdwBkAEKAf8B3AGOAQYB/wHbAY0BAgH/AdsBjAEAAf8B2wGMAQAB + /wHLAYoBDgH3AZcBcwE0AdEBOQE4ATYBWQIWARUBHf8A/wB2AAIWARUBHQE5ATgBNgFZAZUBcQE0AdAB + ygGEAQ4B9gHbAYwBAAH/AdsBiwEAAf8B3gGUARUB/wHjAacBPAH/AfIB1gGmAf8B8gHWAaUB/wHjAaYB + OwH/Ad4BlQEVAf8B2wGLAQEB/wHbAYwBAwH/AeQBqwFJAf8B7gHLAY8B/wHyAdgBqQH/AekBugFnAf8B + 3QGVARMB/wHpAboBaAH/AfQB3AGzAf8B/QH7AfYB/wH1AeEBvgH/AesBwAF2Af8B3gGXARkB/wHlAa0B + SgH/Ae4ByAGHAf8B9AHbAbIB/wHpAboBaAH/Ad0BkQELAf8B2wGNAQMB/wHcAY4BBQH/Ad0BkgEPAf8B + 4QGeASoB/wHhAZ8BLAH/Ad0BlAEUAf8B3AGPAQcB/wHbAYwBAAH/AdsBjAEAAf8BxAGFARMB8gGLAW0B + OQHHATMBMgExAU4DEQEW/wD/AHYAAw8BEwIvAS4BSAGGAWsBPAHCAb0BggEWAe8B2wGMAQAB/wHbAYsB + AAH/Ad0BkgEPAf8B4QGgAS0B/wHxAdMBoAH/AfMB2wGwAf8B5wG2AV4B/wHgAZwBJAH/AdsBjQEDAf8B + 3AGRAQsB/wHoAbcBXwH/AfIB2AGpAf8B8QHUAaAB/wHnAbMBWQH/AdwBjwEJAf8B5AGpAUAB/wHuAcoB + iwH/AfsB8wHkAf8B7gHJAYkB/wHjAagBPgH/AdwBjwEJAf8B4wGlATgB/wHsAcIBeQH/AfYB4gHBAf8B + 7QHFAX8B/wHgAZoBIAH/AdwBjwEJAf8B3gGVARQB/wHiAaUBNwH/AewBxQGAAf8B7AHEAX8B/wHiAaIB + MgH/Ad0BkwESAf8B2wGLAQAB/wHbAYwBAAH/AbgBfwEdAeoBfAFmAUABuAMqAT8DCwEO/wD/AHYAAwgB + CgImASUBNwFvAV8BQwGqAasBegEmAeIB2wGMAQAB/wHbAYwBAAH/AdwBjwEHAf8B3gGXARkB/wHsAcMB + fAH/AfIB1wGoAf8B8QHTAZ8B/wHqAb8BcQH/AecBswFWAf8B6AG4AWIB/wHvAc8BlgH/AfQB3QG1Af8B + 7AHDAXsB/wHjAaYBOwH/AdsBjQEFAf8B4QGfASoB/wHqAbwBawH/AfYB4wHCAf8B6QG5AWUB/wHgAZsB + IwH/AdwBjAEEAf8B4AGaASEB/wHnAbMBVwH/AfMB2wGxAf8B8gHVAaIB/wHrAcABdQH/AecBtAFaAf8B + 6QG5AWYB/wHuAckBiQH/AfEB1AGhAf8B7AHFAYAB/wHgAZwBJgH/Ad0BkQENAf8B2wGMAQAB/wHbAYwB + AAH/AaMBeAEsAdsBZAFZAUUBngMhAS8DBgEH/wD/AHYAAwIBAwEcAhsBJgFYAVEBRAGMAZcBcwE0AdEB + 2wGMAQAB/wHbAYwBAAH/AdsBjAEBAf8B3AGPAQYB/wHlAa4BTAH/Ae4BywGOAf8B9wHmAcsB/wH0Ad4B + twH/AfIB2QGrAf8B9AHdAbYB/wH1AeABvAH/AfIB2AGpAf8B5QGuAUwB/wHeAZcBGwH/AdsBjAEDAf8B + 3wGXARoB/wHlAa0BSwH/Ae4BzAGQAf8B5AGqAUQB/wHeAZMBEgH/AdsBiwECAf8B3AGQAQsB/wHiAaEB + MAH/Ae4BygGLAf8B9AHcAbIB/wH2AeIBwAH/AfMB2AGrAf8B9AHcAbIB/wH3AeUBxwH/AfEB0wGeAf8B + 6AG3AWAB/wHdAZIBDgH/AdsBjQEEAf8B2wGMAQAB/wHYAYkBAgH+AY4BbgE6AckBTwFLAUIBfwMYASAE + Af8A/wB2AAQBAxMBGQFAAT4BOgFlAXwBZgFAAbgB1wGIAQIB/gHbAYwBAAH/AdsBjAEAAf8B2wGNAQIB + /wHeAZcBGQH/AeMBpwE9Af8B6gG9AW8B/wHtAccBhAH/Ae4BzAGPAf8B7gHKAYsB/wHqAb0BbgH/AeUB + rQFJAf8B3wGYARsB/wHcAY8BBwH/AdsBjAEBAf8B3AGQAQgB/wHeAZYBFwH/AeEBoAEtAf8B3gGVARUB + /wHcAY4BBgH/AdsBjAEBAf8B2wGNAQMB/wHdAZMBEQH/AeIBpAE1Af8B6AG2AV8B/wHtAccBhAH/Ae4B + ywGNAf8B7gHJAYgB/wHsAcEBdwH/AeUBrAFIAf8B4AGaASIB/wHbAY0BBAH/AdsBjAEBAf8B1wGIAQIB + /gHSAYYBBAH8AXMBYQFDAa8BOAE3ATUBVwMQARX/AP8AfgADCwEOAykBPQFgAVYBRQGXAb0BggEXAe4B + 0wGHAQgB+gHbAYwBAAH/AdsBjAEAAf8B2wGNAQQB/wHdAZQBEwH/AeEBnwEuAf8B5AGqAUQB/wHmAa8B + TwH/AeUBrAFKAf8B4gGhATEB/wHeAZYBFgH/AdwBjgEFAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEBAf8B + 2wGNAQIB/wHcAY4BBQH/AdsBjQECAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGNAQMB/wHdAZEB + DQH/AeABnAEmAf8B4wGpAUIB/wHmAa8BTgH/AeUBrAFIAf8B4gGjATUB/wHeAZYBGAH/AdwBjgEGAf8B + 2wGMAQAB/wHbAYwBAAH/AdEBigEKAfkBtgGAAR4B6QFYAVEBRAGNAyMBMgMJAQz/AP8AfgADBAEFAxIB + FwFGAUMBPgFxAZsBdQEwAdUBxgGFARMB8wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYsBAAH/AdoB + igEAAf8B2wGLAQAB/wHbAYsBAAH/AdoBigEAAf8B2wGLAQAB/wHbAYsBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYsBAAH/AdsBiwEAAf8B2gGKAQAB/wHbAYsBAAH/AdsBiwEAAf8B2gGKAQAB + /wHbAYsBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AcABhAEUAfABjgFwATkBygFBAT8BOwFnAwwB + EAMDAQT/AP8AfgAEAgMGAQgCLwEuAUgBYgFYAUUBmgGrAXwBJwHhAdYBjAEEAf0B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGLAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGLAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYsBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYsBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdIBhgEEAfwBpAF4ASwB3AFYAVEB + RAGNAisBKgFAAwQBBQQB/wD/AIYAAxsBJQE8ATsBOAFfAYIBagE/Ab4BvwGCARkB7QHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8BtgGAAR4B6QF5AWUBQQG2ATYB + NQEzAVQDFwEf/wD/AI4AAwcBCQMbASUBVgFQAUQBiQGVAXIBNgHPAdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wGLAW0BOQHHAU8BSgFCAX4DFgEeAwUBBv8A/wCO + AAMCAQMDDAEQAi4BLQFGAVoBUgFEAY4BpwF5ASoB3gHJAYUBEQH0AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwB + AAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + xAGFARMB8gGgAXcBLwHYAVQBTgFDAYYCKgEpAT4DCgENBAL/AP8AkgADAgEDAxABFQE1ATQBMwFRAWkB + XAFEAaQBnQF0ATAB1wHIAYYBDwH1AdcBiQECAf4B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B1wGIAQIB/gHFAYQBEwHzAZcBcwE0AdEBYgFYAUUBmgIwAS8BSQMNARED + AgED/wD/AJYABAEDAgEDAxQBGwEtAiwBQwFjAVgBRQGbAaABdQEsAdkB1QGMAQQB/QHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHSAYYBBAH8AZgBcgEzAdIBXAFUAUUB + kgMoATsDEgEXAwIBA/8A/wCiAAMGAQgDEgEYAjMBMgFPAVYBUAFEAYkBiAFsATsBxAGxAX8BJAHlAdEB + igEKAfkB1wGJAQIB/gHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB + /wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsB + jAEAAf8B2wGMAQAB/wHXAYgBAgH+Ac4BhgEMAfgBqwF8AScB4QGCAWoBPwG+AVABSwFCAYECLwEuAUgD + DwEUAwYBB/8A/wCqAAQBAwwBEAMmATgBTAFIAUEBegF3AWQBQgGzAaQBeAEsAdwBvQGCARcB7gHLAYkB + DgH3AdIBhgEEAfwB1wGIAQIB/gHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHXAYgBAgH+AdIBhgEEAfwBygGEAQ4B9gG+AYIB + GQHtAaABeAEsAdkBcgFhAUMBrQFGAUMBPgFxAyMBMgMKAQ0EAf8A/wCyAAMDAQQDDAEPAxgBIQEyATEB + MAFMAU0BSQFBAXwBdQFjAUMBsQGbAXUBMAHVAcABhAEUAfAB1AGJAQYB+wHbAYwBAAH/AdsBjAEAAf8B + 2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B2wGMAQAB/wHbAYwBAAH/AdsBjAEAAf8B1wGJAQIB/gHSAYYB + CAH6Ab0BggEWAe8BmAFyATMB0gFxAWABRAGsAUoBRgE/AXYCLwEuAUcDFgEeAwoBDQMCAQP/AP8AugAE + AQMCAQMDEwEZAiUBJAE1AToBOQE3AVsBTwFKAUIBfgFkAVgBRQGcAXcBZAFCAbMBiAFsATsBxAGVAXEB + NAHQAZ4BdAEwAdcBowF4ASwB2wGnAXkBKgHeAaMBeAEsAdsBngF2ATAB1gGVAXIBNgHPAYUBawE8AcIB + dQFjAUMBsQFiAVgBRQGaAUwBSAFBAXoBOAE3ATUBVwMiATEDEQEWBAIEAf8A/wDKAAQCAwUBBgMTARkD + IwEyAjUBMwFTAUUBQwE+AW8BVQFOAUMBiAFgAVYBRQGXAWcBWwFFAaABawFdAUMBpQFnAVoBRQGgAV8B + VQFEAZYBVAFOAUMBhgFEAUIBPQFsAjMBMgFPAyEBLwMRARYDAwEEBAH/AP8A2gAEAgMGAQgDDAEPAxME + GQEiAx4BKgMhAS8BJAIjATMDJQE2ASQCIwEzAyABLgMdASkDGAEhAxIBGAMLAQ4DBgEHBAH/AP8A9gAE + AQcCAQMEAgQB/wD/AP8A/wD/ANUAAUIBTQE+BwABPgMAASgDAAHIAwABMgMAAQEBAAEBBQABeAEFFgAD + /wEABv8BwBUABv8BwBUABv8BwBUABv8BwBUAAv8BwAEAAX8B/wHAFQAC/wHAAQABfwH/AcAVAAH/Af4C + AAEPAf8BwBUAAf8B8AIAAQMB/wHAFQAB/wHwAgABAQH/AcAVAAH/AcADAAF/AcAVAAH/AcADAAF/AcAV + AAH/BAABHwHAFQAB/gQAAR8BwBUAAf4EAAEPAcAVAAH+BAABDwHAFQAB+AQAAQcBwBUAAfgEAAEDAcAV + AAH4BAABAwHAFQAB+AQAAQMBwBUAAfAEAAEDAcAVAAHwBAABAQHAFQAB8AQAAQEBwBUAAfAEAAEBAcAV + AAHwBAABAQHAFQAB8AQAAQEBwBUAAfAEAAEBAcAVAAHwBAABAQHAFQAB8AQAAQEBwBUAAfAEAAEBAcAV + AAHwBAABAQHAFQAB8AQAAQEBwBUAAfAEAAEBAcAVAAHwBAABAQHAFQAB8AQAAQMBwBUAAfgEAAEDAcAV + AAH4BAABAwHAFQAB+AQAAQMBwBUAAf4EAAEPAcAVAAH+BAABDwHAFQAB/gQAAQ8BwBUAAf8EAAEfAcAV + AAH/BAABPwHAFQAB/wHAAwABfwHAFQAB/wHgAwAB/wHAFQAB/wHwAgABAQH/AcAVAAH/AfgCAAEDAf8B + wBUAAv8CAAEfAf8BwBUAAv8BgAEAAT8B/wHAFQAC/wH+AQ8C/wHAFQAG/wHAFQAL @@ -391,117 +610,114 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA/hgAAAJNU0Z0AUkBTAIBAQUB - AAHgAQAB4AEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASAa + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA5hgAAAJNU0Z0AUkBTAIBAQUB + AAEIAQEBCAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASAa AAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8DVQGsAzABS8wAAzsB 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 + /wNoAfADWgG3AzABSsAAA1wBxAJ8AVwB+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 + /wNoAfADVgGrwAAB/gHdAcEB/wHtAYABIAH/Ae0BcQECAf8B8wFzAQAB/wH6AXYBAAH/Af4BeAEAAv8B + ewEIAv8BiAEnAv8BogFTAf8B/gGBARcB/wH8AXgBBAH/AewBbwEAAf8BwQFbAQAB/wGGAUEBAwH/AXgB + VgE2Af8DYwHfwAAB/wGyAW8B/wH9AYABEQH/AfwBdwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC + /wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcBAAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB + 38AAAf8BmgFCAv8BgwEVAf8B/gF6AQQC/wF4AQAC/wF4AQAC/wGVAT8C/wHKAa4C/wHaAcYC/wHtAeUC + /wGWAUkC/wF8AQ0B/wH+AXgBAAH/AfQBcwEAAf8B0AFiAQAB/wGaAU4BCgH/AWMCXQHfwAAB/wGVATcC + /wGJAR8C/wF9AQgC/wF4AQAC/wF4AQAC/wGoAVwC/wHgAc0C/wGhAWYC/wHYAcUC/wG5AZQC/wGHASMC + /wF4AQAB/wH7AXYBAAH/AeIBagEAAf8BrwFUAQMB/wFjAl0B38AAAf8BoAFJAv8BkgExAv8BgQERAv8B + eQEDAv8BeAEAAv8BqAFcAv8B4AHNAv8BoQFmAv8B2AHFAv8BwAGfAv8BiQEnAv8BeAEAAf8B/gF4AQAB + /wHsAW8BAAH/Ab8BWgECAf8BYwJdAd/AAAH/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= + /wFjAWEBXQHfwAAB/wHMAZ8C/wGsAWMC/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC + /wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd/AAAH/AekB + 1QL/AbwBgQL/AaQBVAL/AY4BKgL/AX8BDQL/AXkBAgL/AXsBCQL/AYIBHQL/AXgBAAL/AXgBAAL/AXgB + AQL/AXoBBAL/AXoBAwH/AfMBdAEDAf8B4gGEATIB/wNjAd/AAANeAdIBiAGBAXEB+QH/AbsBfQL/AaMB + UgL/AZABLAL/AYIBEwL/AX0BCAL/AXoBBAL/AXkBAgL/AXoBBAL/AX0BCQL/AYABDwL/AX8BDQH/AfgB + hgEgAf8DaAH0A1gBuMAAAzwBZgNjAdUDfAH4Af8BvgGFAv8BqgFfAv8BmQE+Av8BjQEnAv8BhgEaAv8B + gwEVAv8BhQEZAv8BigEiAv8BjQEoAv8BkwEzAf8CbgFoAfUDXQHFAzYBWcQAA0IBcgNjAdUBiAGDAXsB + +QH/AckBmQL/AbwBfwL/Aa4BZgL/AaQBUwL/AZ8BSgL/AZ8BSwL/AaMBUQL/AacBWAH/A3wB+ANdAccD + OwFizAADPAFlA14B0gH/Ae8B4AL/AdwBvAL/Ac0BnwL/AcEBigL/AbsBfwL/Ab8BhgL/Ac0BoQL/AekB + 1gH/A1wBxAM1AVXIAANnAe8CZwFZAe8BZwFdAVkB7wFnAVsBWQHvAWcBWwFZAe8BZwJZAe8BZwFkAVkB + 7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7zgAAzMBUQNuAfUDBwEJAyoBPwNFAXwD + WQG7A2MB3wNoAfQDgAH+A4EB/wOBAf8DgQH/A4AB/gNoAfQDYwHfA1oBugNEAXoDJwE6CAADNwFaA1gB + uANjAd8CYwFdAd8BYgJdAd8DXQHfA10B3wFhAl0B3wNjAd8DYwHfA1UBrAMwAUsIAAP4Af8BuQGVATwB + /wGDAX0BbgH/AYQBfQFsAf8BqgGEAScB/wGsAXsBAAH/AcwBvAGUAf8DfgH/A34B/wN+Af8DfgH/A34B + /wN+Af8DfgH/A34B/wOOAf84AAMSARgDPwFtA0MBdQNdAcwDfAH4A4EB/wOBAf8DgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfAH4A1QBqAQAAzsBYgNdAcUDaAH0AZ8BZQExAf8BlwFTARcB + /wGWAUsBCQH/AZMBRgEBAf8BjAFDAQMB/wF9AUABCwH/AWsBQAEaAf8BbgFQATYB/wNoAfADWgG3AzQB + VAQABP8BlwGLAW0B/wKBAYAB/wGCAYEBgAH/AZgBiAFgAf8BygGQAQAB/wHdAcwBnwH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/NAADXwHTAz0BZwQAA2oB7QN9AfoDgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwM1AVUDXQHHAm4BWgH1AbgB + ZQEbAf8BuQFYAQIB/wHJAV8BAAH/AdgBZQEAAf8B3AFnAQAB/wHWAWQBAAH/AcMBXAEAAf8BogFMAQAB + /wF8ATsBAwH/AW4BRgEjAf8DaAHwA1oBtwMwAUoE/wGGAYQBfQH/A4EB/wOBAf8BhwGDAXoB/wHPAZQB + AAH/Ad4BzAGfAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wO8Af80AANaAcIDNAFTBAAD + YwHfA24B9QOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D + VQGvA1wBxAJ8AVwB+AHUAXEBGAH/AdcBZQEAAf8B5QFsAQAB/wHyAXIBAAH/AfoBdQEAAf8B/AF2AQAB + /wH6AXYBAAH/AfMBcgEAAf8B4gFrAQAB/wG9AVkBAAH/AYcBQAEAAf8BcQFIASMB/wNoAfADVgGrBP8B + iwGGAXoB/wOBAf8DgQH/AY4BhgFxAf8BzwGUAQAB/wHeAcwBnyH/A8oB/xAAAw0BEQM/AWwDUwGnAVwC + WQG+AVgCVgGzAUgCRwGDAyEBMAQAA28B8wM6AWAIAAM2AVgDWwHAA24B9QOBAf8DgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A2gB9ANSAaQB/gHdAcEB/wHtAYABIAH/Ae0BcQECAf8B + 8wFzAQAB/wH6AXYBAAH/Af4BeAEAAv8BewEIAv8BiAEnAv8BogFTAf8B/gGBARcB/wH8AXgBBAH/AewB + bwEAAf8BwQFbAQAB/wGGAUEBAwH/AXgBVgE2Af8DYwHfBP8BrAGWAWAB/wGDAYIBfwH/AYUBggF9Af8B + swGTAUQB/wHPAZQBAAH/Ad4BzAGfAf8DsAH/A7AB/wOwAf8DsAH/A7AB/wOwAf8DsAH/A7AB/wOoAf8I + AAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0BAAH/AagBeAEAAf8BlQFqAQAB/wGAAXUB + IQH+AVwCWQHGA1cBtQMWAR4IAAMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D + gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAB/wGyAW8B/wH9AYABEQH/AfwBdwEBAf8B/QF3AQAC/wF4AQAC + /wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcBAAH/AeUBbAEAAf8BsQFUAQAB + /wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwBogEUAf8BzwGUAQAB/wHeAcwB + nwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/BAADIAEtAmMBWgHpAb8BiAEAAf8B + zQGVAQoB/wGwAYgBJwH/AXMBZAE/Af8BTQFLAUcB/wFOAUsBQgH/AWYBVwExAf8BmgF0ARcB/wGkAXYB + AwH/AXABTwEAAf8DQwF2BAFEAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8BeAEAAv8BeAEAAv8BlQE/Av8B + ygGuAv8B2gHGAv8B7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMBAAH/AdABYgEAAf8BmgFOAQoB + /wFjAl0B3wT/AeEBrgExAf8BvQGXATsB/wHAAZgBNQH/AeMBpQEKAf8BzwGUAQAB/wHeAcwBnwH/A8AB + /wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DrwH/BAACYwFaAekB2QGaAQAB/wHaAaMBHAH/Ao4B + jAH/A4oB/wOXAf8DmwH/A5EB/wN0Af8DSAH/AUMBQgE/Af8BtQGDAQcB/wF6AVcBAAH/AzYBWAwAAwIB + AwMIAQoDIQEvAzEBTgM9AWgDQwF2A0QBegNDAXUDPQFnAzEBTQMgAS4DBwEJBAIEAAH/AZUBNwL/AYkB + HwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgBxQL/AbkBlAL/AYcBIwL/AXgB + AAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfBP8BuwGdAVMB/wGIAYQBeQH/AYwBhQF0Af8B + xAGZATAB/wHPAZQBAAH/Ad4BzAGfIf8DygH/A0MBdgHpAacBAgH/AekBqwESAf8B0AHKAbsB/wOsAf8D + XQH/A0wB/wNLAf8DRAH/Aw8B/wOzAf8DZgH/AVQBTAE6Af8BrgF9AQQB/wNdAcwIAAMTARoDOQFdA1kB + vANkAdsDagHtA2MB9gNfAfsDgQH9A18B+wNjAfYDZQHsA2MB2gNaAboDOAFcAxMBGgH/AaABSQL/AZIB + MQL/AYEBEQL/AXkBAwL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgBxQL/AcABnwL/AYkBJwL/AXgB + AAH/Af4BeAEAAf8B7AFvAQAB/wG/AVoBAgH/AWMCXQHfBP8BlAGKAXMB/wOBAf8DgQH/AZoBigFjAf8B + zwGUAQAB/wHeAcwBnwH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8DtQH/AmoBYQHmAe0B + rQEQAf8B9AHQAXYB/wP6Af8D+gH/A30B/wN/Af8DgAH/A4AB/wN+Af8DhAH/A7sB/wNqAf8BqAGAARwB + /wJjAUgB9gQAAxoBJANWAa4DaAH0A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DawHyA1IBoQH/AbMBbwL/AZ4BSAL/AYgBHgL/AXwBBwL/AXgBAAL/AZgBQwL/Ac4BtAL/AdcB + wAL/AeoB4AL/AZ0BVwL/AX4BEQL/AXgBAAL/AXgBAAH/AfABcQEAAf8BywFkAQkB/wFjAWEBXQHfBP8B + hgGDAX4B/wOBAf8DgQH/AYYBgwF7Af8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DkwH/A2IB7gHvAbQBIQH/AfcB3AGXCf8DkQH/A4gB/wOHAf8DhwH/A4EB/wNXAf8D + 5gH/A6MB/wG2AZEBNgH/AXUBagFBAfkEAANXAbIDZQHnA4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wNVAa8B/wHMAZ8C/wGsAWMC/wGTATMC/wGBAREC/wF5AQIC + /wGCARYC/wGaAUsC/wGuAXgC/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC/wF4AQAB/wHwAXEBAAH/AdUB + cQEXAf8CYwFdAd8E/wGLAYYBeQH/A4EB/wOBAf8BjgGGAXEB/wHPAZQBAAH/Ad4BzAGfAf8DoQH/A6EB + /wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DSwGNAfABvgE/Af8B9AHNAWwh/wP7Af8D0AH/AdcB + pwExAf8CYQFdAdEEAANvAfMDXwH7A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DgQH/A4EB/wNVAa8B/wHpAdUC/wG8AYEC/wGkAVQC/wGOASoC/wF/AQ0C/wF5AQIC/wF7AQkC + /wGCAR0C/wF4AQAC/wF4AQAC/wF4AQEC/wF6AQQC/wF6AQMB/wHzAXQBAwH/AeIBhAEyAf8DYwHfBP8B + pwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeABzgGfAf8D5wH/A+cB/wPnAf8D + 5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DBwEJA2IB7gHxAbwBOwH/AfoB6gHCAf8D3AH/A3cB/wNoAf8D + aAH/A2gB/wMyCf8B8gHdAakB/wHqAakBCAH/Az4BagQAA2QB2wNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwNeAdIBiAGBAXEB+QH/AbsBfQL/AaMB + UgL/AZABLAL/AYIBEwL/AX0BCAL/AXoBBAL/AXkBAgL/AXoBBAL/AX0BCQL/AYABDwL/AX8BDQH/AfgB + hgEgAf8DaAH0A1gBuAT/AdcBsQFSAf8BmgGPAXQB/wGgAZIBbQH/AeABrwE3Af8B5wGpARAB/wHrAdUB + oAH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/BAADMwFRA2gB8AHzAcYBWAH/AfoB + 5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFkA18ByQN9AfoDgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqAzwBZgNjAdUDfAH4Af8BvgGFAv8B + qgFfAv8BmQE+Av8BjQEnAv8BhgEaAv8BgwEVAv8BhQEZAv8BigEiAv8BjQEoAv8BkwEzAf8CbgFoAfUD + XQHFAzYBWQT/AfQBzQFsAf8B9AHLAWYB/wH0AcsBZQH/AfQBywFlAf8B8QHBAUkB/wH5AeMBrAH/A4kB + /wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DmgH/CAADIgExA18ByQGDAX0BZwH6AfMBygFlAf8B + +QHhAaYB/wH7Ae0BzAH/AfsB7AHIAf8B+AHdAZsB/wGwAYIBcgH+AmUBXgHiAz0BaAQBCAADBgEIAzEB + TANQAZsDZQHsA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJBAAD + QgFyA2MB1QGIAYMBewH5Af8ByQGZAv8BvAF/Av8BrgFmAv8BpAFTAv8BnwFKAv8BnwFLAv8BowFRAv8B + pwFYAf8DfAH4A10BxwM7AWIEAED/EAADDwETA0cBggNkAdsBmAF+AW8B/ANnAeoDVAGoAygBOxwAAwUB + BgMSARcDOgFgA1EBnwNfAdMDZwHvA2MB9gNiAe4DXgHSA1EBngM5AV8DEQEWAwUBBgwAAzwBZQNeAdIB + /wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAAB + QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAcABAwYAAYABAWYAAYABAQYAAcAB + AwgAAf8B/AIAAcABAwIAAf8B/AIAAYABAQIAAf8B+QYAAf8B+QYAAfABEwYAAcABAwYAAYABAQL/BAAB + gAEBAcABAQUAAQEBgAYAAQEHAAEBBwABAQcAAQEGAAGAAQEGAAHAAQMCAAGAAQECAAHwAR8BwAEBAcAB + Aws= - - 360, 15 - \ No newline at end of file diff --git a/qtcnet-client/Factories/ImageFactory.cs b/qtcnet-client/Factories/ImageFactory.cs index 858674b..a05f126 100644 --- a/qtcnet-client/Factories/ImageFactory.cs +++ b/qtcnet-client/Factories/ImageFactory.cs @@ -91,5 +91,20 @@ namespace qtcnet_client.Factories return combined; } + + public async Task GetStoreItemThumb(int id) + { + // get store item + var _item = await _apiService.GetStoreItem(id); + if(_item.Success && _item.Data != null) + { + using var _http = new HttpClient(); + using var _res = await _http.GetAsync(_item.Data.ThumbnailUrl); + if (_res.IsSuccessStatusCode) + return (Bitmap)Image.FromStream(_res.Content.ReadAsStream()); + } + + return Resources.QtCNETIcon; // temp no image icon + } } } diff --git a/qtcnet-client/Forms/MainForm.cs b/qtcnet-client/Forms/MainForm.cs index 0145c8b..ce81d54 100644 --- a/qtcnet-client/Forms/MainForm.cs +++ b/qtcnet-client/Forms/MainForm.cs @@ -10,6 +10,7 @@ using qtcnet_client.Services; using QtCNETAPI.Dtos.User; using QtCNETAPI.Events; using QtCNETAPI.Models; +using QtCNETAPI.Schema; using QtCNETAPI.Services; using QtCNETAPI.Services.ApiService; using QtCNETAPI.Services.GatewayService; @@ -311,7 +312,7 @@ namespace qtcnet_client if (_user.Success && _user.Data != null) { // create a profile form - ProfileForm _profile = new(_apiService) + ProfileForm _profile = new(_apiService, _imgFactory) { UserId = _user.Data.Id, Username = _user.Data.Username, @@ -356,7 +357,7 @@ namespace qtcnet_client if (_user.Success && _user.Data != null) { // create a profile form - ProfileForm _profile = new(_apiService) + ProfileForm _profile = new(_apiService, _imgFactory) { UserId = _user.Data.Id, Username = _user.Data.Username, @@ -597,7 +598,7 @@ namespace qtcnet_client CurrentProfileControl.ProfileImage = await _imgFactory.GetAndCreateProfileImage(_apiService.CurrentUser.Id, _apiService.CurrentUser.Status, _apiService.CurrentUser.ActiveProfileCosmetic); // setup main tab control - MainTabControl = new() + MainTabControl = new(_imgFactory) { Location = new(12, 91) }; @@ -605,6 +606,7 @@ namespace qtcnet_client MainTabControl.OnRoomControlDoubleClicked += MainTabControl_OnRoomControlDoubleClicked; MainTabControl.OnContactControlDoubleClicked += MainTabControl_OnContactControlDoubleClicked; MainTabControl.OnUserItemDoubleClicked += MainTabControl_OnUserItemDoubleClicked; + MainTabControl.OnStoreItemDoubleClicked += MainTabControl_OnStoreItemDoubleClicked; // get and set contacts var _currentUserContacts = await _apiService.GetCurrentUserContacts(); @@ -625,6 +627,11 @@ namespace qtcnet_client if (_currentUserDirectory.Success && _currentUserDirectory.Data != null) await SetupDirectoryUI(_currentUserDirectory.Data); + // get and set store + var _currentStore = await _apiService.GetStoreItems(); + if (_currentStore.Success && _currentStore.Data != null) + MainTabControl?.AddStoreItems(_currentStore.Data); + // add controls to current form Controls.Add(CurrentProfileControl); Controls.Add(MainTabControl); @@ -634,7 +641,7 @@ namespace qtcnet_client // check for daily spin eligibility var now = DateTime.UtcNow; - var lastSpin = DateTime.MinValue; + var lastSpin = _apiService.CurrentUser.LastCurrencySpin; if(lastSpin.Date < now.Date) { Random rnd = new(); @@ -664,6 +671,48 @@ namespace qtcnet_client } } + private async void MainTabControl_OnStoreItemDoubleClicked(object? sender, EventArgs e) + { + if(sender is MainTabControl _ctrl && _ctrl.SelectedStoreItem?.Tag is int _itemId) + { + // get store item + var _item = await _apiService.GetStoreItem(_itemId); + if(_item.Success && _item.Data != null) + { + // create buy form + StoreItemForm _itemForm = new(_apiService) + { + ItemId = _itemId, + ItemName = _ctrl.SelectedStoreItem.Text, + ItemThumbnail = await _imgFactory.GetStoreItemThumb(_itemId) + }; + _itemForm.OnBuyClicked += _itemForm_OnBuyClicked; + + _itemForm.ShowDialog(); + _itemForm.Dispose(); + } + } + } + + private async void _itemForm_OnBuyClicked(object? sender, EventArgs e) + { + if(sender is StoreItemForm _form) + { + // buy the item + var _res = await _apiService.BuyStoreItem(_form.ItemId); + if (_res.Success) + { + KryptonMessageBox.Show("Item Bought!", "Yay!"); + _form.Close(); + } + else + { + KryptonMessageBox.Show("Something Went Wrong Buying This Item. Please Try Again Later.", "Uh Oh."); + _form.Close(); + } + } + } + private async void LogoutAsync() { var _res = await _apiService.LogoutAsync(); @@ -741,7 +790,7 @@ namespace qtcnet_client if (_user.Success && _user.Data != null) { // create a profile form - ProfileForm _profile = new(_apiService) + ProfileForm _profile = new(_apiService, _imgFactory) { UserId = _user.Data.Id, Username = _user.Data.Username, @@ -750,13 +799,7 @@ namespace qtcnet_client }; // 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.ProfileImage = await _imgFactory.GetAndCreateProfileImage(_user.Data.Id, _user.Data.Status, _user.Data.ProfileCosmeticId); _profile.OnClose += ProfileForm_OnClose; diff --git a/qtcnet-client/Forms/ProfileForm.Designer.cs b/qtcnet-client/Forms/ProfileForm.Designer.cs index 30b8eb4..ec366c6 100644 --- a/qtcnet-client/Forms/ProfileForm.Designer.cs +++ b/qtcnet-client/Forms/ProfileForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + components = new System.ComponentModel.Container(); pbProfileImage = new PictureBox(); lblStatus = new Label(); rtxtBio = new RichTextBox(); @@ -38,6 +39,7 @@ lblUsername = new Label(); tlpTagIcons = new TableLayoutPanel(); btnSaveProfile = new Button(); + ctxBoughtItems = new ContextMenuStrip(components); ((System.ComponentModel.ISupportInitialize)pbProfileImage).BeginInit(); tlpActionButtons.SuspendLayout(); tlpUsernameTags.SuspendLayout(); @@ -172,6 +174,11 @@ btnSaveProfile.Visible = false; btnSaveProfile.Click += btnSaveProfile_Click; // + // ctxBoughtItems + // + ctxBoughtItems.Name = "ctxBoughtItems"; + ctxBoughtItems.Size = new Size(61, 4); + // // ProfileForm // AutoScaleDimensions = new SizeF(7F, 15F); @@ -212,5 +219,6 @@ private Button btnAction1; private Button btnAction2; private Button btnSaveProfile; + private ContextMenuStrip ctxBoughtItems; } } \ No newline at end of file diff --git a/qtcnet-client/Forms/ProfileForm.cs b/qtcnet-client/Forms/ProfileForm.cs index 41c117b..ff6f124 100644 --- a/qtcnet-client/Forms/ProfileForm.cs +++ b/qtcnet-client/Forms/ProfileForm.cs @@ -1,4 +1,5 @@ using Krypton.Toolkit; +using qtcnet_client.Factories; using qtcnet_client.Properties; using QtCNETAPI.Models; using QtCNETAPI.Services.ApiService; @@ -35,13 +36,15 @@ namespace qtcnet_client.Forms public event EventHandler? OnClose; private IApiService _apiService; - public ProfileForm(IApiService apiService) + private ImageFactory _imgFactory; + public ProfileForm(IApiService apiService, ImageFactory imageFactory) { _apiService = apiService; + _imgFactory = imageFactory; InitializeComponent(); } - private void ProfileForm_Load(object sender, EventArgs e) + private async void ProfileForm_Load(object sender, EventArgs e) { Text = $"QtC.NET User Profile - {Username}"; lblUsername.Text = Username; @@ -60,6 +63,24 @@ namespace qtcnet_client.Forms btnSaveProfile.Visible = true; rtxtBio.ReadOnly = false; + + pbProfileImage.ContextMenuStrip = ctxBoughtItems; + + // get owned store items and populate context strip + var _storeItems = await _apiService.GetOwnedStoreItems(); + if(_storeItems.Success && _storeItems.Data != null) + { + foreach(var item in _storeItems.Data) + { + // get item + var _item = await _apiService.GetStoreItem(item.StoreItemId); + if (_item.Success && _item.Data != null) + { + var tsi = ctxBoughtItems.Items.Add(_item.Data.Name, null, ProfileForm_StoreItemToolStripClick); + tsi.Tag = _item.Data.Id; + } + } + } } switch (ContactStatus) @@ -92,6 +113,23 @@ namespace qtcnet_client.Forms } } + private async void ProfileForm_StoreItemToolStripClick(object? sender, EventArgs e) + { + if(sender is ToolStripItem _tsi && _tsi.Tag is int _itemId) + { + var _res = await _apiService.UpdateUserInformationAsync(new() + { + Id = _apiService.CurrentUser!.Id, + Username = lblUsername.Text, + Bio = rtxtBio.Text, + DateOfBirth = _apiService.CurrentUser.DateOfBirth, + ProfileCosmeticId = _itemId, + }); + if (_res.Success) + pbProfileImage.Image = await _imgFactory.GetAndCreateProfileImage(UserId, Status, _itemId); + } + } + private async void BtnAction2_AddContactClick(object? sender, EventArgs e) { // send request to add user as a contact diff --git a/qtcnet-client/Forms/ProfileForm.resx b/qtcnet-client/Forms/ProfileForm.resx index 8b2ff64..f99bd78 100644 --- a/qtcnet-client/Forms/ProfileForm.resx +++ b/qtcnet-client/Forms/ProfileForm.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/qtcnet-client/Forms/StoreItemForm.Designer.cs b/qtcnet-client/Forms/StoreItemForm.Designer.cs new file mode 100644 index 0000000..3554b15 --- /dev/null +++ b/qtcnet-client/Forms/StoreItemForm.Designer.cs @@ -0,0 +1,176 @@ +namespace qtcnet_client.Forms +{ + partial class StoreItemForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + flpMainLayout = new FlowLayoutPanel(); + pbThumbnail = new PictureBox(); + lblName = new Label(); + tlpIconPrice = new TableLayoutPanel(); + pbIcon = new PictureBox(); + lblPrice = new Label(); + tlpBuyHolder = new TableLayoutPanel(); + btnBuy = new Button(); + flpMainLayout.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pbThumbnail).BeginInit(); + tlpIconPrice.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pbIcon).BeginInit(); + tlpBuyHolder.SuspendLayout(); + SuspendLayout(); + // + // flpMainLayout + // + flpMainLayout.Controls.Add(pbThumbnail); + flpMainLayout.Controls.Add(lblName); + flpMainLayout.Controls.Add(tlpIconPrice); + flpMainLayout.Controls.Add(tlpBuyHolder); + flpMainLayout.Dock = DockStyle.Fill; + flpMainLayout.Location = new Point(0, 0); + flpMainLayout.Name = "flpMainLayout"; + flpMainLayout.Size = new Size(263, 386); + flpMainLayout.TabIndex = 0; + // + // pbThumbnail + // + pbThumbnail.Dock = DockStyle.Top; + pbThumbnail.Image = Properties.Resources.QtCNETIcon; + pbThumbnail.Location = new Point(3, 3); + pbThumbnail.Name = "pbThumbnail"; + pbThumbnail.Size = new Size(256, 256); + pbThumbnail.SizeMode = PictureBoxSizeMode.Zoom; + pbThumbnail.TabIndex = 0; + pbThumbnail.TabStop = false; + // + // lblName + // + lblName.Font = new Font("Segoe UI", 20.25F, FontStyle.Bold, GraphicsUnit.Point, 0); + lblName.ForeColor = Color.White; + lblName.Location = new Point(3, 262); + lblName.Name = "lblName"; + lblName.Size = new Size(256, 49); + lblName.TabIndex = 1; + lblName.Text = "Store Item"; + lblName.TextAlign = ContentAlignment.MiddleCenter; + // + // tlpIconPrice + // + tlpIconPrice.ColumnCount = 2; + tlpIconPrice.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tlpIconPrice.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tlpIconPrice.Controls.Add(pbIcon, 0, 0); + tlpIconPrice.Controls.Add(lblPrice, 1, 0); + tlpIconPrice.GrowStyle = TableLayoutPanelGrowStyle.AddColumns; + tlpIconPrice.Location = new Point(3, 314); + tlpIconPrice.Name = "tlpIconPrice"; + tlpIconPrice.RowCount = 1; + tlpIconPrice.RowStyles.Add(new RowStyle()); + tlpIconPrice.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F)); + tlpIconPrice.Size = new Size(256, 30); + tlpIconPrice.TabIndex = 2; + // + // pbIcon + // + pbIcon.Dock = DockStyle.Right; + pbIcon.Image = Properties.Resources.CurrencyIcon; + pbIcon.Location = new Point(111, 3); + pbIcon.Name = "pbIcon"; + pbIcon.Size = new Size(14, 24); + pbIcon.SizeMode = PictureBoxSizeMode.CenterImage; + pbIcon.TabIndex = 0; + pbIcon.TabStop = false; + // + // lblPrice + // + lblPrice.Dock = DockStyle.Left; + lblPrice.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point, 0); + lblPrice.ForeColor = Color.White; + lblPrice.Location = new Point(131, 0); + lblPrice.Name = "lblPrice"; + lblPrice.Size = new Size(41, 30); + lblPrice.TabIndex = 1; + lblPrice.Text = "9999"; + lblPrice.TextAlign = ContentAlignment.MiddleCenter; + // + // tlpBuyHolder + // + tlpBuyHolder.ColumnCount = 1; + tlpBuyHolder.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tlpBuyHolder.Controls.Add(btnBuy, 0, 0); + tlpBuyHolder.Location = new Point(3, 350); + tlpBuyHolder.Name = "tlpBuyHolder"; + tlpBuyHolder.RowCount = 1; + tlpBuyHolder.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tlpBuyHolder.Size = new Size(256, 30); + tlpBuyHolder.TabIndex = 3; + // + // btnBuy + // + btnBuy.Dock = DockStyle.Top; + btnBuy.Location = new Point(3, 3); + btnBuy.Name = "btnBuy"; + btnBuy.Size = new Size(250, 23); + btnBuy.TabIndex = 0; + btnBuy.Text = "Buy"; + btnBuy.UseVisualStyleBackColor = true; + btnBuy.Click += btnBuy_Click; + // + // StoreItemForm + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackColor = Color.DodgerBlue; + ClientSize = new Size(263, 386); + Controls.Add(flpMainLayout); + FormBorderStyle = FormBorderStyle.FixedSingle; + MaximizeBox = false; + MinimizeBox = false; + Name = "StoreItemForm"; + StartPosition = FormStartPosition.CenterScreen; + Text = "QtC.NET Store Item"; + FormClosed += StoreItemForm_FormClosed; + Load += StoreItemForm_Load; + flpMainLayout.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)pbThumbnail).EndInit(); + tlpIconPrice.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)pbIcon).EndInit(); + tlpBuyHolder.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private FlowLayoutPanel flpMainLayout; + private PictureBox pbThumbnail; + private Label lblName; + private TableLayoutPanel tlpIconPrice; + private PictureBox pbIcon; + private Label lblPrice; + private TableLayoutPanel tlpBuyHolder; + private Button btnBuy; + } +} \ No newline at end of file diff --git a/qtcnet-client/Forms/StoreItemForm.cs b/qtcnet-client/Forms/StoreItemForm.cs new file mode 100644 index 0000000..62c5d40 --- /dev/null +++ b/qtcnet-client/Forms/StoreItemForm.cs @@ -0,0 +1,56 @@ +using qtcnet_client.Properties; +using QtCNETAPI.Services.ApiService; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace qtcnet_client.Forms +{ + public partial class StoreItemForm : Form + { + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public int ItemId { get; set; } = 0; + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public string ItemName { get; set; } = "Store Item"; + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public int Price { get; set; } = 0; + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public Image ItemThumbnail { get; set; } = Resources.QtCNETIcon; + + public event EventHandler? OnBuyClicked; + + private IApiService _apiService; + public StoreItemForm(IApiService apiService) + { + _apiService = apiService; + InitializeComponent(); + } + + private async void StoreItemForm_Load(object sender, EventArgs e) + { + lblName.Text = ItemName; + lblPrice.Text = Price.ToString(); + pbThumbnail.Image = ItemThumbnail; + + // check if user has item + var _res = await _apiService.GetOwnedStoreItem(ItemId); + if(_res.Success) + { + btnBuy.Enabled = false; + btnBuy.Text = "Bought"; + } + } + + private void btnBuy_Click(object sender, EventArgs e) => OnBuyClicked?.Invoke(this, EventArgs.Empty); + + private void StoreItemForm_FormClosed(object sender, FormClosedEventArgs e) + { + DialogResult = DialogResult.OK; + } + } +} diff --git a/qtcnet-client/Forms/StoreItemForm.resx b/qtcnet-client/Forms/StoreItemForm.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/qtcnet-client/Forms/StoreItemForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file