diff --git a/Data/DcDuty-English.json b/Data/DcDuty-English.json index 25e02f2..6dbc43a 100644 --- a/Data/DcDuty-English.json +++ b/Data/DcDuty-English.json @@ -1,5 +1,5 @@ { - "version": "202106101", + "version": "202108161", "language": "English", "displayLanguage": "English", "roulettes": { diff --git a/Data/DcDuty-German.json b/Data/DcDuty-German.json index 3b883a9..2a01570 100644 --- a/Data/DcDuty-German.json +++ b/Data/DcDuty-German.json @@ -1,5 +1,5 @@ { - "version": "202106101", + "version": "202108161", "language": "German", "displayLanguage": "Deutsch", "roulettes": { diff --git a/Data/DcDuty-Japanese.json b/Data/DcDuty-Japanese.json index c4d7bae..89fb727 100644 --- a/Data/DcDuty-Japanese.json +++ b/Data/DcDuty-Japanese.json @@ -1,5 +1,5 @@ { - "version": "202106101", + "version": "202108161", "language": "Japanese", "displayLanguage": "日本語", "roulettes": { diff --git a/Data/DcDuty-Korean.json b/Data/DcDuty-Korean.json index a7deac4..0b59b40 100644 --- a/Data/DcDuty-Korean.json +++ b/Data/DcDuty-Korean.json @@ -1,5 +1,5 @@ { - "version": "202106101", + "version": "202108161", "language": "Korean", "displayLanguage": "한국말", "roulettes": { diff --git a/Data/DcLang-Japanese.txt b/Data/DcLang-Japanese.txt index f2a9052..a1f23ce 100644 --- a/Data/DcLang-Japanese.txt +++ b/Data/DcLang-Japanese.txt @@ -37,6 +37,8 @@ LANG=日本語 39=待機 40=リセット 41=削除 +42=ネットワーク接続ステータス: {0} +43=接続なし 99=DutyContent プラグイン {0} @@ -131,7 +133,7 @@ LANG=日本語 10007=スタート 10008=キャンセル 10009=適用とセーブ -10010=中央ラノシアリーキまたは南方ボズヤで自動的に探します +10010=中央ラノシアまたは南方ボズヤで自動的に探します 10011=皇都イシュガルド防衛戦に解除で入って見てください 10012=マッチング 10013=インスタンス @@ -147,3 +149,4 @@ LANG=日本語 10023=選択 10024=コッピー 10025=地役: {0} +10026=中央ラノシアに入場してください。またはテレポートで移動してみてください。 diff --git a/Data/DcLang-Korean(Actoz).txt b/Data/DcLang-Korean(Actoz).txt index d8f9b3e..164633c 100644 --- a/Data/DcLang-Korean(Actoz).txt +++ b/Data/DcLang-Korean(Actoz).txt @@ -37,6 +37,8 @@ LANG=한국어(액토즈) 39=찾습니다 40=초기화 41=삭제 +42=네트워크 연결 상태: {0} +43=접속하고 있지 않습니다 99=듀티 콘텐츠 플러그인 {0} @@ -147,3 +149,5 @@ LANG=한국어(액토즈) 10023=선택함 10024=복사함 10025=지역: {0} +10026=중부 라노시아로 지역을 이동하세요. 또는 "서머포드 농장"으로 텔레포트하세요. + diff --git a/Data/DcLang-Korean(Test).txt b/Data/DcLang-Korean(Test).txt index be615c7..dc64c6d 100644 --- a/Data/DcLang-Korean(Test).txt +++ b/Data/DcLang-Korean(Test).txt @@ -37,6 +37,8 @@ LANG=한국어 39=찾아요 40=리셋 41=삭제 +42=네트워크 연결 상태: {0} +43=끊겨있음 99=듀티 콘텐츠 플러그인 {0} @@ -147,3 +149,4 @@ LANG=한국어 10023=선택함 10024=카피함 10025=지역: {0} +10026=중부 라노시아로 지역을 이동하세요. 또는 "서머포드 농장"으로 텔레포트하세요. diff --git a/Data/DcPacket-Custom.config b/Data/DcPacket-Custom.config index c3fc3e7..d908e76 100644 --- a/Data/DcPacket-Custom.config +++ b/Data/DcPacket-Custom.config @@ -1,11 +1,11 @@ # DutyPacket configuration # packet -Version=1210720 -Description=Custom (Jul/20/2021) +Version=1210817 +Description=Custom (Aug/17/2021) OpFate=788 OpDuty=676 OpMatch=428 OpInstance=234 +OpZone=369 OpSouthernBozja=269 - diff --git a/Data/DcPacket-Global.config b/Data/DcPacket-Global.config index cfb2095..b322570 100644 --- a/Data/DcPacket-Global.config +++ b/Data/DcPacket-Global.config @@ -1,11 +1,12 @@ # DutyPacket configuration # packet -Version=2005580 +Version=2005581 Description=5.58 (JP/NA/EU/OC) OpFate=788 OpDuty=676 OpMatch=428 OpInstance=234 +OpZone=369 OpSouthernBozja=269 diff --git a/DcConfig.cs b/DcConfig.cs index 42a570f..9c4537b 100644 --- a/DcConfig.cs +++ b/DcConfig.cs @@ -12,7 +12,7 @@ namespace DutyContent { class DcConfig { - public static int PluginTag => 17; + public static int PluginTag => 18; public static Version PluginVersion => System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; public static bool PluginEnable { get; set; } @@ -168,6 +168,7 @@ namespace DutyContent public ushort OpDuty { get; set; } = 676; public ushort OpMatch { get; set; } = 428; public ushort OpInstance { get; set; } = 234; + public ushort OpZone { get; set; } = 369; public ushort OpCe { get; set; } = 269; // packet version structure @@ -199,6 +200,7 @@ namespace DutyContent OpDuty = right.OpDuty; OpMatch = right.OpMatch; OpInstance = right.OpInstance; + OpZone = right.OpZone; OpCe = right.OpCe; } else @@ -207,6 +209,7 @@ namespace DutyContent OpDuty = 0; OpMatch = 0; OpInstance = 0; + OpZone = 0; OpCe = 0; } } @@ -241,6 +244,7 @@ namespace DutyContent sw.WriteLine("OpDuty={0}", OpDuty); sw.WriteLine("OpMatch={0}", OpMatch); sw.WriteLine("OpInstance={0}", OpInstance); + sw.WriteLine("OpZone={0}", OpZone); sw.WriteLine("OpSouthernBozja={0}", OpCe); sw.WriteLine(); } @@ -256,6 +260,7 @@ namespace DutyContent OpDuty = ThirdParty.Converter.ToUshort(db["OpDuty"], OpDuty); OpMatch = ThirdParty.Converter.ToUshort(db["OpMatch"], OpMatch); OpInstance = ThirdParty.Converter.ToUshort(db["OpInstance"], OpInstance); + OpZone = ThirdParty.Converter.ToUshort(db["OpZone"], OpZone); OpCe = ThirdParty.Converter.ToUshort(db["OpSouthernBozja"], OpCe); } @@ -477,7 +482,7 @@ namespace DutyContent return ret; } - public void BuildConnections(Process process) + public void BuildConnections(Process process, out IPAddress retaddr) { var size = 0; ThirdParty.NativeMethods.GetExtendedTcpTable(IntPtr.Zero, ref size, true, AddressFamily.InterNetwork, 4); @@ -509,14 +514,24 @@ namespace DutyContent lock (Conns) { Conns.Clear(); - for (var i = 0; i < rcnt; i++) - Conns.Add(rows[i]); + + if (rcnt == 0) + retaddr = IPAddress.None; + else + { + for (var i = 0; i < rcnt; i++) + Conns.Add(rows[i]); + + retaddr = rows[0].RemoteAddress; + } } } else { lock (Conns) Conns.Clear(); + + retaddr = IPAddress.None; } } finally diff --git a/DcControl.cs b/DcControl.cs index 324477c..6ffb0dd 100644 --- a/DcControl.cs +++ b/DcControl.cs @@ -5,6 +5,7 @@ using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; +using System.Net; using System.Windows.Forms; namespace DutyContent @@ -31,6 +32,7 @@ namespace DutyContent private bool _game_exist; private bool _game_active; private string _game_zone; + private IPAddress _game_ipaddr = IPAddress.None; // private const int IntervalGameActive = 50; @@ -324,23 +326,24 @@ namespace DutyContent if (span.TotalSeconds > 2) { _game_connection_tick = now; - DcConfig.Connections.BuildConnections(_game_process.Process); + DcConfig.Connections.BuildConnections(_game_process.Process, out var retaddr); + + if (!_game_ipaddr.Equals(retaddr)) + { + if (!retaddr.Equals(IPAddress.None)) + Logger.I(42, retaddr); + else + Logger.I(42, Locale.Text(43)); + + _game_ipaddr = retaddr; + Tab.DutyForm.Self?.ResetContentItems(); + } } } var zone = ActGlobals.oFormActMain.CurrentZone; if (_game_zone == null || !zone.Equals(_game_zone)) - { -#if false - if (_game_zone != null) - MesgLog.I(1008, _game_zone); - _game_zone = zone; - MesgLog.I(1007, zone); -#else - _game_zone = zone; -#endif - } } // @@ -384,7 +387,7 @@ namespace DutyContent } // - public void ShowStatusBarAsConfig(bool force=false) + public void ShowStatusBarAsConfig(bool force = false) { if (DcConfig.StatusBar) { diff --git a/References/ACT/FFXIV_ACT_Plugin.Common.dll b/References/ACT/FFXIV_ACT_Plugin.Common.dll index 8099cee..1d26bde 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Common.dll and b/References/ACT/FFXIV_ACT_Plugin.Common.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.Config.dll b/References/ACT/FFXIV_ACT_Plugin.Config.dll index f1e8558..df1965e 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Config.dll and b/References/ACT/FFXIV_ACT_Plugin.Config.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.LogFile.dll b/References/ACT/FFXIV_ACT_Plugin.LogFile.dll index 1652a60..33c6c5e 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.LogFile.dll and b/References/ACT/FFXIV_ACT_Plugin.LogFile.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.Memory.dll b/References/ACT/FFXIV_ACT_Plugin.Memory.dll index 2da6ea0..6f5f5d9 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Memory.dll and b/References/ACT/FFXIV_ACT_Plugin.Memory.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.Network.dll b/References/ACT/FFXIV_ACT_Plugin.Network.dll index 6b6234d..b266f86 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Network.dll and b/References/ACT/FFXIV_ACT_Plugin.Network.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.Overlay.dll b/References/ACT/FFXIV_ACT_Plugin.Overlay.dll index 5e6edf6..e26a52e 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Overlay.dll and b/References/ACT/FFXIV_ACT_Plugin.Overlay.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.Parse.dll b/References/ACT/FFXIV_ACT_Plugin.Parse.dll index d415644..85f7f62 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Parse.dll and b/References/ACT/FFXIV_ACT_Plugin.Parse.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.Resource.dll b/References/ACT/FFXIV_ACT_Plugin.Resource.dll index 4831d39..2d37e6c 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.Resource.dll and b/References/ACT/FFXIV_ACT_Plugin.Resource.dll differ diff --git a/References/ACT/FFXIV_ACT_Plugin.dll b/References/ACT/FFXIV_ACT_Plugin.dll index 184eb80..0541d89 100644 Binary files a/References/ACT/FFXIV_ACT_Plugin.dll and b/References/ACT/FFXIV_ACT_Plugin.dll differ diff --git a/Resources/mesg.txt b/Resources/mesg.txt index df34c9b..94edd70 100644 --- a/Resources/mesg.txt +++ b/Resources/mesg.txt @@ -30,7 +30,7 @@ LANG=English 31=Error while updating duty/FATE Data 32=Error while updating packet info 33=Packet updated: {0} "{1}" -34={0} ({1}) +34={0}/{1} 35=Access clipboard failed! 36=Window control error! 37=Debug @@ -38,6 +38,8 @@ LANG=English 39=Entry 40=Reset 41=Delete +42=Network detected: {0} +43=Closed 99=DutyContent Plugin {0} @@ -148,3 +150,4 @@ LANG=English 10023=Selected 10024=Copied 10025=Area: {0} +10026=Enter "Middle La Noscea" or Teleport to "Summerford farms" diff --git a/Tab/DutyForm.Designer.cs b/Tab/DutyForm.Designer.cs index 65951a9..c0659a1 100644 --- a/Tab/DutyForm.Designer.cs +++ b/Tab/DutyForm.Designer.cs @@ -30,8 +30,6 @@ namespace DutyContent.Tab private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Drawing.StringFormat stringFormat1 = new System.Drawing.StringFormat(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DutyForm)); System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem(new string[] { "FATE", "", @@ -53,10 +51,17 @@ namespace DutyContent.Tab "", ""}, -1); System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem(new string[] { + "Zone", + "", + "", + ""}, -1); + System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem(new string[] { "Bozja", "", "", ""}, -1); + System.Drawing.StringFormat stringFormat1 = new System.Drawing.StringFormat(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DutyForm)); this.tabContent = new System.Windows.Forms.TabControl(); this.tabPageContent = new System.Windows.Forms.TabPage(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); @@ -65,7 +70,6 @@ namespace DutyContent.Tab this.rdoFatePreset2 = new System.Windows.Forms.RadioButton(); this.rdoFatePreset1 = new System.Windows.Forms.RadioButton(); this.treeFates = new System.Windows.Forms.TreeView(); - this.lstContents = new DutyContent.Libre.ContentListView(); this.tabPageSetting = new System.Windows.Forms.TabPage(); this.panel4 = new System.Windows.Forms.Panel(); this.chkDiscowkTts = new System.Windows.Forms.CheckBox(); @@ -83,6 +87,7 @@ namespace DutyContent.Tab this.txtLineToken = new System.Windows.Forms.TextBox(); this.chkUseNotifyLine = new System.Windows.Forms.CheckBox(); this.panel3 = new System.Windows.Forms.Panel(); + this.btnResetContentList = new System.Windows.Forms.Button(); this.cboPacketset = new System.Windows.Forms.ComboBox(); this.lblPacketSet = new System.Windows.Forms.Label(); this.lblCurrentDataSet = new System.Windows.Forms.Label(); @@ -125,7 +130,7 @@ namespace DutyContent.Tab this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.lblPacketFinder = new System.Windows.Forms.Label(); this.ilTabContent = new System.Windows.Forms.ImageList(this.components); - this.btnResetContentList = new System.Windows.Forms.Button(); + this.lstContents = new DutyContent.Libre.ContentListView(); this.tabContent.SuspendLayout(); this.tabPageContent.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -194,6 +199,7 @@ namespace DutyContent.Tab // rdoFatePreset4 // this.rdoFatePreset4.AutoSize = true; + this.rdoFatePreset4.Checked = true; this.rdoFatePreset4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.rdoFatePreset4.Location = new System.Drawing.Point(125, 0); this.rdoFatePreset4.Margin = new System.Windows.Forms.Padding(4); @@ -209,6 +215,7 @@ namespace DutyContent.Tab // rdoFatePreset3 // this.rdoFatePreset3.AutoSize = true; + this.rdoFatePreset3.Checked = true; this.rdoFatePreset3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.rdoFatePreset3.Location = new System.Drawing.Point(85, 0); this.rdoFatePreset3.Margin = new System.Windows.Forms.Padding(4); @@ -224,6 +231,7 @@ namespace DutyContent.Tab // rdoFatePreset2 // this.rdoFatePreset2.AutoSize = true; + this.rdoFatePreset2.Checked = true; this.rdoFatePreset2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.rdoFatePreset2.Location = new System.Drawing.Point(45, 0); this.rdoFatePreset2.Margin = new System.Windows.Forms.Padding(4); @@ -266,29 +274,6 @@ namespace DutyContent.Tab this.treeFates.TabIndex = 0; this.treeFates.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.TreeFates_AfterCheck); // - // lstContents - // - this.lstContents.CategoryTextFont = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); - stringFormat1.Alignment = System.Drawing.StringAlignment.Center; - stringFormat1.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None; - stringFormat1.LineAlignment = System.Drawing.StringAlignment.Near; - stringFormat1.Trimming = System.Drawing.StringTrimming.Character; - this.lstContents.CategoryTextFormat = stringFormat1; - this.lstContents.CategoryTextRegion = ((System.Drawing.RectangleF)(resources.GetObject("lstContents.CategoryTextRegion"))); - this.lstContents.ControlPadding = 4; - this.lstContents.Dock = System.Windows.Forms.DockStyle.Fill; - this.lstContents.FullRowSelect = true; - this.lstContents.GridLines = true; - this.lstContents.HideSelection = false; - this.lstContents.ItemHeight = 40; - this.lstContents.Location = new System.Drawing.Point(0, 0); - this.lstContents.Name = "lstContents"; - this.lstContents.OwnerDraw = true; - this.lstContents.Size = new System.Drawing.Size(542, 510); - this.lstContents.TabIndex = 0; - this.lstContents.UseCompatibleStateImageBehavior = false; - this.lstContents.View = System.Windows.Forms.View.Details; - // // tabPageSetting // this.tabPageSetting.AutoScroll = true; @@ -509,6 +494,17 @@ namespace DutyContent.Tab this.panel3.Size = new System.Drawing.Size(792, 77); this.panel3.TabIndex = 2; // + // btnResetContentList + // + this.btnResetContentList.Location = new System.Drawing.Point(624, 3); + this.btnResetContentList.Name = "btnResetContentList"; + this.btnResetContentList.Size = new System.Drawing.Size(162, 69); + this.btnResetContentList.TabIndex = 14; + this.btnResetContentList.Text = "347"; + this.btnResetContentList.UseVisualStyleBackColor = true; + this.btnResetContentList.Visible = false; + this.btnResetContentList.Click += new System.EventHandler(this.BtnResetContentList_Click); + // // cboPacketset // this.cboPacketset.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; @@ -924,12 +920,12 @@ namespace DutyContent.Tab this.txtPacketInfo.BackColor = System.Drawing.SystemColors.Window; this.txtPacketInfo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.txtPacketInfo.Enabled = false; - this.txtPacketInfo.Location = new System.Drawing.Point(4, 206); + this.txtPacketInfo.Location = new System.Drawing.Point(4, 229); this.txtPacketInfo.Margin = new System.Windows.Forms.Padding(4); this.txtPacketInfo.Multiline = true; this.txtPacketInfo.Name = "txtPacketInfo"; this.txtPacketInfo.ReadOnly = true; - this.txtPacketInfo.Size = new System.Drawing.Size(328, 146); + this.txtPacketInfo.Size = new System.Drawing.Size(328, 123); this.txtPacketInfo.TabIndex = 2; // // lstPacketInfo @@ -949,12 +945,13 @@ namespace DutyContent.Tab listViewItem2, listViewItem3, listViewItem4, - listViewItem5}); + listViewItem5, + listViewItem6}); this.lstPacketInfo.Location = new System.Drawing.Point(4, 58); this.lstPacketInfo.Margin = new System.Windows.Forms.Padding(4); this.lstPacketInfo.MultiSelect = false; this.lstPacketInfo.Name = "lstPacketInfo"; - this.lstPacketInfo.Size = new System.Drawing.Size(328, 140); + this.lstPacketInfo.Size = new System.Drawing.Size(328, 163); this.lstPacketInfo.TabIndex = 1; this.lstPacketInfo.UseCompatibleStateImageBehavior = false; this.lstPacketInfo.View = System.Windows.Forms.View.Details; @@ -1001,15 +998,28 @@ namespace DutyContent.Tab this.ilTabContent.Images.SetKeyName(2, "pix_tab_tool.png"); this.ilTabContent.Images.SetKeyName(3, "pix_tab_ping.png"); // - // btnResetContentList + // lstContents // - this.btnResetContentList.Location = new System.Drawing.Point(624, 3); - this.btnResetContentList.Name = "btnResetContentList"; - this.btnResetContentList.Size = new System.Drawing.Size(162, 69); - this.btnResetContentList.TabIndex = 14; - this.btnResetContentList.Text = "347"; - this.btnResetContentList.UseVisualStyleBackColor = true; - this.btnResetContentList.Click += new System.EventHandler(this.BtnResetContentList_Click); + this.lstContents.CategoryTextFont = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + stringFormat1.Alignment = System.Drawing.StringAlignment.Center; + stringFormat1.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None; + stringFormat1.LineAlignment = System.Drawing.StringAlignment.Near; + stringFormat1.Trimming = System.Drawing.StringTrimming.Character; + this.lstContents.CategoryTextFormat = stringFormat1; + this.lstContents.CategoryTextRegion = ((System.Drawing.RectangleF)(resources.GetObject("lstContents.CategoryTextRegion"))); + this.lstContents.ControlPadding = 4; + this.lstContents.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstContents.FullRowSelect = true; + this.lstContents.GridLines = true; + this.lstContents.HideSelection = false; + this.lstContents.ItemHeight = 40; + this.lstContents.Location = new System.Drawing.Point(0, 0); + this.lstContents.Name = "lstContents"; + this.lstContents.OwnerDraw = true; + this.lstContents.Size = new System.Drawing.Size(542, 510); + this.lstContents.TabIndex = 0; + this.lstContents.UseCompatibleStateImageBehavior = false; + this.lstContents.View = System.Windows.Forms.View.Details; // // DutyForm // diff --git a/Tab/DutyForm.cs b/Tab/DutyForm.cs index f028265..b70bb34 100644 --- a/Tab/DutyForm.cs +++ b/Tab/DutyForm.cs @@ -219,6 +219,7 @@ namespace DutyContent.Tab opcode != DcConfig.Packet.OpDuty && opcode != DcConfig.Packet.OpMatch && opcode != DcConfig.Packet.OpInstance && + opcode != DcConfig.Packet.OpZone && opcode != DcConfig.Packet.OpCe) return; @@ -334,7 +335,7 @@ namespace DutyContent.Tab } // instance - else if (opcode == DcConfig.Packet.OpInstance && DcConfig.Packet.OpInstance != 0) + else if (DcConfig.Packet.OpInstance != 0 && opcode == DcConfig.Packet.OpInstance) { // 0[2] instance number // 2[2] ? @@ -348,7 +349,7 @@ namespace DutyContent.Tab _overlay.PlayMatch(Locale.Text(10004, instance.Name)); DcContent.Missions.Clear(); - WorkerAct.Invoker(() => lstContents.ResetContentItems()); + ResetContentItems(); // frankly no meaning to here } else if (data[4] != 4) { @@ -356,6 +357,14 @@ namespace DutyContent.Tab } } + // zone + else if (DcConfig.Packet.OpZone != 0 && opcode == DcConfig.Packet.OpZone) + { + var zone = BitConverter.ToUInt16(data, 4); + + ResetContentItems(); + } + // save the queen critical engagement else if (opcode == DcConfig.Packet.OpCe) { @@ -436,7 +445,8 @@ namespace DutyContent.Tab // Probably receive FATE auto end command before changing zone // No end data found: logout, critical engagement -> have to reset - WorkerAct.Invoker(() => lstContents.ResetContentItems()); + if (DcConfig.Packet.OpZone == 0) + ResetContentItems(); } // @@ -1205,10 +1215,15 @@ namespace DutyContent.Tab lstPacketInfo.Items[3].SubItems[2].Text = ""; lstPacketInfo.Items[3].SubItems[3].Text = newpk.OpInstance.ToString(); - // Bozja - lstPacketInfo.Items[4].SubItems[1].Text = DcConfig.Packet.OpCe.ToString(); + // Zone + lstPacketInfo.Items[4].SubItems[1].Text = DcConfig.Packet.OpZone.ToString(); lstPacketInfo.Items[4].SubItems[2].Text = ""; - lstPacketInfo.Items[4].SubItems[3].Text = newpk.OpCe.ToString(); + lstPacketInfo.Items[4].SubItems[3].Text = newpk.OpZone.ToString(); + + // Bozja + lstPacketInfo.Items[5].SubItems[1].Text = DcConfig.Packet.OpCe.ToString(); + lstPacketInfo.Items[5].SubItems[2].Text = ""; + lstPacketInfo.Items[5].SubItems[3].Text = newpk.OpCe.ToString(); } private void BtnPacketStart_Click(object sender, EventArgs e) @@ -1260,7 +1275,8 @@ namespace DutyContent.Tab case 1: m = 10011; break; case 2: m = 10011; break; case 3: m = 10011; break; - case 4: m = 10014; break; + case 4: m = 10026; break; + case 5: m = 10014; break; default: m = 10015; break; } @@ -1293,6 +1309,10 @@ namespace DutyContent.Tab break; case 4: + v = _new_packet.OpZone = DcConfig.Packet.OpZone; + break; + + case 5: v = _new_packet.OpCe = DcConfig.Packet.OpCe; break; } @@ -1313,8 +1333,8 @@ namespace DutyContent.Tab _new_packet.OpCe = opcode; - lstPacketInfo.Items[4].SubItems[2].Text = Locale.Text(10023); - lstPacketInfo.Items[4].SubItems[3].Text = _new_packet.OpCe.ToString(); + lstPacketInfo.Items[5].SubItems[2].Text = Locale.Text(10023); + lstPacketInfo.Items[5].SubItems[3].Text = _new_packet.OpCe.ToString(); } private void LstBozjaInfo_MouseDoubleClick(object sender, MouseEventArgs e) @@ -1468,6 +1488,26 @@ namespace DutyContent.Tab } } + // zone + if (_new_packet.OpZone == 0 && data.Length == 16) + { + // Middle La Noscea (134) + var h = BitConverter.ToUInt32(data, 0); + var z = BitConverter.ToUInt16(data, 4); + if (h == 0 && z == 134 && data[11] == 1 && data[12] == 1 && data[13] == 8) + { + _new_packet.OpZone = opcode; + + WorkerAct.Invoker(() => + { + lstPacketInfo.Items[4].SubItems[2].Text = Locale.Text(10016); + lstPacketInfo.Items[4].SubItems[3].Text = _new_packet.OpZone.ToString(); + }); + + return; + } + } + // critical engagement if (data.Length >= 12 && _stq_type != DcContent.SaveTheQueenType.No) { @@ -1572,6 +1612,7 @@ namespace DutyContent.Tab DcConfig.Packet.OpDuty = pk.OpDuty; DcConfig.Packet.OpMatch = pk.OpMatch; DcConfig.Packet.OpInstance = pk.OpInstance; + DcConfig.Packet.OpZone = pk.OpZone; DcConfig.Packet.OpCe = pk.OpCe; var nfn = DcConfig.BuildPacketFileName(name); @@ -1648,5 +1689,10 @@ namespace DutyContent.Tab { lstContents.ResetContentItems(); } + + public void ResetContentItems() + { + WorkerAct.Invoker(() => lstContents.ResetContentItems()); + } } } diff --git a/Tab/DutyForm.resx b/Tab/DutyForm.resx index ee07c4c..13f9244 100644 --- a/Tab/DutyForm.resx +++ b/Tab/DutyForm.resx @@ -132,8 +132,8 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI - RAAAAk1TRnQBSQFMAgEBBAEAAcgBAQHIAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABU + RAAAAk1TRnQBSQFMAgEBBAEAAegBAQHoAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA AwABQAMAAQEBAAEgBgABgP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AWgADNgRZAcQDVQHqAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ @@ -141,291 +141,290 @@ AwAB/wNdAeIDVAGuAykBPwgAAwcBCgNIAYUCAAGqAf8CAAGqAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGk Af8CAAGkAf8CAAGkAf8CAAGjAf8CAAGiAf8CAAGiAf8CAAGiAf8CAAGiAf8CAAGiAf8CAAGiAf8CAAGi Af8CAAGiAf8CAAGiAf8CAAGiAf8CAAGjAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGk - Af8CAAGqAf8CAAGqAf8DSAGFAwcBCv8ABQADTgGXAx8B/wOyAf8DzQH/A90B/wPdAf8D3QH/A90B/wPd + Af8CAAGqAf8CAAGqAf8DSAGFAwcBCv8ABQADTgGXAxsB/wOyAf8DzQH/A90B/wPdAf8D3QH/A90B/wPd Af8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPd - Af8D3QH/A90B/wPIAf8DogH/AxAB/wNGAYEEAANIAYUCAAGkAf8CAAGiAf8CAAGhAf8CAAGhAf8CAAGh + Af8D3QH/A90B/wPIAf8DogH/AwwB/wNGAYEEAANIAYUCAAGkAf8CAAGiAf8CAAGhAf8CAAGhAf8CAAGh Af8CAAGhAf8CAAGhAf8CAAGgAf8CAAGeAf8CAAGbAf8CAAGZAf8CAAGZAf8CAAGXAf8CAAGVAf8CAAGV Af8CAAGVAf8CAAGVAf8CAAGXAf8CAAGZAf8CAAGZAf8CAAGbAf8CAAGeAf8CAAGgAf8CAAGhAf8CAAGh Af8CAAGhAf8CAAGhAf8CAAGhAf8CAAGiAf8CAAGkAf8DSAGFVwABAQMCBAMEBAEGAwQBBgMDAQQDAQEC - AwABAYwAAzcBWgMrAf8D2wH/A4sB/wMVAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AxUB/wOH - Af8DzQH/AxcB/wMrAUICAAGkAf8CAAGiAf8CAAGdAf8CAAGYAf8CAAGXAf8CAAGXAf8CAAGXAf8CAAGX + AwABAYwAAzcBWgMnAf8D2wH/A4sB/wMRAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AxEB/wOH + Af8DzQH/AxMB/wMrAUICAAGkAf8CAAGiAf8CAAGdAf8CAAGYAf8CAAGXAf8CAAGXAf8CAAGXAf8CAAGX Af8CAAGRAf8CAAGPAf8CAAGMAf8CAAGKAf8CAAGKAf8CAAGIAf8CAAGGAf8CAAGGAf8CAAGGAf8CAAGG Af8CAAGIAf8CAAGKAf8CAAGKAf8CAAGMAf8CAAGPAf8CAAGVAf8CAAGXAf8CAAGXAf8CAAGXAf8CAAGX Af8CAAGYAf8CAAGdAf8CAAGiAf8CAAGkAf9QAAMCAQMDBgEIAw0BEgMaASQDIwEzAyEBMAMWAR4DCgEO - AwQBBgMAAQGIAANZAcMDsgH/A4oB/wE7ASkBDwH/AbkBkwEhAf8BzgGiAScB/wHOAaIBJwH/Ac4BogEn - Af8BzgGiAScB/wHOAaIBJwH/Ac4BogEnAf8BzgGiAScB/wHOAaIBJwH/Ac4BogEnAf8BzgGiAScB/wG9 - AZUBHwH/AaMBgAETAf8BvQGVAR8B/wHOAaIBJwH/Ac4BogEnAf8BzgGiAScB/wHOAaIBJwH/Ac4BogEn - Af8BzgGiAScB/wHOAaIBJwH/Ac4BogEnAf8BzgGiAScB/wG5AZMBIQH/AUYBMQESAf8DhQH/A6MB/wNU - AasCAAGjAf8CAAGaAf8CAAGRAf8CAAGNAf8CAAGNAf8CAAGKAf8CAAGGAf8CAAGBAf8CAAFFAf8CAAFD - Af8CAAE+Af8CAAE9Af8CAAE9Af8CAAE9Af8CAAE5Af8CAAE2Af8CAAE2Af8CAAE5Af8CAAE9Af8CAAE9 - Af8CAAE9Af8CAAE+Af8CAAFDAf8CAAGAAf8CAAGGAf8CAAGGAf8CAAGKAf8CAAGNAf8CAAGNAf8CAAGR + AwQBBgMAAQGIAANZAcMDsgH/A4oB/wE3ASUBCwH/AbkBkwEdAf8BzgGiASMB/wHOAaIBIwH/Ac4BogEj + Af8BzgGiASMB/wHOAaIBIwH/Ac4BogEjAf8BzgGiASMB/wHOAaIBIwH/Ac4BogEjAf8BzgGiASMB/wG9 + AZUBGwH/AaMBgAEPAf8BvQGVARsB/wHOAaIBIwH/Ac4BogEjAf8BzgGiASMB/wHOAaIBIwH/Ac4BogEj + Af8BzgGiASMB/wHOAaIBIwH/Ac4BogEjAf8BzgGiASMB/wG5AZMBHQH/AUIBLQEOAf8DhQH/A6MB/wNU + AasCAAGjAf8CAAGaAf8CAAGRAf8CAAGNAf8CAAGNAf8CAAGKAf8CAAGGAf8CAAGBAf8CAAFBAf8CAAE/ + Af8CAAE6Af8CAAE5Af8CAAE5Af8CAAE5Af8CAAE1Af8CAAEyAf8CAAEyAf8CAAE1Af8CAAE5Af8CAAE5 + Af8CAAE5Af8CAAE6Af8CAAE/Af8CAAGAAf8CAAGGAf8CAAGGAf8CAAGKAf8CAAGNAf8CAAGNAf8CAAGR Af8CAAGaAf8CAAGjAf9MAAMCAQMDBwEKAxcBIAMwAUwBRQJGAX4BTwJRAZwBTQJOAZYDQQFyAyoBQQMS - ARkDBQEHAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/RAADQQH5A8oB/wMTAf8BuQGPASAB/wHVAaIBKAH/ - AdUBogEoAf8B1QGiASgB/wHVAaIBKAH/AdUBogEoAf8B1QGiASgB/wHVAaIBKAH/AdUBogEoAf8B1QGi - ASgB/wHVAaIBKAH/AcQBlQEgAf8BiQEyAQwB/wEHARYBHAH/AZQBNwELAf8B0wGhAScB/wHVAaIBKAH/ - AdUBogEoAf8B1QGiASgB/wHVAaIBKAH/AdUBogEoAf8B1QGiASgB/wHVAaIBKAH/AdUBogEoAf8B1QGi - ASgB/wHAAZMBIgH/AwwB/wPFAf8DTgHwAgABmQH/AgABiwH/AgABQwH/AgABPwH/AgABNwH/AgABNwH/ - AgABMgH/AgABLwH/AgABLgH/AgABKwH/AgABJwH/AgABJwH/AgABJgH/AgABIwH/AgABHwH/AgABHwH/ - AgABHwH/AgABHwH/AgABIwH/AgABJgH/AgABJwH/AgABJwH/AgABKwH/AgABLgH/AgABMQH/AgABNwH/ - AgABNwH/AgABNwH/AgABPwH/AgABQwH/AgABiwH/AgABmQH/SAADAQECAwcBCQMYASIDOAFeAVMCVQGt + ARkDBQEHAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/RAADQQH5A8oB/wMPAf8BuQGPARwB/wHVAaIBJAH/ + AdUBogEkAf8B1QGiASQB/wHVAaIBJAH/AdUBogEkAf8B1QGiASQB/wHVAaIBJAH/AdUBogEkAf8B1QGi + ASQB/wHVAaIBJAH/AcQBlQEcAf8BiQEuAQgB/wEDARIBGAH/AZQBMwEHAf8B0wGhASMB/wHVAaIBJAH/ + AdUBogEkAf8B1QGiASQB/wHVAaIBJAH/AdUBogEkAf8B1QGiASQB/wHVAaIBJAH/AdUBogEkAf8B1QGi + ASQB/wHAAZMBHgH/AwgB/wPFAf8DTgHwAgABmQH/AgABiwH/AgABPwH/AgABOwH/AgABMwH/AgABMwH/ + AgABLgH/AgABKwH/AgABKgH/AgABJwH/AgABIwH/AgABIwH/AgABIgH/AgABHwH/AgABGwH/AgABGwH/ + AgABGwH/AgABGwH/AgABHwH/AgABIgH/AgABIwH/AgABIwH/AgABJwH/AgABKgH/AgABLQH/AgABMwH/ + AgABMwH/AgABMwH/AgABOwH/AgABPwH/AgABiwH/AgABmQH/SAADAQECAwcBCQMYASIDOAFeAVMCVQGt AV0CYQHiA20B9wNlAfQBXgJhAdoDUAGaAy0BRgMOARMDAwEELwAB/wMAAf8DAAH/AwAB/wMAAf9HAAH/ - A8IB/wMAAf8BzAGVASUB/wHVAZsBJwH/AdUBmwEnAf8B1QGbAScB/wHVAZsBJwH/AdUBmwEnAf8B1QGb - AScB/wHVAZsBJwH/AdUBmwEnAf8B1QGbAScB/wG/AYsBHQH/AZMBMgEKAf8BBgEUAR0B/wEAARwBjgH/ - ATUBIgEOAf8BlQEzAQoB/wHPAZcBJAH/AdUBmwEnAf8B1QGbAScB/wHVAZsBJwH/AdUBmwEnAf8B1QGb - AScB/wHVAZsBJwH/AdUBmwEnAf8B1QGbAScB/wHFAZABIwH/AwYB/wPCAf8DAAH/AgABkQH/AgABggH/ - AQABCgGEAf8BAAETAYUB/wEAARMBgAH/AQABFQGDAf8BAAEVAYMB/wEAARUBgwH/AQABFQFFAf8BAAEV - AUUB/wEAARUBRQH/AQABFQFFAf8BAAEVAUAB/wEAARIBPQH/AQABEgE9Af8BAAESAT0B/wEAARIBPQH/ - AQABEgE9Af8BAAESAT0B/wEAARIBPQH/AQABEgFCAf8BAAESAUIB/wEAARIBQgH/AQABEgFCAf8BAAET - AYMB/wEAARUBgwH/AQABFQGDAf8BAAEVAYMB/wEAARUBiAH/AQABCgGHAf8CAAGDAf8CAAGRAf9HAAEB - AwYBCAMWAR4DOAFdA1UBtQNkAfEB8wH4AfwB/wHtA/8B8wP/An8BhAH+A18B4ANIAYUDHwEsAwUBBy8A - Af8DAAH/AwAB/wMAAf8DAAH/RwAB/wO0Af8DAAH/Ac4BkAEkAf8B1QGUASYB/wHVAZQBJgH/AdUBlAEm - Af8B1QGUASYB/wHVAZQBJgH/AdUBlAEmAf8B1AGTASYB/wHQAZEBJAH/AbQBRAEXAf8BigEqAQoB/wEA - ARIBIgH/AgABPwH/AgABOgH/AQABBwFAAf8BHwEYARIB/wGSAS0BCQH/AbkBgAEZAf8B0gGSASUB/wHV - AZQBJgH/AdUBlAEmAf8B1QGUASYB/wHVAZQBJgH/AdUBlAEmAf8B1QGUASYB/wHFAYsBIgH/AwUB/wO0 - Af8DAAH/AgABigH/AQABDAGHAf8BBQGFAakB/wEcAasB1AH/ATUB0QHeAf8BOgHUAeEB/wE9AdQB4QH/ - AT8B1AHhAf8BPwHUAeEB/wE9AdQB4QH/AToB1AHhAf8BOgHUAeEB/wE6AdMB4AH/AToB0QHeAf8BOgHR - Ad4B/wE6AdEB3gH/AToB0QHeAf8BOgHRAd4B/wE6AdEB3gH/AToB0QHeAf8BOgHRAd4B/wE6AdEB3gH/ - AToB0QHeAf8BOgHRAd4B/wE6AdEB4QH/AToB1AHhAf8BOgHUAeEB/wE1AdQB4QH/AR0BsgHYAf8BBwGF - Aa8B/wEAAQwBiwH/AgABigH/QwABAQMFAQcDFAEbAzUBVgNUAa8BWgJdAfAB8wH4AfwB/wHUA/8BxAH8 - Av8BxgH+Av8B6AP/Al8BYAH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMAAf8DAAH/AwAB/0cAAf8DpwH/ - AwAB/wHOAYcBIwH/AdUBiwElAf8B1QGLASUB/wHLAYQBIQH/Ab0BQgEaAf8BxAGAAR4B/wHAAUQBHAH/ - AZUBKAEJAf8BjQElAQoB/wEjARYBEgH/AQABCgE3Af8CAAEtAf8BBQGRAbIB/wE6AdUB5gH/AQABIwGJ - Af8CAAEzAf8BAAEOAS4B/wE5ARwBDQH/AZIBJwEJAf8BsQE7ARUB/wHDAYABHQH/AcMBgAEdAf8BugFB - ARkB/wHTAYoBJAH/AdUBiwElAf8BxQGCASEB/wMFAf8DpwH/AwAB/wIAAYEB/wEAARgBkAH/ARgBoQHC - Af8BCQFCAaQB/wEAARQBQwH/AQABFAGEAf8BAAEUAYgB/wEAARQBiAH/AQABFAGBAf8BAAEUAYEB/wEA - ARQBgQH/AQABFAFDAf8BAAEUAUIB/wEAARQBQgH/AQABFAFCAf8BAAEUAUIB/wEAARQBQgH/AQABFAFC - Af8BAAEUAUIB/wEAARQBQgH/AQABFAGBAf8BAAEUAYEB/wEAARQBgQH/AQABFAGBAf8BAAEVAYgB/wED - ARgBiAH/AQABFAGEAf8BAAEUAUMB/wEJAUQBpAH/ARgBoQHDAf8BAAEYAZEB/wIAAYEB/z8AAQEDBAEG - AxIBGAMyAVADUgGpAVkCZAHsAn8BhAH+AdkD/wHEAfwC/wHDAfsC/wHDAfsC/wHXA/8DqAH9AVcCWQG/ - AzIBUAMIAQsvAAH/AwAB/wMAAf8DAAH/AwAB/0cAAf8DmwH/AwAB/wHOAUYBIQH/AdUBgwEjAf8BywFE - AR8B/wGDAR0BCgH/AS8BFQENAf8BPQEYAQsB/wE1ARYBDAH/AQYBEwEeAf8BAAENATsB/wIAATcB/wEA - ARIBQQH/ATQB0AHnAf8BPwHdAfEB/wEkAacBsQH/AUUB4QH3Af8BGwGpAcUB/wIAAS0B/wEAAQEBPgH/ - AQABEAEzAf8BFwETARUB/wE7ARcBCwH/ATwBFwELAf8BKgEVAREB/wGUASIBBwH/AdMBggEiAf8BxQFC - AR8B/wMEAf8DmwH/AwAB/wIAAUUB/wEAARkBiwH/AREBnAG9Af8CAAEwAf8CAAE8Af8BAAEaAZgB/wEA - AR0BnQH/AQABGwGdAf8BAAEaAZwB/wEAARoBlgH/AQABGQGVAf8BAAEXAZEB/wIAATwB/wIAATMB/wIA - ATMB/wIAATMB/wIAATMB/wIAATMB/wIAAToB/wEAARMBkgH/AQABFQGUAf8BAAELAY0B/wEAASEBmAH/ - AQABBAGOAf8BAAEhAZ8B/wEAAREBkwH/AgABPAH/AgABLQH/AgABLgH/AREBlwG0Af8BAAEYAYgB/wIA - AUUB/zsAAQEDBAEGAxABFQMsAUMBTwJQAZsBWAJiAekCfwGEAf4B3gP/AcYB/gL/AcMB+wL/AcMB+wL/ - AcgD/wHsA/8CXwFgAfsBVQJWAbEDLQFFAwcBCi8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/ - AgAC/wIAAv8nAAH/A5MB/wMAAf8BzAE+AR8B/wHTAUEBIQH/Ac4BPgEfAf8BigEaAQcB/wEAASIBhAH/ - AQABGgGNAf8BAAESAYgB/wEAAQgBgQH/AQABPQGfAf8BOAHVAeYB/wGQAe8B/gH/ARsBmwG8Af8BJwEA - ARQB/wGRAQABEgH/ARYBEwErAf8BMgHKAeYB/wGQAe0B+gH/ASIBtAHKAf8BAAEjAZIB/wEAAQoBgQH/ - AQABEwGHAf8BAAEkAZYB/wEEARQBJwH/AZMBHAEGAf8B0gFBASEB/wHDAToBHQH/AwMB/wOTAf8DAAH/ - AgABRQH/AQABGgGLAf8BEQGdAb0B/wIAATcB/wEAARkBlQH/AS4B1gHpAf8BLwHXAfAB/wEuAdIB8AH/ - AS4B0QHwAf8BLgHRAe4B/wErAc0B6wH/ASgBxQHnAf8CAAGKAf8CAAE9Af8CAAE9Af8CAAE9Af8CAAE9 - Af8CAAE+Af8CAAGMAf8BKQHBAeIB/wEjAcQB6AH/AQEBigHPAf8BNwHhAfUB/wEAATcBwwH/ATkB4QH1 - Af8BFAGiAdUB/wIAAZIB/wIAATkB/wIAATYB/wEPAZQBtAH/AQABFQGIAf8CAAFFAf84AAMEAQUDDQES - AygBPANKAYoBXgJhAdoDqAH9AeID/wHGAf4C/wHDAfsC/wHDAfsC/wHJA/8B6QP/A6gB/QFcAmEB3ANH - AYIDHQEqAwUBBy8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8nAAH/A48B/wMA - Af8ByQE7AR4B/wHQAT4BIAH/AdABPgEgAf8BpgEmAQ4B/wEMARABHgH/AQABPAGjAf8BJAGrAdIB/wGS - AesB+AH/AYkB6gH3Af8BIwGiAbwB/wEjARABKQH/AZoBBAEqAf8BvwEXAYsB/wHBARwBkwH/AbsBFQGC - Af8BggEAARwB/wEbASwBRgH/ATIBwwHbAf8BkwHwAfwB/wGGAeEB8wH/AREBkQG5Af8BAAE3AZ8B/wE5 - AREBCQH/AbwBMwEYAf8B0AE+ASAB/wHAATcBHAH/AwMB/wOPAf8DAAH/AgABRQH/AQABGgGLAf8BEQGd - Ab0B/wIAATsB/wEAARsBnwH/ATUB4gH1Af8BPAHsAv8BQQHuAv8BQgHuAv8BQgHuAv8BQgHuAv8BIQHA - AesB/wIAAY8B/wIAAUIB/wIAAT8B/wIAAT0B/wIAAT4B/wIAAYIB/wEDAUEBvgH/ATMB2gH4Af8BAwGY - Ad8B/wEiAcQB8QH/ARYBtgHqAf8BDgGsAeUB/wEuAdYB+QH/AQgBnwHhAf8BEQGfAdMB/wEAAQoBjAH/ - AgABOQH/AQwBlAG0Af8BAAEVAYgB/wIAAUUB/yQAAwEBAgMDBAQEBgQIAQsDDwEUAyQBNgFGAkcBgAFY - AlwB0QJfAWIB+wHpA/8ByAP/AcMB+wL/AcMB+wL/AcwD/wHwA/8CXwFiAfsBWQJdAdcDTAGSAysBQgMN - ARIDAwEELwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/ycAAf8DjwH/AwAB/wHH - ATkBHgH/Ac4BPAEgAf8BzgE8ASAB/wGmASYBDwH/AgwBGgH/AQABLAGQAf8BCwGHAakB/wEAARMBKwH/ - ATIBAAENAf8BpQEFAS0B/wHCARgBjAH/AcsBJwGkAf8B0gEvAbEB/wHUATABtAH/AdEBLQGwAf8BygEm - AaIB/wG+ARYBhAH/AZIBAAEjAf8BJAEAAQ0B/wEAASYBRAH/ARABigGsAf8BAAEhAYgB/wE4AREBCQH/ - Ab0BMgEZAf8BzgE8ASAB/wG/ATYBHAH/AwMB/wOPAf8DAAH/AgABRQH/AQABGQGLAf8BEQGcAbkB/wIA - ATUB/wEAARsBnwH/ATUB4QH1Af8BOgHnAv8BOwHoAv8BPAHoAv8BPgHqAv8BQgHuAv8BIQHAAesB/wIA - AY4B/wIAATwB/wIAATsB/wIAAToB/wIAAToB/wIAAYEB/wEZAaEB1AH/AToB5gL/AQABMwHBAf8BOgHm - Av8BAgGPAdQB/wEnAckB8QH/AScByQHxAf8BAgGPAdUB/wEwAdwB9QH/AQABGQGYAf8CAAE0Af8BEAGU - AbQB/wEAARUBiAH/AgABRQH/HAADAgEDAwYBCAMNAREDFwEgAyIBMgMqAUADLAFDAzEBTgNHAYIBWQJc - AcwBTgFaAWIB+gHtA/8ByQP/AcMB+wL/AcMB+wL/Ac0D/wH4A/8DXAH4AVwCXgHOAUgCSQGHAysBQgMR - ARcDBAEGAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8nAAH/A5AB/wMA - Af8BxQE3AR0B/wHMAToBHwH/AcwBOgEfAf8BpAEjAQ4B/wEJAQwBHAH/AQABJgGJAf8BAAErAY0B/wEV - AQUBHwH/AbwBDgFDAf8BxAEeAZwB/wHRAS4BrwH/AdwBOgHBAf8B5gFDAc0B/wHpAUYB0gH/AeYBRAHN - Af8B3QE7AcEB/wHQAS4BrwH/AcUBHwGbAf8BswEKATIB/wEAARMBNAH/AQABMgGQAf8BAAEbAYMB/wE3 - ARABCQH/AbsBMQEYAf8BzAE6AR8B/wG9ATQBGwH/AwMB/wOQAf8DAAH/AgABRQH/AQABGQGLAf8BEQGb - AbgB/wIAATMB/wEAARMBkgH/AR4BuwHgAf8BIgG8AeYB/wEiAb8B5gH/ASkBvwHkAf8BKQHBAecB/wEp - AcUB6wH/ASQBvwHkAf8CAAGEAf8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE9Af8CAAGFAf8CAAGN - Af8CAAGIAf8CAAGPAf8CAAGLAf8CAAGUAf8CAAGWAf8CAAGTAf8CAAGSAf8CAAE+Af8CAAEzAf8BEQGU - AbQB/wEAARUBiAH/AgABRQH/FwABAQMEAQUDCgEOAxoBJQMxAU0DRAF5AU8CUAGbAVMCVAGsA1QBrgNV - AbUBWgJeAdgDbQH3AfQD/wHKA/8BwwH7Av8BxAH8Av8B0Qf/A20B9wFYAlsBxgNDAXgDJgE4AxABFQME - AQYDAAEBMwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/ycAAf8DkgH/AwAB/wHD - ATQBHAH/AcoBNwEeAf8ByAE2AR0B/wGMARUBBAH/AQABCwEoAf8BAAErAYwB/wEAATcBnQH/ATIBAwEf - Af8BwgEYAZAB/wHNASkBqwH/Ad4BPQHEAf8B7wGHAdoB/wH7AZMB7AH/Af0BmAH0Af8B+wGTAewB/wHv - AYcB2gH/Ad4BPQHEAf8BzgEpAawB/wG9ARUBhAH/AQEBFQE1Af8BAAE+AZ0B/wEAARoBhAH/ASUBDAEO - Af8BsAEpARMB/wHKATcBHgH/AbsBMQEaAf8DAwH/A5IB/wMAAf8CAAFFAf8BAAEZAYoB/wERAZcBtgH/ - AgABMwH/AgABPAH/AgABjwH/AgABlwH/AgABlwH/AgABjwH/AgABjwH/AgABjwH/AgABiAH/AgABPgH/ - AgABOgH/AgABOgH/AgABOgH/AgABOgH/AgABOgH/AgABOgH/AgABOgH/AgABPAH/AgABQgH/AgABQgH/ - AgABRgH/AgABgwH/AgABgwH/AgABRQH/AgABNAH/AgABMwH/AREBlAG0Af8BAAEVAYgB/wIAAUUB/xMA - AQEDBAEGAw8BFAMkATUBPwJAAW8DVgGzAVsCYQHhA2UB9AFNAVYBYAH6A1wB+ANZAfUBTQFSAV4C+gP/ - Ac0D/wHDAfsC/wHEAfwC/wHUA/8B8wH4AfwB/wNZAfUBVgJYAcEDQAFwAyABLgMLAQ8DBAEFAwABARsA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIA - Av8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DwAB/wOWAf8DAAH/AcEBMQEcAf8ByAE0AR0B/wHE - ATIBGwH/AYcBEgEEAf8BAAERATsB/wEAATkBlwH/AQABNAGXAf8BgAECASMB/wHGAR4BmgH/AdUBMgG3 - Af8B6gGAAdIB/wH8AZYB8QL/AagB/gL/Aa8D/wGoAf4B/wH8AZYB8QH/AeoBgAHSAf8B1gEyAbcB/wHF - ARwBkwH/ARgBDgEqAf8BAAFAAaAB/wEAASYBjQH/AQMBCwEfAf8BjAETAQMB/wHHATQBHQH/AbkBLgEa - Af8DBAH/A5YB/wMAAf8CAAFEAf8BAAEXAYUB/wEOAZUBtAH/AgABMwH/AgABNAH/AgABRQH/AgABgwH/ - AgABgwH/AgABQgH/AgABQgH/AgABPwH/AgABOwH/AgABOgH/AgABOgH/AgABOgH/AgABOgH/AgABOgH/ - AgABOgH/AgABOgH/AgABOgH/AgABPAH/AgABQgH/AgABQgH/AgABQgH/AgABgwH/AgABgwH/AgABRQH/ - AgABNAH/AgABMwH/AREBlAG0Af8BAAEVAYgB/wIAAUUB/xAAAwIBAwMLAQ8DIwE0AUQCRQF8AVcCWgHF - A20B9wHzAfgB/AH/AfED/wHnA/8B6gP/Ae8D/wHkA/8BzQP/AcMB+wL/AcYB/gL/AdoD/wHzAfgB/AH/ - AWQCZQH0AVYCWAG8Az0BaQMdASoDCgENAwMBBCMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ - AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/ - DwAB/wOaAf8DAAH/Ab4BMAEbAf8BxQEyARwB/wGvASYBEwH/ATIBDAEHAf8BAAEbAYsB/wEWAYkBqwH/ - AQABIwFGAf8BqQEKATQB/wHIASIBoQH/AdoBNwG8Af8B8AGIAdwB/wH+AZ8B+gL/AbQD/wHCA/8BtAL/ - Af4BnwH6Af8B8AGIAdwB/wHbATcBvQH/AckBIQGdAf8BPgEDASIB/wEAAT0BnQH/AQUBQgGiAf8BAAEQ - ATsB/wGGAREBAwH/AcMBMQEbAf8BtgEtARkB/wMEAf8DmgH/AwAB/wIAAUMB/wEAARUBgwH/ARABlAG0 - Af8CAAEzAf8CAAE0Af8CAAFFAf8CAAGDAf8CAAGDAf8CAAFCAf8CAAFCAf8CAAE9Af8CAAE6Af8CAAE6 - Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE+Af8CAAFC - Af8CAAFCAf8CAAGDAf8CAAGDAf8CAAFFAf8CAAE0Af8CAAEzAf8BEQGUAbQB/wEAARUBiAH/AgABRQH/ - EAADAwEEAxgBIQM9AWkBVwJZAb8BUQFaAWIB+gHxA/8BzgP/AcQB/AL/AcMB+wL/AcMB+wL/AcMB+wL/ - AcMB+wL/AcMB+wL/AcYB/gL/Ad4D/wJ/AYQB/gFOAl0B8AFVAlcBtwM7AWMDGgElAwkBDAMDAQQnAAH/ - AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/ - AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/w8AAf8DnwH/AwAB/wG7AS0BGgH/AcABLgEaAf8BhgEQ - AQIB/wEAAQoBIwH/AQABKQGUAf8BHQGVAbkB/wENARQBLwH/AbgBDQFBAf8BxwEiAaAB/wHZATYBuwH/ - Ae8BhQHaAf8B/gGdAfoC/wGxA/8BvAP/AbEC/wH+AZ0B+gH/Ae8BhQHaAf8B2QE2AbwB/wHHASEBnwH/ - AaQBBwEwAf8BAAEtAYkB/wEjAZcBuAH/AQABGQGKAf8BMQELAQgB/wGtASQBEgH/AbMBKgEYAf8DBAH/ - A58B/wMAAf8CAAFDAf8BAAEVAYMB/wERAZQBtAH/AgABMwH/AgABRQH/AQABJQGsAf8BAAEqAbYB/wEA - ASgBsAH/AQABFwGiAf8BAAEBAY4B/wIAAUUB/wIAATwB/wIAAToB/wIAAToB/wIAAToB/wIAAToB/wIA - AToB/wIAAToB/wIAAToB/wIAAToB/wIAAToB/wIAAT0B/wIAAUIB/wIAAUIB/wIAAYMB/wIAAYMB/wIA - AUUB/wIAATQB/wIAATMB/wEQAZQBtAH/AQABFQGIAf8CAAFFAf8QAAMEAQYDIwEzAU0CTgGVA2UB9AT/ - AdoD/wHZA/8B4AP/Ad0D/wHPA/8BxQH9Av8BwwH7Av8BwwH7Av8B0wP/An8BhAH+AU4CXQHwAVUCVwG3 - AzoBYAMYASIDCAELAwIBAysAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ - AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DwAB/wOkAf8DAAH/ - AbkBKgEYAf8BoAEcAQwB/wEsAQgBBgH/AQABCgFCAf8BDAFBAaIB/wEAATIBkgH/AToBAAELAf8BtwEN - AUQB/wHCAR4BmwH/AdMBMAGzAf8B5gFFAc8B/wH6AZEB6wL/AaAB/AL/AagB/gL/AaAB/AH/AfoBkQHr - Af8B5gFFAc8B/wHTATABtAH/AcMBHQGaAf8BtgELATgB/wEOAQYBGgH/AQgBQwGkAf8BAAEnAZEB/wEA - AQIBHgH/AYQBDgEAAf8BqQEjARMB/wMEAf8DpAH/AwAB/wIAAUQB/wEAARUBhQH/AREBlAG0Af8CAAEz - Af8BAAEbAZIB/wE1AeQB9QH/AToB6QL/ATMB4AH4Af8BFgGxAd8B/wEAATMBtQH/AQABAgGKAf8CAAE8 - Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE6Af8CAAE7Af8CAAE/ - Af8CAAFEAf8CAAGEAf8CAAGNAf8CAAGMAf8CAAGDAf8CAAE1Af8CAAEzAf8BDgGVAbQB/wEAARcBiAH/ - AgABRQH/EAADBAEGAyIBMgFMAk0BkQNkAfEDqAH9An8BgQH+A6gB/QJfAWAB+wFNAWMBaQH8AecB8QH4 - Af8B1QP/AcMB+wL/AcMB+wL/AeAD/wNfAfsBWgJdAdMDQgF0AxoBJQMGAQgDAQECLwAB/wMAAf8DAAH/ - AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/ - AgAC/wIAAv8CAAL/AgAC/wIAAv8PAAH/A6oB/wMAAf8BqQEgAREB/wE0AQkBBgH/ASUBlgG1Af8BPgHB - AeQB/wGUAdgB6wH/AQABGAGIAf8BAAELASwB/wGhAQMBKwH/Ab8BFgGOAf8BygEmAaYB/wHaATcBvAH/ - AegBgQHSAf8B9AGKAeEB/wH5AZAB6AH/AfQBigHhAf8B6AGBAdIB/wHaATcBvQH/AcsBJgGlAf8BwAEV - AYoB/wFEAQIBHwH/AQABCQE5Af8BBQFDAakB/wGcAeEB7wH/ATABsAHWAf8BGAERARkB/wGQARUBCAH/ - AwUB/wOqAf8DAAH/AgABRQH/AQABFQGIAf8BEQGUAbQB/wIAATMB/wEAAQUBigH/AQABjAHPAf8BAAGT - AdwB/wEAAY8B1QH/AQABPQHDAf8BAAEXAaUB/wIAAYkB/wIAAUEB/wIAAToB/wIAAToB/wIAAToB/wIA - AToB/wIAAToB/wIAAToB/wIAAToB/wIAAToB/wIAATwB/wIAAUQB/wIAAY4B/wEAATUBuAH/ARMBmgHS - Af8BCgGNAcsB/wEAARwBpQH/AgABPQH/AgABMwH/AREBlwG2Af8BAAEZAYoB/wIAAUUB/xAAAwMBBAMW - AR4DNgFZAU8CUQGcAVcCWQG/AVkCXAHJAVoCXQHKAVwCXgHOAVgCXwHjAVcCYgH2AfAD/wHDAfsC/wHD - AfsC/wHdA/8BWwFnAWsB/ANZAccDNwFbAw8BFAMAAQFPAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/ - AgAC/wIAAv8CAAL/JwAB/wOwAf8DAAH/Aa8BIQEUAf8BQwEIAQAB/wEmAQMBBQH/ASEBPQGFAf8BsAHu - AfcB/wGbAeMB7wH/AQABGwGRAf8BAAEXATAB/wGlAQcBMwH/AcABGgGVAf8BywEoAakB/wHWATMBtwH/ - Ad4BPQHCAf8B4QE/AcYB/wHeAT0BwgH/AdYBMwG3Af8BywEoAagB/wHDARkBkQH/AYEBAwElAf8BAAEh - AYAB/wEAATsBpQH/AbcB8wH6Af8BlgHaAeQB/wEZAQ4BFgH/ATkBBwECAf8BowEcAREB/wMFAf8DsAH/ - AwAB/wIAAUUB/wEAARUBiAH/AREBlAG0Af8CAAEzAf8BAAETAY8B/wEfAccB6AH/ASYB0AHzAf8BJwHL - AfIB/wEdAbsB5gH/AQcBjQHMAf8BAAEeAaUB/wIAAYEB/wIAAToB/wIAAToB/wIAAToB/wIAAToB/wIA - AToB/wIAAToB/wIAAToB/wIAAToB/wIAAToB/wIAAUQB/wEAATMBtQH/ASgB0AHxAf8BOAHpAf0B/wE1 - AeUB+wH/AREBqQHcAf8BAAECAYQB/wIAATMB/wERAZsBuAH/AQABGQGLAf8CAAFFAf8QAAMCAQMDCgEN - AxwBJwMvAUkDPAFmA0QBegNIAYQBTgJPAZcBWQJcAcwBUwJkAfEE/wHDAfsC/wHDAfsC/wHXA/8DqAH9 - A1sByAM3AVoDCwEPUwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/ycAAf8DtgH/ - AwAB/wGwASABFAH/AbIBIAETAf8BnwEXAQsB/wFEAQcBAAH/AQsBAwESAf8BkwHUAegB/wGWAd4B7wH/ - AQABKgGWAf8BAwEOASUB/wG4AQsBPgH/Ab8BGAGTAf8BxgEhAaAB/wHLAScBpgH/Ac0BKQGqAf8BywEn - AaYB/wHGASEBoAH/AcABGAGRAf8BnQEGAS8B/wEAASMBPQH/AQABOgGoAf8BrwHrAfgB/wE3AaABwwH/ - ASkCAgH/AUYBBwEAAf8BrQEeAREB/wGpAR4BEwH/AwUB/wO2Af8DAAH/AgABRQH/AQABFQGIAf8BEAGU - AbQB/wIAATMB/wEAAQ4BjgH/ARgBwwHnAf8BHwHOAfIB/wEfAcgB8gH/ARUBtAHmAf8BAgGKAcoB/wEA - ARwBnwH/AgABQAH/AgABMQH/AgABLwH/AgABLwH/AgABLwH/AgABLwH/AgABLwH/AgABLwH/AgABLwH/ - AgABMAH/AgABPgH/AQkBlQHLAf8BLQHpAf0B/wEvAe4C/wEvAe4C/wEhAdUB8AH/AQABDwGQAf8CAAEz - Af8BEQGcAbkB/wEAARkBiwH/AgABRQH/EwABAQMHAQkDFgEfAy8BSQFBAkIBcwFMAk0BkQFQAlIBowFV - AlcBugNfAeABSQJiAfYB8wP/AcMB+wL/AcMB+wL/Ad0D/wFbAWcBawH8AVcCWgG9AzEBTwMJAQxTAAH/ - AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JwAB/wO7Af8DAAH/Aa0BHQETAf8BswEf - ARQB/wGzAR8BFAH/AagBGgEPAf8BQwEEAQAB/wELAQMBEgH/AZEB0QHqAf8BQgG6Ad0B/wEAATMBkwH/ - ASwBAAEbAf8BuAEJAUEB/wG8AREBhwH/AcABEwGKAf8BvwEUAYwB/wHAARMBigH/AbwBEAGGAf8BtAEI - ATkB/wEAAREBJgH/AQABOQGiAf8BnQHeAfEB/wE3AaABxgH/ASsBAQECAf8BlgERAQgB/wGyAR8BFAH/ - AbMBHwEUAf8BpgEbARIB/wMGAf8DuwH/AwAB/wIAAUUB/wEAARUBiAH/AQwBlAG0Af8CAAEzAf8CAAGF - Af8BAAGCAcoB/wEAAY4B1wH/AQABigHXAf8BAAGGAc8B/wEAAT0BwAH/AQABJAGqAf8BAAEFAYwB/wIA - ASwB/wIAASYB/wIAASYB/wIAASYB/wIAASYB/wIAASYB/wIAASYB/wIAASgB/wIAASoB/wIAAToB/wEA - AYABwQH/ASIB4wH7Af8BJgHuAv8BJgHuAv8BEwHGAeoB/wEAAQcBjAH/AgABNQH/AREBnQG9Af8BAAEa - AYsB/wIAAUUB/xMAAQEDCgENAyoBQAFOAk8BlwFYAlwB0QNcAeoDZwHyA1kB9QJfAWAB+wHaAeoB9QH/ - AdgD/wHDAfsC/wHFAf0C/wHvA/8DYgH2AVACUgGjAycBOgMHAQlTAAH/AwAB/wMAAf8DAAH/AwAB/w4A - Av8CAAL/AgAC/wIAAv8CAAL/JwAB/wPAAf8DAAH/AakBGwERAf8BrwEcARIB/wGvARwBEgH/Aa8BHAES - Af8BpQEXAQ4B/wE/AQIBAAH/AQwBFQEqAf8BmAHaAfEB/wEYAY8BvAH/AQABHgE6Af8BOwEAAQwB/wEv - AQIBHQH/AR4BCAEjAf8BHgEIASMB/wEiAQcBIgH/ATcBAAEZAf8BJQEAAQoB/wEAAS4BkAH/AUYBvAHg - Af8BhAG7AeEB/wEdAQABBQH/AZEBDgEFAf8BrwEcARIB/wGvARwBEgH/Aa8BHAESAf8BogEZARAB/wMG - Af8DwAH/AwAB/wIAAUYB/wEAARUBiwH/AQ8BlAG0Af8CAAEvAf8BAAEOAYwB/wEXAdoB6wH/ARwB5AH1 - Af8BHAHiAfUB/wEXAdkB8wH/AREBwgHpAf8BAgGTAdEB/wEAAR4BowH/AgABIwH/AgABHAH/AgABHAH/ - AgABHAH/AgABHAH/AgABHAH/AgABHAH/AgABHwH/AgABHwH/AgABJwH/AQABDQGQAf8BAwGeAdYB/wEX - AdEB8AH/AREBwwHqAf8BAAE+Ab0B/wIAATwB/wIAATUB/wERAZ0BvQH/AQABGgGOAf8CAAFGAf8TAAEB - Aw8BFAM7AWMDXgHYBP8B+wP/AfMD/wHuA/8B4gP/AdED/wHGAf4C/wHEAfwC/wHWA/8B5wHxAfgB/wFX - AlwB3wNEAXkDGAEiAwQBBlMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8nAAH/ - A8cB/wMAAf8BpgEXARAB/wGsARgBEQH/AawBGAERAf8BrAEYAREB/wGsARgBEQH/AZoBEAEJAf8BNgIA - Af8BKQGQAbIB/wGWAdIB8QH/AQABMQGiAf8BAAEqAYsB/wEAATIBkwH/AQABOAGaAf8BAAE6AZwB/wEA - ATcBlwH/AQABMgGTAf8BAAElAYsB/wETAYkBuwH/AZgB2AHzAf8BDQEbATEB/wE+AgAB/wGrARcBEAH/ - AawBGAERAf8BrAEYAREB/wGsARgBEQH/AZ8BFgEPAf8DBgH/A8cB/wMAAf8CAAGFAf8BAAEcAY0B/wER - AZcBtAH/AgABLQH/AgABLgH/AQABEgGMAf8BAAEUAZIB/wEAARQBkgH/AQABEgGQAf8BAAENAYYB/wIA - AUAB/wIAATAB/wIAARkB/wIAARMB/wIAARMB/wIAARMB/wIAARMB/wIAARMB/wIAARMB/wIAARMB/wIA - ARkB/wIAARoB/wIAASUB/wIAAUAB/wEAAQ4BigH/AQABBgGFAf8CAAE5Af8CAAEmAf8CAAEuAf8BEQGc - AbkB/wEAAR0BkQH/AgABhQH/EwABAQMNARIDOAFcAVgCWwHLAn8BgAH+AeoD/wHNA/8BxAH8Av8BwwH7 - Av8BwwH7Av8BxgH+Av8B2AP/AfMB+AH8Af8DXQHwA1IBqQMuAUcDDAEQAwIBA1MAAf8DAAH/AwAB/wMA - Af8DAAH/RwAB/wPPAf8DAAH/AaMBFAEOAf8BqAEVAQ8B/wGoARUBDwH/AagBFQEPAf8BqAEVAQ8B/wGo - ARUBDwH/AY0BCAEDAf8BEQEDAQ4B/wGMAdIB8wH/AcMB8AH4Af8B1QHuAfcB/wHgAfcB/AH/AecD/wHo - A/8B5gH+Av8B3QHyAfoB/wHNAe0B9wH/AbUB7wH7Af8BNwGrAc8B/wEsAgAB/wGWAQ0BBwH/AagBFQEP - Af8BqAEVAQ8B/wGoARUBDwH/AagBFQEPAf8BnQETAQ0B/wMHAf8DzwH/AwAB/wIAAYoB/wEAAR8BmAH/ - ARIBlQG2Af8BAAEjAYgB/wIAASwB/wIAATEB/wIAATEB/wIAATEB/wIAASsB/wIAASsB/wIAASsB/wIA - ASYB/wIAASUB/wIAASUB/wIAASUB/wIAASUB/wIAASUB/wIAASUB/wIAASUB/wIAASUB/wIAASYB/wIA - ASwB/wIAAS0B/wIAAS0B/wIAATMB/wIAATMB/wIAATIB/wIAASwB/wEAASMBhwH/AREBlAG1Af8BAAEf - AZgB/wIAAYoB/xMAAQEDBwEKAyYBOANKAYsBWQJcAc8DXAH4AfMB+AH8Af8B8gP/AeYD/wHoA/8B+gP/ - An8BhAH+A2EB7gNVAbIDOAFcAxUBHQMFAQcDAAEBUwAB/wMAAf8DAAH/AwAB/wMAAf9HAAH/A9cB/wMA - Af8BnwERAQ0B/wGkARIBDgH/AaQBEgEOAf8BpAESAQ4B/wGkARIBDgH/AaQBEgEOAf8BmQENAQkB/wEm - AgAB/wGvAdwB5AH/AeIB8AHyAf8BjQGkAa8B/wEqATABPAH/ARgBFAEiAf8BGQEVASMB/wEbARgBJQH/ - ATUBQQGGAf8BpQHAAcUB/wHvAvsB/wEhAYIBlwH/ATcCAAH/AaMBEQENAf8BpAESAQ4B/wGkARIBDgH/ - AaQBEgEOAf8BpAESAQ4B/wGZARABDAH/AwcB/wPXAf8DAAH/AgABlAH/AQABGgGbAf8BHQGiAcMB/wEw - AbcBzQH/ASwBuQHNAf8BLAG5Ac0B/wEqAbkBzQH/ASkBuQHNAf8BKQG5Ac0B/wEpAbkBzQH/ASkBuQHN - Af8BKQG5Ac0B/wEpAbkBzQH/ASkBuQHNAf8BKQG5Ac0B/wEpAbkBzQH/ASkBuQHNAf8BKQG5Ac0B/wEp - AbkBzQH/ASkBuQHNAf8BLAG5Ac0B/wEsAbwBzwH/ASwBvwHSAf8BLAG/AdIB/wEsAb8B0gH/ASwBvwHS - Af8BKgG8Ac8B/wEpAbkBzQH/ASgBtgHIAf8BGAGeAcAB/wEAARkBmwH/AgABlAH/FAADBAEFAxEBFwMp - AT8DRAF5AVUCVgG0AVwCYQHcA18B8wFNAVYBYAH6AU0BVgFgAfoDXQHtAVsCXgHQAVACUQGfAzYBWQMY - ASEDBwEKAwEBAlcAAf8DAAH/AwAB/wMAAf8DAAH/RwAB/wPfAf8DAAH/AZwBDgEMAf8BoQEPAQ0B/wGh - AQ8BDQH/AaEBDwENAf8BoQEPAQ0B/wGhAQ8BDQH/AZsBDAEKAf8BLAIAAf8BjwGWAaEB/wEaAgAB/wE0 - AgAB/wE3AgAB/wGBAQEBAAH/AYEBAQEAAf8BgQEBAQAB/wE2AgAB/wExAgAB/wEOAQIBEQH/AT4BQgGI - Af8BNgIAAf8BoAEOAQwB/wGhAQ8BDQH/AaEBDwENAf8BoQEPAQ0B/wGhAQ8BDQH/AZYBDQELAf8DCAH/ - A98B/wMAAf8CAAGeAf8CAAGUAf8BCAEiAZ8B/wEbAUIBrgH/AR4BRgGrAf8BHgFGAasB/wEcAUYBqwH/ - ARsBRgGnAf8BGwFGAaYB/wEZAUMBpgH/ARUBQAGmAf8BFQFAAaIB/wEVAUABoQH/ARUBQAGhAf8BFQFA - AaEB/wEVAUABoQH/ARUBQAGhAf8BFQFAAaEB/wEVAUABoQH/ARUBQAGhAf8BGQFAAaIB/wEZAUABpgH/ - ARwBQwGmAf8BHgFGAaYB/wEeAUYBpwH/AR4BRgGrAf8BHAFGAasB/wEbAUYBqwH/ARgBQgGuAf8BBgEi - AZ8B/wIAAZQB/wIAAZ4B/xcAAQEDBAEGAwwBEAMcASgDMQFNA0IBdQNOAZkBUwJVAa0DUgGpA0sBjgE8 - Aj0BZwMpAT4DFAEbAwcBCQMCAQNbAAH/AwAB/wMAAf8DAAH/AwAB/0QAA0wB8wPfAf8DFQH/AYoCCAH/ - AZsBCgELAf8BmwEKAQsB/wGbAQoBCwH/AZsBCgELAf8BmwEKAQsB/wGaAQkBCgH/ATECAAH/ASsCAAH/ - ATMCAAH/AZkBCQEKAf8BmgEKAQsB/wGbAQoBCwH/AZsBCgELAf8BmwEKAQsB/wGaAQkBCgH/AZIBBgEH - Af8BMgIAAf8BKAIAAf8BMwIAAf8BmgEKAQsB/wGbAQoBCwH/AZsBCgELAf8BmwEKAQsB/wGbAQoBCwH/ - AUMBBgEHAf8DHQH/A90B/wNOAfACAAGkAf8CAAGeAf8CAAGUAf8CAAGPAf8CAAGMAf8CAAGGAf8CAAGC - Af8CAAFFAf8CAAFFAf8CAAFCAf8CAAE/Af8CAAE9Af8CAAE9Af8CAAE9Af8CAAE9Af8CAAE9Af8CAAE9 - Af8CAAE9Af8CAAE9Af8CAAE9Af8CAAE9Af8CAAE/Af8CAAFCAf8CAAFFAf8CAAFFAf8CAAGCAf8CAAGG - Af8CAAGMAf8CAAGPAf8CAAGUAf8CAAGeAf8CAAGkAf8bAAEBAwIBAwMGAQgDDAEQAxYBHgMiATIDKgFA - AykBPgMfASwDEgEZAwoBDQMEAQYDAQECXwAB/wMAAf8DAAH/AwAB/wMAAf9EAANXAb0DvwH/A5QB/wEp - AQcBCQH/AYoBBgEMAf8BkwEEAQsB/wGTAQQBCwH/AZMBBAELAf8BkwEEAQsB/wGTAQQBCwH/AZIBBAEK - Af8BjgECAQkB/wGSAQQBCwH/AZMBBAELAf8BkwEEAQsB/wGTAQQBCwH/AZMBBAELAf8BkwEEAQsB/wGT - AQQBCwH/AZMBBAELAf8BkgEEAQoB/wGNAQIBCAH/AZIBBAELAf8BkwEEAQsB/wGTAQQBCwH/AZMBBAEL - Af8BkwEEAQsB/wGAAQcBDAH/AR4BBgEIAf8DtAH/A7QB/wNUAa4CAAGsAf8CAAGpAf8CAAGmAf8CAAGm - Af8CAAGmAf8CAAGjAf8CAAGfAf8CAAGeAf8CAAGXAf8CAAGXAf8CAAGWAf8CAAGWAf8CAAGOAf8CAAGO - Af8CAAGOAf8CAAGOAf8CAAGOAf8CAAGOAf8CAAGOAf8CAAGOAf8CAAGWAf8CAAGWAf8CAAGXAf8CAAGX - Af8CAAGeAf8CAAGfAf8CAAGjAf8CAAGmAf8CAAGmAf8CAAGmAf8CAAGpAf8CAAGsAf8kAAMBAQIDAwQE - BAYBCAMGAQgDBAEGAwMBBAMAAQFnAAH/AwAB/wMAAf8DAAH/AwAB/0QAAzQBVAMtAf8D7gH/A5MB/wMU - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/Ax0B/wOyAf8D6gH/Ax0B/wMtAUUCAAGsAf8CAAGs - Af8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGoAf8CAAGkAf8CAAGiAf8CAAGfAf8CAAGf - Af8CAAGcAf8CAAGcAf8CAAGcAf8CAAGcAf8CAAGcAf8CAAGcAf8CAAGcAf8CAAGcAf8CAAGfAf8CAAGf - Af8CAAGiAf8CAAGnAf8CAAGoAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGs - Af//AAUAA0oBjQMsAf8DzQH/A/kB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7 - Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D6wH/A70B/wMX - Af8DSAGHBAADSAGFAgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABqQH/ - AgABqQH/AgABpgH/AgABpAH/AgABoQH/AgABoQH/AgABoQH/AgABoQH/AgABoQH/AgABoQH/AgABoQH/ - AgABoQH/AgABpAH/AgABpgH/AgABqQH/AgABqwH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/ - AgABrAH/AgABrAH/A0gBhf8ACQADNwFaA1kBwwMrAfwDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + A8IB/wMAAf8BzAGVASEB/wHVAZsBIwH/AdUBmwEjAf8B1QGbASMB/wHVAZsBIwH/AdUBmwEjAf8B1QGb + ASMB/wHVAZsBIwH/AdUBmwEjAf8B1QGbASMB/wG/AYsBGQH/AZMBLgEGAf8BAgEQARkB/wEAARgBjgH/ + ATEBHgEKAf8BlQEvAQYB/wHPAZcBIAH/AdUBmwEjAf8B1QGbASMB/wHVAZsBIwH/AdUBmwEjAf8B1QGb + ASMB/wHVAZsBIwH/AdUBmwEjAf8B1QGbASMB/wHFAZABHwH/AwIB/wPCAf8DAAH/AgABkQH/AgABggH/ + AQABBgGEAf8BAAEPAYUB/wEAAQ8BgAH/AQABEQGDAf8BAAERAYMB/wEAAREBgwH/AQABEQFBAf8BAAER + AUEB/wEAAREBQQH/AQABEQFBAf8BAAERATwB/wEAAQ4BOQH/AQABDgE5Af8BAAEOATkB/wEAAQ4BOQH/ + AQABDgE5Af8BAAEOATkB/wEAAQ4BOQH/AQABDgE+Af8BAAEOAT4B/wEAAQ4BPgH/AQABDgE+Af8BAAEP + AYMB/wEAAREBgwH/AQABEQGDAf8BAAERAYMB/wEAAREBiAH/AQABBgGHAf8CAAGDAf8CAAGRAf9HAAEB + AwYBCAMWAR4DOAFdA1UBtQNkAfEB8wH4AfwB/wHtA/8B8wP/A38B/gNfAeADSAGFAx8BLAMFAQcvAAH/ + AwAB/wMAAf8DAAH/AwAB/0cAAf8DtAH/AwAB/wHOAZABIAH/AdUBlAEiAf8B1QGUASIB/wHVAZQBIgH/ + AdUBlAEiAf8B1QGUASIB/wHVAZQBIgH/AdQBkwEiAf8B0AGRASAB/wG0AUABEwH/AYoBJgEGAf8BAAEO + AR4B/wIAATsB/wIAATYB/wEAAQMBPAH/ARsBFAEOAf8BkgEpAQUB/wG5AYABFQH/AdIBkgEhAf8B1QGU + ASIB/wHVAZQBIgH/AdUBlAEiAf8B1QGUASIB/wHVAZQBIgH/AdUBlAEiAf8BxQGLAR4B/wMBAf8DtAH/ + AwAB/wIAAYoB/wEAAQgBhwH/AQEBhQGpAf8BGAGrAdQB/wExAdEB3gH/ATYB1AHhAf8BOQHUAeEB/wE7 + AdQB4QH/ATsB1AHhAf8BOQHUAeEB/wE2AdQB4QH/ATYB1AHhAf8BNgHTAeAB/wE2AdEB3gH/ATYB0QHe + Af8BNgHRAd4B/wE2AdEB3gH/ATYB0QHeAf8BNgHRAd4B/wE2AdEB3gH/ATYB0QHeAf8BNgHRAd4B/wE2 + AdEB3gH/ATYB0QHeAf8BNgHRAeEB/wE2AdQB4QH/ATYB1AHhAf8BMQHUAeEB/wEZAbIB2AH/AQMBhQGv + Af8BAAEIAYsB/wIAAYoB/0MAAQEDBQEHAxQBGwM1AVYDVAGvAVoCXQHwAfMB+AH8Af8B1AP/AcQB/AL/ + AcYB/gL/AegD/wNfAfsBVQJWAbEDLQFFAwcBCi8AAf8DAAH/AwAB/wMAAf8DAAH/RwAB/wOnAf8DAAH/ + Ac4BhwEfAf8B1QGLASEB/wHVAYsBIQH/AcsBhAEdAf8BvQE+ARYB/wHEAYABGgH/AcABQAEYAf8BlQEk + AQUB/wGNASEBBgH/AR8BEgEOAf8BAAEGATMB/wIAASkB/wEBAZEBsgH/ATYB1QHmAf8BAAEfAYkB/wIA + AS8B/wEAAQoBKgH/ATUBGAEJAf8BkgEjAQUB/wGxATcBEQH/AcMBgAEZAf8BwwGAARkB/wG6AT0BFQH/ + AdMBigEgAf8B1QGLASEB/wHFAYIBHQH/AwEB/wOnAf8DAAH/AgABgQH/AQABFAGQAf8BFAGhAcIB/wEF + AT4BpAH/AQABEAE/Af8BAAEQAYQB/wEAARABiAH/AQABEAGIAf8BAAEQAYEB/wEAARABgQH/AQABEAGB + Af8BAAEQAT8B/wEAARABPgH/AQABEAE+Af8BAAEQAT4B/wEAARABPgH/AQABEAE+Af8BAAEQAT4B/wEA + ARABPgH/AQABEAE+Af8BAAEQAYEB/wEAARABgQH/AQABEAGBAf8BAAEQAYEB/wEAAREBiAH/AQABFAGI + Af8BAAEQAYQB/wEAARABPwH/AQUBQAGkAf8BFAGhAcMB/wEAARQBkQH/AgABgQH/PwABAQMEAQYDEgEY + AzIBUANSAakBWQJkAewDfwH+AdkD/wHEAfwC/wHDAfsC/wHDAfsC/wHXA/8DqAH9AVcCWQG/AzIBUAMI + AQsvAAH/AwAB/wMAAf8DAAH/AwAB/0cAAf8DmwH/AwAB/wHOAUIBHQH/AdUBgwEfAf8BywFAARsB/wGD + ARkBBgH/ASsBEQEJAf8BOQEUAQcB/wExARIBCAH/AQIBDwEaAf8BAAEJATcB/wIAATMB/wEAAQ4BPQH/ + ATAB0AHnAf8BOwHdAfEB/wEgAacBsQH/AUEB4QH3Af8BFwGpAcUB/wIAASkB/wIAAToB/wEAAQwBLwH/ + ARMBDwERAf8BNwETAQcB/wE4ARMBBwH/ASYBEQENAf8BlAEeAQMB/wHTAYIBHgH/AcUBPgEbAf8DAAH/ + A5sB/wMAAf8CAAFBAf8BAAEVAYsB/wENAZwBvQH/AgABLAH/AgABOAH/AQABFgGYAf8BAAEZAZ0B/wEA + ARcBnQH/AQABFgGcAf8BAAEWAZYB/wEAARUBlQH/AQABEwGRAf8CAAE4Af8CAAEvAf8CAAEvAf8CAAEv + Af8CAAEvAf8CAAEvAf8CAAE2Af8BAAEPAZIB/wEAAREBlAH/AQABBwGNAf8BAAEdAZgB/wIAAY4B/wEA + AR0BnwH/AQABDQGTAf8CAAE4Af8CAAEpAf8CAAEqAf8BDQGXAbQB/wEAARQBiAH/AgABQQH/OwABAQME + AQYDEAEVAywBQwFPAlABmwFYAmIB6QN/Af4B3gP/AcYB/gL/AcMB+wL/AcMB+wL/AcgD/wHsA/8DXwH7 + AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JwAB/wOT + Af8DAAH/AcwBOgEbAf8B0wE9AR0B/wHOAToBGwH/AYoBFgEDAf8BAAEeAYQB/wEAARYBjQH/AQABDgGI + Af8BAAEEAYEB/wEAATkBnwH/ATQB1QHmAf8BkAHvAf4B/wEXAZsBvAH/ASMBAAEQAf8BkQEAAQ4B/wES + AQ8BJwH/AS4BygHmAf8BkAHtAfoB/wEeAbQBygH/AQABHwGSAf8BAAEGAYEB/wEAAQ8BhwH/AQABIAGW + Af8BAAEQASMB/wGTARgBAgH/AdIBPQEdAf8BwwE2ARkB/wMAAf8DkwH/AwAB/wIAAUEB/wEAARYBiwH/ + AQ0BnQG9Af8CAAEzAf8BAAEVAZUB/wEqAdYB6QH/ASsB1wHwAf8BKgHSAfAB/wEqAdEB8AH/ASoB0QHu + Af8BJwHNAesB/wEkAcUB5wH/AgABigH/AgABOQH/AgABOQH/AgABOQH/AgABOQH/AgABOgH/AgABjAH/ + ASUBwQHiAf8BHwHEAegB/wEAAYoBzwH/ATMB4QH1Af8BAAEzAcMB/wE1AeEB9QH/ARABogHVAf8CAAGS + Af8CAAE1Af8CAAEyAf8BCwGUAbQB/wEAAREBiAH/AgABQQH/OAADBAEFAw0BEgMoATwDSgGKAV4CYQHa + A6gB/QHiA/8BxgH+Av8BwwH7Av8BwwH7Av8ByQP/AekD/wOoAf0BXAJhAdwDRwGCAx0BKgMFAQcvAAH/ + AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JwAB/wOPAf8DAAH/AckBNwEaAf8B0AE6 + ARwB/wHQAToBHAH/AaYBIgEKAf8BCAEMARoB/wEAATgBowH/ASABqwHSAf8BkgHrAfgB/wGJAeoB9wH/ + AR8BogG8Af8BHwEMASUB/wGaAQABJgH/Ab8BEwGLAf8BwQEYAZMB/wG7AREBggH/AYIBAAEYAf8BFwEo + AUIB/wEuAcMB2wH/AZMB8AH8Af8BhgHhAfMB/wENAZEBuQH/AQABMwGfAf8BNQENAQUB/wG8AS8BFAH/ + AdABOgEcAf8BwAEzARgB/wMAAf8DjwH/AwAB/wIAAUEB/wEAARYBiwH/AQ0BnQG9Af8CAAE3Af8BAAEX + AZ8B/wExAeIB9QH/ATgB7AL/AT0B7gL/AT4B7gL/AT4B7gL/AT4B7gL/AR0BwAHrAf8CAAGPAf8CAAE+ + Af8CAAE7Af8CAAE5Af8CAAE6Af8CAAGCAf8BAAE9Ab4B/wEvAdoB+AH/AQABmAHfAf8BHgHEAfEB/wES + AbYB6gH/AQoBrAHlAf8BKgHWAfkB/wEEAZ8B4QH/AQ0BnwHTAf8BAAEGAYwB/wIAATUB/wEIAZQBtAH/ + AQABEQGIAf8CAAFBAf8kAAMBAQIDAwQEBAYECAELAw8BFAMkATYBRgJHAYABWAJcAdEDXwH7AekD/wHI + A/8BwwH7Av8BwwH7Av8BzAP/AfAD/wNfAfsBWQJdAdcDTAGSAysBQgMNARIDAwEELwAB/wMAAf8DAAH/ + AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/ycAAf8DjwH/AwAB/wHHATUBGgH/Ac4BOAEcAf8BzgE4 + ARwB/wGmASIBCwH/AggBFgH/AQABKAGQAf8BBwGHAakB/wEAAQ8BJwH/AS4BAAEJAf8BpQEBASkB/wHC + ARQBjAH/AcsBIwGkAf8B0gErAbEB/wHUASwBtAH/AdEBKQGwAf8BygEiAaIB/wG+ARIBhAH/AZIBAAEf + Af8BIAEAAQkB/wEAASIBQAH/AQwBigGsAf8BAAEdAYgB/wE0AQ0BBQH/Ab0BLgEVAf8BzgE4ARwB/wG/ + ATIBGAH/AwAB/wOPAf8DAAH/AgABQQH/AQABFQGLAf8BDQGcAbkB/wIAATEB/wEAARcBnwH/ATEB4QH1 + Af8BNgHnAv8BNwHoAv8BOAHoAv8BOgHqAv8BPgHuAv8BHQHAAesB/wIAAY4B/wIAATgB/wIAATcB/wIA + ATYB/wIAATYB/wIAAYEB/wEVAaEB1AH/ATYB5gL/AQABLwHBAf8BNgHmAv8BAAGPAdQB/wEjAckB8QH/ + ASMByQHxAf8BAAGPAdUB/wEsAdwB9QH/AQABFQGYAf8CAAEwAf8BDAGUAbQB/wEAAREBiAH/AgABQQH/ + HAADAgEDAwYBCAMNAREDFwEgAyIBMgMqAUADLAFDAzEBTgNHAYIBWQJcAcwBTQFTAVoB+gHtA/8ByQP/ + AcMB+wL/AcMB+wL/Ac0D/wH4A/8DXAH4AVwCXgHOAUgCSQGHAysBQgMRARcDBAEGAwABAS8AAf8DAAH/ + AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8nAAH/A5AB/wMAAf8BxQEzARkB/wHMATYBGwH/ + AcwBNgEbAf8BpAEfAQoB/wEFAQgBGAH/AQABIgGJAf8BAAEnAY0B/wERAQEBGwH/AbwBCgE/Af8BxAEa + AZwB/wHRASoBrwH/AdwBNgHBAf8B5gE/Ac0B/wHpAUIB0gH/AeYBQAHNAf8B3QE3AcEB/wHQASoBrwH/ + AcUBGwGbAf8BswEGAS4B/wEAAQ8BMAH/AQABLgGQAf8BAAEXAYMB/wEzAQwBBQH/AbsBLQEUAf8BzAE2 + ARsB/wG9ATABFwH/AwAB/wOQAf8DAAH/AgABQQH/AQABFQGLAf8BDQGbAbgB/wIAAS8B/wEAAQ8BkgH/ + ARoBuwHgAf8BHgG8AeYB/wEeAb8B5gH/ASUBvwHkAf8BJQHBAecB/wElAcUB6wH/ASABvwHkAf8CAAGE + Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE5Af8CAAGFAf8CAAGNAf8CAAGIAf8CAAGPAf8CAAGL + Af8CAAGUAf8CAAGWAf8CAAGTAf8CAAGSAf8CAAE6Af8CAAEvAf8BDQGUAbQB/wEAAREBiAH/AgABQQH/ + FwABAQMEAQUDCgEOAxoBJQMxAU0DRAF5AU8CUAGbAVMCVAGsA1QBrgNVAbUBWgJeAdgDbQH3AfQD/wHK + A/8BwwH7Av8BxAH8Av8B0Qf/A20B9wFYAlsBxgNDAXgDJgE4AxABFQMEAQYDAAEBMwAB/wMAAf8DAAH/ + AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/ycAAf8DkgH/AwAB/wHDATABGAH/AcoBMwEaAf8ByAEy + ARkB/wGMAREBAAH/AQABBwEkAf8BAAEnAYwB/wEAATMBnQH/AS4BAAEbAf8BwgEUAZAB/wHNASUBqwH/ + Ad4BOQHEAf8B7wGHAdoB/wH7AZMB7AH/Af0BmAH0Af8B+wGTAewB/wHvAYcB2gH/Ad4BOQHEAf8BzgEl + AawB/wG9AREBhAH/AQABEQExAf8BAAE6AZ0B/wEAARYBhAH/ASEBCAEKAf8BsAElAQ8B/wHKATMBGgH/ + AbsBLQEWAf8DAAH/A5IB/wMAAf8CAAFBAf8BAAEVAYoB/wENAZcBtgH/AgABLwH/AgABOAH/AgABjwH/ + AgABlwH/AgABlwH/AgABjwH/AgABjwH/AgABjwH/AgABiAH/AgABOgH/AgABNgH/AgABNgH/AgABNgH/ + AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABOAH/AgABPgH/AgABPgH/AgABQgH/AgABgwH/AgABgwH/ + AgABQQH/AgABMAH/AgABLwH/AQ0BlAG0Af8BAAERAYgB/wIAAUEB/xMAAQEDBAEGAw8BFAMkATUBPwJA + AW8DVgGzAVsCYQHhA2UB9AFNAVEBWAH6A1wB+ANZAfUBTQFOAVYC+gP/Ac0D/wHDAfsC/wHEAfwC/wHU + A/8B8wH4AfwB/wNZAfUBVgJYAcEDQAFwAyABLgMLAQ8DBAEFAwABARsAAf8DAAH/AwAB/wMAAf8DAAH/ + AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/ + AgAC/wIAAv8CAAL/DwAB/wOWAf8DAAH/AcEBLQEYAf8ByAEwARkB/wHEAS4BFwH/AYcBDgEAAf8BAAEN + ATcB/wEAATUBlwH/AQABMAGXAf8BgAEAAR8B/wHGARoBmgH/AdUBLgG3Af8B6gGAAdIB/wH8AZYB8QL/ + AagB/gL/Aa8D/wGoAf4B/wH8AZYB8QH/AeoBgAHSAf8B1gEuAbcB/wHFARgBkwH/ARQBCgEmAf8BAAE8 + AaAB/wEAASIBjQH/AQABBwEbAf8BjAEPAQAB/wHHATABGQH/AbkBKgEWAf8DAAH/A5YB/wMAAf8CAAFA + Af8BAAETAYUB/wEKAZUBtAH/AgABLwH/AgABMAH/AgABQQH/AgABgwH/AgABgwH/AgABPgH/AgABPgH/ + AgABOwH/AgABNwH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/ + AgABOAH/AgABPgH/AgABPgH/AgABPgH/AgABgwH/AgABgwH/AgABQQH/AgABMAH/AgABLwH/AQ0BlAG0 + Af8BAAERAYgB/wIAAUEB/xAAAwIBAwMLAQ8DIwE0AUQCRQF8AVcCWgHFA20B9wHzAfgB/AH/AfED/wHn + A/8B6gP/Ae8D/wHkA/8BzQP/AcMB+wL/AcYB/gL/AdoD/wHzAfgB/AH/AWQCZQH0AVYCWAG8Az0BaQMd + ASoDCgENAwMBBCMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w4A + Av8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DwAB/wOaAf8DAAH/Ab4BLAEX + Af8BxQEuARgB/wGvASIBDwH/AS4BCAEDAf8BAAEXAYsB/wESAYkBqwH/AQABHwFCAf8BqQEGATAB/wHI + AR4BoQH/AdoBMwG8Af8B8AGIAdwB/wH+AZ8B+gL/AbQD/wHCA/8BtAL/Af4BnwH6Af8B8AGIAdwB/wHb + ATMBvQH/AckBHQGdAf8BOgEAAR4B/wEAATkBnQH/AQEBPgGiAf8BAAEMATcB/wGGAQ0BAAH/AcMBLQEX + Af8BtgEpARUB/wMAAf8DmgH/AwAB/wIAAT8B/wEAAREBgwH/AQwBlAG0Af8CAAEvAf8CAAEwAf8CAAFB + Af8CAAGDAf8CAAGDAf8CAAE+Af8CAAE+Af8CAAE5Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2 + Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE6Af8CAAE+Af8CAAE+Af8CAAGDAf8CAAGD + Af8CAAFBAf8CAAEwAf8CAAEvAf8BDQGUAbQB/wEAAREBiAH/AgABQQH/EAADAwEEAxgBIQM9AWkBVwJZ + Ab8BTQFTAVoB+gHxA/8BzgP/AcQB/AL/AcMB+wL/AcMB+wL/AcMB+wL/AcMB+wL/AcMB+wL/AcYB/gL/ + Ad4D/wN/Af4BTgJdAfABVQJXAbcDOwFjAxoBJQMJAQwDAwEEJwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/ + AgAC/wIAAv8PAAH/A58B/wMAAf8BuwEpARYB/wHAASoBFgH/AYYBDAEAAf8BAAEGAR8B/wEAASUBlAH/ + ARkBlQG5Af8BCQEQASsB/wG4AQkBPQH/AccBHgGgAf8B2QEyAbsB/wHvAYUB2gH/Af4BnQH6Av8BsQP/ + AbwD/wGxAv8B/gGdAfoB/wHvAYUB2gH/AdkBMgG8Af8BxwEdAZ8B/wGkAQMBLAH/AQABKQGJAf8BHwGX + AbgB/wEAARUBigH/AS0BBwEEAf8BrQEgAQ4B/wGzASYBFAH/AwAB/wOfAf8DAAH/AgABPwH/AQABEQGD + Af8BDQGUAbQB/wIAAS8B/wIAAUEB/wEAASEBrAH/AQABJgG2Af8BAAEkAbAB/wEAARMBogH/AgABjgH/ + AgABQQH/AgABOAH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/AgABNgH/ + AgABNgH/AgABOQH/AgABPgH/AgABPgH/AgABgwH/AgABgwH/AgABQQH/AgABMAH/AgABLwH/AQwBlAG0 + Af8BAAERAYgB/wIAAUEB/xAAAwQBBgMjATMBTQJOAZUDZQH0BP8B2gP/AdkD/wHgA/8B3QP/Ac8D/wHF + Af0C/wHDAfsC/wHDAfsC/wHTA/8DfwH+AU4CXQHwAVUCVwG3AzoBYAMYASIDCAELAwIBAysAAf8DAAH/ + AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/ + AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DwAB/wOkAf8DAAH/AbkBJgEUAf8BoAEYAQgB/wEoAQQBAgH/ + AQABBgE+Af8BCAE9AaIB/wEAAS4BkgH/ATYBAAEHAf8BtwEJAUAB/wHCARoBmwH/AdMBLAGzAf8B5gFB + Ac8B/wH6AZEB6wL/AaAB/AL/AagB/gL/AaAB/AH/AfoBkQHrAf8B5gFBAc8B/wHTASwBtAH/AcMBGQGa + Af8BtgEHATQB/wEKAQIBFgH/AQQBPwGkAf8BAAEjAZEB/wIAARoB/wGEAQoBAAH/AakBHwEPAf8DAAH/ + A6QB/wMAAf8CAAFAAf8BAAERAYUB/wENAZQBtAH/AgABLwH/AQABFwGSAf8BMQHkAfUB/wE2AekC/wEv + AeAB+AH/ARIBsQHfAf8BAAEvAbUB/wIAAYoB/wIAATgB/wIAATYB/wIAATYB/wIAATYB/wIAATYB/wIA + ATYB/wIAATYB/wIAATYB/wIAATYB/wIAATcB/wIAATsB/wIAAUAB/wIAAYQB/wIAAY0B/wIAAYwB/wIA + AYMB/wIAATEB/wIAAS8B/wEKAZUBtAH/AQABEwGIAf8CAAFBAf8QAAMEAQYDIgEyAUwCTQGRA2QB8QOo + Af0DfwH+A6gB/QNfAfsBRQFfAWUB/AHnAfEB+AH/AdUD/wHDAfsC/wHDAfsC/wHgA/8DXwH7AVoCXQHT + A0IBdAMaASUDBgEIAwEBAi8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DwAB/wOqAf8DAAH/ + AakBHAENAf8BMAEFAQIB/wEhAZYBtQH/AToBwQHkAf8BlAHYAesB/wEAARQBiAH/AQABBwEoAf8BoQEA + AScB/wG/ARIBjgH/AcoBIgGmAf8B2gEzAbwB/wHoAYEB0gH/AfQBigHhAf8B+QGQAegB/wH0AYoB4QH/ + AegBgQHSAf8B2gEzAb0B/wHLASIBpQH/AcABEQGKAf8BQAEAARsB/wEAAQUBNQH/AQEBPwGpAf8BnAHh + Ae8B/wEsAbAB1gH/ARQBDQEVAf8BkAERAQQB/wMBAf8DqgH/AwAB/wIAAUEB/wEAAREBiAH/AQ0BlAG0 + Af8CAAEvAf8BAAEBAYoB/wEAAYwBzwH/AQABkwHcAf8BAAGPAdUB/wEAATkBwwH/AQABEwGlAf8CAAGJ + Af8CAAE9Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE4 + Af8CAAFAAf8CAAGOAf8BAAExAbgB/wEPAZoB0gH/AQYBjQHLAf8BAAEYAaUB/wIAATkB/wIAAS8B/wEN + AZcBtgH/AQABFQGKAf8CAAFBAf8QAAMDAQQDFgEeAzYBWQFPAlEBnAFXAlkBvwFZAlwByQFaAl0BygFc + Al4BzgFYAl8B4wFXAmIB9gHwA/8BwwH7Av8BwwH7Av8B3QP/AVcBYwFnAfwDWQHHAzcBWwMPARQDAAEB + TwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/ycAAf8DsAH/AwAB/wGvAR0BEAH/ + AT8BBAEAAf8BIgEAAQEB/wEdATkBhQH/AbAB7gH3Af8BmwHjAe8B/wEAARcBkQH/AQABEwEsAf8BpQED + AS8B/wHAARYBlQH/AcsBJAGpAf8B1gEvAbcB/wHeATkBwgH/AeEBOwHGAf8B3gE5AcIB/wHWAS8BtwH/ + AcsBJAGoAf8BwwEVAZEB/wGBAQABIQH/AQABHQGAAf8BAAE3AaUB/wG3AfMB+gH/AZYB2gHkAf8BFQEK + ARIB/wE1AQMBAAH/AaMBGAENAf8DAQH/A7AB/wMAAf8CAAFBAf8BAAERAYgB/wENAZQBtAH/AgABLwH/ + AQABDwGPAf8BGwHHAegB/wEiAdAB8wH/ASMBywHyAf8BGQG7AeYB/wEDAY0BzAH/AQABGgGlAf8CAAGB + Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAE2Af8CAAFA + Af8BAAEvAbUB/wEkAdAB8QH/ATQB6QH9Af8BMQHlAfsB/wENAakB3AH/AgABhAH/AgABLwH/AQ0BmwG4 + Af8BAAEVAYsB/wIAAUEB/xAAAwIBAwMKAQ0DHAEnAy8BSQM8AWYDRAF6A0gBhAFOAk8BlwFZAlwBzAFT + AmQB8QT/AcMB+wL/AcMB+wL/AdcD/wOoAf0DWwHIAzcBWgMLAQ9TAAH/AwAB/wMAAf8DAAH/AwAB/w4A + Av8CAAL/AgAC/wIAAv8CAAL/JwAB/wO2Af8DAAH/AbABHAEQAf8BsgEcAQ8B/wGfARMBBwH/AUABAwEA + Af8BBwEAAQ4B/wGTAdQB6AH/AZYB3gHvAf8BAAEmAZYB/wEAAQoBIQH/AbgBBwE6Af8BvwEUAZMB/wHG + AR0BoAH/AcsBIwGmAf8BzQElAaoB/wHLASMBpgH/AcYBHQGgAf8BwAEUAZEB/wGdAQIBKwH/AQABHwE5 + Af8BAAE2AagB/wGvAesB+AH/ATMBoAHDAf8BJQIAAf8BQgEDAQAB/wGtARoBDQH/AakBGgEPAf8DAQH/ + A7YB/wMAAf8CAAFBAf8BAAERAYgB/wEMAZQBtAH/AgABLwH/AQABCgGOAf8BFAHDAecB/wEbAc4B8gH/ + ARsByAHyAf8BEQG0AeYB/wEAAYoBygH/AQABGAGfAf8CAAE8Af8CAAEtAf8CAAErAf8CAAErAf8CAAEr + Af8CAAErAf8CAAErAf8CAAErAf8CAAErAf8CAAEsAf8CAAE6Af8BBQGVAcsB/wEpAekB/QH/ASsB7gL/ + ASsB7gL/AR0B1QHwAf8BAAELAZAB/wIAAS8B/wENAZwBuQH/AQABFQGLAf8CAAFBAf8TAAEBAwcBCQMW + AR8DLwFJAUECQgFzAUwCTQGRAVACUgGjAVUCVwG6A18B4AFJAmIB9gHzA/8BwwH7Av8BwwH7Av8B3QP/ + AVcBYwFnAfwBVwJaAb0DMQFPAwkBDFMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIA + Av8nAAH/A7sB/wMAAf8BrQEZAQ8B/wGzARsBEAH/AbMBGwEQAf8BqAEWAQsB/wE/AgAB/wEHAQABDgH/ + AZEB0QHqAf8BPgG6Ad0B/wEAAS8BkwH/ASgBAAEXAf8BuAEFAT0B/wG8AQ0BhwH/AcABDwGKAf8BvwEQ + AYwB/wHAAQ8BigH/AbwBDAGGAf8BtAEEATUB/wEAAQ0BIgH/AQABNQGiAf8BnQHeAfEB/wEzAaABxgH/ + AScCAAH/AZYBDQEEAf8BsgEbARAB/wGzARsBEAH/AaYBFwEOAf8DAgH/A7sB/wMAAf8CAAFBAf8BAAER + AYgB/wEIAZQBtAH/AgABLwH/AgABhQH/AQABggHKAf8BAAGOAdcB/wEAAYoB1wH/AQABhgHPAf8BAAE5 + AcAB/wEAASABqgH/AQABAQGMAf8CAAEoAf8CAAEiAf8CAAEiAf8CAAEiAf8CAAEiAf8CAAEiAf8CAAEi + Af8CAAEkAf8CAAEmAf8CAAE2Af8BAAGAAcEB/wEeAeMB+wH/ASIB7gL/ASIB7gL/AQ8BxgHqAf8BAAED + AYwB/wIAATEB/wENAZ0BvQH/AQABFgGLAf8CAAFBAf8TAAEBAwoBDQMqAUABTgJPAZcBWAJcAdEDXAHq + A2cB8gNZAfUDXwH7AdoB6gH1Af8B2AP/AcMB+wL/AcUB/QL/Ae8D/wNiAfYBUAJSAaMDJwE6AwcBCVMA + Af8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8nAAH/A8AB/wMAAf8BqQEXAQ0B/wGv + ARgBDgH/Aa8BGAEOAf8BrwEYAQ4B/wGlARMBCgH/ATsCAAH/AQgBEQEmAf8BmAHaAfEB/wEUAY8BvAH/ + AQABGgE2Af8BNwEAAQgB/wErAQABGQH/ARoBBAEfAf8BGgEEAR8B/wEeAQMBHgH/ATMBAAEVAf8BIQEA + AQYB/wEAASoBkAH/AUIBvAHgAf8BhAG7AeEB/wEZAQABAQH/AZEBCgEBAf8BrwEYAQ4B/wGvARgBDgH/ + Aa8BGAEOAf8BogEVAQwB/wMCAf8DwAH/AwAB/wIAAUIB/wEAAREBiwH/AQsBlAG0Af8CAAErAf8BAAEK + AYwB/wETAdoB6wH/ARgB5AH1Af8BGAHiAfUB/wETAdkB8wH/AQ0BwgHpAf8BAAGTAdEB/wEAARoBowH/ + AgABHwH/AgABGAH/AgABGAH/AgABGAH/AgABGAH/AgABGAH/AgABGAH/AgABGwH/AgABGwH/AgABIwH/ + AQABCQGQAf8BAAGeAdYB/wETAdEB8AH/AQ0BwwHqAf8BAAE6Ab0B/wIAATgB/wIAATEB/wENAZ0BvQH/ + AQABFgGOAf8CAAFCAf8TAAEBAw8BFAM7AWMDXgHYBP8B+wP/AfMD/wHuA/8B4gP/AdED/wHGAf4C/wHE + AfwC/wHWA/8B5wHxAfgB/wFXAlwB3wNEAXkDGAEiAwQBBlMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIA + Av8CAAL/AgAC/wIAAv8nAAH/A8cB/wMAAf8BpgETAQwB/wGsARQBDQH/AawBFAENAf8BrAEUAQ0B/wGs + ARQBDQH/AZoBDAEFAf8BMgIAAf8BJQGQAbIB/wGWAdIB8QH/AQABLQGiAf8BAAEmAYsB/wEAAS4BkwH/ + AQABNAGaAf8BAAE2AZwB/wEAATMBlwH/AQABLgGTAf8BAAEhAYsB/wEPAYkBuwH/AZgB2AHzAf8BCQEX + AS0B/wE6AgAB/wGrARMBDAH/AawBFAENAf8BrAEUAQ0B/wGsARQBDQH/AZ8BEgELAf8DAgH/A8cB/wMA + Af8CAAGFAf8BAAEYAY0B/wENAZcBtAH/AgABKQH/AgABKgH/AQABDgGMAf8BAAEQAZIB/wEAARABkgH/ + AQABDgGQAf8BAAEJAYYB/wIAATwB/wIAASwB/wIAARUB/wIAAQ8B/wIAAQ8B/wIAAQ8B/wIAAQ8B/wIA + AQ8B/wIAAQ8B/wIAAQ8B/wIAARUB/wIAARYB/wIAASEB/wIAATwB/wEAAQoBigH/AQABAgGFAf8CAAE1 + Af8CAAEiAf8CAAEqAf8BDQGcAbkB/wEAARkBkQH/AgABhQH/EwABAQMNARIDOAFcAVgCWwHLA38B/gHq + A/8BzQP/AcQB/AL/AcMB+wL/AcMB+wL/AcYB/gL/AdgD/wHzAfgB/AH/A10B8ANSAakDLgFHAwwBEAMC + AQNTAAH/AwAB/wMAAf8DAAH/AwAB/0cAAf8DzwH/AwAB/wGjARABCgH/AagBEQELAf8BqAERAQsB/wGo + AREBCwH/AagBEQELAf8BqAERAQsB/wGNAQQBAAH/AQ0BAAEKAf8BjAHSAfMB/wHDAfAB+AH/AdUB7gH3 + Af8B4AH3AfwB/wHnA/8B6AP/AeYB/gL/Ad0B8gH6Af8BzQHtAfcB/wG1Ae8B+wH/ATMBqwHPAf8BKAIA + Af8BlgEJAQMB/wGoAREBCwH/AagBEQELAf8BqAERAQsB/wGoAREBCwH/AZ0BDwEJAf8DAwH/A88B/wMA + Af8CAAGKAf8BAAEbAZgB/wEOAZUBtgH/AQABHwGIAf8CAAEoAf8CAAEtAf8CAAEtAf8CAAEtAf8CAAEn + Af8CAAEnAf8CAAEnAf8CAAEiAf8CAAEhAf8CAAEhAf8CAAEhAf8CAAEhAf8CAAEhAf8CAAEhAf8CAAEh + Af8CAAEhAf8CAAEiAf8CAAEoAf8CAAEpAf8CAAEpAf8CAAEvAf8CAAEvAf8CAAEuAf8CAAEoAf8BAAEf + AYcB/wENAZQBtQH/AQABGwGYAf8CAAGKAf8TAAEBAwcBCgMmATgDSgGLAVkCXAHPA1wB+AHzAfgB/AH/ + AfID/wHmA/8B6AP/AfoD/wN/Af4DYQHuA1UBsgM4AVwDFQEdAwUBBwMAAQFTAAH/AwAB/wMAAf8DAAH/ + AwAB/0cAAf8D1wH/AwAB/wGfAQ0BCQH/AaQBDgEKAf8BpAEOAQoB/wGkAQ4BCgH/AaQBDgEKAf8BpAEO + AQoB/wGZAQkBBQH/ASICAAH/Aa8B3AHkAf8B4gHwAfIB/wGNAaQBrwH/ASYBLAE4Af8BFAEQAR4B/wEV + AREBHwH/ARcBFAEhAf8BMQE9AYYB/wGlAcABxQH/Ae8C+wH/AR0BggGXAf8BMwIAAf8BowENAQkB/wGk + AQ4BCgH/AaQBDgEKAf8BpAEOAQoB/wGkAQ4BCgH/AZkBDAEIAf8DAwH/A9cB/wMAAf8CAAGUAf8BAAEW + AZsB/wEZAaIBwwH/ASwBtwHNAf8BKAG5Ac0B/wEoAbkBzQH/ASYBuQHNAf8BJQG5Ac0B/wElAbkBzQH/ + ASUBuQHNAf8BJQG5Ac0B/wElAbkBzQH/ASUBuQHNAf8BJQG5Ac0B/wElAbkBzQH/ASUBuQHNAf8BJQG5 + Ac0B/wElAbkBzQH/ASUBuQHNAf8BJQG5Ac0B/wEoAbkBzQH/ASgBvAHPAf8BKAG/AdIB/wEoAb8B0gH/ + ASgBvwHSAf8BKAG/AdIB/wEmAbwBzwH/ASUBuQHNAf8BJAG2AcgB/wEUAZ4BwAH/AQABFQGbAf8CAAGU + Af8UAAMEAQUDEQEXAykBPwNEAXkBVQJWAbQBXAJhAdwDXwHzAU0BUQFYAfoBTQFRAVgB+gNdAe0BWwJe + AdABUAJRAZ8DNgFZAxgBIQMHAQoDAQECVwAB/wMAAf8DAAH/AwAB/wMAAf9HAAH/A98B/wMAAf8BnAEK + AQgB/wGhAQsBCQH/AaEBCwEJAf8BoQELAQkB/wGhAQsBCQH/AaEBCwEJAf8BmwEIAQYB/wEoAgAB/wGP + AZYBoQH/ARYCAAH/ATACAAH/ATMCAAH/AYECAAH/AYECAAH/AYECAAH/ATICAAH/AS0CAAH/AQoBAAEN + Af8BOgE+AYgB/wEyAgAB/wGgAQoBCAH/AaEBCwEJAf8BoQELAQkB/wGhAQsBCQH/AaEBCwEJAf8BlgEJ + AQcB/wMEAf8D3wH/AwAB/wIAAZ4B/wIAAZQB/wEEAR4BnwH/ARcBPgGuAf8BGgFCAasB/wEaAUIBqwH/ + ARgBQgGrAf8BFwFCAacB/wEXAUIBpgH/ARUBPwGmAf8BEQE8AaYB/wERATwBogH/AREBPAGhAf8BEQE8 + AaEB/wERATwBoQH/AREBPAGhAf8BEQE8AaEB/wERATwBoQH/AREBPAGhAf8BEQE8AaEB/wEVATwBogH/ + ARUBPAGmAf8BGAE/AaYB/wEaAUIBpgH/ARoBQgGnAf8BGgFCAasB/wEYAUIBqwH/ARcBQgGrAf8BFAE+ + Aa4B/wECAR4BnwH/AgABlAH/AgABngH/FwABAQMEAQYDDAEQAxwBKAMxAU0DQgF1A04BmQFTAlUBrQNS + AakDSwGOATwCPQFnAykBPgMUARsDBwEJAwIBA1sAAf8DAAH/AwAB/wMAAf8DAAH/RAADTAHzA98B/wMR + Af8BigIEAf8BmwEGAQcB/wGbAQYBBwH/AZsBBgEHAf8BmwEGAQcB/wGbAQYBBwH/AZoBBQEGAf8BLQIA + Af8BJwIAAf8BLwIAAf8BmQEFAQYB/wGaAQYBBwH/AZsBBgEHAf8BmwEGAQcB/wGbAQYBBwH/AZoBBQEG + Af8BkgECAQMB/wEuAgAB/wEkAgAB/wEvAgAB/wGaAQYBBwH/AZsBBgEHAf8BmwEGAQcB/wGbAQYBBwH/ + AZsBBgEHAf8BPwECAQMB/wMZAf8D3QH/A04B8AIAAaQB/wIAAZ4B/wIAAZQB/wIAAY8B/wIAAYwB/wIA + AYYB/wIAAYIB/wIAAUEB/wIAAUEB/wIAAT4B/wIAATsB/wIAATkB/wIAATkB/wIAATkB/wIAATkB/wIA + ATkB/wIAATkB/wIAATkB/wIAATkB/wIAATkB/wIAATkB/wIAATsB/wIAAT4B/wIAAUEB/wIAAUEB/wIA + AYIB/wIAAYYB/wIAAYwB/wIAAY8B/wIAAZQB/wIAAZ4B/wIAAaQB/xsAAQEDAgEDAwYBCAMMARADFgEe + AyIBMgMqAUADKQE+Ax8BLAMSARkDCgENAwQBBgMBAQJfAAH/AwAB/wMAAf8DAAH/AwAB/0QAA1cBvQO/ + Af8DlAH/ASUBAwEFAf8BigECAQgB/wGTAQABBwH/AZMBAAEHAf8BkwEAAQcB/wGTAQABBwH/AZMBAAEH + Af8BkgEAAQYB/wGOAQABBQH/AZIBAAEHAf8BkwEAAQcB/wGTAQABBwH/AZMBAAEHAf8BkwEAAQcB/wGT + AQABBwH/AZMBAAEHAf8BkwEAAQcB/wGSAQABBgH/AY0BAAEEAf8BkgEAAQcB/wGTAQABBwH/AZMBAAEH + Af8BkwEAAQcB/wGTAQABBwH/AYABAwEIAf8BGgECAQQB/wO0Af8DtAH/A1QBrgIAAawB/wIAAakB/wIA + AaYB/wIAAaYB/wIAAaYB/wIAAaMB/wIAAZ8B/wIAAZ4B/wIAAZcB/wIAAZcB/wIAAZYB/wIAAZYB/wIA + AY4B/wIAAY4B/wIAAY4B/wIAAY4B/wIAAY4B/wIAAY4B/wIAAY4B/wIAAY4B/wIAAZYB/wIAAZYB/wIA + AZcB/wIAAZcB/wIAAZ4B/wIAAZ8B/wIAAaMB/wIAAaYB/wIAAaYB/wIAAaYB/wIAAakB/wIAAawB/yQA + AwEBAgMDBAQEBgEIAwYBCAMEAQYDAwEEAwABAWcAAf8DAAH/AwAB/wMAAf8DAAH/RAADNAFUAykB/wPu + Af8DkwH/AxAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DGQH/A7IB/wPqAf8DGQH/Ay0BRQIA + AawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAagB/wIAAaQB/wIAAaIB/wIA + AZ8B/wIAAZ8B/wIAAZwB/wIAAZwB/wIAAZwB/wIAAZwB/wIAAZwB/wIAAZwB/wIAAZwB/wIAAZwB/wIA + AZ8B/wIAAZ8B/wIAAaIB/wIAAacB/wIAAagB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIA + AawB/wIAAawB//8ABQADSgGNAygB/wPNAf8D+QH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7 + Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wPr + Af8DvQH/AxMB/wNIAYcEAANIAYUCAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGs + Af8CAAGpAf8CAAGpAf8CAAGmAf8CAAGkAf8CAAGhAf8CAAGhAf8CAAGhAf8CAAGhAf8CAAGhAf8CAAGh + Af8CAAGhAf8CAAGhAf8CAAGkAf8CAAGmAf8CAAGpAf8CAAGrAf8CAAGsAf8CAAGsAf8CAAGsAf8CAAGs + Af8CAAGsAf8CAAGsAf8CAAGsAf8DSAGF/wAJAAM3AVoDWQHDAysB/AMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ - A1UB6gNUAa4DLQFFCAADBwEKA0gBhQIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIA - AawB/wIAAawB/wIAAasB/wIAAaoB/wIAAaoB/wIAAagB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIA - AagB/wIAAaoB/wIAAaoB/wIAAasB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIAAawB/wIA - AawB/wIAAawB/wNIAYUDBwEK/wABAAFCAU0BPgcAAT4DAAEoAwABgAMAAUADAAEBAQABAQYAAQQWAAP/ - /wD/AAMAAcACAAEDBAAI/wGAAgABAQQAAv8B+AEHBP8IAAL/AfABAwT/CAAC/wHgAQEB/wHBAv8IAAL/ - AcABAQH/AcEC/wgAAv8BgAEBAf8BwQL/CAAC/wEAAQEB/wHBAv8IAAH/Af4BAAEBAf8BwQL/CAAB/wH8 - AQABAQH/AsEB/wgAAf8B/AEAAQEB/wLBAf8IAAH/AYABAAEBAf8CwQH/CAAB/gIAAQEB/wLBAf8IAAH4 - AgABAwH/AsEB/wgAAfACAAEHAeABAQHAAQcIAAHwAgABHwHgAQEBwAEHCAAB8AIAAT8B4AEBAcABBwgA - AfACAAF/AeABAQHAAQcIAAHwAgAB/wHgAQEBwAEHCAAB8AEAAQEC/wLBAf8IAAHwAQABAwL/AsEB/wgA - AfABAAEDAv8CwQH/CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/AsEB/wgAAfABAAEDAv8BwQL/CAAB8AEA - AQMC/wHBAv8IAAH4AQABBwL/AcEC/wgAAfgBAAEPAv8BwQL/CAAB/AEAAR8C/wHBAv8IAAH/AYABfwL/ - AcEC/wgACP8BgAIAAQEEAAj/AcACAAEDBAAI/ws= + AwAB/wMAAf8DVQHqA1QBrgMtAUUIAAMHAQoDSAGFAgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/ + AgABrAH/AgABrAH/AgABrAH/AgABqwH/AgABqgH/AgABqgH/AgABqAH/AgABpAH/AgABpAH/AgABpAH/ + AgABpAH/AgABqAH/AgABqgH/AgABqgH/AgABqwH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/AgABrAH/ + AgABrAH/AgABrAH/AgABrAH/A0gBhQMHAQr/AAEAAUIBTQE+BwABPgMAASgDAAGAAwABQAMAAQEBAAEB + BgABBBYAA///AP8AAwABwAIAAQMEAAj/AYACAAEBBAAC/wH4AQcE/wgAAv8B8AEDBP8IAAL/AeABAQH/ + AcEC/wgAAv8BwAEBAf8BwQL/CAAC/wGAAQEB/wHBAv8IAAL/AQABAQH/AcEC/wgAAf8B/gEAAQEB/wHB + Av8IAAH/AfwBAAEBAf8CwQH/CAAB/wH8AQABAQH/AsEB/wgAAf8BgAEAAQEB/wLBAf8IAAH+AgABAQH/ + AsEB/wgAAfgCAAEDAf8CwQH/CAAB8AIAAQcB4AEBAcABBwgAAfACAAEfAeABAQHAAQcIAAHwAgABPwHg + AQEBwAEHCAAB8AIAAX8B4AEBAcABBwgAAfACAAH/AeABAQHAAQcIAAHwAQABAQL/AsEB/wgAAfABAAED + Av8CwQH/CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/AsEB/wgAAfABAAEDAv8CwQH/CAAB8AEAAQMC/wHB + Av8IAAHwAQABAwL/AcEC/wgAAfgBAAEHAv8BwQL/CAAB+AEAAQ8C/wHBAv8IAAH8AQABHwL/AcEC/wgA + Af8BgAF/Av8BwQL/CAAI/wGAAgABAQQACP8BwAIAAQMEAAj/Cw== \ No newline at end of file diff --git a/ThirdParty/NativeMethods.cs b/ThirdParty/NativeMethods.cs index 2e7896b..76601a0 100644 --- a/ThirdParty/NativeMethods.cs +++ b/ThirdParty/NativeMethods.cs @@ -73,7 +73,7 @@ namespace DutyContent.ThirdParty } [StructLayout(LayoutKind.Sequential)] - public struct TcpRow : IEquatable + public struct TcpRow : IEquatable, IComparable { public TcpState state; public uint __localAddr; @@ -90,6 +90,12 @@ namespace DutyContent.ThirdParty public IPAddress RemoteAddress => new IPAddress(__remoteAddr); public ushort RemotePort => BitConverter.ToUInt16(new byte[2] { __remotePort[1], __remotePort[0] }, 0); + public int CompareTo(TcpRow other) + { + // just sorting by remote address for this project + return __remoteAddr.CompareTo(other.__remoteAddr); + } + public bool Equals(TcpRow right) { return