diff --git a/.github/issue_template.md b/.github/ISSUE_TEMPLATE/bug---.md
similarity index 67%
rename from .github/issue_template.md
rename to .github/ISSUE_TEMPLATE/bug---.md
index 79efbbc9..9599ee10 100644
--- a/.github/issue_template.md
+++ b/.github/ISSUE_TEMPLATE/bug---.md
@@ -1,3 +1,12 @@
+---
+name: Bug 报告
+about: 在提出问题前请先自行排除服务器端问题和升级到最新客户端,同时也请通过搜索确认是否有人提出过相同问题。
+title: "[BUG]"
+labels: bug
+assignees: ''
+
+---
+
在提出问题前请先自行排除服务器端问题和升级到最新客户端,同时也请通过搜索确认是否有人提出过相同问题。
### 预期行为
@@ -22,4 +31,3 @@
### 环境信息(客户端请升级至最新正式版)
### 额外信息(可选)
-
diff --git a/.github/ISSUE_TEMPLATE/feature---.md b/.github/ISSUE_TEMPLATE/feature---.md
new file mode 100644
index 00000000..a93f12ad
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature---.md
@@ -0,0 +1,20 @@
+---
+name: Feature 请求
+about: 为这个项目提出一个建议
+title: "[Feature request]"
+labels: enhancement
+assignees: ''
+
+---
+
+**你的功能请求是否与一个问题有关?请描述。**
+清楚而简洁地描述问题是什么。例如。我总是感到沮丧,当 [...]
+
+**描述你希望的解决方案**
+对你希望发生的事情进行清晰、简明的描述。
+
+**描述你所考虑的替代方案**
+对你考虑过的任何替代解决方案或功能进行清晰、简洁的描述。
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/README.md b/README.md
index c1197a8b..1856b4d8 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,11 @@
# v2rayN
+A V2Ray client for Windows, support [Xray core](https://github.com/XTLS/Xray-core) and [v2fly core](https://github.com/v2fly/v2ray-core)
+
+
+[](https://github.com/2dust/v2rayN/commits/master)
+[](https://www.codefactor.io/repository/github/2dust/v2rayn)
+[](https://github.com/2dust/v2rayN/releases)
+[](https://t.me/v2rayn)
### How to use
- If you are newbie please download v2rayN-Core.zip from releases
@@ -6,5 +13,6 @@
- Run v2rayN.exe
### Requirements
-- Microsoft [.NET Framework 4.6](https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers) or higher
-- Project V core [https://github.com/v2fly/v2ray-core/releases](https://github.com/v2fly/v2ray-core/releases)
+- Microsoft [.NET Framework 4.8](https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net48-web-installer)
+- v2fly core [https://github.com/v2fly/v2ray-core/releases](https://github.com/v2fly/v2ray-core/releases)
+- Xray core [https://github.com/XTLS/Xray-core/releases](https://github.com/XTLS/Xray-core/releases)
diff --git a/v2rayN/v2rayN/Base/HttpClientHelper.cs b/v2rayN/v2rayN/Base/HttpClientHelper.cs
new file mode 100644
index 00000000..a3bacb5d
--- /dev/null
+++ b/v2rayN/v2rayN/Base/HttpClientHelper.cs
@@ -0,0 +1,220 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace v2rayN.Base
+{
+ ///
+ ///
+ public class HttpClientHelper
+ {
+ private static HttpClientHelper httpClientHelper = null;
+ private HttpClient httpClient;
+
+ ///
+ ///
+ private HttpClientHelper() { }
+
+ ///
+ ///
+ ///
+ public static HttpClientHelper GetInstance()
+ {
+ if (httpClientHelper != null)
+ {
+ return httpClientHelper;
+ }
+ else
+ {
+ HttpClientHelper httpClientHelper = new HttpClientHelper();
+
+ HttpClientHandler handler = new HttpClientHandler() { UseCookies = false };
+ httpClientHelper.httpClient = new HttpClient(handler);
+ return httpClientHelper;
+ }
+ }
+ public async Task GetAsync(string url)
+ {
+ if (string.IsNullOrEmpty(url))
+ {
+ return null;
+ }
+ HttpResponseMessage response = await httpClient.GetAsync(url);
+
+ return await response.Content.ReadAsStringAsync();
+ }
+ public async Task GetAsync(HttpClient client, string url, CancellationToken token)
+ {
+ if (string.IsNullOrEmpty(url))
+ {
+ return null;
+ }
+ HttpResponseMessage response = await client.GetAsync(url, token);
+ if (!response.IsSuccessStatusCode)
+ {
+ throw new Exception(string.Format("The request returned with HTTP status code {0}", response.StatusCode));
+ }
+ return await response.Content.ReadAsStringAsync();
+ }
+
+ public async Task PutAsync(string url, Dictionary headers)
+ {
+ var myContent = Utils.ToJson(headers);
+ var buffer = System.Text.Encoding.UTF8.GetBytes(myContent);
+ var byteContent = new ByteArrayContent(buffer);
+ byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+ var result = await httpClient.PutAsync(url, byteContent);
+ }
+
+ public async Task DownloadFileAsync(HttpClient client, string url, string fileName, IProgress progress, CancellationToken token)
+ {
+ if (string.IsNullOrEmpty(url))
+ {
+ throw new ArgumentNullException("url");
+ }
+ if (string.IsNullOrEmpty(fileName))
+ {
+ throw new ArgumentNullException("fileName");
+ }
+ if (File.Exists(fileName))
+ {
+ File.Delete(fileName);
+ }
+
+ var response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead, token);
+
+ if (!response.IsSuccessStatusCode)
+ {
+ throw new Exception(string.Format("The request returned with HTTP status code {0}", response.StatusCode));
+ }
+
+ var total = response.Content.Headers.ContentLength.HasValue ? response.Content.Headers.ContentLength.Value : -1L;
+ var canReportProgress = total != -1 && progress != null;
+
+ using (var stream = await response.Content.ReadAsStreamAsync())
+ {
+ using (var file = File.Create(fileName))
+ {
+ var totalRead = 0L;
+ var buffer = new byte[1024 * 1024];
+ var isMoreToRead = true;
+ var progressPercentage = 0;
+
+ do
+ {
+ token.ThrowIfCancellationRequested();
+
+ var read = await stream.ReadAsync(buffer, 0, buffer.Length, token);
+
+ if (read == 0)
+ {
+ isMoreToRead = false;
+ }
+ else
+ {
+ var data = new byte[read];
+ buffer.ToList().CopyTo(0, data, 0, read);
+
+ // TODO: put here the code to write the file to disk
+ file.Write(data, 0, read);
+
+ totalRead += read;
+
+ if (canReportProgress)
+ {
+ var percent = Convert.ToInt32((totalRead * 1d) / (total * 1d) * 100);
+ if (progressPercentage != percent && percent % 10 == 0)
+ {
+ progressPercentage = percent;
+ progress.Report(percent);
+ }
+ }
+ }
+ } while (isMoreToRead);
+ file.Close();
+ if (canReportProgress)
+ {
+ progress.Report(101);
+
+ }
+ }
+ }
+ }
+
+ public async Task DownloadDataAsync4Speed(HttpClient client, string url, IProgress progress, CancellationToken token)
+ {
+ if (string.IsNullOrEmpty(url))
+ {
+ throw new ArgumentNullException("url");
+ }
+
+ var response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead, token);
+
+ if (!response.IsSuccessStatusCode)
+ {
+ throw new Exception(string.Format("The request returned with HTTP status code {0}", response.StatusCode));
+ }
+
+ //var total = response.Content.Headers.ContentLength.HasValue ? response.Content.Headers.ContentLength.Value : -1L;
+ //var canReportProgress = total != -1 && progress != null;
+
+ using (var stream = await response.Content.ReadAsStreamAsync())
+ {
+ var totalRead = 0L;
+ var buffer = new byte[1024 * 64];
+ var isMoreToRead = true;
+ string progressSpeed = string.Empty;
+ DateTime totalDatetime = DateTime.Now;
+
+ do
+ {
+ if (token.IsCancellationRequested)
+ {
+ if (totalRead > 0)
+ {
+ return;
+ }
+ else
+ {
+ token.ThrowIfCancellationRequested();
+ }
+ }
+
+ var read = await stream.ReadAsync(buffer, 0, buffer.Length, token);
+
+ if (read == 0)
+ {
+ isMoreToRead = false;
+ }
+ else
+ {
+ var data = new byte[read];
+ buffer.ToList().CopyTo(0, data, 0, read);
+
+ // TODO:
+ totalRead += read;
+
+ TimeSpan ts = (DateTime.Now - totalDatetime);
+ var speed = (totalRead * 1d / ts.TotalMilliseconds / 1000).ToString("#0.0");
+ if (progress != null)
+ {
+ if (progressSpeed != speed)
+ {
+ progressSpeed = speed;
+ progress.Report(speed);
+ }
+ }
+ }
+ } while (isMoreToRead);
+ }
+ }
+
+ }
+}
diff --git a/v2rayN/v2rayN/Base/HttpWebServer.cs b/v2rayN/v2rayN/Base/HttpWebServer.cs
deleted file mode 100644
index 9fa72495..00000000
--- a/v2rayN/v2rayN/Base/HttpWebServer.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-using System;
-using System.Net;
-using System.Text;
-using System.Threading;
-
-namespace v2rayN.Base
-{
- public class HttpWebServer
- {
- private HttpListener _listener;
- private Func _responderMethod;
-
- public HttpWebServer(string[] prefixes, Func method)
- {
- try
- {
- _listener = new HttpListener();
-
- if (!HttpListener.IsSupported)
- throw new NotSupportedException(
- "Needs Windows XP SP2, Server 2003 or later.");
-
- // URI prefixes are required, for example
- // "http://localhost:8080/index/".
- if (prefixes == null || prefixes.Length == 0)
- throw new ArgumentException("prefixes");
-
- // A responder method is required
- if (method == null)
- throw new ArgumentException("method");
-
- foreach (string s in prefixes)
- _listener.Prefixes.Add(s);
-
- _responderMethod = method;
- _listener.Start();
-
- }
- catch (Exception ex)
- {
- Utils.SaveLog(ex.Message, ex);
- throw;
- }
- }
-
- public HttpWebServer(Func method, params string[] prefixes)
- : this(prefixes, method) { }
-
- public void Run()
- {
- ThreadPool.QueueUserWorkItem((o) =>
- {
- Utils.SaveLog("Webserver running...");
- try
- {
- while (_listener.IsListening)
- {
- ThreadPool.QueueUserWorkItem((c) =>
- {
- HttpListenerContext ctx = c as HttpListenerContext;
- try
- {
- string address = ctx.Request.LocalEndPoint.Address.ToString();
- Utils.SaveLog("Webserver Request " + address);
- string rstr = _responderMethod(address);
- byte[] buf = Encoding.UTF8.GetBytes(rstr);
- ctx.Response.StatusCode = 200;
- ctx.Response.ContentType = "application/x-ns-proxy-autoconfig";
- ctx.Response.ContentLength64 = buf.Length;
- ctx.Response.OutputStream.Write(buf, 0, buf.Length);
- }
- catch
- {
- } // suppress any exceptions
- finally
- {
- // always close the stream
- ctx.Response.OutputStream.Close();
- }
- }, _listener.GetContext());
- }
- }
- catch (Exception ex)
- {
- Utils.SaveLog(ex.Message, ex);
- } // suppress any exceptions
- });
- }
-
- public void Stop()
- {
- if (_listener != null)
- {
- _listener.Stop();
- _listener.Close();
- _listener = null;
- }
- }
-
- }
-}
diff --git a/v2rayN/v2rayN/Base/HttpWebServerB.cs b/v2rayN/v2rayN/Base/HttpWebServerB.cs
deleted file mode 100644
index fcbca1dd..00000000
--- a/v2rayN/v2rayN/Base/HttpWebServerB.cs
+++ /dev/null
@@ -1,141 +0,0 @@
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Sockets;
-using System.Threading;
-
-namespace v2rayN.Base
-{
- public class HttpWebServerB
- {
- private TcpListener listener;
- private int port;
- private Func _responderMethod;
-
- public HttpWebServerB(int port, Func method)
- {
- this.port = port;
- this._responderMethod = method;
-
- Thread thread = new Thread(StartListen)
- {
- IsBackground = true
- };
- thread.Start();
- }
-
- public void Stop()
- {
- if (listener != null)
- {
- listener.Stop();
- listener = null;
- }
- }
-
- private void StartListen()
- {
- try
- {
- listener = new TcpListener(IPAddress.Any, port);
- listener.Start();
- Utils.SaveLog("WebserverB running...");
-
- while (true)
- {
- if (!listener.Pending())
- {
- Thread.Sleep(100);
- continue;
- }
-
- TcpClient socket = listener.AcceptTcpClient();
- Thread thread = new Thread(new ParameterizedThreadStart(ProcessThread))
- {
- IsBackground = true
- };
- thread.Start(socket);
- Thread.Sleep(1);
- }
- }
- catch
- {
- Utils.SaveLog("WebserverB start fail.");
- }
- }
- private void ProcessThread(object obj)
- {
- try
- {
- TcpClient socket = obj as TcpClient;
-
- BufferedStream inputStream = new BufferedStream(socket.GetStream());
- StreamWriter outputStream = new StreamWriter(new BufferedStream(socket.GetStream()));
- if (inputStream.CanRead)
- {
- string data = ReadStream(inputStream);
-
- if (data.Contains("/pac/"))
- {
- if (_responderMethod != null)
- {
- string address = ((IPEndPoint)socket.Client.LocalEndPoint).Address.ToString();
- Utils.SaveLog("WebserverB Request " + address);
- string pac = _responderMethod(address);
-
- if (inputStream.CanWrite)
- {
- WriteStream(outputStream, pac);
- }
- }
- }
- }
-
- outputStream.BaseStream.Flush();
- inputStream = null;
- outputStream = null;
- socket.Close();
- }
- catch (Exception ex)
- {
- Utils.SaveLog(ex.Message, ex);
- }
- }
-
- private string ReadStream(Stream inputStream)
- {
- int nextchar;
- string data = "";
- while (true)
- {
- nextchar = inputStream.ReadByte();
- if (nextchar == '\n')
- {
- break;
- }
- if (nextchar == '\r')
- {
- continue;
- }
- if (nextchar == -1)
- {
- Thread.Sleep(1);
- continue;
- };
- data += Convert.ToChar(nextchar);
- }
- return data;
- }
-
- private void WriteStream(StreamWriter outputStream, string pac)
- {
- string content_type = "application/x-ns-proxy-autoconfig";
- outputStream.WriteLine("HTTP/1.1 200 OK");
- outputStream.WriteLine(String.Format("Content-Type:{0}", content_type));
- outputStream.WriteLine("Connection: close");
- outputStream.WriteLine("");
- outputStream.WriteLine(pac);
- outputStream.Flush();
- }
- }
-}
diff --git a/v2rayN/v2rayN/Base/ListViewFlickerFree.cs b/v2rayN/v2rayN/Base/ListViewFlickerFree.cs
index a113a7bc..4d34e2c0 100644
--- a/v2rayN/v2rayN/Base/ListViewFlickerFree.cs
+++ b/v2rayN/v2rayN/Base/ListViewFlickerFree.cs
@@ -1,10 +1,13 @@
-using System.Drawing;
+using System;
+using System.Drawing;
using System.Windows.Forms;
namespace v2rayN.Base
{
class ListViewFlickerFree : ListView
{
+ Action _updateFunc;
+
public ListViewFlickerFree()
{
SetStyle(ControlStyles.OptimizedDoubleBuffer
@@ -13,38 +16,82 @@ namespace v2rayN.Base
UpdateStyles();
}
-
- public void AutoResizeColumns()
+ public void RegisterDragEvent(Action update)
{
- try
+ _updateFunc = update;
+ AllowDrop = true;
+
+ ItemDrag += lv_ItemDrag;
+ DragDrop += lv_DragDrop;
+ DragEnter += lv_DragEnter;
+ DragOver += lv_DragOver;
+ DragLeave += lv_DragLeave;
+ }
+
+ private void lv_DragDrop(object sender, DragEventArgs e)
+ {
+ int targetIndex = InsertionMark.Index;
+ if (targetIndex == -1)
{
- this.SuspendLayout();
- Graphics graphics = this.CreateGraphics();
-
- // 原生 ColumnHeaderAutoResizeStyle.ColumnContent 将忽略列头宽度
- this.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
-
- for (int i = 0; i < this.Columns.Count; i++)
- {
- ColumnHeader c = this.Columns[i];
- int cWidth = c.Width;
- string MaxStr = "";
- Font font = this.Items[0].SubItems[0].Font;
-
- foreach (ListViewItem item in this.Items)
- {
- // 整行视作相同字形,不单独计算每个单元格
- font = item.SubItems[i].Font;
- string str = item.SubItems[i].Text;
- if (str.Length > MaxStr.Length) // 未考虑非等宽问题
- MaxStr = str;
- }
- int strWidth = (int)graphics.MeasureString(MaxStr, font).Width;
- c.Width = System.Math.Max(cWidth, strWidth);
- }
- this.ResumeLayout();
+ return;
}
- catch { }
+ if (InsertionMark.AppearsAfterItem)
+ {
+ targetIndex++;
+ }
+
+
+ if (SelectedIndices.Count <= 0)
+ {
+ return;
+ }
+
+ _updateFunc(SelectedIndices[0], targetIndex);
+
+ //ListViewItem draggedItem = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
+ //this.BeginUpdate();
+ //this.Items.Insert(targetIndex, (ListViewItem)draggedItem.Clone());
+ //this.Items.Remove(draggedItem);
+ //this.EndUpdate();
+ }
+
+
+ private void lv_DragEnter(object sender, DragEventArgs e)
+ {
+ e.Effect = e.AllowedEffect;
+ }
+
+ private void lv_DragLeave(object sender, EventArgs e)
+ {
+ InsertionMark.Index = -1;
+ }
+
+ private void lv_DragOver(object sender, DragEventArgs e)
+ {
+ Point targetPoint = PointToClient(new Point(e.X, e.Y));
+ int targetIndex = InsertionMark.NearestIndex(targetPoint);
+
+ if (targetIndex > -1)
+ {
+ Rectangle itemBounds = GetItemRect(targetIndex);
+ EnsureVisible(targetIndex);
+
+ if (targetPoint.Y > itemBounds.Top + (itemBounds.Height / 2))
+ {
+ InsertionMark.AppearsAfterItem = true;
+ }
+ else
+ {
+ InsertionMark.AppearsAfterItem = false;
+ }
+ }
+ InsertionMark.Index = targetIndex;
+ }
+
+ private void lv_ItemDrag(object sender, ItemDragEventArgs e)
+ {
+ DoDragDrop(e.Item, DragDropEffects.Move);
+ InsertionMark.Index = -1;
}
}
}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Base/WebClientEx.cs b/v2rayN/v2rayN/Base/WebClientEx.cs
deleted file mode 100644
index 096826cc..00000000
--- a/v2rayN/v2rayN/Base/WebClientEx.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System;
-using System.Net;
-
-namespace v2rayN.Base
-{
- class WebClientEx : WebClient
- {
- public int Timeout
- {
- get; set;
- }
- public WebClientEx(int timeout = 3000)
- {
- Timeout = timeout;
- }
-
- protected override WebRequest GetWebRequest(Uri address)
- {
- HttpWebRequest request;
- request = (HttpWebRequest)base.GetWebRequest(address);
- request.Timeout = Timeout;
- request.ReadWriteTimeout = Timeout;
- //request.AllowAutoRedirect = false;
- //request.AllowWriteStreamBuffering = true;
-
- request.ServicePoint.BindIPEndPointDelegate = (servicePoint, remoteEndPoint, retryCount) =>
- {
- if (remoteEndPoint.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
- return new IPEndPoint(IPAddress.IPv6Any, 0);
- else
- return new IPEndPoint(IPAddress.Any, 0);
- };
-
- return request;
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
index 0e407a43..25f8d715 100644
--- a/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
+++ b/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
@@ -31,6 +31,10 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer2Form));
this.btnClose = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btnEdit = new System.Windows.Forms.Button();
+ this.cmbCoreType = new System.Windows.Forms.ComboBox();
+ this.labCoreType = new System.Windows.Forms.Label();
+ this.btnBrowse = new System.Windows.Forms.Button();
this.txtAddress = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.txtRemarks = new System.Windows.Forms.TextBox();
@@ -45,23 +49,53 @@
//
// btnClose
//
- resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.Name = "btnClose";
this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// groupBox1
//
- resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.btnEdit);
+ this.groupBox1.Controls.Add(this.cmbCoreType);
+ this.groupBox1.Controls.Add(this.labCoreType);
+ this.groupBox1.Controls.Add(this.btnBrowse);
this.groupBox1.Controls.Add(this.txtAddress);
this.groupBox1.Controls.Add(this.label13);
this.groupBox1.Controls.Add(this.txtRemarks);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label1);
+ resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
+ // btnEdit
+ //
+ resources.ApplyResources(this.btnEdit, "btnEdit");
+ this.btnEdit.Name = "btnEdit";
+ this.btnEdit.UseVisualStyleBackColor = true;
+ this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
+ //
+ // cmbCoreType
+ //
+ this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbCoreType.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
+ this.cmbCoreType.Name = "cmbCoreType";
+ //
+ // labCoreType
+ //
+ resources.ApplyResources(this.labCoreType, "labCoreType");
+ this.labCoreType.Name = "labCoreType";
+ //
+ // btnBrowse
+ //
+ resources.ApplyResources(this.btnBrowse, "btnBrowse");
+ this.btnBrowse.Name = "btnBrowse";
+ this.btnBrowse.UseVisualStyleBackColor = true;
+ this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
+ //
// txtAddress
//
resources.ApplyResources(this.txtAddress, "txtAddress");
@@ -89,9 +123,9 @@
//
// panel2
//
- resources.ApplyResources(this.panel2, "panel2");
this.panel2.Controls.Add(this.btnClose);
this.panel2.Controls.Add(this.btnOK);
+ resources.ApplyResources(this.panel2, "panel2");
this.panel2.Name = "panel2";
//
// btnOK
@@ -136,5 +170,9 @@
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox txtAddress;
+ private System.Windows.Forms.Button btnBrowse;
+ private System.Windows.Forms.ComboBox cmbCoreType;
+ private System.Windows.Forms.Label labCoreType;
+ private System.Windows.Forms.Button btnEdit;
}
}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.cs b/v2rayN/v2rayN/Forms/AddServer2Form.cs
index 999b0c25..81d87cfa 100644
--- a/v2rayN/v2rayN/Forms/AddServer2Form.cs
+++ b/v2rayN/v2rayN/Forms/AddServer2Form.cs
@@ -1,12 +1,15 @@
using System;
+using System.Diagnostics;
+using System.IO;
using System.Windows.Forms;
using v2rayN.Handler;
using v2rayN.Mode;
+using v2rayN.Resx;
namespace v2rayN.Forms
{
public partial class AddServer2Form : BaseServerForm
- {
+ {
public AddServer2Form()
{
@@ -15,12 +18,24 @@ namespace v2rayN.Forms
private void AddServer2Form_Load(object sender, EventArgs e)
{
- if (EditIndex >= 0)
+ cmbCoreType.Items.AddRange(Global.coreTypes.ToArray());
+ cmbCoreType.Items.Add("clash");
+ cmbCoreType.Items.Add("clash_meta");
+ cmbCoreType.Items.Add("hysteria");
+ cmbCoreType.Items.Add("naiveproxy");
+ cmbCoreType.Items.Add(string.Empty);
+
+ txtAddress.ReadOnly = true;
+ if (vmessItem != null)
{
BindingServer();
}
else
{
+ vmessItem = new VmessItem
+ {
+ groupId = groupId
+ };
ClearServer();
}
}
@@ -30,10 +45,10 @@ namespace v2rayN.Forms
///
private void BindingServer()
{
- vmessItem = config.vmess[EditIndex];
txtRemarks.Text = vmessItem.remarks;
txtAddress.Text = vmessItem.address;
- txtAddress.ReadOnly = true;
+
+ cmbCoreType.Text = vmessItem.coreType == null ? string.Empty : vmessItem.coreType.ToString();
}
@@ -50,24 +65,83 @@ namespace v2rayN.Forms
string remarks = txtRemarks.Text;
if (Utils.IsNullOrEmpty(remarks))
{
- UI.Show(UIRes.I18N("PleaseFillRemarks"));
+ UI.Show(ResUI.PleaseFillRemarks);
+ return;
+ }
+ if (Utils.IsNullOrEmpty(txtAddress.Text))
+ {
+ UI.Show(ResUI.FillServerAddressCustom);
return;
}
vmessItem.remarks = remarks;
-
- if (ConfigHandler.EditCustomServer(ref config, vmessItem, EditIndex) == 0)
+ if (Utils.IsNullOrEmpty(cmbCoreType.Text))
{
- this.DialogResult = DialogResult.OK;
+ vmessItem.coreType = null;
}
else
{
- UI.ShowWarning(UIRes.I18N("OperationFailed"));
+ vmessItem.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), cmbCoreType.Text);
+ }
+
+ if (ConfigHandler.EditCustomServer(ref config, vmessItem) == 0)
+ {
+ DialogResult = DialogResult.OK;
+ }
+ else
+ {
+ UI.ShowWarning(ResUI.OperationFailed);
}
}
private void btnClose_Click(object sender, EventArgs e)
{
- this.DialogResult = DialogResult.Cancel;
+ DialogResult = Utils.IsNullOrEmpty(vmessItem.indexId) ? DialogResult.Cancel : DialogResult.OK;
+ }
+
+ private void btnBrowse_Click(object sender, EventArgs e)
+ {
+ UI.Show(ResUI.CustomServerTips);
+
+ OpenFileDialog fileDialog = new OpenFileDialog
+ {
+ Multiselect = false,
+ Filter = "Config|*.json|YAML|*.yaml|All|*.*"
+ };
+ if (fileDialog.ShowDialog() != DialogResult.OK)
+ {
+ return;
+ }
+ string fileName = fileDialog.FileName;
+ if (Utils.IsNullOrEmpty(fileName))
+ {
+ return;
+ }
+
+ vmessItem.address = fileName;
+ vmessItem.remarks = txtRemarks.Text;
+
+ if (ConfigHandler.AddCustomServer(ref config, vmessItem, false) == 0)
+ {
+ BindingServer();
+ UI.Show(ResUI.SuccessfullyImportedCustomServer);
+ }
+ else
+ {
+ UI.ShowWarning(ResUI.FailedImportedCustomServer);
+ }
+ }
+
+ private void btnEdit_Click(object sender, EventArgs e)
+ {
+ var address = txtAddress.Text;
+ if (Utils.IsNullOrEmpty(address))
+ {
+ UI.Show(ResUI.FillServerAddressCustom);
+ return;
+ }
+
+ address = Utils.GetConfigPath(address);
+ Process.Start(address);
}
}
}
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.resx b/v2rayN/v2rayN/Forms/AddServer2Form.resx
index 969bc410..23a0a255 100644
--- a/v2rayN/v2rayN/Forms/AddServer2Form.resx
+++ b/v2rayN/v2rayN/Forms/AddServer2Form.resx
@@ -117,74 +117,161 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 6, 12
-
-
- 611, 271
-
-
- True
-
-
- Edit custom configuration server
-
- 396, 17
+ 450, 17
75, 23
+
4
&Cancel
-
- 303, 17
+
+ btnClose
-
- 75, 23
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 5
+
+ panel2
-
- &OK
-
-
- Fill
-
-
- 0, 10
-
-
- 611, 201
-
-
- 3
-
-
- Server
-
-
- True
-
-
- 12, 62
-
-
- 83, 12
-
-
+
0
-
- Address
+
+
+ NoControl
+
+
+ 208, 110
+
+
+ 75, 23
+
+
+ 43
+
+
+ &Edit
+
+
+ btnEdit
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 0
+
+
+ 127, 157
+
+
+ 89, 20
+
+
+ 41
+
+
+ cmbCoreType
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 1
+
+
+ True
+
+
+ NoControl
+
+
+ 12, 161
+
+
+ 59, 12
+
+
+ 42
+
+
+ Core Type
+
+
+ labCoreType
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 2
+
+
+ NoControl
+
+
+ 127, 110
+
+
+ 75, 23
+
+
+ 40
+
+
+ &Browse
+
+
+ btnBrowse
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 3
+
+
+ 127, 62
+
+
+ True
+
+
+ 432, 37
+
+
+ 23
+
+
+ txtAddress
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 4
True
@@ -201,6 +288,39 @@
* Fill in manually
+
+ label13
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 5
+
+
+ 127, 23
+
+
+ 313, 21
+
+
+ 11
+
+
+ txtRemarks
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 6
+
True
@@ -208,7 +328,7 @@
12, 27
- 83, 12
+ 95, 12
10
@@ -216,6 +336,132 @@
Alias (remarks)
+
+ label6
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 7
+
+
+ True
+
+
+ 12, 62
+
+
+ 47, 12
+
+
+ 0
+
+
+ Address
+
+
+ label1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 8
+
+
+ Fill
+
+
+ 0, 10
+
+
+ 611, 189
+
+
+ 3
+
+
+ Server
+
+
+ groupBox1
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ btnOK
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 1
+
+
+ Bottom
+
+
+ 0, 199
+
+
+ 611, 60
+
+
+ 7
+
+
+ panel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ 357, 17
+
+
+ 75, 23
+
+
+ 5
+
+
+ &OK
+
+
+ btnOK
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 1
+
Top
@@ -228,37 +474,34 @@
6
-
- Bottom
+
+ panel1
-
- 0, 211
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 611, 60
+
+ $this
-
- 7
+
+ 2
-
- 127, 62
-
-
+
True
+
+
+ 6, 12
-
- 432, 104
+
+ 611, 259
-
- 23
+
+ Custom configuration server
-
- 127, 23
+
+ AddServer2Form
-
- 313, 21
-
-
- 11
+
+ v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx
index 482593c4..45296254 100644
--- a/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx
@@ -118,17 +118,26 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- 编辑自定义配置服务器
+ 自定义配置
+
+
+ 浏览(&B)
取消(&C)
+
+ 编辑(&E)
+
确定(&O)
服务器
+
+ Core类型
+
地址(address)
diff --git a/v2rayN/v2rayN/Forms/AddServer3Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer3Form.Designer.cs
deleted file mode 100644
index 06312421..00000000
--- a/v2rayN/v2rayN/Forms/AddServer3Form.Designer.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class AddServer3Form
- {
- ///
- /// 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()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer3Form));
- this.btnClose = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.label13 = new System.Windows.Forms.Label();
- this.cmbSecurity = new System.Windows.Forms.ComboBox();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.label5 = new System.Windows.Forms.Label();
- this.txtId = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.txtAddress = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.menuServer = new System.Windows.Forms.MenuStrip();
- this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.menuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
- this.groupBox1.SuspendLayout();
- this.panel2.SuspendLayout();
- this.menuServer.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.label13);
- this.groupBox1.Controls.Add(this.cmbSecurity);
- this.groupBox1.Controls.Add(this.txtRemarks);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.label5);
- this.groupBox1.Controls.Add(this.txtId);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.txtPort);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txtAddress);
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // label13
- //
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // cmbSecurity
- //
- resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
- this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbSecurity.FormattingEnabled = true;
- this.cmbSecurity.Items.AddRange(new object[] {
- resources.GetString("cmbSecurity.Items"),
- resources.GetString("cmbSecurity.Items1"),
- resources.GetString("cmbSecurity.Items2"),
- resources.GetString("cmbSecurity.Items3"),
- resources.GetString("cmbSecurity.Items4"),
- resources.GetString("cmbSecurity.Items5"),
- resources.GetString("cmbSecurity.Items6"),
- resources.GetString("cmbSecurity.Items7")});
- this.cmbSecurity.Name = "cmbSecurity";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // txtId
- //
- resources.ApplyResources(this.txtId, "txtId");
- this.txtId.Name = "txtId";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // panel2
- //
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- this.panel2.Name = "panel2";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // menuServer
- //
- resources.ApplyResources(this.menuServer, "menuServer");
- this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItem1});
- this.menuServer.Name = "menuServer";
- //
- // MenuItem1
- //
- resources.ApplyResources(this.MenuItem1, "MenuItem1");
- this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuItemImportClipboard});
- this.MenuItem1.Name = "MenuItem1";
- //
- // menuItemImportClipboard
- //
- resources.ApplyResources(this.menuItemImportClipboard, "menuItemImportClipboard");
- this.menuItemImportClipboard.Name = "menuItemImportClipboard";
- this.menuItemImportClipboard.Click += new System.EventHandler(this.menuItemImportClipboard_Click);
- //
- // AddServer3Form
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.menuServer);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.MinimizeBox = true;
- this.Name = "AddServer3Form";
- this.Load += new System.EventHandler(this.AddServer3Form_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.menuServer.ResumeLayout(false);
- this.menuServer.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.TextBox txtId;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtPort;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtAddress;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.ComboBox cmbSecurity;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.MenuStrip menuServer;
- private System.Windows.Forms.ToolStripMenuItem MenuItem1;
- private System.Windows.Forms.ToolStripMenuItem menuItemImportClipboard;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer3Form.cs b/v2rayN/v2rayN/Forms/AddServer3Form.cs
deleted file mode 100644
index 8113a784..00000000
--- a/v2rayN/v2rayN/Forms/AddServer3Form.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class AddServer3Form : BaseServerForm
- {
-
- public AddServer3Form()
- {
- InitializeComponent();
- }
-
- private void AddServer3Form_Load(object sender, EventArgs e)
- {
- if (EditIndex >= 0)
- {
- vmessItem = config.vmess[EditIndex];
- BindingServer();
- }
- else
- {
- vmessItem = new VmessItem();
- ClearServer();
- }
- }
-
- ///
- /// 绑定数据
- ///
- private void BindingServer()
- {
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- cmbSecurity.Text = vmessItem.security;
- txtRemarks.Text = vmessItem.remarks;
- }
-
-
- ///
- /// 清除设置
- ///
- private void ClearServer()
- {
- txtAddress.Text = "";
- txtPort.Text = "";
- txtId.Text = "";
- cmbSecurity.Text = Global.DefaultSecurity;
- txtRemarks.Text = "";
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- string address = txtAddress.Text;
- string port = txtPort.Text;
- string id = txtId.Text;
- string security = cmbSecurity.Text;
- string remarks = txtRemarks.Text;
-
- if (Utils.IsNullOrEmpty(address))
- {
- UI.Show(UIRes.I18N("FillServerAddress"));
- return;
- }
- if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
- {
- UI.Show(UIRes.I18N("FillCorrectServerPort"));
- return;
- }
- if (Utils.IsNullOrEmpty(id))
- {
- UI.Show(UIRes.I18N("FillPassword"));
- return;
- }
- if (Utils.IsNullOrEmpty(security))
- {
- UI.Show(UIRes.I18N("PleaseSelectEncryption"));
- return;
- }
-
- vmessItem.address = address;
- vmessItem.port = Utils.ToInt(port);
- vmessItem.id = id;
- vmessItem.security = security;
- vmessItem.remarks = remarks;
-
- if (ConfigHandler.AddShadowsocksServer(ref config, vmessItem, EditIndex) == 0)
- {
- this.DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(UIRes.I18N("OperationFailed"));
- }
- }
- private void btnClose_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
-
-
- #region 导入配置
-
- ///
- /// 从剪贴板导入URL
- ///
- ///
- ///
- private void menuItemImportClipboard_Click(object sender, EventArgs e)
- {
- ImportConfig();
- }
-
- private void ImportConfig()
- {
- ClearServer();
-
- VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg);
- if (vmessItem == null)
- {
- UI.ShowWarning(msg);
- return;
- }
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- cmbSecurity.Text = vmessItem.security;
- txtId.Text = vmessItem.id;
- txtRemarks.Text = vmessItem.remarks;
- }
-
- #endregion
-
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServer3Form.resx b/v2rayN/v2rayN/Forms/AddServer3Form.resx
deleted file mode 100644
index 272c310f..00000000
--- a/v2rayN/v2rayN/Forms/AddServer3Form.resx
+++ /dev/null
@@ -1,606 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
- 113, 12
-
-
- 53, 12
-
-
- label6
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 547, 25
-
-
-
- 11
-
-
- $this
-
-
- groupBox1
-
-
- 8
-
-
-
- Bottom
-
-
- Import configuration file
-
-
- groupBox1
-
-
- panel1
-
-
- 3
-
-
- Password
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuItemImportClipboard
-
-
- Fill
-
-
- groupBox1
-
-
- 8
-
-
- 89, 12
-
-
- 127, 27
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0
-
-
- aes-256-cfb
-
-
- 6
-
-
- 5
-
-
- 303, 17
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4
-
-
- MenuItem1
-
-
- 0
-
-
- 359, 21
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 396, 17
-
-
- 8
-
-
- 0, 0
-
-
- label1
-
-
- 547, 60
-
-
- 0, 25
-
-
- Encryption
-
-
- groupBox1
-
-
- True
-
-
- 22
-
-
- 162, 21
-
-
- 127, 123
-
-
- 127, 91
-
-
- groupBox1
-
-
- panel2
-
-
- 5
-
-
- 2
-
-
- Alias (remarks)
-
-
- groupBox1
-
-
- True
-
-
- label5
-
-
- txtId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 12, 31
-
-
- groupBox1
-
-
- 1
-
-
- AddServer3Form
-
-
- 194, 21
-
-
- groupBox1
-
-
- 127, 59
-
-
- 0
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 71, 12
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 12, 124
-
-
- 2
-
-
- 10
-
-
- txtPort
-
-
- aes-128-cfb
-
-
- 547, 10
-
-
- 0, 35
-
-
- 5
-
-
- 235, 22
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Edit or add a [Shadowsocks] server
-
-
- &OK
-
-
- chacha20
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- btnClose
-
-
- panel2
-
-
- 0
-
-
- 3
-
-
- 12, 93
-
-
- 194, 20
-
-
- 10
-
-
- chacha20-ietf
-
-
- True
-
-
- panel2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 194, 21
-
-
- 1
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 6
-
-
- 1
-
-
- 7
-
-
- label13
-
-
- aes-256-gcm
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- label3
-
-
- Server port
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0, 231
-
-
- 9
-
-
- aes-128-gcm
-
-
- 4
-
-
- &Cancel
-
-
- True
-
-
- 6, 12
-
-
- True
-
-
- Server address
-
-
- menuServer
-
-
- txtAddress
-
-
- 127, 154
-
-
- chacha20-poly1305
-
-
- 95, 12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- * Fill in manually
-
-
- 7
-
-
- label2
-
-
- 12, 62
-
-
- 547, 291
-
-
- chacha20-ietf-poly1305
-
-
- btnOK
-
-
- cmbSecurity
-
-
- $this
-
-
- 547, 196
-
-
- 3
-
-
- 75, 23
-
-
- 6
-
-
- 337, 158
-
-
- 65, 12
-
-
- 4
-
-
- 2
-
-
- 1
-
-
- *
-
-
- 75, 23
-
-
- Import URL from clipboard
-
-
- groupBox1
-
-
- Server
-
-
- txtRemarks
-
-
- 12, 155
-
-
- True
-
-
- 278, 21
-
-
- Top
-
-
- 3
-
-
- True
-
-
- 17, 17
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer4Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer4Form.Designer.cs
deleted file mode 100644
index bdcd694a..00000000
--- a/v2rayN/v2rayN/Forms/AddServer4Form.Designer.cs
+++ /dev/null
@@ -1,220 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class AddServer4Form
- {
- ///
- /// 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()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer4Form));
- this.btnClose = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.txtSecurity = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
- this.txtId = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.label13 = new System.Windows.Forms.Label();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.txtAddress = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.menuServer = new System.Windows.Forms.MenuStrip();
- this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.menuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
- this.groupBox1.SuspendLayout();
- this.panel2.SuspendLayout();
- this.menuServer.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.txtSecurity);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.txtId);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.label13);
- this.groupBox1.Controls.Add(this.txtRemarks);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.txtPort);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txtAddress);
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // txtSecurity
- //
- resources.ApplyResources(this.txtSecurity, "txtSecurity");
- this.txtSecurity.Name = "txtSecurity";
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // txtId
- //
- resources.ApplyResources(this.txtId, "txtId");
- this.txtId.Name = "txtId";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // label13
- //
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // panel2
- //
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- this.panel2.Name = "panel2";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // menuServer
- //
- resources.ApplyResources(this.menuServer, "menuServer");
- this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItem1});
- this.menuServer.Name = "menuServer";
- //
- // MenuItem1
- //
- resources.ApplyResources(this.MenuItem1, "MenuItem1");
- this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuItemImportClipboard});
- this.MenuItem1.Name = "MenuItem1";
- //
- // menuItemImportClipboard
- //
- resources.ApplyResources(this.menuItemImportClipboard, "menuItemImportClipboard");
- this.menuItemImportClipboard.Name = "menuItemImportClipboard";
- this.menuItemImportClipboard.Click += new System.EventHandler(this.menuItemImportClipboard_Click);
- //
- // AddServer4Form
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.menuServer);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.MinimizeBox = true;
- this.Name = "AddServer4Form";
- this.Load += new System.EventHandler(this.AddServer4Form_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.menuServer.ResumeLayout(false);
- this.menuServer.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.TextBox txtPort;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtAddress;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.MenuStrip menuServer;
- private System.Windows.Forms.ToolStripMenuItem MenuItem1;
- private System.Windows.Forms.ToolStripMenuItem menuItemImportClipboard;
- private System.Windows.Forms.TextBox txtId;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtSecurity;
- private System.Windows.Forms.Label label4;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer4Form.cs b/v2rayN/v2rayN/Forms/AddServer4Form.cs
deleted file mode 100644
index 23ec6aaa..00000000
--- a/v2rayN/v2rayN/Forms/AddServer4Form.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class AddServer4Form : BaseServerForm
- {
-
- public AddServer4Form()
- {
- InitializeComponent();
- }
-
- private void AddServer4Form_Load(object sender, EventArgs e)
- {
- if (EditIndex >= 0)
- {
- vmessItem = config.vmess[EditIndex];
- BindingServer();
- }
- else
- {
- vmessItem = new VmessItem();
- ClearServer();
- }
- }
-
- ///
- /// 绑定数据
- ///
- private void BindingServer()
- {
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtSecurity.Text = vmessItem.security;
- txtRemarks.Text = vmessItem.remarks;
- }
-
-
- ///
- /// 清除设置
- ///
- private void ClearServer()
- {
- txtAddress.Text = "";
- txtPort.Text = "";
- txtId.Text = "";
- txtSecurity.Text = "";
- txtRemarks.Text = "";
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- string address = txtAddress.Text;
- string port = txtPort.Text;
- string id = txtId.Text;
- string security = txtSecurity.Text;
- string remarks = txtRemarks.Text;
-
- if (Utils.IsNullOrEmpty(address))
- {
- UI.Show(UIRes.I18N("FillServerAddress"));
- return;
- }
- if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
- {
- UI.Show(UIRes.I18N("FillCorrectServerPort"));
- return;
- }
-
- vmessItem.address = address;
- vmessItem.port = Utils.ToInt(port);
- vmessItem.id = id;
- vmessItem.security = security;
- vmessItem.remarks = remarks;
-
- if (ConfigHandler.AddSocksServer(ref config, vmessItem, EditIndex) == 0)
- {
- this.DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(UIRes.I18N("OperationFailed"));
- }
- }
- private void btnClose_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
-
-
- #region 导入配置
-
- ///
- /// 从剪贴板导入URL
- ///
- ///
- ///
- private void menuItemImportClipboard_Click(object sender, EventArgs e)
- {
- ImportConfig();
- }
-
- private void ImportConfig()
- {
- ClearServer();
-
- VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg);
- if (vmessItem == null)
- {
- UI.ShowWarning(msg);
- return;
- }
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtSecurity.Text = vmessItem.security;
- txtId.Text = vmessItem.id;
- txtRemarks.Text = vmessItem.remarks;
- }
-
- #endregion
-
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
deleted file mode 100644
index 423b7386..00000000
--- a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
+++ /dev/null
@@ -1,513 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class AddServer5Form
- {
- ///
- /// 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()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer5Form));
- this.btnClose = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.cmbFlow = new System.Windows.Forms.ComboBox();
- this.label4 = new System.Windows.Forms.Label();
- this.btnGUID = new System.Windows.Forms.Button();
- this.label13 = new System.Windows.Forms.Label();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.label24 = new System.Windows.Forms.Label();
- this.label23 = new System.Windows.Forms.Label();
- this.panTlsMore = new System.Windows.Forms.Panel();
- this.label21 = new System.Windows.Forms.Label();
- this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
- this.label9 = new System.Windows.Forms.Label();
- this.label20 = new System.Windows.Forms.Label();
- this.txtPath = new System.Windows.Forms.TextBox();
- this.cmbNetwork = new System.Windows.Forms.ComboBox();
- this.label7 = new System.Windows.Forms.Label();
- this.label19 = new System.Windows.Forms.Label();
- this.label18 = new System.Windows.Forms.Label();
- this.label17 = new System.Windows.Forms.Label();
- this.label16 = new System.Windows.Forms.Label();
- this.label14 = new System.Windows.Forms.Label();
- this.label15 = new System.Windows.Forms.Label();
- this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
- this.label12 = new System.Windows.Forms.Label();
- this.txtRequestHost = new System.Windows.Forms.TextBox();
- this.label11 = new System.Windows.Forms.Label();
- this.label10 = new System.Windows.Forms.Label();
- this.cmbHeaderType = new System.Windows.Forms.ComboBox();
- this.label8 = new System.Windows.Forms.Label();
- this.cmbSecurity = new System.Windows.Forms.ComboBox();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.label5 = new System.Windows.Forms.Label();
- this.txtId = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.txtAddress = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.menuServer = new System.Windows.Forms.MenuStrip();
- this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.MenuItemImportClient = new System.Windows.Forms.ToolStripMenuItem();
- this.MenuItemImportServer = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.MenuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
- this.groupBox1.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.panTlsMore.SuspendLayout();
- this.panel2.SuspendLayout();
- this.menuServer.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.cmbFlow);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.btnGUID);
- this.groupBox1.Controls.Add(this.label13);
- this.groupBox1.Controls.Add(this.groupBox2);
- this.groupBox1.Controls.Add(this.label8);
- this.groupBox1.Controls.Add(this.cmbSecurity);
- this.groupBox1.Controls.Add(this.txtRemarks);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.label5);
- this.groupBox1.Controls.Add(this.txtId);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.txtPort);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txtAddress);
- this.groupBox1.Controls.Add(this.label1);
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // cmbFlow
- //
- this.cmbFlow.FormattingEnabled = true;
- this.cmbFlow.Items.AddRange(new object[] {
- resources.GetString("cmbFlow.Items"),
- resources.GetString("cmbFlow.Items1"),
- resources.GetString("cmbFlow.Items2"),
- resources.GetString("cmbFlow.Items3"),
- resources.GetString("cmbFlow.Items4")});
- resources.ApplyResources(this.cmbFlow, "cmbFlow");
- this.cmbFlow.Name = "cmbFlow";
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // btnGUID
- //
- resources.ApplyResources(this.btnGUID, "btnGUID");
- this.btnGUID.Name = "btnGUID";
- this.btnGUID.UseVisualStyleBackColor = true;
- this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
- //
- // label13
- //
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.label24);
- this.groupBox2.Controls.Add(this.label23);
- this.groupBox2.Controls.Add(this.panTlsMore);
- this.groupBox2.Controls.Add(this.label9);
- this.groupBox2.Controls.Add(this.label20);
- this.groupBox2.Controls.Add(this.txtPath);
- this.groupBox2.Controls.Add(this.cmbNetwork);
- this.groupBox2.Controls.Add(this.label7);
- this.groupBox2.Controls.Add(this.label19);
- this.groupBox2.Controls.Add(this.label18);
- this.groupBox2.Controls.Add(this.label17);
- this.groupBox2.Controls.Add(this.label16);
- this.groupBox2.Controls.Add(this.label14);
- this.groupBox2.Controls.Add(this.label15);
- this.groupBox2.Controls.Add(this.cmbStreamSecurity);
- this.groupBox2.Controls.Add(this.label12);
- this.groupBox2.Controls.Add(this.txtRequestHost);
- this.groupBox2.Controls.Add(this.label11);
- this.groupBox2.Controls.Add(this.label10);
- this.groupBox2.Controls.Add(this.cmbHeaderType);
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // label24
- //
- resources.ApplyResources(this.label24, "label24");
- this.label24.Name = "label24";
- //
- // label23
- //
- resources.ApplyResources(this.label23, "label23");
- this.label23.Name = "label23";
- //
- // panTlsMore
- //
- this.panTlsMore.Controls.Add(this.label21);
- this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
- resources.ApplyResources(this.panTlsMore, "panTlsMore");
- this.panTlsMore.Name = "panTlsMore";
- //
- // label21
- //
- resources.ApplyResources(this.label21, "label21");
- this.label21.Name = "label21";
- //
- // cmbAllowInsecure
- //
- this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbAllowInsecure.FormattingEnabled = true;
- this.cmbAllowInsecure.Items.AddRange(new object[] {
- resources.GetString("cmbAllowInsecure.Items"),
- resources.GetString("cmbAllowInsecure.Items1"),
- resources.GetString("cmbAllowInsecure.Items2")});
- resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
- this.cmbAllowInsecure.Name = "cmbAllowInsecure";
- //
- // label9
- //
- resources.ApplyResources(this.label9, "label9");
- this.label9.Name = "label9";
- //
- // label20
- //
- resources.ApplyResources(this.label20, "label20");
- this.label20.Name = "label20";
- //
- // txtPath
- //
- resources.ApplyResources(this.txtPath, "txtPath");
- this.txtPath.Name = "txtPath";
- //
- // cmbNetwork
- //
- this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbNetwork.FormattingEnabled = true;
- this.cmbNetwork.Items.AddRange(new object[] {
- resources.GetString("cmbNetwork.Items"),
- resources.GetString("cmbNetwork.Items1"),
- resources.GetString("cmbNetwork.Items2"),
- resources.GetString("cmbNetwork.Items3"),
- resources.GetString("cmbNetwork.Items4")});
- resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
- this.cmbNetwork.Name = "cmbNetwork";
- this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
- //
- // label7
- //
- resources.ApplyResources(this.label7, "label7");
- this.label7.Name = "label7";
- //
- // label19
- //
- resources.ApplyResources(this.label19, "label19");
- this.label19.Name = "label19";
- //
- // label18
- //
- resources.ApplyResources(this.label18, "label18");
- this.label18.Name = "label18";
- //
- // label17
- //
- resources.ApplyResources(this.label17, "label17");
- this.label17.Name = "label17";
- //
- // label16
- //
- resources.ApplyResources(this.label16, "label16");
- this.label16.Name = "label16";
- //
- // label14
- //
- resources.ApplyResources(this.label14, "label14");
- this.label14.Name = "label14";
- //
- // label15
- //
- resources.ApplyResources(this.label15, "label15");
- this.label15.Name = "label15";
- //
- // cmbStreamSecurity
- //
- this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbStreamSecurity.FormattingEnabled = true;
- this.cmbStreamSecurity.Items.AddRange(new object[] {
- resources.GetString("cmbStreamSecurity.Items"),
- resources.GetString("cmbStreamSecurity.Items1"),
- resources.GetString("cmbStreamSecurity.Items2")});
- resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
- this.cmbStreamSecurity.Name = "cmbStreamSecurity";
- this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
- //
- // label12
- //
- resources.ApplyResources(this.label12, "label12");
- this.label12.Name = "label12";
- //
- // txtRequestHost
- //
- resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
- this.txtRequestHost.Name = "txtRequestHost";
- //
- // label11
- //
- resources.ApplyResources(this.label11, "label11");
- this.label11.Name = "label11";
- //
- // label10
- //
- resources.ApplyResources(this.label10, "label10");
- this.label10.Name = "label10";
- //
- // cmbHeaderType
- //
- this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbHeaderType.FormattingEnabled = true;
- this.cmbHeaderType.Items.AddRange(new object[] {
- resources.GetString("cmbHeaderType.Items"),
- resources.GetString("cmbHeaderType.Items1"),
- resources.GetString("cmbHeaderType.Items2"),
- resources.GetString("cmbHeaderType.Items3"),
- resources.GetString("cmbHeaderType.Items4"),
- resources.GetString("cmbHeaderType.Items5"),
- resources.GetString("cmbHeaderType.Items6")});
- resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
- this.cmbHeaderType.Name = "cmbHeaderType";
- //
- // label8
- //
- resources.ApplyResources(this.label8, "label8");
- this.label8.Name = "label8";
- //
- // cmbSecurity
- //
- this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
- this.cmbSecurity.FormattingEnabled = true;
- this.cmbSecurity.Items.AddRange(new object[] {
- resources.GetString("cmbSecurity.Items")});
- resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
- this.cmbSecurity.Name = "cmbSecurity";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // txtId
- //
- resources.ApplyResources(this.txtId, "txtId");
- this.txtId.Name = "txtId";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // panel2
- //
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // menuServer
- //
- this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItem1});
- resources.ApplyResources(this.menuServer, "menuServer");
- this.menuServer.Name = "menuServer";
- //
- // MenuItem1
- //
- this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItemImportClient,
- this.MenuItemImportServer,
- this.toolStripSeparator1,
- this.MenuItemImportClipboard});
- this.MenuItem1.Name = "MenuItem1";
- resources.ApplyResources(this.MenuItem1, "MenuItem1");
- //
- // MenuItemImportClient
- //
- this.MenuItemImportClient.Name = "MenuItemImportClient";
- resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
- this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
- //
- // MenuItemImportServer
- //
- this.MenuItemImportServer.Name = "MenuItemImportServer";
- resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
- this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
- //
- // toolStripSeparator1
- //
- this.toolStripSeparator1.Name = "toolStripSeparator1";
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
- //
- // MenuItemImportClipboard
- //
- this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
- resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
- this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
- //
- // AddServer5Form
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.menuServer);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "AddServer5Form";
- this.Load += new System.EventHandler(this.AddServer5Form_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.panTlsMore.ResumeLayout(false);
- this.panTlsMore.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.menuServer.ResumeLayout(false);
- this.menuServer.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.TextBox txtId;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtPort;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtAddress;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.ComboBox cmbSecurity;
- private System.Windows.Forms.ComboBox cmbNetwork;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.Label label9;
- private System.Windows.Forms.Label label8;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.TextBox txtRequestHost;
- private System.Windows.Forms.Label label10;
- private System.Windows.Forms.Label label11;
- private System.Windows.Forms.ComboBox cmbHeaderType;
- private System.Windows.Forms.Label label12;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.MenuStrip menuServer;
- private System.Windows.Forms.ToolStripMenuItem MenuItem1;
- private System.Windows.Forms.ToolStripMenuItem MenuItemImportClient;
- private System.Windows.Forms.ToolStripMenuItem MenuItemImportServer;
- private System.Windows.Forms.Label label15;
- private System.Windows.Forms.ComboBox cmbStreamSecurity;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
- private System.Windows.Forms.ToolStripMenuItem MenuItemImportClipboard;
- private System.Windows.Forms.Button btnGUID;
- private System.Windows.Forms.Label label16;
- private System.Windows.Forms.Label label14;
- private System.Windows.Forms.Label label17;
- private System.Windows.Forms.Label label18;
- private System.Windows.Forms.Label label19;
- private System.Windows.Forms.TextBox txtPath;
- private System.Windows.Forms.Label label20;
- private System.Windows.Forms.Label label21;
- private System.Windows.Forms.ComboBox cmbAllowInsecure;
- private System.Windows.Forms.Panel panTlsMore;
- private System.Windows.Forms.Label label24;
- private System.Windows.Forms.Label label23;
- private System.Windows.Forms.ComboBox cmbFlow;
- private System.Windows.Forms.Label label4;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.cs b/v2rayN/v2rayN/Forms/AddServer5Form.cs
deleted file mode 100644
index d426e5c6..00000000
--- a/v2rayN/v2rayN/Forms/AddServer5Form.cs
+++ /dev/null
@@ -1,286 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class AddServer5Form : BaseServerForm
- {
-
- public AddServer5Form()
- {
- InitializeComponent();
- }
-
- private void AddServer5Form_Load(object sender, EventArgs e)
- {
- if (EditIndex >= 0)
- {
- vmessItem = config.vmess[EditIndex];
- BindingServer();
- }
- else
- {
- vmessItem = new VmessItem();
- ClearServer();
- }
- }
-
- ///
- /// 绑定数据
- ///
- private void BindingServer()
- {
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- cmbFlow.Text = vmessItem.flow;
- cmbSecurity.Text = vmessItem.security;
- cmbNetwork.Text = vmessItem.network;
- txtRemarks.Text = vmessItem.remarks;
-
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- cmbAllowInsecure.Text = vmessItem.allowInsecure;
- }
-
-
- ///
- /// 清除设置
- ///
- private void ClearServer()
- {
- txtAddress.Text = "";
- txtPort.Text = "";
- txtId.Text = "";
- cmbFlow.Text = "";
- cmbSecurity.Text = Global.None;
- cmbNetwork.Text = Global.DefaultNetwork;
- txtRemarks.Text = "";
-
- cmbHeaderType.Text = Global.None;
- txtRequestHost.Text = "";
- cmbStreamSecurity.Text = "";
- cmbAllowInsecure.Text = "";
- txtPath.Text = "";
- }
-
-
- private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
- {
- SetHeaderType();
- }
-
- ///
- /// 设置伪装选项
- ///
- private void SetHeaderType()
- {
- cmbHeaderType.Items.Clear();
-
- string network = cmbNetwork.Text;
- if (Utils.IsNullOrEmpty(network))
- {
- cmbHeaderType.Items.Add(Global.None);
- return;
- }
-
- cmbHeaderType.Items.Add(Global.None);
- if (network.Equals(Global.DefaultNetwork))
- {
- cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
- }
- else if (network.Equals("kcp") || network.Equals("quic"))
- {
- cmbHeaderType.Items.Add("srtp");
- cmbHeaderType.Items.Add("utp");
- cmbHeaderType.Items.Add("wechat-video");
- cmbHeaderType.Items.Add("dtls");
- cmbHeaderType.Items.Add("wireguard");
- }
- else
- {
- }
- cmbHeaderType.Text = Global.None;
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- string address = txtAddress.Text;
- string port = txtPort.Text;
- string id = txtId.Text;
- string flow = cmbFlow.Text;
- string security = cmbSecurity.Text;
- string network = cmbNetwork.Text;
- string remarks = txtRemarks.Text;
-
- string headerType = cmbHeaderType.Text;
- string requestHost = txtRequestHost.Text;
- string path = txtPath.Text;
- string streamSecurity = cmbStreamSecurity.Text;
- string allowInsecure = cmbAllowInsecure.Text;
-
- if (Utils.IsNullOrEmpty(address))
- {
- UI.Show(UIRes.I18N("FillServerAddress"));
- return;
- }
- if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
- {
- UI.Show(UIRes.I18N("FillCorrectServerPort"));
- return;
- }
- if (Utils.IsNullOrEmpty(id))
- {
- UI.Show(UIRes.I18N("FillUUID"));
- return;
- }
-
-
- vmessItem.address = address;
- vmessItem.port = Utils.ToInt(port);
- vmessItem.id = id;
- vmessItem.flow = flow;
- vmessItem.security = security;
- vmessItem.network = network;
- vmessItem.remarks = remarks;
-
- vmessItem.headerType = headerType;
- vmessItem.requestHost = requestHost.Replace(" ", "");
- vmessItem.path = path.Replace(" ", "");
- vmessItem.streamSecurity = streamSecurity;
- vmessItem.allowInsecure = allowInsecure;
-
- if (ConfigHandler.AddVlessServer(ref config, vmessItem, EditIndex) == 0)
- {
- this.DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(UIRes.I18N("OperationFailed"));
- }
- }
-
- private void btnGUID_Click(object sender, EventArgs e)
- {
- txtId.Text = Utils.GetGUID();
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
-
- private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
- {
- string security = cmbStreamSecurity.Text;
- if (Utils.IsNullOrEmpty(security))
- {
- panTlsMore.Hide();
- }
- else
- {
- panTlsMore.Show();
- }
- }
-
- #region 导入客户端/服务端配置
-
- ///
- /// 导入客户端
- ///
- ///
- ///
- private void MenuItemImportClient_Click(object sender, EventArgs e)
- {
- MenuItemImport(1);
- }
-
- ///
- /// 导入服务端
- ///
- ///
- ///
- private void MenuItemImportServer_Click(object sender, EventArgs e)
- {
- MenuItemImport(2);
- }
-
- private void MenuItemImport(int type)
- {
- ClearServer();
-
- OpenFileDialog fileDialog = new OpenFileDialog
- {
- Multiselect = false,
- Filter = "Config|*.json|All|*.*"
- };
- if (fileDialog.ShowDialog() != DialogResult.OK)
- {
- return;
- }
- string fileName = fileDialog.FileName;
- if (Utils.IsNullOrEmpty(fileName))
- {
- return;
- }
- string msg;
- VmessItem vmessItem;
- if (type.Equals(1))
- {
- vmessItem = V2rayConfigHandler.ImportFromClientConfig(fileName, out msg);
- }
- else
- {
- vmessItem = V2rayConfigHandler.ImportFromServerConfig(fileName, out msg);
- }
- if (vmessItem == null)
- {
- UI.ShowWarning(msg);
- return;
- }
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtRemarks.Text = vmessItem.remarks;
- cmbNetwork.Text = vmessItem.network;
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- }
-
- ///
- /// 从剪贴板导入URL
- ///
- ///
- ///
- private void MenuItemImportClipboard_Click(object sender, EventArgs e)
- {
- ClearServer();
-
- VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg);
- if (vmessItem == null)
- {
- UI.ShowWarning(msg);
- return;
- }
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtRemarks.Text = vmessItem.remarks;
- cmbNetwork.Text = vmessItem.network;
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- }
- #endregion
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.resx b/v2rayN/v2rayN/Forms/AddServer5Form.resx
deleted file mode 100644
index e4c57a41..00000000
--- a/v2rayN/v2rayN/Forms/AddServer5Form.resx
+++ /dev/null
@@ -1,1386 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
- 396, 17
-
-
- 75, 23
-
-
-
- 4
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
-
-
-
- xtls-rprx-origin
-
-
- xtls-rprx-origin-udp443
-
-
- xtls-rprx-direct
-
-
- xtls-rprx-direct-udp443
-
-
- 127, 123
-
-
- 211, 20
-
-
- 24
-
-
- cmbFlow
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- True
-
-
-
- NoControl
-
-
- 12, 127
-
-
- 29, 12
-
-
- 25
-
-
- Flow
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- 411, 91
-
-
- 75, 23
-
-
- 23
-
-
- &Generate
-
-
- btnGUID
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- True
-
-
- 353, 189
-
-
- 113, 12
-
-
- 22
-
-
- * Fill in manually
-
-
- label13
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 529, 207
-
-
- 119, 12
-
-
- 35
-
-
- 3)QUIC key/Kcp seed
-
-
- label24
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 465, 140
-
-
- 89, 12
-
-
- 34
-
-
- 4)QUIC securty
-
-
- label23
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- True
-
-
- NoControl
-
-
- 12, 11
-
-
- 83, 12
-
-
- 31
-
-
- allowInsecure
-
-
- label21
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTlsMore
-
-
- 0
-
-
-
-
-
- true
-
-
- false
-
-
- 107, 7
-
-
- 91, 20
-
-
- 30
-
-
- cmbAllowInsecure
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTlsMore
-
-
- 1
-
-
- 284, 232
-
-
- 338, 35
-
-
- 33
-
-
- panTlsMore
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 2
-
-
- True
-
-
- 353, 32
-
-
- 113, 12
-
-
- 15
-
-
- *Default value tcp
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 3
-
-
- True
-
-
- 464, 124
-
-
- 203, 12
-
-
- 29
-
-
- 3)h2 host Separated by commas (,)
-
-
- label20
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 4
-
-
- 127, 169
-
-
- True
-
-
- 396, 54
-
-
- 28
-
-
- txtPath
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 5
-
-
- tcp
-
-
- kcp
-
-
- ws
-
-
- h2
-
-
- quic
-
-
- 192, 28
-
-
- 143, 20
-
-
- 12
-
-
- cmbNetwork
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 6
-
-
- True
-
-
- 9, 32
-
-
- 167, 12
-
-
- 13
-
-
- Transport protocol(network)
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 7
-
-
- True
-
-
- 9, 169
-
-
- 29, 12
-
-
- 27
-
-
- Path
-
-
- label19
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 8
-
-
- True
-
-
- 529, 189
-
-
- 59, 12
-
-
- 26
-
-
- 2)h2 path
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 9
-
-
- True
-
-
- 464, 109
-
-
- 59, 12
-
-
- 25
-
-
- 2)ws host
-
-
- label17
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 10
-
-
- True
-
-
- 529, 172
-
-
- 59, 12
-
-
- 24
-
-
- 1)ws path
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 11
-
-
- True
-
-
- 464, 94
-
-
- 215, 12
-
-
- 23
-
-
- 1)http host Separated by commas (,)
-
-
- label14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 12
-
-
- True
-
-
- 9, 243
-
-
- 23, 12
-
-
- 22
-
-
- TLS
-
-
- label15
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 13
-
-
-
-
-
- tls
-
-
- xtls
-
-
- 127, 239
-
-
- 143, 20
-
-
- 21
-
-
- cmbStreamSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 14
-
-
- True
-
-
- 282, 68
-
-
- 299, 12
-
-
- 20
-
-
- *tcp or kcp or QUIC camouflage type, default none
-
-
- label12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 15
-
-
- 158, 100
-
-
- True
-
-
- 300, 53
-
-
- 16
-
-
- txtRequestHost
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 16
-
-
- True
-
-
- 9, 68
-
-
- 95, 12
-
-
- 19
-
-
- Camouflage type
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 17
-
-
- True
-
-
- 9, 100
-
-
- 143, 12
-
-
- 17
-
-
- Camouflage domain(host)
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 18
-
-
- none
-
-
- http
-
-
- srtp
-
-
- utp
-
-
- wechat-video
-
-
- dtls
-
-
- wireguard
-
-
- 127, 64
-
-
- 143, 20
-
-
- 18
-
-
- cmbHeaderType
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 19
-
-
- Bottom
-
-
- 3, 215
-
-
- 723, 281
-
-
- 21
-
-
- Transport
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 4
-
-
- True
-
-
- NoControl
-
-
- 353, 157
-
-
- 119, 12
-
-
- 14
-
-
- *Recommended (none)
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 5
-
-
- none
-
-
- 127, 154
-
-
- 211, 20
-
-
- 6
-
-
- cmbSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 6
-
-
- 127, 185
-
-
- 211, 21
-
-
- 11
-
-
- txtRemarks
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 7
-
-
- True
-
-
- 12, 189
-
-
- 95, 12
-
-
- 10
-
-
- Alias (remarks)
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 8
-
-
- True
-
-
- 12, 158
-
-
- 65, 12
-
-
- 8
-
-
- Encryption
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 9
-
-
- 127, 91
-
-
- 278, 21
-
-
- 5
-
-
- txtId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 10
-
-
- True
-
-
- 12, 95
-
-
- 53, 12
-
-
- 4
-
-
- UUID(id)
-
-
- label3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 11
-
-
- 127, 59
-
-
- 143, 21
-
-
- 3
-
-
- txtPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 12
-
-
- True
-
-
- 12, 63
-
-
- 29, 12
-
-
- 2
-
-
- Port
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 13
-
-
- 127, 27
-
-
- 359, 21
-
-
- 1
-
-
- txtAddress
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 14
-
-
- True
-
-
- 12, 31
-
-
- 47, 12
-
-
- 0
-
-
- Address
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 15
-
-
- Fill
-
-
- 0, 35
-
-
- 729, 499
-
-
- 3
-
-
- Server
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- 303, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- Bottom
-
-
- 0, 534
-
-
- 729, 60
-
-
- 7
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- Top
-
-
- 0, 25
-
-
- 729, 10
-
-
- 6
-
-
- panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- 17, 17
-
-
- 237, 22
-
-
- Import client configuration
-
-
- 237, 22
-
-
- Import server configuration
-
-
- 234, 6
-
-
- 237, 22
-
-
- Import URL from clipboard
-
-
- 162, 21
-
-
- Import configuration file
-
-
- 0, 0
-
-
- 729, 25
-
-
- 8
-
-
- menuServer
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- True
-
-
- 25
-
-
- 6, 12
-
-
- 729, 594
-
-
- Edit or add a [VLESS] server
-
-
- MenuItem1
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemImportClient
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemImportServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator1
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemImportClipboard
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- AddServer5Form
-
-
- v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.cs b/v2rayN/v2rayN/Forms/AddServer6Form.cs
deleted file mode 100644
index 6911714f..00000000
--- a/v2rayN/v2rayN/Forms/AddServer6Form.cs
+++ /dev/null
@@ -1,100 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class AddServer6Form : BaseServerForm
- {
- public AddServer6Form()
- {
- InitializeComponent();
- }
-
- private void AddServer6Form_Load(object sender, EventArgs e)
- {
- if (EditIndex >= 0)
- {
- vmessItem = config.vmess[EditIndex];
- BindingServer();
- }
- else
- {
- vmessItem = new VmessItem();
- ClearServer();
- }
- }
-
- ///
- /// 绑定数据
- ///
- private void BindingServer()
- {
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtRequestHost.Text = vmessItem.requestHost;
- txtRemarks.Text = vmessItem.remarks;
- }
-
-
- ///
- /// 清除设置
- ///
- private void ClearServer()
- {
- txtAddress.Text = "";
- txtPort.Text = "";
- txtId.Text = "";
- txtRequestHost.Text = "";
- txtRemarks.Text = "";
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- string address = txtAddress.Text;
- string port = txtPort.Text;
- string id = txtId.Text;
- string requestHost = txtRequestHost.Text;
- string remarks = txtRemarks.Text;
-
- if (Utils.IsNullOrEmpty(address))
- {
- UI.Show(UIRes.I18N("FillServerAddress"));
- return;
- }
- if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
- {
- UI.Show(UIRes.I18N("FillCorrectServerPort"));
- return;
- }
- if (Utils.IsNullOrEmpty(id))
- {
- UI.Show(UIRes.I18N("FillPassword"));
- return;
- }
-
- vmessItem.address = address;
- vmessItem.port = Utils.ToInt(port);
- vmessItem.id = id;
- vmessItem.requestHost = requestHost.Replace(" ", "");
- vmessItem.remarks = remarks;
-
- if (ConfigHandler.AddTrojanServer(ref config, vmessItem, EditIndex) == 0)
- {
- this.DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(UIRes.I18N("OperationFailed"));
- }
- }
- private void btnClose_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
index a96b32ab..33aa7ade 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
@@ -31,58 +31,62 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServerForm));
this.btnClose = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.btnGUID = new System.Windows.Forms.Button();
- this.label13 = new System.Windows.Forms.Label();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.label24 = new System.Windows.Forms.Label();
- this.label23 = new System.Windows.Forms.Label();
- this.panTlsMore = new System.Windows.Forms.Panel();
- this.label21 = new System.Windows.Forms.Label();
- this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
- this.label9 = new System.Windows.Forms.Label();
- this.label20 = new System.Windows.Forms.Label();
- this.txtPath = new System.Windows.Forms.TextBox();
- this.cmbNetwork = new System.Windows.Forms.ComboBox();
- this.label7 = new System.Windows.Forms.Label();
- this.label19 = new System.Windows.Forms.Label();
- this.label18 = new System.Windows.Forms.Label();
+ this.panSocks = new System.Windows.Forms.Panel();
this.label17 = new System.Windows.Forms.Label();
- this.label16 = new System.Windows.Forms.Label();
- this.label14 = new System.Windows.Forms.Label();
+ this.txtSecurity4 = new System.Windows.Forms.TextBox();
+ this.label18 = new System.Windows.Forms.Label();
+ this.txtId4 = new System.Windows.Forms.TextBox();
+ this.panSs = new System.Windows.Forms.Panel();
+ this.txtId3 = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
- this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
+ this.cmbSecurity3 = new System.Windows.Forms.ComboBox();
+ this.label16 = new System.Windows.Forms.Label();
+ this.panTrojan = new System.Windows.Forms.Panel();
this.label12 = new System.Windows.Forms.Label();
- this.txtRequestHost = new System.Windows.Forms.TextBox();
- this.label11 = new System.Windows.Forms.Label();
+ this.cmbFlow6 = new System.Windows.Forms.ComboBox();
+ this.txtId6 = new System.Windows.Forms.TextBox();
+ this.label14 = new System.Windows.Forms.Label();
+ this.panVless = new System.Windows.Forms.Panel();
+ this.label7 = new System.Windows.Forms.Label();
+ this.cmbFlow5 = new System.Windows.Forms.ComboBox();
+ this.txtId5 = new System.Windows.Forms.TextBox();
+ this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
- this.cmbHeaderType = new System.Windows.Forms.ComboBox();
- this.label8 = new System.Windows.Forms.Label();
- this.cmbSecurity = new System.Windows.Forms.ComboBox();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.label5 = new System.Windows.Forms.Label();
- this.txtAlterId = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
- this.txtId = new System.Windows.Forms.TextBox();
+ this.btnGUID5 = new System.Windows.Forms.Button();
+ this.cmbSecurity5 = new System.Windows.Forms.ComboBox();
+ this.label11 = new System.Windows.Forms.Label();
+ this.panVmess = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.txtAddress = new System.Windows.Forms.TextBox();
+ this.txtId = new System.Windows.Forms.TextBox();
+ this.btnGUID = new System.Windows.Forms.Button();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.txtAlterId = new System.Windows.Forms.TextBox();
+ this.cmbSecurity = new System.Windows.Forms.ComboBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.panAddr = new System.Windows.Forms.Panel();
+ this.label6 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
- this.panel2 = new System.Windows.Forms.Panel();
+ this.txtAddress = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtPort = new System.Windows.Forms.TextBox();
+ this.txtRemarks = new System.Windows.Forms.TextBox();
+ this.panBottom = new System.Windows.Forms.Panel();
this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.menuServer = new System.Windows.Forms.MenuStrip();
- this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.MenuItemImportClient = new System.Windows.Forms.ToolStripMenuItem();
- this.MenuItemImportServer = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.MenuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
+ this.panTop = new System.Windows.Forms.Panel();
+ this.panTran = new System.Windows.Forms.Panel();
+ this.transportControl = new v2rayN.Forms.ServerTransportControl();
+ this.cmbCoreType = new System.Windows.Forms.ComboBox();
+ this.labCoreType = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.panTlsMore.SuspendLayout();
- this.panel2.SuspendLayout();
- this.menuServer.SuspendLayout();
+ this.panSocks.SuspendLayout();
+ this.panSs.SuspendLayout();
+ this.panTrojan.SuspendLayout();
+ this.panVless.SuspendLayout();
+ this.panVmess.SuspendLayout();
+ this.panAddr.SuspendLayout();
+ this.panBottom.SuspendLayout();
+ this.panTran.SuspendLayout();
this.SuspendLayout();
//
// btnClose
@@ -95,26 +99,189 @@
//
// groupBox1
//
- this.groupBox1.Controls.Add(this.btnGUID);
- this.groupBox1.Controls.Add(this.label13);
- this.groupBox1.Controls.Add(this.groupBox2);
- this.groupBox1.Controls.Add(this.label8);
- this.groupBox1.Controls.Add(this.cmbSecurity);
- this.groupBox1.Controls.Add(this.txtRemarks);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.label5);
- this.groupBox1.Controls.Add(this.txtAlterId);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.txtId);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.txtPort);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txtAddress);
- this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.panSocks);
+ this.groupBox1.Controls.Add(this.panSs);
+ this.groupBox1.Controls.Add(this.panTrojan);
+ this.groupBox1.Controls.Add(this.panVless);
+ this.groupBox1.Controls.Add(this.panVmess);
+ this.groupBox1.Controls.Add(this.panAddr);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
+ // panSocks
+ //
+ this.panSocks.Controls.Add(this.label17);
+ this.panSocks.Controls.Add(this.txtSecurity4);
+ this.panSocks.Controls.Add(this.label18);
+ this.panSocks.Controls.Add(this.txtId4);
+ resources.ApplyResources(this.panSocks, "panSocks");
+ this.panSocks.Name = "panSocks";
+ //
+ // label17
+ //
+ resources.ApplyResources(this.label17, "label17");
+ this.label17.Name = "label17";
+ //
+ // txtSecurity4
+ //
+ resources.ApplyResources(this.txtSecurity4, "txtSecurity4");
+ this.txtSecurity4.Name = "txtSecurity4";
+ //
+ // label18
+ //
+ resources.ApplyResources(this.label18, "label18");
+ this.label18.Name = "label18";
+ //
+ // txtId4
+ //
+ resources.ApplyResources(this.txtId4, "txtId4");
+ this.txtId4.Name = "txtId4";
+ //
+ // panSs
+ //
+ this.panSs.Controls.Add(this.txtId3);
+ this.panSs.Controls.Add(this.label15);
+ this.panSs.Controls.Add(this.cmbSecurity3);
+ this.panSs.Controls.Add(this.label16);
+ resources.ApplyResources(this.panSs, "panSs");
+ this.panSs.Name = "panSs";
+ //
+ // txtId3
+ //
+ resources.ApplyResources(this.txtId3, "txtId3");
+ this.txtId3.Name = "txtId3";
+ //
+ // label15
+ //
+ resources.ApplyResources(this.label15, "label15");
+ this.label15.Name = "label15";
+ //
+ // cmbSecurity3
+ //
+ this.cmbSecurity3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbSecurity3.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbSecurity3, "cmbSecurity3");
+ this.cmbSecurity3.Name = "cmbSecurity3";
+ //
+ // label16
+ //
+ resources.ApplyResources(this.label16, "label16");
+ this.label16.Name = "label16";
+ //
+ // panTrojan
+ //
+ this.panTrojan.Controls.Add(this.label12);
+ this.panTrojan.Controls.Add(this.cmbFlow6);
+ this.panTrojan.Controls.Add(this.txtId6);
+ this.panTrojan.Controls.Add(this.label14);
+ resources.ApplyResources(this.panTrojan, "panTrojan");
+ this.panTrojan.Name = "panTrojan";
+ //
+ // label12
+ //
+ resources.ApplyResources(this.label12, "label12");
+ this.label12.Name = "label12";
+ //
+ // cmbFlow6
+ //
+ this.cmbFlow6.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbFlow6, "cmbFlow6");
+ this.cmbFlow6.Name = "cmbFlow6";
+ //
+ // txtId6
+ //
+ resources.ApplyResources(this.txtId6, "txtId6");
+ this.txtId6.Name = "txtId6";
+ //
+ // label14
+ //
+ resources.ApplyResources(this.label14, "label14");
+ this.label14.Name = "label14";
+ //
+ // panVless
+ //
+ this.panVless.Controls.Add(this.label7);
+ this.panVless.Controls.Add(this.cmbFlow5);
+ this.panVless.Controls.Add(this.txtId5);
+ this.panVless.Controls.Add(this.label9);
+ this.panVless.Controls.Add(this.label10);
+ this.panVless.Controls.Add(this.btnGUID5);
+ this.panVless.Controls.Add(this.cmbSecurity5);
+ this.panVless.Controls.Add(this.label11);
+ resources.ApplyResources(this.panVless, "panVless");
+ this.panVless.Name = "panVless";
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
+ // cmbFlow5
+ //
+ this.cmbFlow5.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbFlow5, "cmbFlow5");
+ this.cmbFlow5.Name = "cmbFlow5";
+ //
+ // txtId5
+ //
+ resources.ApplyResources(this.txtId5, "txtId5");
+ this.txtId5.Name = "txtId5";
+ //
+ // label9
+ //
+ resources.ApplyResources(this.label9, "label9");
+ this.label9.Name = "label9";
+ //
+ // label10
+ //
+ resources.ApplyResources(this.label10, "label10");
+ this.label10.Name = "label10";
+ //
+ // btnGUID5
+ //
+ resources.ApplyResources(this.btnGUID5, "btnGUID5");
+ this.btnGUID5.Name = "btnGUID5";
+ this.btnGUID5.UseVisualStyleBackColor = true;
+ this.btnGUID5.Click += new System.EventHandler(this.btnGUID_Click);
+ //
+ // cmbSecurity5
+ //
+ this.cmbSecurity5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
+ this.cmbSecurity5.FormattingEnabled = true;
+ this.cmbSecurity5.Items.AddRange(new object[] {
+ resources.GetString("cmbSecurity5.Items")});
+ resources.ApplyResources(this.cmbSecurity5, "cmbSecurity5");
+ this.cmbSecurity5.Name = "cmbSecurity5";
+ //
+ // label11
+ //
+ resources.ApplyResources(this.label11, "label11");
+ this.label11.Name = "label11";
+ //
+ // panVmess
+ //
+ this.panVmess.Controls.Add(this.label3);
+ this.panVmess.Controls.Add(this.txtId);
+ this.panVmess.Controls.Add(this.btnGUID);
+ this.panVmess.Controls.Add(this.label4);
+ this.panVmess.Controls.Add(this.label8);
+ this.panVmess.Controls.Add(this.txtAlterId);
+ this.panVmess.Controls.Add(this.cmbSecurity);
+ this.panVmess.Controls.Add(this.label5);
+ resources.ApplyResources(this.panVmess, "panVmess");
+ this.panVmess.Name = "panVmess";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // txtId
+ //
+ resources.ApplyResources(this.txtId, "txtId");
+ this.txtId.Name = "txtId";
+ //
// btnGUID
//
resources.ApplyResources(this.btnGUID, "btnGUID");
@@ -122,258 +289,82 @@
this.btnGUID.UseVisualStyleBackColor = true;
this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
//
- // label13
+ // label4
//
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.label24);
- this.groupBox2.Controls.Add(this.label23);
- this.groupBox2.Controls.Add(this.panTlsMore);
- this.groupBox2.Controls.Add(this.label9);
- this.groupBox2.Controls.Add(this.label20);
- this.groupBox2.Controls.Add(this.txtPath);
- this.groupBox2.Controls.Add(this.cmbNetwork);
- this.groupBox2.Controls.Add(this.label7);
- this.groupBox2.Controls.Add(this.label19);
- this.groupBox2.Controls.Add(this.label18);
- this.groupBox2.Controls.Add(this.label17);
- this.groupBox2.Controls.Add(this.label16);
- this.groupBox2.Controls.Add(this.label14);
- this.groupBox2.Controls.Add(this.label15);
- this.groupBox2.Controls.Add(this.cmbStreamSecurity);
- this.groupBox2.Controls.Add(this.label12);
- this.groupBox2.Controls.Add(this.txtRequestHost);
- this.groupBox2.Controls.Add(this.label11);
- this.groupBox2.Controls.Add(this.label10);
- this.groupBox2.Controls.Add(this.cmbHeaderType);
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // label24
- //
- resources.ApplyResources(this.label24, "label24");
- this.label24.Name = "label24";
- //
- // label23
- //
- resources.ApplyResources(this.label23, "label23");
- this.label23.Name = "label23";
- //
- // panTlsMore
- //
- this.panTlsMore.Controls.Add(this.label21);
- this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
- resources.ApplyResources(this.panTlsMore, "panTlsMore");
- this.panTlsMore.Name = "panTlsMore";
- //
- // label21
- //
- resources.ApplyResources(this.label21, "label21");
- this.label21.Name = "label21";
- //
- // cmbAllowInsecure
- //
- this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbAllowInsecure.FormattingEnabled = true;
- this.cmbAllowInsecure.Items.AddRange(new object[] {
- resources.GetString("cmbAllowInsecure.Items"),
- resources.GetString("cmbAllowInsecure.Items1"),
- resources.GetString("cmbAllowInsecure.Items2")});
- resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
- this.cmbAllowInsecure.Name = "cmbAllowInsecure";
- //
- // label9
- //
- resources.ApplyResources(this.label9, "label9");
- this.label9.Name = "label9";
- //
- // label20
- //
- resources.ApplyResources(this.label20, "label20");
- this.label20.Name = "label20";
- //
- // txtPath
- //
- resources.ApplyResources(this.txtPath, "txtPath");
- this.txtPath.Name = "txtPath";
- //
- // cmbNetwork
- //
- this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbNetwork.FormattingEnabled = true;
- this.cmbNetwork.Items.AddRange(new object[] {
- resources.GetString("cmbNetwork.Items"),
- resources.GetString("cmbNetwork.Items1"),
- resources.GetString("cmbNetwork.Items2"),
- resources.GetString("cmbNetwork.Items3"),
- resources.GetString("cmbNetwork.Items4")});
- resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
- this.cmbNetwork.Name = "cmbNetwork";
- this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
- //
- // label7
- //
- resources.ApplyResources(this.label7, "label7");
- this.label7.Name = "label7";
- //
- // label19
- //
- resources.ApplyResources(this.label19, "label19");
- this.label19.Name = "label19";
- //
- // label18
- //
- resources.ApplyResources(this.label18, "label18");
- this.label18.Name = "label18";
- //
- // label17
- //
- resources.ApplyResources(this.label17, "label17");
- this.label17.Name = "label17";
- //
- // label16
- //
- resources.ApplyResources(this.label16, "label16");
- this.label16.Name = "label16";
- //
- // label14
- //
- resources.ApplyResources(this.label14, "label14");
- this.label14.Name = "label14";
- //
- // label15
- //
- resources.ApplyResources(this.label15, "label15");
- this.label15.Name = "label15";
- //
- // cmbStreamSecurity
- //
- this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbStreamSecurity.FormattingEnabled = true;
- this.cmbStreamSecurity.Items.AddRange(new object[] {
- resources.GetString("cmbStreamSecurity.Items"),
- resources.GetString("cmbStreamSecurity.Items1")});
- resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
- this.cmbStreamSecurity.Name = "cmbStreamSecurity";
- this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
- //
- // label12
- //
- resources.ApplyResources(this.label12, "label12");
- this.label12.Name = "label12";
- //
- // txtRequestHost
- //
- resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
- this.txtRequestHost.Name = "txtRequestHost";
- //
- // label11
- //
- resources.ApplyResources(this.label11, "label11");
- this.label11.Name = "label11";
- //
- // label10
- //
- resources.ApplyResources(this.label10, "label10");
- this.label10.Name = "label10";
- //
- // cmbHeaderType
- //
- this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbHeaderType.FormattingEnabled = true;
- this.cmbHeaderType.Items.AddRange(new object[] {
- resources.GetString("cmbHeaderType.Items"),
- resources.GetString("cmbHeaderType.Items1"),
- resources.GetString("cmbHeaderType.Items2"),
- resources.GetString("cmbHeaderType.Items3"),
- resources.GetString("cmbHeaderType.Items4"),
- resources.GetString("cmbHeaderType.Items5"),
- resources.GetString("cmbHeaderType.Items6")});
- resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
- this.cmbHeaderType.Name = "cmbHeaderType";
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
//
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.Name = "label8";
//
+ // txtAlterId
+ //
+ resources.ApplyResources(this.txtAlterId, "txtAlterId");
+ this.txtAlterId.Name = "txtAlterId";
+ //
// cmbSecurity
//
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbSecurity.FormattingEnabled = true;
- this.cmbSecurity.Items.AddRange(new object[] {
- resources.GetString("cmbSecurity.Items"),
- resources.GetString("cmbSecurity.Items1"),
- resources.GetString("cmbSecurity.Items2"),
- resources.GetString("cmbSecurity.Items3")});
resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
this.cmbSecurity.Name = "cmbSecurity";
//
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
// label5
//
resources.ApplyResources(this.label5, "label5");
this.label5.Name = "label5";
//
- // txtAlterId
+ // panAddr
//
- resources.ApplyResources(this.txtAlterId, "txtAlterId");
- this.txtAlterId.Name = "txtAlterId";
+ this.panAddr.Controls.Add(this.cmbCoreType);
+ this.panAddr.Controls.Add(this.labCoreType);
+ this.panAddr.Controls.Add(this.label6);
+ this.panAddr.Controls.Add(this.label1);
+ this.panAddr.Controls.Add(this.txtAddress);
+ this.panAddr.Controls.Add(this.label2);
+ this.panAddr.Controls.Add(this.txtPort);
+ this.panAddr.Controls.Add(this.txtRemarks);
+ resources.ApplyResources(this.panAddr, "panAddr");
+ this.panAddr.Name = "panAddr";
//
- // label4
+ // label6
//
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // txtId
- //
- resources.ApplyResources(this.txtId, "txtId");
- this.txtId.Name = "txtId";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
//
- // panel2
+ // txtAddress
//
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
+ resources.ApplyResources(this.txtAddress, "txtAddress");
+ this.txtAddress.Name = "txtAddress";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // txtPort
+ //
+ resources.ApplyResources(this.txtPort, "txtPort");
+ this.txtPort.Name = "txtPort";
+ //
+ // txtRemarks
+ //
+ resources.ApplyResources(this.txtRemarks, "txtRemarks");
+ this.txtRemarks.Name = "txtRemarks";
+ //
+ // panBottom
+ //
+ this.panBottom.Controls.Add(this.btnClose);
+ this.panBottom.Controls.Add(this.btnOK);
+ resources.ApplyResources(this.panBottom, "panBottom");
+ this.panBottom.Name = "panBottom";
//
// btnOK
//
@@ -382,50 +373,34 @@
this.btnOK.UseVisualStyleBackColor = true;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
- // panel1
+ // panTop
//
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
+ resources.ApplyResources(this.panTop, "panTop");
+ this.panTop.Name = "panTop";
//
- // menuServer
+ // panTran
//
- this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItem1});
- resources.ApplyResources(this.menuServer, "menuServer");
- this.menuServer.Name = "menuServer";
+ this.panTran.Controls.Add(this.transportControl);
+ resources.ApplyResources(this.panTran, "panTran");
+ this.panTran.Name = "panTran";
//
- // MenuItem1
+ // transportControl
//
- this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItemImportClient,
- this.MenuItemImportServer,
- this.toolStripSeparator1,
- this.MenuItemImportClipboard});
- this.MenuItem1.Name = "MenuItem1";
- resources.ApplyResources(this.MenuItem1, "MenuItem1");
+ this.transportControl.AllowXtls = false;
+ resources.ApplyResources(this.transportControl, "transportControl");
+ this.transportControl.Name = "transportControl";
//
- // MenuItemImportClient
+ // cmbCoreType
//
- this.MenuItemImportClient.Name = "MenuItemImportClient";
- resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
- this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
+ this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbCoreType.FormattingEnabled = true;
+ resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
+ this.cmbCoreType.Name = "cmbCoreType";
//
- // MenuItemImportServer
+ // labCoreType
//
- this.MenuItemImportServer.Name = "MenuItemImportServer";
- resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
- this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
- //
- // toolStripSeparator1
- //
- this.toolStripSeparator1.Name = "toolStripSeparator1";
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
- //
- // MenuItemImportClipboard
- //
- this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
- resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
- this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
+ resources.ApplyResources(this.labCoreType, "labCoreType");
+ this.labCoreType.Name = "labCoreType";
//
// AddServerForm
//
@@ -433,23 +408,28 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnClose;
this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.menuServer);
+ this.Controls.Add(this.panTran);
+ this.Controls.Add(this.panBottom);
+ this.Controls.Add(this.panTop);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Name = "AddServerForm";
this.Load += new System.EventHandler(this.AddServerForm_Load);
this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.panTlsMore.ResumeLayout(false);
- this.panTlsMore.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.menuServer.ResumeLayout(false);
- this.menuServer.PerformLayout();
+ this.panSocks.ResumeLayout(false);
+ this.panSocks.PerformLayout();
+ this.panSs.ResumeLayout(false);
+ this.panSs.PerformLayout();
+ this.panTrojan.ResumeLayout(false);
+ this.panTrojan.PerformLayout();
+ this.panVless.ResumeLayout(false);
+ this.panVless.PerformLayout();
+ this.panVmess.ResumeLayout(false);
+ this.panVmess.PerformLayout();
+ this.panAddr.ResumeLayout(false);
+ this.panAddr.PerformLayout();
+ this.panBottom.ResumeLayout(false);
+ this.panTran.ResumeLayout(false);
this.ResumeLayout(false);
- this.PerformLayout();
}
@@ -470,39 +450,39 @@
private System.Windows.Forms.TextBox txtAddress;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox cmbSecurity;
- private System.Windows.Forms.ComboBox cmbNetwork;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.TextBox txtRequestHost;
- private System.Windows.Forms.Label label10;
- private System.Windows.Forms.Label label11;
- private System.Windows.Forms.ComboBox cmbHeaderType;
- private System.Windows.Forms.Label label12;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.MenuStrip menuServer;
- private System.Windows.Forms.ToolStripMenuItem MenuItem1;
- private System.Windows.Forms.ToolStripMenuItem MenuItemImportClient;
- private System.Windows.Forms.ToolStripMenuItem MenuItemImportServer;
- private System.Windows.Forms.Label label15;
- private System.Windows.Forms.ComboBox cmbStreamSecurity;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
- private System.Windows.Forms.ToolStripMenuItem MenuItemImportClipboard;
+ private System.Windows.Forms.Panel panTop;
+ private System.Windows.Forms.Panel panBottom;
private System.Windows.Forms.Button btnGUID;
- private System.Windows.Forms.Label label16;
+ private System.Windows.Forms.Panel panTran;
+ private ServerTransportControl transportControl;
+ private System.Windows.Forms.Panel panAddr;
+ private System.Windows.Forms.Panel panVmess;
+ private System.Windows.Forms.Panel panVless;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.ComboBox cmbFlow5;
+ private System.Windows.Forms.TextBox txtId5;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Button btnGUID5;
+ private System.Windows.Forms.ComboBox cmbSecurity5;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.Panel panTrojan;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.ComboBox cmbFlow6;
+ private System.Windows.Forms.TextBox txtId6;
private System.Windows.Forms.Label label14;
+ private System.Windows.Forms.Panel panSs;
+ private System.Windows.Forms.TextBox txtId3;
+ private System.Windows.Forms.Label label15;
+ private System.Windows.Forms.ComboBox cmbSecurity3;
+ private System.Windows.Forms.Label label16;
+ private System.Windows.Forms.Panel panSocks;
private System.Windows.Forms.Label label17;
+ private System.Windows.Forms.TextBox txtSecurity4;
private System.Windows.Forms.Label label18;
- private System.Windows.Forms.Label label19;
- private System.Windows.Forms.TextBox txtPath;
- private System.Windows.Forms.Label label20;
- private System.Windows.Forms.Label label21;
- private System.Windows.Forms.ComboBox cmbAllowInsecure;
- private System.Windows.Forms.Panel panTlsMore;
- private System.Windows.Forms.Label label24;
- private System.Windows.Forms.Label label23;
+ private System.Windows.Forms.TextBox txtId4;
+ private System.Windows.Forms.ComboBox cmbCoreType;
+ private System.Windows.Forms.Label labCoreType;
}
}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.cs b/v2rayN/v2rayN/Forms/AddServerForm.cs
index bd80867b..80458e83 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.cs
+++ b/v2rayN/v2rayN/Forms/AddServerForm.cs
@@ -1,13 +1,14 @@
using System;
+using System.Collections.Generic;
using System.Windows.Forms;
using v2rayN.Handler;
using v2rayN.Mode;
+using v2rayN.Resx;
namespace v2rayN.Forms
{
public partial class AddServerForm : BaseServerForm
- {
-
+ {
public AddServerForm()
{
InitializeComponent();
@@ -15,14 +16,59 @@ namespace v2rayN.Forms
private void AddServerForm_Load(object sender, EventArgs e)
{
- if (EditIndex >= 0)
+ Text = (eConfigType).ToString();
+
+ cmbCoreType.Items.AddRange(Global.coreTypes.ToArray());
+ cmbCoreType.Items.Add(string.Empty);
+
+ switch (eConfigType)
+ {
+ case EConfigType.VMess:
+ panVmess.Dock = DockStyle.Fill;
+ panVmess.Visible = true;
+
+ cmbSecurity.Items.AddRange(Global.vmessSecuritys.ToArray());
+ break;
+ case EConfigType.Shadowsocks:
+ panSs.Dock = DockStyle.Fill;
+ panSs.Visible = true;
+ //panTran.Visible = false;
+ //this.Height = this.Height - panTran.Height;
+
+ cmbSecurity3.Items.AddRange(LazyConfig.Instance.GetShadowsocksSecuritys().ToArray());
+ break;
+ case EConfigType.Socks:
+ panSocks.Dock = DockStyle.Fill;
+ panSocks.Visible = true;
+ panTran.Visible = false;
+ Height = Height - panTran.Height;
+ break;
+ case EConfigType.VLESS:
+ panVless.Dock = DockStyle.Fill;
+ panVless.Visible = true;
+ transportControl.AllowXtls = true;
+
+ cmbFlow5.Items.AddRange(Global.xtlsFlows.ToArray());
+ break;
+ case EConfigType.Trojan:
+ panTrojan.Dock = DockStyle.Fill;
+ panTrojan.Visible = true;
+ transportControl.AllowXtls = true;
+
+ cmbFlow6.Items.AddRange(Global.xtlsFlows.ToArray());
+ break;
+ }
+
+ if (vmessItem != null)
{
- vmessItem = config.vmess[EditIndex];
BindingServer();
}
else
{
- vmessItem = new VmessItem();
+ vmessItem = new VmessItem
+ {
+ groupId = groupId
+ };
ClearServer();
}
}
@@ -32,261 +78,208 @@ namespace v2rayN.Forms
///
private void BindingServer()
{
+ txtRemarks.Text = vmessItem.remarks;
txtAddress.Text = vmessItem.address;
txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtAlterId.Text = vmessItem.alterId.ToString();
- cmbSecurity.Text = vmessItem.security;
- cmbNetwork.Text = vmessItem.network;
- txtRemarks.Text = vmessItem.remarks;
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- cmbAllowInsecure.Text = vmessItem.allowInsecure;
+ switch (eConfigType)
+ {
+ case EConfigType.VMess:
+ txtId.Text = vmessItem.id;
+ txtAlterId.Text = vmessItem.alterId.ToString();
+ cmbSecurity.Text = vmessItem.security;
+ break;
+ case EConfigType.Shadowsocks:
+ txtId3.Text = vmessItem.id;
+ cmbSecurity3.Text = vmessItem.security;
+ break;
+ case EConfigType.Socks:
+ txtId4.Text = vmessItem.id;
+ txtSecurity4.Text = vmessItem.security;
+ break;
+ case EConfigType.VLESS:
+ txtId5.Text = vmessItem.id;
+ cmbFlow5.Text = vmessItem.flow;
+ cmbSecurity5.Text = vmessItem.security;
+ break;
+ case EConfigType.Trojan:
+ txtId6.Text = vmessItem.id;
+ cmbFlow6.Text = vmessItem.flow;
+ break;
+ }
+
+ cmbCoreType.Text = vmessItem.coreType == null ? string.Empty : vmessItem.coreType.ToString();
+
+ transportControl.BindingServer(vmessItem);
}
-
///
/// 清除设置
///
private void ClearServer()
{
+ txtRemarks.Text = "";
txtAddress.Text = "";
txtPort.Text = "";
- txtId.Text = "";
- txtAlterId.Text = "0";
- cmbSecurity.Text = Global.DefaultSecurity;
- cmbNetwork.Text = Global.DefaultNetwork;
- txtRemarks.Text = "";
- cmbHeaderType.Text = Global.None;
- txtRequestHost.Text = "";
- cmbStreamSecurity.Text = "";
- cmbAllowInsecure.Text = "";
- txtPath.Text = "";
- }
-
-
- private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
- {
- SetHeaderType();
- }
-
- ///
- /// 设置伪装选项
- ///
- private void SetHeaderType()
- {
- cmbHeaderType.Items.Clear();
-
- string network = cmbNetwork.Text;
- if (Utils.IsNullOrEmpty(network))
+ switch (eConfigType)
{
- cmbHeaderType.Items.Add(Global.None);
- return;
+ case EConfigType.VMess:
+ txtId.Text = "";
+ txtAlterId.Text = "0";
+ cmbSecurity.Text = Global.DefaultSecurity;
+ break;
+ case EConfigType.Shadowsocks:
+ txtId3.Text = "";
+ cmbSecurity3.Text = Global.DefaultSecurity;
+ break;
+ case EConfigType.Socks:
+ txtId4.Text = "";
+ txtSecurity4.Text = "";
+ break;
+ case EConfigType.VLESS:
+ txtId5.Text = "";
+ cmbFlow5.Text = "";
+ cmbSecurity5.Text = Global.None;
+ break;
+ case EConfigType.Trojan:
+ txtId6.Text = "";
+ cmbFlow6.Text = "";
+ break;
}
- cmbHeaderType.Items.Add(Global.None);
- if (network.Equals(Global.DefaultNetwork))
- {
- cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
- }
- else if (network.Equals("kcp") || network.Equals("quic"))
- {
- cmbHeaderType.Items.Add("srtp");
- cmbHeaderType.Items.Add("utp");
- cmbHeaderType.Items.Add("wechat-video");
- cmbHeaderType.Items.Add("dtls");
- cmbHeaderType.Items.Add("wireguard");
- }
- else
- {
- }
- cmbHeaderType.Text = Global.None;
+ transportControl.ClearServer(vmessItem);
}
private void btnOK_Click(object sender, EventArgs e)
{
+ string remarks = txtRemarks.Text;
string address = txtAddress.Text;
string port = txtPort.Text;
- string id = txtId.Text;
- string alterId = txtAlterId.Text;
- string security = cmbSecurity.Text;
- string network = cmbNetwork.Text;
- string remarks = txtRemarks.Text;
- string headerType = cmbHeaderType.Text;
- string requestHost = txtRequestHost.Text;
- string path = txtPath.Text;
- string streamSecurity = cmbStreamSecurity.Text;
- string allowInsecure = cmbAllowInsecure.Text;
+ string id = string.Empty;
+ string alterId = string.Empty;
+ string security = string.Empty;
+ string flow = string.Empty;
+
+ switch (eConfigType)
+ {
+ case EConfigType.VMess:
+ id = txtId.Text;
+ alterId = txtAlterId.Text;
+ security = cmbSecurity.Text;
+ break;
+ case EConfigType.Shadowsocks:
+ id = txtId3.Text;
+ security = cmbSecurity3.Text;
+ break;
+ case EConfigType.Socks:
+ id = txtId4.Text;
+ security = txtSecurity4.Text;
+ break;
+ case EConfigType.VLESS:
+ id = txtId5.Text;
+ flow = cmbFlow5.Text;
+ security = cmbSecurity5.Text;
+ break;
+ case EConfigType.Trojan:
+ id = txtId6.Text;
+ flow = cmbFlow6.Text;
+ break;
+ }
if (Utils.IsNullOrEmpty(address))
{
- UI.Show(UIRes.I18N("FillServerAddress"));
+ UI.Show(ResUI.FillServerAddress);
return;
}
if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
{
- UI.Show(UIRes.I18N("FillCorrectServerPort"));
+ UI.Show(ResUI.FillCorrectServerPort);
return;
}
- if (Utils.IsNullOrEmpty(id))
+ if (eConfigType == EConfigType.Shadowsocks)
{
- UI.Show(UIRes.I18N("FillUUID"));
- return;
+ if (Utils.IsNullOrEmpty(id))
+ {
+ UI.Show(ResUI.FillPassword);
+ return;
+ }
+ if (Utils.IsNullOrEmpty(security))
+ {
+ UI.Show(ResUI.PleaseSelectEncryption);
+ return;
+ }
}
- if (Utils.IsNullOrEmpty(alterId) || !Utils.IsNumberic(alterId))
+ if (eConfigType != EConfigType.Socks)
{
- UI.Show(UIRes.I18N("FillCorrectAlterId"));
- return;
+ if (Utils.IsNullOrEmpty(id))
+ {
+ UI.Show(ResUI.FillUUID);
+ return;
+ }
}
+ transportControl.EndBindingServer();
+
+ vmessItem.remarks = remarks;
vmessItem.address = address;
vmessItem.port = Utils.ToInt(port);
vmessItem.id = id;
vmessItem.alterId = Utils.ToInt(alterId);
vmessItem.security = security;
- vmessItem.network = network;
- vmessItem.remarks = remarks;
- vmessItem.headerType = headerType;
- vmessItem.requestHost = requestHost.Replace(" ", "");
- vmessItem.path = path.Replace(" ", "");
- vmessItem.streamSecurity = streamSecurity;
- vmessItem.allowInsecure = allowInsecure;
-
- if (ConfigHandler.AddServer(ref config, vmessItem, EditIndex) == 0)
+ if (Utils.IsNullOrEmpty(cmbCoreType.Text))
{
- this.DialogResult = DialogResult.OK;
+ vmessItem.coreType = null;
}
else
{
- UI.ShowWarning(UIRes.I18N("OperationFailed"));
+ vmessItem.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), cmbCoreType.Text);
}
+
+ int ret = -1;
+ switch (eConfigType)
+ {
+ case EConfigType.VMess:
+ ret = ConfigHandler.AddServer(ref config, vmessItem);
+ break;
+ case EConfigType.Shadowsocks:
+ ret = ConfigHandler.AddShadowsocksServer(ref config, vmessItem);
+ break;
+ case EConfigType.Socks:
+ ret = ConfigHandler.AddSocksServer(ref config, vmessItem);
+ break;
+ case EConfigType.VLESS:
+ vmessItem.flow = flow;
+ ret = ConfigHandler.AddVlessServer(ref config, vmessItem);
+ break;
+ case EConfigType.Trojan:
+ vmessItem.flow = flow;
+ ret = ConfigHandler.AddTrojanServer(ref config, vmessItem);
+ break;
+ }
+
+ if (ret == 0)
+ {
+ DialogResult = DialogResult.OK;
+ }
+ else
+ {
+ UI.ShowWarning(ResUI.OperationFailed);
+ }
+
}
private void btnGUID_Click(object sender, EventArgs e)
{
- txtId.Text = Utils.GetGUID();
+ txtId.Text =
+ txtId5.Text = Utils.GetGUID();
}
private void btnClose_Click(object sender, EventArgs e)
{
- this.DialogResult = DialogResult.Cancel;
+ DialogResult = DialogResult.Cancel;
}
-
- private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
- {
- string security = cmbStreamSecurity.Text;
- if (Utils.IsNullOrEmpty(security))
- {
- panTlsMore.Hide();
- }
- else
- {
- panTlsMore.Show();
- }
- }
-
- #region 导入客户端/服务端配置
-
- ///
- /// 导入客户端
- ///
- ///
- ///
- private void MenuItemImportClient_Click(object sender, EventArgs e)
- {
- MenuItemImport(1);
- }
-
- ///
- /// 导入服务端
- ///
- ///
- ///
- private void MenuItemImportServer_Click(object sender, EventArgs e)
- {
- MenuItemImport(2);
- }
-
- private void MenuItemImport(int type)
- {
- ClearServer();
-
- OpenFileDialog fileDialog = new OpenFileDialog
- {
- Multiselect = false,
- Filter = "Config|*.json|All|*.*"
- };
- if (fileDialog.ShowDialog() != DialogResult.OK)
- {
- return;
- }
- string fileName = fileDialog.FileName;
- if (Utils.IsNullOrEmpty(fileName))
- {
- return;
- }
- string msg;
- VmessItem vmessItem;
- if (type.Equals(1))
- {
- vmessItem = V2rayConfigHandler.ImportFromClientConfig(fileName, out msg);
- }
- else
- {
- vmessItem = V2rayConfigHandler.ImportFromServerConfig(fileName, out msg);
- }
- if (vmessItem == null)
- {
- UI.ShowWarning(msg);
- return;
- }
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtAlterId.Text = vmessItem.alterId.ToString();
- txtRemarks.Text = vmessItem.remarks;
- cmbNetwork.Text = vmessItem.network;
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- }
-
- ///
- /// 从剪贴板导入URL
- ///
- ///
- ///
- private void MenuItemImportClipboard_Click(object sender, EventArgs e)
- {
- ClearServer();
-
- VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg);
- if (vmessItem == null)
- {
- UI.ShowWarning(msg);
- return;
- }
-
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
- txtId.Text = vmessItem.id;
- txtAlterId.Text = vmessItem.alterId.ToString();
- txtRemarks.Text = vmessItem.remarks;
- cmbNetwork.Text = vmessItem.network;
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- }
- #endregion
-
}
}
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.resx b/v2rayN/v2rayN/Forms/AddServerForm.resx
index 6d3eec6c..31a88ee9 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.resx
@@ -138,410 +138,29 @@
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- panel2
+ panBottom
0
-
- 411, 83
-
-
- 75, 23
-
-
- 23
-
-
- &Generate
-
-
- btnGUID
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- True
-
-
- 285, 175
-
-
- 113, 12
-
-
- 22
-
-
- * Fill in manually
-
-
- label13
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- True
-
-
-
- NoControl
-
-
- 529, 207
-
-
- 119, 12
-
-
- 35
-
-
- 3)QUIC key/Kcp seed
-
-
- label24
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 465, 146
-
-
- 89, 12
-
-
- 34
-
-
- 4)QUIC securty
-
-
- label23
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- True
-
-
- 12, 11
-
-
- 83, 12
-
-
- 31
-
-
- allowInsecure
-
-
- label21
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTlsMore
-
-
- 0
-
-
-
-
-
- true
-
-
- false
-
-
- 107, 7
-
-
- 91, 20
-
-
- 30
-
-
- cmbAllowInsecure
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTlsMore
-
-
- 1
-
-
- 284, 234
-
-
- 338, 35
-
-
- 33
-
-
- panTlsMore
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 2
-
-
- True
-
-
- 350, 32
-
-
- 113, 12
-
-
- 15
-
-
- *Default value tcp
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 3
-
-
- True
-
-
- 464, 130
-
-
- 203, 12
-
-
- 29
-
-
- 3)h2 host Separated by commas (,)
-
-
- label20
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 4
-
-
- 127, 169
-
-
- True
-
-
- 396, 54
-
-
- 28
-
-
- txtPath
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 5
-
-
- tcp
-
-
- kcp
-
-
- ws
-
-
- h2
-
-
- quic
-
-
- 192, 28
-
-
- 143, 20
-
-
- 12
-
-
- cmbNetwork
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 6
-
-
- True
-
-
- 9, 32
-
-
- 167, 12
-
-
- 13
-
-
- Transport protocol(network)
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 7
-
-
- True
-
-
- 9, 169
-
-
- 29, 12
-
-
- 27
-
-
- Path
-
-
- label19
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 8
-
-
- True
-
-
- 529, 189
-
-
- 59, 12
-
-
- 26
-
-
- 2)h2 path
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 9
-
True
+
+
+ NoControl
+
- 464, 115
+ 11, 11
- 59, 12
+ 89, 12
25
- 2)ws host
+ User(Optional)
label17
@@ -550,79 +169,145 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox2
+ panSocks
- 10
+ 0
-
+
+ 126, 7
+
+
+ 278, 21
+
+
+ 2
+
+
+ txtSecurity4
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panSocks
+
+
+ 1
+
+
True
-
- 529, 172
+
+ NoControl
-
- 59, 12
+
+ 11, 42
-
- 24
+
+ 113, 12
-
- 1)ws path
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 11
-
-
- True
-
-
- 464, 100
-
-
- 215, 12
-
-
+
23
-
- 1)http host Separated by commas (,)
+
+ Password(Optional)
-
- label14
+
+ label18
-
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox2
+
+ panSocks
-
- 12
+
+ 2
+
+
+ 126, 38
+
+
+ 278, 21
+
+
+ 3
+
+
+ txtId4
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panSocks
+
+
+ 3
+
+
+ 303, 163
+
+
+ 82, 39
+
+
+ 31
+
+
+ False
+
+
+ panSocks
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 0
+
+
+ 126, 7
+
+
+ 278, 21
+
+
+ 2
+
+
+ txtId3
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panSs
+
+
+ 0
True
+
+ NoControl
+
- 9, 243
+ 11, 9
- 23, 12
+ 53, 12
- 22
+ 4
- TLS
+ Password
label15
@@ -631,52 +316,103 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox2
+ panSs
- 13
+ 1
-
-
+
+ 126, 39
-
- tls
+
+ 278, 20
-
- 127, 239
+
+ 3
-
- 143, 20
+
+ cmbSecurity3
-
- 21
-
-
- cmbStreamSecurity
-
-
+
System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox2
+
+ panSs
-
- 14
+
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 11, 40
+
+
+ 65, 12
+
+
+ 8
+
+
+ Encryption
+
+
+ label16
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panSs
+
+
+ 3
+
+
+ 142, 163
+
+
+ 82, 39
+
+
+ 30
+
+
+ False
+
+
+ panSs
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 1
True
+
+ NoControl
+
- 282, 66
+ 12, 9
- 299, 12
+ 53, 12
- 20
+ 4
- *tcp or kcp or QUIC camouflage type, default none
+ Password
label12
@@ -685,76 +421,226 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox2
+ panTrojan
- 15
+ 0
-
- 158, 100
+
+ 127, 39
-
- True
+
+ 211, 20
-
- 300, 53
+
+ 3
-
- 16
+
+ cmbFlow6
-
- txtRequestHost
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+ panTrojan
+
+
+ 1
+
+
+ 127, 7
+
+
+ 265, 21
+
+
+ 2
+
+
+ txtId6
+
+
System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox2
+
+ panTrojan
-
- 16
+
+ 2
-
+
True
-
- 9, 66
+
+ NoControl
-
- 95, 12
+
+ 12, 43
-
- 19
+
+ 29, 12
-
- Camouflage type
+
+ 27
-
- label11
+
+ Flow
-
+
+ label14
+
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox2
+
+ panTrojan
-
- 17
+
+ 3
+
+
+ 534, 163
+
+
+ 82, 39
+
+
+ 29
+
+
+ False
+
+
+ panTrojan
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 11, 11
+
+
+ 53, 12
+
+
+ 4
+
+
+ UUID(id)
+
+
+ label7
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVless
+
+
+ 0
+
+
+ 126, 39
+
+
+ 211, 20
+
+
+ 3
+
+
+ cmbFlow5
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVless
+
+
+ 1
+
+
+ 126, 7
+
+
+ 278, 21
+
+
+ 2
+
+
+ txtId5
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVless
+
+
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 11, 43
+
+
+ 29, 12
+
+
+ 25
+
+
+ Flow
+
+
+ label9
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVless
+
+
+ 3
True
+
+ NoControl
+
- 9, 100
+ 11, 74
- 143, 12
+ 65, 12
- 17
+ 8
- Camouflage domain(host)
+ Encryption
label10
@@ -763,289 +649,121 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox2
+ panVless
- 18
-
-
- none
-
-
- http
-
-
- srtp
-
-
- utp
-
-
- wechat-video
-
-
- dtls
-
-
- wireguard
-
-
- 127, 64
-
-
- 143, 20
-
-
- 18
-
-
- cmbHeaderType
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 19
-
-
- Bottom
-
-
- 3, 215
-
-
- 723, 281
-
-
- 21
-
-
- Transport
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- True
-
-
- 353, 147
-
-
- 119, 12
-
-
- 14
-
-
- *Recommended (auto)
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- aes-128-gcm
-
-
- chacha20-poly1305
-
-
- auto
-
-
- none
-
-
- 195, 143
-
-
- 143, 20
-
-
- 6
-
-
- cmbSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
4
-
- 127, 171
+
+ NoControl
-
- 143, 21
+
+ 410, 7
-
- 11
+
+ 75, 23
-
- txtRemarks
+
+ 23
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Generate
-
- groupBox1
+
+ btnGUID5
-
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVless
+
+
5
-
- True
+
+ none
-
- 12, 175
+
+ 126, 70
-
- 95, 12
+
+ 211, 20
-
- 10
+
+ 4
-
- Alias (remarks)
+
+ cmbSecurity5
-
- label6
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ panVless
-
- groupBox1
-
-
+
6
-
+
True
-
- 12, 147
+
+ NoControl
-
- 173, 12
+
+ 352, 73
-
- 8
+
+ 119, 12
-
- Encryption method (security)
+
+ 14
-
- label5
+
+ *Recommended (none)
-
+
+ label11
+
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox1
+
+ panVless
-
+
7
-
- 127, 114
+
+ 396, 166
-
- 143, 21
+
+ 92, 36
-
- 7
+
+ 27
-
- txtAlterId
+
+ False
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ panVless
-
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
groupBox1
-
- 8
-
-
- True
-
-
- 12, 118
-
-
- 47, 12
-
-
- 6
-
-
- AlterId
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 9
-
-
- 127, 85
-
-
- 278, 21
-
-
- 5
-
-
- txtId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 10
+
+ 3
True
- 12, 89
+ 11, 11
53, 12
@@ -1063,85 +781,286 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox1
+ panVmess
- 11
+ 0
-
- 127, 56
+
+ 126, 7
-
- 143, 21
+
+ 278, 21
-
- 3
-
-
- txtPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 12
-
-
- True
-
-
- 12, 60
-
-
- 29, 12
-
-
+
2
-
- Port
+
+ txtId
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 13
-
-
- 127, 27
-
-
- 359, 21
-
-
- 1
-
-
- txtAddress
-
-
+
System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+ panVmess
+
+
+ 1
+
+
+ 410, 5
+
+
+ 75, 23
+
+
+ 23
+
+
+ &Generate
+
+
+ btnGUID
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVmess
+
+
+ 2
+
+
+ True
+
+
+ 11, 40
+
+
+ 47, 12
+
+
+ 6
+
+
+ AlterId
+
+
+ label4
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVmess
+
+
+ 3
+
+
+ True
+
+
+ 410, 69
+
+
+ 119, 12
+
+
+ 14
+
+
+ *Recommended (auto)
+
+
+ label8
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVmess
+
+
+ 4
+
+
+ 126, 36
+
+
+ 143, 21
+
+
+ 3
+
+
+ txtAlterId
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVmess
+
+
+ 5
+
+
+ 194, 65
+
+
+ 210, 20
+
+
+ 4
+
+
+ cmbSecurity
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVmess
+
+
+ 6
+
+
+ True
+
+
+ 11, 69
+
+
+ 173, 12
+
+
+ 8
+
+
+ Encryption method (security)
+
+
+ label5
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panVmess
+
+
+ 7
+
+
+ 16, 163
+
+
+ 82, 39
+
+
+ 25
+
+
+ False
+
+
+ panVmess
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
groupBox1
-
- 14
+
+ 4
+
+
+ 625, 8
+
+
+ 89, 20
+
+
+ 38
+
+
+ cmbCoreType
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 553, 12
+
+
+ 59, 12
+
+
+ 39
+
+
+ Core Type
+
+
+ labCoreType
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 1
+
+
+ True
+
+
+ 11, 12
+
+
+ 95, 12
+
+
+ 10
+
+
+ Alias (remarks)
+
+
+ label6
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 2
True
- 12, 31
+ 11, 43
47, 12
@@ -1159,19 +1078,133 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox1
+ panAddr
- 15
+ 3
+
+
+ 126, 39
+
+
+ 359, 21
+
+
+ 1
+
+
+ txtAddress
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 4
+
+
+ True
+
+
+ 11, 72
+
+
+ 29, 12
+
+
+ 2
+
+
+ Port
+
+
+ label2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 5
+
+
+ 126, 68
+
+
+ 143, 21
+
+
+ 2
+
+
+ txtPort
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 6
+
+
+ 126, 8
+
+
+ 278, 21
+
+
+ 0
+
+
+ txtRemarks
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panAddr
+
+
+ 7
+
+
+ Top
+
+
+ 3, 17
+
+
+ 723, 100
+
+
+ 24
+
+
+ panAddr
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 5
Fill
- 0, 35
+ 0, 10
- 729, 499
+ 729, 221
3
@@ -1210,110 +1243,107 @@
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- panel2
+ panBottom
1
-
+
Bottom
-
- 0, 534
+
+ 0, 461
-
+
729, 60
-
+
7
-
- panel2
+
+ panBottom
-
+
System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
$this
-
- 1
-
-
- Top
-
-
- 0, 25
-
-
- 729, 10
-
-
- 6
-
-
- panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
+
2
-
- 17, 17
-
-
- 237, 22
+
+ Top
-
- Import client configuration
-
-
- 237, 22
-
-
- Import server configuration
-
-
- 234, 6
-
-
- 237, 22
-
-
- Import URL from clipboard
-
-
- 162, 21
-
-
- Import configuration file
-
-
+
0, 0
-
- 729, 25
+
+ 729, 10
-
- 8
+
+ 6
-
- menuServer
+
+ panTop
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
$this
-
+
3
+
+ Fill
+
+
+ 0, 0
+
+
+ 729, 230
+
+
+ 0
+
+
+ transportControl
+
+
+ v2rayN.Forms.ServerTransportControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ panTran
+
+
+ 0
+
+
+ Bottom
+
+
+ 0, 231
+
+
+ 729, 230
+
+
+ 9
+
+
+ panTran
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
True
@@ -1324,41 +1354,11 @@
6, 12
- 729, 594
+ 729, 521
Edit or add a [VMess] server
-
- MenuItem1
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemImportClient
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemImportServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator1
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemImportClipboard
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
AddServerForm
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
index 489f5fd2..b9c81218 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
@@ -123,132 +123,106 @@
服务器
+
+
+ None
+
+
+
+ 270, 156
+
+
+ 115, 61
+
+
+ 77, 12
+
+
+ 用户名(可选)
+
+
+ 65, 12
+
+
+ 密码(可选)
+
+
+ None
+
+
+ 142, 147
+
+
+ 137, 78
+
+
+ 89, 12
+
+
+ 密码(password)
+
+
+ 125, 12
+
+
+ 加密方式(encryption)
+
+
+ 89, 12
+
+
+ 密码(password)
+
+
+ 65, 12
+
+
+ 流控(flow)
+
+
+ 110, 52
+
+
+ 65, 12
+
+
+ 用户ID(id)
+
+
+ 65, 12
+
+
+ 流控(flow)
+
+
+ 101, 12
+
+
+ 加密(encryption)
+
+
+ 生成
+
+
+ 71, 12
+
+
+ *非空(none)
+
+
+ 65, 12
+
+
+ 用户ID(id)
+
生成(&G)
-
- *手填,方便识别管理
-
-
- 底层传输方式(transport)
-
-
-
- 149, 12
-
-
- 3)QUIC 加密密钥/Kcp seed
-
-
+
95, 12
-
- 4)QUIC 加密方式
-
-
- 167, 12
-
-
- 跳过证书验证(allowInsecure)
-
-
- 223, 7
-
-
- 350, 36
-
-
- 143, 12
-
-
- *默认tcp,选错会无法连接
-
-
- 149, 12
-
-
- 3)h2 host中间逗号(,)隔开
-
-
- 127, 168
-
-
- 127, 32
-
-
- 211, 20
-
-
- 9, 36
-
-
- 107, 12
-
-
- 传输协议(network)
-
-
- 9, 168
-
-
- 65, 12
-
-
- 路径(path)
-
-
- 161, 12
-
-
- 1)http host中间逗号(,)隔开
-
-
- 9, 237
-
-
- 107, 12
-
-
- 底层传输安全(tls)
-
-
- 127, 237
-
-
- 282, 71
-
-
- 197, 12
-
-
- *tcp或kcp或QUIC伪装类型,默认none
-
-
- 127, 102
-
-
- 334, 51
-
-
- 9, 71
-
-
- 89, 12
-
-
- 伪装类型(type)
-
-
- 9, 102
-
-
- 89, 12
-
-
- 伪装域名(host)
-
-
- 127, 67
+
+ 额外ID(alterId)
113, 12
@@ -257,40 +231,22 @@
*随便选,建议(auto)
- 127, 143
+ 126, 65
211, 20
-
- 83, 12
-
-
- 别名(remarks)
-
113, 12
加密方式(security)
-
- 95, 12
+
+ 83, 12
-
- 额外ID(alterId)
-
-
- 65, 12
-
-
- 用户ID(id)
-
-
- 65, 12
-
-
- 端口(port)
+
+ 别名(remarks)
83, 12
@@ -298,37 +254,22 @@
地址(address)
+
+ 65, 12
+
+
+ 端口(port)
+
确定(&O)
-
- 92, 21
-
-
- 导入配置文件
-
-
- 171, 22
-
-
- 导入客户端配置
-
-
- 171, 22
-
-
- 导入服务端配置
-
-
- 168, 6
-
-
- 171, 22
-
-
- 从剪贴板导入URL
-
编辑或添加[VMess]服务器
+
+ 生成
+
+
+ Core类型
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/BaseForm.cs b/v2rayN/v2rayN/Forms/BaseForm.cs
index 4ea789b1..a307c13a 100644
--- a/v2rayN/v2rayN/Forms/BaseForm.cs
+++ b/v2rayN/v2rayN/Forms/BaseForm.cs
@@ -7,7 +7,6 @@ namespace v2rayN.Forms
public partial class BaseForm : Form
{
protected static Config config;
- protected static System.Drawing.Icon icon;
public BaseForm()
{
@@ -19,16 +18,14 @@ namespace v2rayN.Forms
{
try
{
- if (icon == null)
+ string file = Utils.GetPath(Global.CustomIconName);
+ if (System.IO.File.Exists(file))
{
- string file = Utils.GetPath(Global.CustomIconName);
- if (!System.IO.File.Exists(file))
- {
- return;
- }
- icon = new System.Drawing.Icon(file);
+ Icon = new System.Drawing.Icon(file);
+ return;
}
- this.Icon = icon;
+
+ Icon = Properties.Resources.NotifyIcon1;
}
catch (Exception e)
{
diff --git a/v2rayN/v2rayN/Forms/BaseForm.resx b/v2rayN/v2rayN/Forms/BaseForm.resx
index 61360d3d..1af7de15 100644
--- a/v2rayN/v2rayN/Forms/BaseForm.resx
+++ b/v2rayN/v2rayN/Forms/BaseForm.resx
@@ -117,1137 +117,4 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAA
- AAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAADAAAAAwAAAAMAAAADAAAAAgAAAAIAAAACAAAAAQAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAA
- AAIAAAADAAAABAAAAAUAAAAGAAAACAAAAAgAAAAKAAAACgAAAAsAAAAMAAAADQAAAA0AAAANAAAADQAA
- AAwAAAALAAAACgAAAAoAAAAIAAAACAAAAAYAAAAFAAAABAAAAAMAAAACAAAAAQAAAAEAAAABAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAQAAAAIAAAACAAAABAAAAAUAAAAHAAAACQAAAAwAAAAOAAAAEQAAABMAAAAVAAAAFwAA
- ABgAAAAaAAAAGwAAABwAAAAcAAAAHQAAAB0AAAAcAAAAHAAAABsAAAAaAAAAGAAAABcAAAAVAAAAEwAA
- ABEAAAAOAAAADAAAAAkAAAAHAAAABQAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABwAAAAkAAAAMAAAAEAAA
- ABMAAAAXAAAAGgAAAB4BAQAgAgEBIwMDASUDAgEmAwMBKAUEASkGAwMrCAUDKwgFAysIBQMsCAUDLAgF
- AysIBQMrBgMDKwUEASkDAwEoAwIBJgMDASUCAQEjAQEAIAAAAB4AAAAaAAAAFwAAABMAAAAQAAAADAAA
- AAkAAAAHAAAABAAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
- AAQAAAAHAAAACgAAAA4AAAASAAAAFwAAABwAAAAgAwIBJAUDAicGBAIqBQUCKwICAi0FAwMvCQcEMQgH
- BjACAwQwAAECMQYFBTURDgg5GRMJPBwWCz0cFgs9GRMJPBEOCDkGBQU1AAECMQICBDAIBwYwCQcEMQUD
- Ay8CAgItBQUCKwYEAioFAwInAwIBJAAAACAAAAAcAAAAFwAAABIAAAAOAAAACgAAAAcAAAAEAAAAAgAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADQAAABIAAAAXAQAAHQIBASIDAgEmBgMDKgQD
- AywAAAEtBQQEMRYRCTckHA0+OCoTSlU/G19sUCF1elomhoZjKZWOaCufkmstqphwL7Kccy+3nnQwup51
- MLqccy+3mXEvspNsLaqOaSufh2QqlHtbJ4ZtTyJ1Vj8cXzgpE0okHA0+FhEJNwUEBDEAAAEtBAMDLAYD
- AyoDAgEmAgEBIgAAAB0AAAAXAAAAEgAAAA0AAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADwAA
- ABUAAAAcAgIAIgQCAicFBAErBAMDLgUEBDAWEQo5QjEWT2BHH2d6WiaHkGssq6B2MMWtfzTbt4Y367+M
- OfXEjzv5yZM8/M2WPv7PmD7/0Zk//9KaP//Tmz//05s//9OaP//Smj//0Jg+/82WPv3KlD37xZA7+cCM
- OvW4iDjrroA126F2McWRbCyre1smh2FHH2dCMRZPFhEKOQUEBDAEAwMuBQQBKwQCAicCAgAiAAAAHAAA
- ABUAAAAPAAAACgAAAAYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAABAAAAAwAAAAYAAAAKAAAAEAAAABcBAQAeAwIBJAYDAyoBAAEsBwUEMSIaDDxSPBtaelomhpRt
- LbGoezPVt4Y37MSQO/nMlj3/0Zk//9WcQP/YnkH/2J5B/9ieQP/XnkD/155A/9eeQP7XnkD+155A/tee
- QP7XnkD+155A/teeQP7XnkD+155A/9eeQP/YnkD/2J5B/9ieQf/WnED/0po//82WPf/FkTv5uog47Kp8
- M9WVbi6xelomh1E8GlshGQw8BwUFMgEAASwGAwMqAwIBJAEBAB4AAAAXAAAAEAAAAAoAAAAGAAAAAwAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAAEQAAABgBAQAgBAMBJgUD
- AysDAgMvGRIKOVQ+G1p+XSiKm3MvvrKDNubCjjr5zZY+/tWcQP/XnUD/2J9B/tieQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2J5A/9ifQf7XnUD/1ZxA/8+YPv7Djzv5s4M25pxyL799XCeLUj0bWhkT
- CzkDAgMvBQMDKwQDASYBAQAfAAAAGAAAABEAAAAKAAAABgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
- AAQAAAAJAAAADwAAABcBAQAfBAMBJgMCASsIBgQwMSQRQ2xQIXOUbS2xr4A14cOOO/nPmD7/1p1A/9ie
- QP/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/tieQP/WnUD/0Jg+/8SPO/mvgTXhlG0usWtOInQwIxJDCAYEMAMCASsEAwEnAQEAHwAA
- ABcAAAAPAAAACQAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADQAAABQBAQAdBQQBJQUFAiwGBQQwRDMXTXxc
- J4ahdjHKuog48syVPf7VnED/155B/9ieQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/9Wc
- QP/Nlj3+uok486B2Mcp6WiaGQjIWTgYFBDAEAwIsBAMBJQEBAB0AAAAUAAAADQAAAAcAAAADAAAAAQAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAEAAAACgAA
- ABEAAAAaAwIBIwUDAioHBgQvQDAVSoFeKIynejLTv4w6+NCYPv/XnkD/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7XnkD/0Jk+/8CNOvimejLTfl0njT0u
- FEoGBQQvBQMCKgMCASMAAAAaAAAAEQAAAAoAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAEAAAADAAAABwAAAA0AAAAWAQAAHwQDASgDAgIuNScSRHxbJoOnejPSwY06+dKa
- P//YnkD+2J5A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2J5B/tObP//Bjjr5pXky03hZJoQzJhJEAwMCLgQDASgBAAAfAAAAFgAA
- AA0AAAAHAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAgAAAAQAAAAGQQC
- AiQDAQIqFBAINWlOIWuedDDBvos59dGZP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- Qf/Smj//vYs59ZtyL8JlSh9sEw8INQMBAioEAgIkAAAAGQAAABAAAAAIAAAAAwAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAgAAAAQAAAAKAAAAEwIBAR0FAwInAQECLUg1GE2QaiyjtoU3686WPf/XnUD/2J5A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/zpc+/7SEN+yLZiqlRTMXTwEB
- Ai4FAwInAgEBHQAAABMAAAAKAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAADAAAABUDAgEgBAIBKBoU
- CTVxUyNxpnkyzcWQO/zVnED/2J5A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/1ZxA/8WQO/yidzHPak8hcxkTCTUEAgEoAwIBIAAAABUAAAAMAAAABQAA
- AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAACAAAABgAAAA0AAAAXAwMBIgIBAis4KhNDj2ksm7iHN+7QmD7/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/tCZ
- Pv+2hTfviGQqnTUnEkUDAgIrAwMBIwAAABcAAAANAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAQEAGQQCAiQIBgMsXEQdWaB2
- Mb3Djzr51ZxA/9ieQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tacQP/Cjjr5mnAvv1U/G1sIBgMtBAICJAEB
- ABkAAAAOAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAIAAAAHAAAADwEBABkFAwIlCQcDLnVWJHCvgDXZzJY9/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/LlT3/qHwz2m1QInIJBwMvBQMCJgEBABkAAAAPAAAABwAAAAIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA8CAQAaAwIBJhIOBjJ/Xid+toY35tGZ
- P//YnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ieQP7RmT7/sYI26HZX
- JYARDQYzBAIBJgIBABoAAAAPAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
- AAYAAAAOAQEAGgYFASYjGgw4jGcrkLuJOO7Tmz//2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7UnD//toY374FeKJIgGAs5BgUBJwEBABoAAAAOAAAABgAA
- AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAADQIBABkBAQEkLCENOpJrLZnAjTrz1Js//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/VnED/u4k49IdjKZwpHw07AgEBJAIBABkAAAANAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAA
- AAwBAQAXBgQBJSwiDjmXby2fw4469tadQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnUD/vYs594tmKqEqHg07BwUBJQEB
- ABcAAAAMAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAKAQEAFgMCASImHAw2lm4umMSPO/bVnED+155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/VnED+vos59ohkKZsiGgw4AwIBIgEBABYAAAAKAAAABAAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAACQEB
- ABMGBAIhFQ8IMJJrLY/Djzrz1p1A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnUD/vIo59INh
- KZMUDggxBgQCIQEBABMAAAAJAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAQBQICHQgGAyqHYyl8wI067tWcQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/VnED/uIc38HhYJYAIBgMrBQICHQAAABAAAAAGAAAAAgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADQQD
- ARoEAwEnf10mbr2LOebVnED/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/UnD//s4M26HBSInEFAwEnBAQBGgAAAA0AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAoFAwIWAQABI2hNIFW5hzjY05o//9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/RmT//qn0021tCHFoDAQEjBAMCFgAA
- AAoAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAwICEgAA
- AB9GNBU/roA0vdCZPv7XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP7Mlj3/nXIwwTwsEkEAAAEfAwICEgAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAA0GBAMbHRUJLaF2MJnMlT35155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Djzv6jGcrnhoT
- CC8HBAMbAAAADQAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAJBgQDFgAA
- ACOGYiluxpE779adQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ifQ//cq1n/2qVN/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9adQP+5hzfwc1QjcwAAACQGAwMWAAAACQAAAAMAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABgIBARAAAAEdW0MbR7mIN83Um0D/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2KFH/+XCiP/pypf/26dS/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tGZ
- P/+nejPRTjkYSgAAAR0CAQEQAAAABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMBAAEKBgMDGBwU
- CSypfDOh0Jg+/deeQf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Zokf/6cqX//jw5P/qzZ7/2aNL/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155B/seSPP2SayynGBEILQcDAxgBAAELAAAAAwAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAACAAAABwcEAxECAAIghWEoZciSPOvXnUD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr3//n06//mw4v/2aRM/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/1p1A/reHN+1uUSFqBAICIAcEAhEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCAwALAAAAGE05
- Fzm6iDe/1ZtA/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f7+//jv
- 4//nxY7/2aJJ/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/0Jg+/6F3McVBMBQ9AgIAGAID
- AAsAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABggGAhIHBQMgnHMvf8+YPvbXnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z69//9/f7//f39//jw4v/kvX//2aJI/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/YnkH/wY4694JhKIQIBgMhCAYCEgAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMEBAELAQEAGFxC
- G0DCjjrR151A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//bs3P/kv4L/2KFG/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Tmz//q3401Us3
- F0MCAgAYBQMBCwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABQkHARACAgEgpXgxh9KaP/rYnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//fz8//br2f/huHX/2KFF/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/FkDv7iWQpjQQCASEJBwERAAAABQAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAwAJAAAAFWhL
- H0HGkTzS2J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6
- +P/9/f3//f39//39/f/9/f3//f39//Xo1P/iuXf/2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tSb
- QP+tfzTWVD0ZRQAAABUDAwAJAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABAsIAw4HBQIdpnkygNObP/nYnkH+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//fz6//Tl
- zv/fs2v/159C/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/sSQO/qJZCmHCQYCHgsIAw4AAAAEAAAAAQAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGBQEHBgYAE1Q+
- GTTFkTvI155B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ
- l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//fz7//Pky//gtW3/159C/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/0po//6p8M85FMRQ4BwcBEwYFAQcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkGBAsCAAEZnHMvatObP/LYnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//Pv4//Hfwf/er2H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/wI069H5cJnIDAgIZCQYECwAA
- AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFCgQFDzUn
- ESfAjTqt155B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii
- R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pv5//Hfwv/esWb/155B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP7QmD7/n3YwtCwhDioLBQYQAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQoJAQgAAAAShmIoTM+YPt/YnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//Pn1/+/Ztv/drFz/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9adQP+2hjfkaE0gUgAA
- ABIJCQEIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEw0GCw4K
- BRmygjWC1p1A+teeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7//Pn2/+/Y
- tf/drV3/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2J5B/siTPPuOaSuKDwsFGxMNBgsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUEAAQEBAANRjQVKMiSPLrYnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7/+/fx/+3Uq//bqVX/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/0po//6h7
- M8I2JxErBgUADQUEAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDgoFBgYE
- AhGOaCpK05s/5tieQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f7/+/fy/+zSqP/bqVX/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnUD/vIk56m1PIVMJBQMSDgoEBgAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIUEQMIAAAAFLSENnvXnUH5155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7/+vTs/+rOof/apk//154//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- QP/Ikzz6jWgrhAAAABUUEQMIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxcP
- Bws+LBMhyJI8rdieQf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3/+vTs/+rMnP/apU7/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5A/tKZP/+keDK0MSMPJRcPBwsAAAADAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQADAAAADIRgJznRmT/S2J9B/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+fHm/+jJ
- lv/Zo0r/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/1p1A/7SFNthlSh5AAAAADAABAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARsV
- BgUAAAAMpXkyV9acQOvYnkH/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+PLm/+fGj//Zo0r/154//9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH/wY06735cJl4AAAANGRQFBgAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIxcMBwwHBRK7iTl82J5B/NeeQf7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/fz/9+7g/+bDi//YoUb/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9ieQf7LlT38lGwthg8KBhQiFgsHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAEQCAcIQS4UG8iSPKLZn0H/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pz/9+7g/+S/gv/YoUf/154//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5A/tGZPv+leTGsMyQPHRMK
- CAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABkVw0ACwoAAgAAAAhcQxwizpg+wdmfQf/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6
- +P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/Pz/9erX/+S+gP/YoEP/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/1ZxA/7CBNchCMBQmAgEACAoKAAJLQQoAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAcEQsCBwAFCodiKTPUmz/c2J5B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/9uvZ/+K5
- dv/YoEX/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnUH/uog34GRK
- HjoLBAYKGxALAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8VCgMLBgQLpXkxTNadQO7YnkH/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ
- l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/8+TM/+G3c//Xn0L/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9ieQf/Cjjrwf10mVQ4IBQweFAoDAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAIBcJAwsIAg21hDZj155A9deeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/8+/r/9ObR/9+zaf/YoEP/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/8eS
- PPeOaCtsDgoEDR8WCQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVDgcEAAABDL+MOXfXnkH4155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii
- R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/8d/C/9+yaf/Xn0H/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/y5U9+phwLoAAAAIMFQ4HBAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAASAfAQQAAAAMxpA7idieQfzXnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/8+/n/8uDF/92vYv/Xn0L/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Plz79oHYwkAAAAAwfHgEEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABKxoQBQwKBQ/JkzyX2J5B/tee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/8+/n/79m2/92t
- X//XnkH/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tGZP/+leTKeDAkFEigYDwUAAAABAAAAAAAA
- AAAAAAAAAAAAAAAAAAE4IxUFRC8UE82WPaTYnkH/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/8+vf/8Nu6/9ysW//Xn0H/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD+05s//6x+M6s0JBEYNiMTBgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAS8eEAZcQhwXz5g+rtie
- Qf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/7+fX/7NOq/9upV//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Um0D/sIE0tEYzFhwvHhEGAAAAAQAA
- AAAAAAAAAAAAAAAAAAAAAAABKRoPBmlMIBnQmT+12J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/7+PP/7dWu/9uoVf/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/tWcQP+0gza7UzoYHioaDwYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAE5Kg4FcVMiGtGZ
- PrjYnkH/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/69u//6s2d/9qmT//Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+1ZxA/7WENr5aQBkfOSsPBgAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAADwsDwV1VSIa0Zk+uNieQf/XnkD+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/69vD/69Ci/9qm
- UP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP7VnED/tYU2vltCGh89LRAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCATBHNU
- IhjSmj+12J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/58+n/6MiU/9qkTP/Xnj//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tWcQP+1hTa6WUAaHTUh
- EwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKRcEa04gFdGZP67YnkH/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /v/58uj/6MiU/9mkS//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+1ZtA/7ODNbRSPRcaPSYWBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFM0
- HgRbQhwQ0Jg+pdieQf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/37+H/5cGH/9miSP/Xnj//155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Tmz//sIE0q0Uy
- FhVKLxoEAAAAAAAAAAAAAAAAAAAAAAAAAACCRD4AYC4xAyQXDArPlz6W2J5B/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//YoUf/6cmX//z6
- 9//9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/7+PT/+fLo//38+//9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/37uD/5cKI/9iiSP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/tKaP/+rfTOdHRMKDlQpKwNpNzIAAAAAAAAAAAAAAAAAAAAAACQb
- CgBVPhcCAAAABs2WPYfYnkH8155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9ihR//pyZf//Pr3//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f7///ft3v/pypn/9ejT//38+//9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/P/27Nv/471//9ih
- Rf/Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkD/0Jg+/ah7
- Mo4AAAAHUDsWAiMaCQAAAAAAAAAAAAAAAAAAAAAAPzMNADUvCgEAAAAFyZM9ddieQfnYnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ
- l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/96wZP/ht3P/8+TM//z7
- +v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/P/26tj/47x9/9igRP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Nlj36pHgxfQAAAAU2MAoBPzMNAAAAAAAAAAAAAAAAAAAA
- AABuUB4AVj8XARsTBQbGkDte2J5B9deeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//3+///26tn/3a5f/9igQ//htnD/8+LJ//z7+f/9/f7//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//38
- +v/159P/4rh0/9ifQ//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/8mT
- PPadcy9nIBcHBlE7FgFmShsAAAAAAAAAAAAAAAAAAAAAAH1bIgBrTh0BKB0JBcCMOkbYnkHu2J5B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii
- R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150+/9ef
- Qv/gs2v/8d/B//z6+P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//38+//05c7/4bdy/9efQv/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH/xZE78JduLU8rHwoFYEYaAW1QHgAAAAAAAAAAAAAA
- AAAAAAAAi1M4ALluSwASABEDsYI2LNedQN3Zn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9efQv/fsWf/8d6///z59v/9/f7//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//z7+P/z48r/37Nq/9eeQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- Qf/AjTnghGIoMhsGEgOPVToAckQuAAAAAAAAAAAAAAAAAAAAAAB/dAsAvasRAAARAAKacC4Y1ZxAwdmf
- Qf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9ed
- P//XnkD/155A/9eeQf/esGT/79m3//v49P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//z7+f/x4MP/37Np/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/1ZxA/7mHN8dwUiIbCh4AArGgEAB6bwoAAAAAAAAA
- AAAAAAAAAAAAAEZHAAAADwAATT8MAolkKQ7Smj+g2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9efQf/drV7/7tex//v3
- 8P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//z59v/w3sD/3a5g/9eeQf/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Smj//soI2qWhMIBBZSA8CABAAAEdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR4PACfZzcBRTAXBs+Y
- PnjZn0H92J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92u
- YP/XnT//155A/9eeQP/XnkD/155A/9eeQP/cq1n/69Gl//r28P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//v6
- 9v/v2rf/3q5h/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J9A/s6XPf2pfDOBOygVCIpZMAKVYzIAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAt25JAL9yTQEAAAAAyJI8TtieQezYn0H/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/bqVT/69Gl//r17P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//v48//u2LT/26lW/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/YnkH+yJI87590MFQAAAABlVk8AY5WOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADixB0A/+AeAAAA
- AADAjDkt151A0tmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq
- 2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/aqFP/6cuZ//n07P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//v49P/s0qj/3KpY/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9edQP+/jDnXlGwsMgAAAADjyBsAy7AaAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcPx4AfU8rAqF1MBHVnD+r2Z9B/9ieQP7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/apU3/6cyb//nx5v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//r27v/s0af/2qVO/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/YnkD+1JtA/7eGNrF3VyQWdksoAlM5GwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdO
- GQCMdxUBAAAAAtGZPnTZn0H52J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+
- ///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//apEz/5sSL//ny
- 5//9/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f3+//v48v/py5r/2qdS/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ifQP7Olz76rX40fAAAAAONeBUBZU0ZAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXY3AMqKQQAtFhICyJM9PtieQejYnkH/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yokj/58eR//fv4f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//nz
- 6f/pyZf/2aNL/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5B/8aRO+ueczBGOSAVAq53OACZaDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACSghAAtrAHAAADAAGwgDYV1p1AutmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/5L6B//ft3v/8/Pr//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//r17f/nxpH/2qVN/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/VnED/u4k4wIJfKBgbGAABop0GAId4
- DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+dEsAvWpTAXdSJgXSmj972Z9B/Nie
- QP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6
- +P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YoEX/5cGF//br2f/9/fz//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//jw4//mxIz/2KJH/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5B/s+YPv2xgjWDWz0cB6pgSQGkZEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAO+CbgD+iXYA//+JAMuUPTvYnkHf2J9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/YoET/4bh1//Xo1P/8+/n//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//ny6P/lwof/2aNJ/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/xZA746J3MUH//4YA8oJxAd55
- ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJMKACQVDgBtIM3Etad
- QKvZn0H/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KFH/+nJ
- l//8+vf//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YoET/4rp5//Tn
- 0P/9/Pv//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//bs3P/kvX//2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5A/tObP/+6iDiwiGMrFZpcOQFrRyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAnVxAALlxSAEAABMB0po/XtmfQfTYnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- Qf/Xn0L/159C/9efQv/Xn0L/159C/9efQv/Zo0n/6cqY//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0L/37Jn//Lgxf/8+vf//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//fu
- 4P/kvX7/2KFG/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH+y5U99q6ANGUGABcCn2E+AY1T
- OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyiycAyJ0rAB4k
- AAHDjzse155BydmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2qZQ/+K5dv/kvoH/5L6A/+S+gP/kvoD/5L6A/+XA
- hf/v27r//Pv5//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Yn0L/4LNr//LgxP/8+/n//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//fz7//Tn0v/iuXb/2J9D/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9WdQP/AjTrNmXEuITk1AAGphSUAm3kiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKfU4AynRVAaNvNQPUmz922Z9B+tifQP7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//gtGz/9OjU//r38P/69u//+vbv//r27//69u//+vbw//v59f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0H/3a5g/+/auP/8+fT//f3+//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//fz8//Xo1P/iuHT/2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0D+zpc9+7OENn10UCYFv25PAbRw
- RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+B
- gwD/i5AA//91AMuWPSzYnkHS2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/150//+C2b//37uD//f7+//39/v/9/f7//f3+//39
- /v/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9ed
- P//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xn0H/3a9h/+/Ztv/7+fX//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pv6//LiyP/fs2v/159B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9adQP/EkDrWo3gxMf//ZAC2Wl0AqlVWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZaPQDLZWYBjmcpBdWcP37Zn0H62J9A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnT//4LZv//fu3//9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/3KtZ/+3U
- rf/69/D//f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//Pv5//Lhxv/fsmj/159C/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkD/z5g++7eGNoRoSx4GolBQAX9L
- MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAwXFRANB5VwBGAEQBzZc+KNieQdLZn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9edP//gtm//9+7f//39/v/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92u
- YP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/3KpZ/+zSqf/69vD//f3+//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pr3//Dd
- vf/er2P/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9adQP/FkDvVpnozLFoORQG3a00ArGRJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/mswA87wPAP/AWgDCjzUD1p1Ac9mf
- QfjYn0D+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/150//+C2b//37t///f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/26hT/+rPov/69Oz//f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7//Pr2/+/bu//drV//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0D+z5g++bmIN3mMaSUE/+FqAPSv
- DgD/v/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAD//wAA//8AAP/+agDTmkEf2J5Bv9mfQf/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnT//4LZv//fu4P/9/v7//f3+//39
- /v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//v7///br
- 2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/26hU/+rMnf/59Or//f3+//39
- /v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39
- /v/9/f7/+/n1/+7Xs//drFz/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9WdQP/EkDvDrH00Iv//dwD//wAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGdVEA1YJTAF4h
- PQHVnEBW2Z9B7difQf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//gtW3/9erY//z59v/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z5
- 9f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+vf/9OfS/92tX//XnT//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2qVP/+nJlv/37+H//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z5
- 9f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX/+fPq/+zSqP/bp1P/154//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+zZY97riHN1pbJTECtm9HAbBo
- SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+sVQD/3nIAwXpDAceROw3XnkGd2Z9B/tifQP7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9upV//mxYz/6syb/+rM
- m//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rM
- nP/mw4n/2qZP/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2qVO/+O9
- f//pzJr/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rM
- m//qzJv/6syb/+rMm//qzJv/58WO/9yrW//Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/tObP//CjjqhnnIvD7RzPgHLh0UAwIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfK
- HgDu0xsA5aVJANKZPy7YnkHO2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155B/9igQ//YoET/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9ig
- Q//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBE/9ifQ//XnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/159C/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9ig
- Q//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9igRP/YoET/159C/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnkD/yZM80bKCNjHVmkcA9tkcAOfK
- HgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaSNADwpkgBpXwvA9acP2HZn0Hy2J9B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5B/8+YPvO9iThliGQpBMuNPQG8ijEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAA6s8bAOXPFgD//wAAzZc8C9edQJPZn0H62J9B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9efQP7Tmz/7xJA7l6h9MQz//wAA5ccWAOrP
- GwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6pWAP+wWQD//0MA0Jg/JNif
- Qb/Zn0H/2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/YnkD+1p1A/8qUPcG0hDcn//9RAP+0WwD/qlYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAwIs2AMaKPABOQBEB151AP9mfQdrZn0H/2J5A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQf/Plz7cwIw5QlxRGwHWlEAAyJE4AAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP+7
- dgDXik8B151BW9mfQejZn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Yn0D/0Zo/6cSPO16dYz0C/+KKAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gIAA/3yEAP+6egDVmj8H2J5Ac9mfQfHYn0H+155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tSbP/LJkjx2sYA1CP/ikQD/fIQA/4CAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AADAgEAAxIVAAKJbQAHOlj4O2J5AitmfQfbYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9if
- QP7VnD/3ypQ9jbKAOA++bkkBwoRAAMGBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/gEAAxYRCAP///wDOmD4U2J9Bldmf
- QfrYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0H+155A+82XPZi3hzgW//9PAMeGQwC/gEAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAADSpiwA0qoqAMabGQDUmj8Z2J5BntmfQfrYn0H+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J9A/tee
- QPrRmT6gwo07GvrDIgDUrCoA1qktAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD/4CcA/+seAMN8
- TwDZnkEY2Z9BltmfQffYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9ieQP7XnkD30po/mMiTPBm6dUkA/+0eAP/gJwD//wAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3SsA//YVAPHUHgDVm0EU2Z5Bi9mfQfLZn0H/2J5A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0D/2J5A8tOa
- P4zGkD0V//8qAP/4FQD/4iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
- AAB+AIEAyZQ3AP//SADUmkAO2Z9BdNmfQejZn0H/2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+2J5B/9edQOnTmj91xo88D///KgDKlTcAfgCBAP//AAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6ekAAv4FAAJ5YPwHJlj4G2Z5BXNmf
- QdvZn0H/2J9B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/159A/tifQf/YnkHb1Js/XbiI
- NwepYUMBwoNAAL19QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAC/gEAAv4BAALdxQQHXnEED2J9BQNmfQcHZn0H72J9B/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9ifQf/Zn0H72J9BwdSdQEHPlz0DvXVEAb+AQAC/gEAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qlUA/6pVAP+t
- WQDBjC4A2Z5BJdmfQZTZn0Hy2Z9B/9ifQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Yn0H/2Z9B8tmfQZTXnUAlqHoqAP+v
- WQD/q1UA/6tVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAOCaRQAIAEwA155AC9ieQWLZn0HQ2Z9B/dif
- Qf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Yn0H+2Z9B/dmfQdDYnkFi155ACwoAUwDinEUA//8AAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAA/6tWAP+sVgD/k2MAx4tCA9ieQS/YnkGg2Z9B7tmfQf/Yn0D+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+2J9B/9mfQe7YnkGg2J5BL8eLQgP/k2MA/6xWAP+r
- VgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAypc1APXnDwC4eD4Bn1w2ANab
- Qg/Zn0FZ2Z9BxNmfQfjZn0H/2J5B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+2J9B/9mf
- QfjZn0HE2Z9BWdabQg+fXDYAuHg+AfXnDwDKlzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaVMQDjzRMAxopOAeGlUAHZoEEh2J5Bd9mfQdXZn0H72Z9B/9if
- QP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+2J9B/9mfQfvZn0HV2Z9BdtmgQSHhpVABxopOAePNEwDGlTEAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+q
- VQD/q1gA7dAbAYdJLQDbnUUE2J9CKtmfQYLZn0HV2Z9B+tmfQf/Yn0D/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7YnkD/2J9B/9ifQfrZn0HV2Z9Bg9if
- QirgoEYEh0ktAO3QGwH/q1gA/6pVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/f4EA/3+BAP+fcgEMAIwA1pxIBNme
- Qi7Zn0F72Z9BztmfQffZn0H/2J9B/tieQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- QP7Yn0D+2J9B/9mfQffZn0HO2Z9Be9qfQi7ZlkMFAgCRAP+ecgH/f4EA/3+BAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAD/gIAA/4CqANp/XADzpFQB/9emAN6gQQTZn0Ae2Z9CY9mfQbDZn0Hj2Z9B/dif
- Qf/YnkH/2J5A/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+2J5A/9ieQf/Yn0H/2Z9B/dmfQePZn0Gw2Z9CY9mfQB7eoEEE/+ezAPOm
- VQHaf1wA/4CqAP+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+
- hAD/foQA/6BzAY5EQwC6cUYB2Z9DEtmfQT7Zn0GB2Z9Bv9mfQezZn0H62Z9B/9ifQf/Yn0H+155A/tee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7YnkD+2J5B/9ifQf/Zn0H62Z9B7Nmf
- Qb/Zn0GB2Z9BPtmfQxK6cUYBjkRDAP+gcwH/foQA/36EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA0KMtAN+pPwD/uGIAAAAAAOGi
- SATbnkMV2aBBQtmfQXnZn0Gx2Z9B1tmfQfDZn0H+2Z9B/9mfQf/YnkH/2J5A/9eeQP/YnkD+155A/tee
- QP7XnkD+155A/teeQP7XnkD+155A/teeQP7XnkD+155A/teeQP7XnkD+155A/teeQP/XnkD/2J5B/9if
- Qf/Zn0H/2Z9B/tmfQfDZn0HW2Z9BsdmfQXnZoEFC255DFeGiSAQAAAAA/7hiAN+pPwDQoy0A//8AAP//
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+ZbAD/iHsA/6BoAbohkgCBMUIA3aFBAdmeQBHYnkEt2Z9AUtqf
- QX/Zn0Gm2Z9ByNmfQePZn0Hx2Z9B9tmfQfrZn0H+2Z9B/9ieQf/YnkH/2J5B/9ieQf/YnkH/2J5B/9ie
- Qf/YnkH/2Z9B/9mfQf7Zn0H62Z9B9tmfQfHZn0Hj2Z9ByNmfQabZn0F+2Z9AUtieQS3ZnkAR3aFBAYEx
- QgC6IZIA/6BoAf+IewD/mWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AADSgFMA635uANaMSgD/jXgB7qBwAQAAIAD//2kA46NHBNueRAvYn0MW2Z9CLtmfQEnZn0Fj2Z9Bedie
- QYzZn0Ge2Z9BrNmfQbbZn0G82Z9Bv9mfQb/Zn0G82Z9BttmfQazZn0Ge2J5BjNmfQXnZn0Fj2Z9ASdmf
- Qi7Yn0MW255EC+GkSgP///8AAAAbAO6gcAH/jXgB1oxKAOt+bgDSgFMAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/p1oA/94hAP+Z
- awH/rGAB/2SnAP/B6gC9f2oAqngnAcCcGgDRpzoA0ao7AdudPwfZnD8M2KBBEdmgQxTaoEIX2qBCF9mg
- QxTYoEER2Zw/DNudPwfRqjsB0ac6AMCcGgCqeCcBvX9qAP/B6gD/Y6YA/6xgAf+ZagH/3iEA/6daAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA/6NgAOOUUADLkzkB951ZAP/P
- MQD/mW4B9qlcAbJxQwGhWz8Bj0U8AX0yOgF9MjoBj0U8AaFbPwGycUMB9qlcAf+ZbgH/zzEA951ZAMuT
- OQHjlFAA/6NgAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////4AAAB///////////////+AAAAAAf/////////////+AAAAAA
- B/////////////8AAAAAAAD////////////8AAAAAAAAP///////////4AAAAAAAAAf//////////8AA
- AAAAAAAD//////////8AAAAAAAAAAP/////////+AAAAAAAAAAB/////////+AAAAAAAAAAAH///////
- //AAAAAAAAAAAA/////////AAAAAAAAAAAAD////////wAAAAAAAAAAAA////////wAAAAAAAAAAAAD/
- //////4AAAAAAAAAAAAAf//////8AAAAAAAAAAAAAD//////+AAAAAAAAAAAAAAf//////AAAAAAAAAA
- AAAAD//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAAf////8AAAAA
- AAAAAAAAAAD////+AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////gAAAAAAAAAAAAAAAAf///4
- AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
- B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAA
- AAAAAAH//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAA
- AAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/gA
- AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA
- AB/wAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
- AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAA
- AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAA8AA
- AAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
- AAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAA
- AAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
- AAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AA
- AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAA
- AAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAA
- AAAAAAAP8AAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
- AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAv/4A
- AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAA
- AP//QAAAAAAAAAAAAAAAAAL//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAA
- AAAAAAP//9AAAAAAAAAAAAAAAAAL///gAAAAAAAAAAAAAAAAB///4AAAAAAAAAAAAAAAAAf///QAAAAA
- AAAAAAAAAAAv///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////0AAAAAAAAAAAAAAAC////+
- AAAAAAAAAAAAAAAAf////gAAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAB
- /////9AAAAAAAAAAAAAAC//////gAAAAAAAAAAAAAAf/////9AAAAAAAAAAAAAAv//////gAAAAAAAAA
- AAAAH//////9AAAAAAAAAAAAAL///////gAAAAAAAAAAAAB///////8AAAAAAAAAAAAA////////gAAA
- AAAAAAAAAf///////8AAAAAAAAAAAAP////////wAAAAAAAAAAAP////////+AAAAAAAAAAAH///////
- //4AAAAAAAAAAH//////////AAAAAAAAAAD//////////8AAAAAAAAAD///////////gAAAAAAAAB///
- /////////AAAAAAAAD////////////4QAAAAAAh/////////////4AAAAAAH//////////////gAAAAA
- H///////////////gEACAf////////////////AAAA//////////////////////////////////////
- //////////////////////////////////8=
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs b/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
index 7fe6a797..4a9b49d4 100644
--- a/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
@@ -36,7 +36,6 @@
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 273);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "BaseServerForm";
diff --git a/v2rayN/v2rayN/Forms/BaseServerForm.cs b/v2rayN/v2rayN/Forms/BaseServerForm.cs
index 84711727..9618c480 100644
--- a/v2rayN/v2rayN/Forms/BaseServerForm.cs
+++ b/v2rayN/v2rayN/Forms/BaseServerForm.cs
@@ -6,13 +6,14 @@ namespace v2rayN.Forms
{
public partial class BaseServerForm : BaseForm
{
- public int EditIndex { get; set; }
- protected VmessItem vmessItem = null;
+ public VmessItem vmessItem = null;
+ public string groupId;
+ public EConfigType eConfigType;
public BaseServerForm()
{
InitializeComponent();
- }
-
+ }
+
}
}
diff --git a/v2rayN/v2rayN/Forms/BaseServerForm.resx b/v2rayN/v2rayN/Forms/BaseServerForm.resx
index 61360d3d..c5e46818 100644
--- a/v2rayN/v2rayN/Forms/BaseServerForm.resx
+++ b/v2rayN/v2rayN/Forms/BaseServerForm.resx
@@ -118,1136 +118,4 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAA
- AAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAADAAAAAwAAAAMAAAADAAAAAgAAAAIAAAACAAAAAQAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAA
- AAIAAAADAAAABAAAAAUAAAAGAAAACAAAAAgAAAAKAAAACgAAAAsAAAAMAAAADQAAAA0AAAANAAAADQAA
- AAwAAAALAAAACgAAAAoAAAAIAAAACAAAAAYAAAAFAAAABAAAAAMAAAACAAAAAQAAAAEAAAABAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAQAAAAIAAAACAAAABAAAAAUAAAAHAAAACQAAAAwAAAAOAAAAEQAAABMAAAAVAAAAFwAA
- ABgAAAAaAAAAGwAAABwAAAAcAAAAHQAAAB0AAAAcAAAAHAAAABsAAAAaAAAAGAAAABcAAAAVAAAAEwAA
- ABEAAAAOAAAADAAAAAkAAAAHAAAABQAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABwAAAAkAAAAMAAAAEAAA
- ABMAAAAXAAAAGgAAAB4BAQAgAgEBIwMDASUDAgEmAwMBKAUEASkGAwMrCAUDKwgFAysIBQMsCAUDLAgF
- AysIBQMrBgMDKwUEASkDAwEoAwIBJgMDASUCAQEjAQEAIAAAAB4AAAAaAAAAFwAAABMAAAAQAAAADAAA
- AAkAAAAHAAAABAAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
- AAQAAAAHAAAACgAAAA4AAAASAAAAFwAAABwAAAAgAwIBJAUDAicGBAIqBQUCKwICAi0FAwMvCQcEMQgH
- BjACAwQwAAECMQYFBTURDgg5GRMJPBwWCz0cFgs9GRMJPBEOCDkGBQU1AAECMQICBDAIBwYwCQcEMQUD
- Ay8CAgItBQUCKwYEAioFAwInAwIBJAAAACAAAAAcAAAAFwAAABIAAAAOAAAACgAAAAcAAAAEAAAAAgAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADQAAABIAAAAXAQAAHQIBASIDAgEmBgMDKgQD
- AywAAAEtBQQEMRYRCTckHA0+OCoTSlU/G19sUCF1elomhoZjKZWOaCufkmstqphwL7Kccy+3nnQwup51
- MLqccy+3mXEvspNsLaqOaSufh2QqlHtbJ4ZtTyJ1Vj8cXzgpE0okHA0+FhEJNwUEBDEAAAEtBAMDLAYD
- AyoDAgEmAgEBIgAAAB0AAAAXAAAAEgAAAA0AAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADwAA
- ABUAAAAcAgIAIgQCAicFBAErBAMDLgUEBDAWEQo5QjEWT2BHH2d6WiaHkGssq6B2MMWtfzTbt4Y367+M
- OfXEjzv5yZM8/M2WPv7PmD7/0Zk//9KaP//Tmz//05s//9OaP//Smj//0Jg+/82WPv3KlD37xZA7+cCM
- OvW4iDjrroA126F2McWRbCyre1smh2FHH2dCMRZPFhEKOQUEBDAEAwMuBQQBKwQCAicCAgAiAAAAHAAA
- ABUAAAAPAAAACgAAAAYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAABAAAAAwAAAAYAAAAKAAAAEAAAABcBAQAeAwIBJAYDAyoBAAEsBwUEMSIaDDxSPBtaelomhpRt
- LbGoezPVt4Y37MSQO/nMlj3/0Zk//9WcQP/YnkH/2J5B/9ieQP/XnkD/155A/9eeQP7XnkD+155A/tee
- QP7XnkD+155A/teeQP7XnkD+155A/9eeQP/YnkD/2J5B/9ieQf/WnED/0po//82WPf/FkTv5uog47Kp8
- M9WVbi6xelomh1E8GlshGQw8BwUFMgEAASwGAwMqAwIBJAEBAB4AAAAXAAAAEAAAAAoAAAAGAAAAAwAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAAEQAAABgBAQAgBAMBJgUD
- AysDAgMvGRIKOVQ+G1p+XSiKm3MvvrKDNubCjjr5zZY+/tWcQP/XnUD/2J9B/tieQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2J5A/9ifQf7XnUD/1ZxA/8+YPv7Djzv5s4M25pxyL799XCeLUj0bWhkT
- CzkDAgMvBQMDKwQDASYBAQAfAAAAGAAAABEAAAAKAAAABgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
- AAQAAAAJAAAADwAAABcBAQAfBAMBJgMCASsIBgQwMSQRQ2xQIXOUbS2xr4A14cOOO/nPmD7/1p1A/9ie
- QP/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/tieQP/WnUD/0Jg+/8SPO/mvgTXhlG0usWtOInQwIxJDCAYEMAMCASsEAwEnAQEAHwAA
- ABcAAAAPAAAACQAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADQAAABQBAQAdBQQBJQUFAiwGBQQwRDMXTXxc
- J4ahdjHKuog48syVPf7VnED/155B/9ieQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/9Wc
- QP/Nlj3+uok486B2Mcp6WiaGQjIWTgYFBDAEAwIsBAMBJQEBAB0AAAAUAAAADQAAAAcAAAADAAAAAQAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAEAAAACgAA
- ABEAAAAaAwIBIwUDAioHBgQvQDAVSoFeKIynejLTv4w6+NCYPv/XnkD/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7XnkD/0Jk+/8CNOvimejLTfl0njT0u
- FEoGBQQvBQMCKgMCASMAAAAaAAAAEQAAAAoAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAEAAAADAAAABwAAAA0AAAAWAQAAHwQDASgDAgIuNScSRHxbJoOnejPSwY06+dKa
- P//YnkD+2J5A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2J5B/tObP//Bjjr5pXky03hZJoQzJhJEAwMCLgQDASgBAAAfAAAAFgAA
- AA0AAAAHAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAgAAAAQAAAAGQQC
- AiQDAQIqFBAINWlOIWuedDDBvos59dGZP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- Qf/Smj//vYs59ZtyL8JlSh9sEw8INQMBAioEAgIkAAAAGQAAABAAAAAIAAAAAwAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAgAAAAQAAAAKAAAAEwIBAR0FAwInAQECLUg1GE2QaiyjtoU3686WPf/XnUD/2J5A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/zpc+/7SEN+yLZiqlRTMXTwEB
- Ai4FAwInAgEBHQAAABMAAAAKAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAADAAAABUDAgEgBAIBKBoU
- CTVxUyNxpnkyzcWQO/zVnED/2J5A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/1ZxA/8WQO/yidzHPak8hcxkTCTUEAgEoAwIBIAAAABUAAAAMAAAABQAA
- AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAACAAAABgAAAA0AAAAXAwMBIgIBAis4KhNDj2ksm7iHN+7QmD7/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/tCZ
- Pv+2hTfviGQqnTUnEkUDAgIrAwMBIwAAABcAAAANAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAQEAGQQCAiQIBgMsXEQdWaB2
- Mb3Djzr51ZxA/9ieQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tacQP/Cjjr5mnAvv1U/G1sIBgMtBAICJAEB
- ABkAAAAOAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAIAAAAHAAAADwEBABkFAwIlCQcDLnVWJHCvgDXZzJY9/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/LlT3/qHwz2m1QInIJBwMvBQMCJgEBABkAAAAPAAAABwAAAAIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA8CAQAaAwIBJhIOBjJ/Xid+toY35tGZ
- P//YnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ieQP7RmT7/sYI26HZX
- JYARDQYzBAIBJgIBABoAAAAPAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
- AAYAAAAOAQEAGgYFASYjGgw4jGcrkLuJOO7Tmz//2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7UnD//toY374FeKJIgGAs5BgUBJwEBABoAAAAOAAAABgAA
- AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAADQIBABkBAQEkLCENOpJrLZnAjTrz1Js//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/VnED/u4k49IdjKZwpHw07AgEBJAIBABkAAAANAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAA
- AAwBAQAXBgQBJSwiDjmXby2fw4469tadQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnUD/vYs594tmKqEqHg07BwUBJQEB
- ABcAAAAMAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAKAQEAFgMCASImHAw2lm4umMSPO/bVnED+155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/VnED+vos59ohkKZsiGgw4AwIBIgEBABYAAAAKAAAABAAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAACQEB
- ABMGBAIhFQ8IMJJrLY/Djzrz1p1A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnUD/vIo59INh
- KZMUDggxBgQCIQEBABMAAAAJAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAQBQICHQgGAyqHYyl8wI067tWcQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/VnED/uIc38HhYJYAIBgMrBQICHQAAABAAAAAGAAAAAgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADQQD
- ARoEAwEnf10mbr2LOebVnED/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/UnD//s4M26HBSInEFAwEnBAQBGgAAAA0AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAoFAwIWAQABI2hNIFW5hzjY05o//9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/RmT//qn0021tCHFoDAQEjBAMCFgAA
- AAoAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAwICEgAA
- AB9GNBU/roA0vdCZPv7XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP7Mlj3/nXIwwTwsEkEAAAEfAwICEgAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAA0GBAMbHRUJLaF2MJnMlT35155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Djzv6jGcrnhoT
- CC8HBAMbAAAADQAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAJBgQDFgAA
- ACOGYiluxpE779adQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ifQ//cq1n/2qVN/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9adQP+5hzfwc1QjcwAAACQGAwMWAAAACQAAAAMAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABgIBARAAAAEdW0MbR7mIN83Um0D/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2KFH/+XCiP/pypf/26dS/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tGZ
- P/+nejPRTjkYSgAAAR0CAQEQAAAABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMBAAEKBgMDGBwU
- CSypfDOh0Jg+/deeQf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Zokf/6cqX//jw5P/qzZ7/2aNL/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155B/seSPP2SayynGBEILQcDAxgBAAELAAAAAwAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAACAAAABwcEAxECAAIghWEoZciSPOvXnUD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr3//n06//mw4v/2aRM/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/1p1A/reHN+1uUSFqBAICIAcEAhEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCAwALAAAAGE05
- Fzm6iDe/1ZtA/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f7+//jv
- 4//nxY7/2aJJ/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/0Jg+/6F3McVBMBQ9AgIAGAID
- AAsAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABggGAhIHBQMgnHMvf8+YPvbXnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z69//9/f7//f39//jw4v/kvX//2aJI/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/YnkH/wY4694JhKIQIBgMhCAYCEgAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMEBAELAQEAGFxC
- G0DCjjrR151A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//bs3P/kv4L/2KFG/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Tmz//q3401Us3
- F0MCAgAYBQMBCwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABQkHARACAgEgpXgxh9KaP/rYnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//fz8//br2f/huHX/2KFF/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/FkDv7iWQpjQQCASEJBwERAAAABQAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAwAJAAAAFWhL
- H0HGkTzS2J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6
- +P/9/f3//f39//39/f/9/f3//f39//Xo1P/iuXf/2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tSb
- QP+tfzTWVD0ZRQAAABUDAwAJAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAABAAAABAsIAw4HBQIdpnkygNObP/nYnkH+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//fz6//Tl
- zv/fs2v/159C/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/sSQO/qJZCmHCQYCHgsIAw4AAAAEAAAAAQAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGBQEHBgYAE1Q+
- GTTFkTvI155B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ
- l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//fz7//Pky//gtW3/159C/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/0po//6p8M85FMRQ4BwcBEwYFAQcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkGBAsCAAEZnHMvatObP/LYnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//Pv4//Hfwf/er2H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/wI069H5cJnIDAgIZCQYECwAA
- AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFCgQFDzUn
- ESfAjTqt155B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii
- R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pv5//Hfwv/esWb/155B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP7QmD7/n3YwtCwhDioLBQYQAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQoJAQgAAAAShmIoTM+YPt/YnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//Pn1/+/Ztv/drFz/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9adQP+2hjfkaE0gUgAA
- ABIJCQEIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEw0GCw4K
- BRmygjWC1p1A+teeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7//Pn2/+/Y
- tf/drV3/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2J5B/siTPPuOaSuKDwsFGxMNBgsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUEAAQEBAANRjQVKMiSPLrYnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7/+/fx/+3Uq//bqVX/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/0po//6h7
- M8I2JxErBgUADQUEAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDgoFBgYE
- AhGOaCpK05s/5tieQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f7/+/fy/+zSqP/bqVX/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnUD/vIk56m1PIVMJBQMSDgoEBgAAAAEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIUEQMIAAAAFLSENnvXnUH5155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7/+vTs/+rOof/apk//154//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- QP/Ikzz6jWgrhAAAABUUEQMIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxcP
- Bws+LBMhyJI8rdieQf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3/+vTs/+rMnP/apU7/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5A/tKZP/+keDK0MSMPJRcPBwsAAAADAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQADAAAADIRgJznRmT/S2J9B/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+fHm/+jJ
- lv/Zo0r/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/1p1A/7SFNthlSh5AAAAADAABAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARsV
- BgUAAAAMpXkyV9acQOvYnkH/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+PLm/+fGj//Zo0r/154//9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH/wY06735cJl4AAAANGRQFBgAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIxcMBwwHBRK7iTl82J5B/NeeQf7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/fz/9+7g/+bDi//YoUb/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9ieQf7LlT38lGwthg8KBhQiFgsHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAEQCAcIQS4UG8iSPKLZn0H/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pz/9+7g/+S/gv/YoUf/154//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5A/tGZPv+leTGsMyQPHRMK
- CAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABkVw0ACwoAAgAAAAhcQxwizpg+wdmfQf/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6
- +P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/Pz/9erX/+S+gP/YoEP/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/1ZxA/7CBNchCMBQmAgEACAoKAAJLQQoAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAcEQsCBwAFCodiKTPUmz/c2J5B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/9uvZ/+K5
- dv/YoEX/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnUH/uog34GRK
- HjoLBAYKGxALAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8VCgMLBgQLpXkxTNadQO7YnkH/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ
- l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/8+TM/+G3c//Xn0L/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9ieQf/Cjjrwf10mVQ4IBQweFAoDAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAIBcJAwsIAg21hDZj155A9deeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/8+/r/9ObR/9+zaf/YoEP/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/8eS
- PPeOaCtsDgoEDR8WCQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVDgcEAAABDL+MOXfXnkH4155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii
- R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/8d/C/9+yaf/Xn0H/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/y5U9+phwLoAAAAIMFQ4HBAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAASAfAQQAAAAMxpA7idieQfzXnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/8+/n/8uDF/92vYv/Xn0L/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Plz79oHYwkAAAAAwfHgEEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABKxoQBQwKBQ/JkzyX2J5B/tee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/8+/n/79m2/92t
- X//XnkH/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tGZP/+leTKeDAkFEigYDwUAAAABAAAAAAAA
- AAAAAAAAAAAAAAAAAAE4IxUFRC8UE82WPaTYnkH/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/8+vf/8Nu6/9ysW//Xn0H/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD+05s//6x+M6s0JBEYNiMTBgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAS8eEAZcQhwXz5g+rtie
- Qf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/7+fX/7NOq/9upV//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Um0D/sIE0tEYzFhwvHhEGAAAAAQAA
- AAAAAAAAAAAAAAAAAAAAAAABKRoPBmlMIBnQmT+12J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/7+PP/7dWu/9uoVf/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/tWcQP+0gza7UzoYHioaDwYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAE5Kg4FcVMiGtGZ
- PrjYnkH/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/69u//6s2d/9qmT//Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+1ZxA/7WENr5aQBkfOSsPBgAA
- AAEAAAAAAAAAAAAAAAAAAAAAAAAAADwsDwV1VSIa0Zk+uNieQf/XnkD+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/69vD/69Ci/9qm
- UP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP7VnED/tYU2vltCGh89LRAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCATBHNU
- IhjSmj+12J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/58+n/6MiU/9qkTP/Xnj//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tWcQP+1hTa6WUAaHTUh
- EwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKRcEa04gFdGZP67YnkH/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /v/58uj/6MiU/9mkS//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+1ZtA/7ODNbRSPRcaPSYWBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFM0
- HgRbQhwQ0Jg+pdieQf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/37+H/5cGH/9miSP/Xnj//155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Tmz//sIE0q0Uy
- FhVKLxoEAAAAAAAAAAAAAAAAAAAAAAAAAACCRD4AYC4xAyQXDArPlz6W2J5B/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//YoUf/6cmX//z6
- 9//9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/7+PT/+fLo//38+//9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/37uD/5cKI/9iiSP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/tKaP/+rfTOdHRMKDlQpKwNpNzIAAAAAAAAAAAAAAAAAAAAAACQb
- CgBVPhcCAAAABs2WPYfYnkH8155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9ihR//pyZf//Pr3//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f7///ft3v/pypn/9ejT//38+//9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/P/27Nv/471//9ih
- Rf/Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkD/0Jg+/ah7
- Mo4AAAAHUDsWAiMaCQAAAAAAAAAAAAAAAAAAAAAAPzMNADUvCgEAAAAFyZM9ddieQfnYnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ
- l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/96wZP/ht3P/8+TM//z7
- +v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/P/26tj/47x9/9igRP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Nlj36pHgxfQAAAAU2MAoBPzMNAAAAAAAAAAAAAAAAAAAA
- AABuUB4AVj8XARsTBQbGkDte2J5B9deeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//3+///26tn/3a5f/9igQ//htnD/8+LJ//z7+f/9/f7//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//38
- +v/159P/4rh0/9ifQ//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/8mT
- PPadcy9nIBcHBlE7FgFmShsAAAAAAAAAAAAAAAAAAAAAAH1bIgBrTh0BKB0JBcCMOkbYnkHu2J5B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii
- R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150+/9ef
- Qv/gs2v/8d/B//z6+P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//38+//05c7/4bdy/9efQv/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH/xZE78JduLU8rHwoFYEYaAW1QHgAAAAAAAAAAAAAA
- AAAAAAAAi1M4ALluSwASABEDsYI2LNedQN3Zn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9efQv/fsWf/8d6///z59v/9/f7//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//z7+P/z48r/37Nq/9eeQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- Qf/AjTnghGIoMhsGEgOPVToAckQuAAAAAAAAAAAAAAAAAAAAAAB/dAsAvasRAAARAAKacC4Y1ZxAwdmf
- Qf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9ed
- P//XnkD/155A/9eeQf/esGT/79m3//v49P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//z7+f/x4MP/37Np/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/1ZxA/7mHN8dwUiIbCh4AArGgEAB6bwoAAAAAAAAA
- AAAAAAAAAAAAAEZHAAAADwAATT8MAolkKQ7Smj+g2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9efQf/drV7/7tex//v3
- 8P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//z59v/w3sD/3a5g/9eeQf/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Smj//soI2qWhMIBBZSA8CABAAAEdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR4PACfZzcBRTAXBs+Y
- PnjZn0H92J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92u
- YP/XnT//155A/9eeQP/XnkD/155A/9eeQP/cq1n/69Gl//r28P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//v6
- 9v/v2rf/3q5h/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J9A/s6XPf2pfDOBOygVCIpZMAKVYzIAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAt25JAL9yTQEAAAAAyJI8TtieQezYn0H/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/bqVT/69Gl//r17P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//v48//u2LT/26lW/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/YnkH+yJI87590MFQAAAABlVk8AY5WOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADixB0A/+AeAAAA
- AADAjDkt151A0tmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq
- 2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/aqFP/6cuZ//n07P/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//v49P/s0qj/3KpY/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9edQP+/jDnXlGwsMgAAAADjyBsAy7AaAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcPx4AfU8rAqF1MBHVnD+r2Z9B/9ieQP7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/apU3/6cyb//nx5v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//r27v/s0af/2qVO/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/YnkD+1JtA/7eGNrF3VyQWdksoAlM5GwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdO
- GQCMdxUBAAAAAtGZPnTZn0H52J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+
- ///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//apEz/5sSL//ny
- 5//9/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f3+//v48v/py5r/2qdS/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ifQP7Olz76rX40fAAAAAONeBUBZU0ZAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXY3AMqKQQAtFhICyJM9PtieQejYnkH/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yokj/58eR//fv4f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//nz
- 6f/pyZf/2aNL/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5B/8aRO+ueczBGOSAVAq53OACZaDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACSghAAtrAHAAADAAGwgDYV1p1AutmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//Yokf/5L6B//ft3v/8/Pr//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//r17f/nxpH/2qVN/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/VnED/u4k4wIJfKBgbGAABop0GAId4
- DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+dEsAvWpTAXdSJgXSmj972Z9B/Nie
- QP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6
- +P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YoEX/5cGF//br2f/9/fz//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//jw4//mxIz/2KJH/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5B/s+YPv2xgjWDWz0cB6pgSQGkZEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAO+CbgD+iXYA//+JAMuUPTvYnkHf2J9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/YoET/4bh1//Xo1P/8+/n//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//ny6P/lwof/2aNJ/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/xZA746J3MUH//4YA8oJxAd55
- ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJMKACQVDgBtIM3Etad
- QKvZn0H/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KFH/+nJ
- l//8+vf//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YoET/4rp5//Tn
- 0P/9/Pv//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//bs3P/kvX//2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5A/tObP/+6iDiwiGMrFZpcOQFrRyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAnVxAALlxSAEAABMB0po/XtmfQfTYnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- Qf/Xn0L/159C/9efQv/Xn0L/159C/9efQv/Zo0n/6cqY//z6+P/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0L/37Jn//Lgxf/8+vf//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//fu
- 4P/kvX7/2KFG/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH+y5U99q6ANGUGABcCn2E+AY1T
- OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyiycAyJ0rAB4k
- AAHDjzse155BydmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2qZQ/+K5dv/kvoH/5L6A/+S+gP/kvoD/5L6A/+XA
- hf/v27r//Pv5//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Yn0L/4LNr//LgxP/8+/n//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//fz7//Tn0v/iuXb/2J9D/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9WdQP/AjTrNmXEuITk1AAGphSUAm3kiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKfU4AynRVAaNvNQPUmz922Z9B+tifQP7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- P//gtGz/9OjU//r38P/69u//+vbv//r27//69u//+vbw//v59f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0H/3a5g/+/auP/8+fT//f3+//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//fz8//Xo1P/iuHT/2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0D+zpc9+7OENn10UCYFv25PAbRw
- RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+B
- gwD/i5AA//91AMuWPSzYnkHS2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/150//+C2b//37uD//f7+//39/v/9/f7//f3+//39
- /v/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9ed
- P//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/Xn0H/3a9h/+/Ztv/7+fX//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pv6//LiyP/fs2v/159B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9adQP/EkDrWo3gxMf//ZAC2Wl0AqlVWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZaPQDLZWYBjmcpBdWcP37Zn0H62J9A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnT//4LZv//fu3//9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/3KtZ/+3U
- rf/69/D//f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//Pv5//Lhxv/fsmj/159C/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkD/z5g++7eGNoRoSx4GolBQAX9L
- MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAwXFRANB5VwBGAEQBzZc+KNieQdLZn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9edP//gtm//9+7f//39/v/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92u
- YP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/3KpZ/+zSqf/69vD//f3+//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pr3//Dd
- vf/er2P/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9adQP/FkDvVpnozLFoORQG3a00ArGRJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/mswA87wPAP/AWgDCjzUD1p1Ac9mf
- QfjYn0D+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/150//+C2b//37t///f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/26hT/+rPov/69Oz//f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39
- /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7//Pr2/+/bu//drV//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0D+z5g++bmIN3mMaSUE/+FqAPSv
- DgD/v/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAD//wAA//8AAP/+agDTmkEf2J5Bv9mfQf/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnT//4LZv//fu4P/9/v7//f3+//39
- /v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//v7///br
- 2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/26hU/+rMnf/59Or//f3+//39
- /v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39
- /v/9/f7/+/n1/+7Xs//drFz/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9WdQP/EkDvDrH00Iv//dwD//wAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGdVEA1YJTAF4h
- PQHVnEBW2Z9B7difQf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeP//gtW3/9erY//z59v/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z5
- 9f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+vf/9OfS/92tX//XnT//155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/2qVP/+nJlv/37+H//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z5
- 9f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX/+fPq/+zSqP/bp1P/154//9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+zZY97riHN1pbJTECtm9HAbBo
- SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+sVQD/3nIAwXpDAceROw3XnkGd2Z9B/tifQP7XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9upV//mxYz/6syb/+rM
- m//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rM
- nP/mw4n/2qZP/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2qVO/+O9
- f//pzJr/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rM
- m//qzJv/6syb/+rMm//qzJv/58WO/9yrW//Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/tObP//CjjqhnnIvD7RzPgHLh0UAwIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfK
- HgDu0xsA5aVJANKZPy7YnkHO2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155B/9igQ//YoET/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9ig
- Q//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBE/9ifQ//XnkH/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/159C/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9ig
- Q//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9igRP/YoET/159C/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnkD/yZM80bKCNjHVmkcA9tkcAOfK
- HgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaSNADwpkgBpXwvA9acP2HZn0Hy2J9B/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/2J5B/8+YPvO9iThliGQpBMuNPQG8ijEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAA6s8bAOXPFgD//wAAzZc8C9edQJPZn0H62J9B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9efQP7Tmz/7xJA7l6h9MQz//wAA5ccWAOrP
- GwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6pWAP+wWQD//0MA0Jg/JNif
- Qb/Zn0H/2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/YnkD+1p1A/8qUPcG0hDcn//9RAP+0WwD/qlYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAwIs2AMaKPABOQBEB151AP9mfQdrZn0H/2J5A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQf/Plz7cwIw5QlxRGwHWlEAAyJE4AAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP+7
- dgDXik8B151BW9mfQejZn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Yn0D/0Zo/6cSPO16dYz0C/+KKAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gIAA/3yEAP+6egDVmj8H2J5Ac9mfQfHYn0H+155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tSbP/LJkjx2sYA1CP/ikQD/fIQA/4CAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AADAgEAAxIVAAKJbQAHOlj4O2J5AitmfQfbYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9if
- QP7VnD/3ypQ9jbKAOA++bkkBwoRAAMGBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/gEAAxYRCAP///wDOmD4U2J9Bldmf
- QfrYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0H+155A+82XPZi3hzgW//9PAMeGQwC/gEAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAADSpiwA0qoqAMabGQDUmj8Z2J5BntmfQfrYn0H+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J9A/tee
- QPrRmT6gwo07GvrDIgDUrCoA1qktAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD/4CcA/+seAMN8
- TwDZnkEY2Z9BltmfQffYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9ieQP7XnkD30po/mMiTPBm6dUkA/+0eAP/gJwD//wAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3SsA//YVAPHUHgDVm0EU2Z5Bi9mfQfLZn0H/2J5A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0D/2J5A8tOa
- P4zGkD0V//8qAP/4FQD/4iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
- AAB+AIEAyZQ3AP//SADUmkAO2Z9BdNmfQejZn0H/2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+2J5B/9edQOnTmj91xo88D///KgDKlTcAfgCBAP//AAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6ekAAv4FAAJ5YPwHJlj4G2Z5BXNmf
- QdvZn0H/2J9B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/159A/tifQf/YnkHb1Js/XbiI
- NwepYUMBwoNAAL19QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAC/gEAAv4BAALdxQQHXnEED2J9BQNmfQcHZn0H72J9B/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9ifQf/Zn0H72J9BwdSdQEHPlz0DvXVEAb+AQAC/gEAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qlUA/6pVAP+t
- WQDBjC4A2Z5BJdmfQZTZn0Hy2Z9B/9ifQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Yn0H/2Z9B8tmfQZTXnUAlqHoqAP+v
- WQD/q1UA/6tVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAOCaRQAIAEwA155AC9ieQWLZn0HQ2Z9B/dif
- Qf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/Yn0H+2Z9B/dmfQdDYnkFi155ACwoAUwDinEUA//8AAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAA/6tWAP+sVgD/k2MAx4tCA9ieQS/YnkGg2Z9B7tmfQf/Yn0D+155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+2J9B/9mfQe7YnkGg2J5BL8eLQgP/k2MA/6xWAP+r
- VgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAypc1APXnDwC4eD4Bn1w2ANab
- Qg/Zn0FZ2Z9BxNmfQfjZn0H/2J5B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+2J9B/9mf
- QfjZn0HE2Z9BWdabQg+fXDYAuHg+AfXnDwDKlzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaVMQDjzRMAxopOAeGlUAHZoEEh2J5Bd9mfQdXZn0H72Z9B/9if
- QP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+2J9B/9mfQfvZn0HV2Z9BdtmgQSHhpVABxopOAePNEwDGlTEAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+q
- VQD/q1gA7dAbAYdJLQDbnUUE2J9CKtmfQYLZn0HV2Z9B+tmfQf/Yn0D/155A/teeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7YnkD/2J9B/9ifQfrZn0HV2Z9Bg9if
- QirgoEYEh0ktAO3QGwH/q1gA/6pVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/f4EA/3+BAP+fcgEMAIwA1pxIBNme
- Qi7Zn0F72Z9BztmfQffZn0H/2J9B/tieQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie
- QP7Yn0D+2J9B/9mfQffZn0HO2Z9Be9qfQi7ZlkMFAgCRAP+ecgH/f4EA/3+BAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAD/gIAA/4CqANp/XADzpFQB/9emAN6gQQTZn0Ae2Z9CY9mfQbDZn0Hj2Z9B/dif
- Qf/YnkH/2J5A/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD+2J5A/9ieQf/Yn0H/2Z9B/dmfQePZn0Gw2Z9CY9mfQB7eoEEE/+ezAPOm
- VQHaf1wA/4CqAP+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+
- hAD/foQA/6BzAY5EQwC6cUYB2Z9DEtmfQT7Zn0GB2Z9Bv9mfQezZn0H62Z9B/9ifQf/Yn0H+155A/tee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee
- QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7YnkD+2J5B/9ifQf/Zn0H62Z9B7Nmf
- Qb/Zn0GB2Z9BPtmfQxK6cUYBjkRDAP+gcwH/foQA/36EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA0KMtAN+pPwD/uGIAAAAAAOGi
- SATbnkMV2aBBQtmfQXnZn0Gx2Z9B1tmfQfDZn0H+2Z9B/9mfQf/YnkH/2J5A/9eeQP/YnkD+155A/tee
- QP7XnkD+155A/teeQP7XnkD+155A/teeQP7XnkD+155A/teeQP7XnkD+155A/teeQP/XnkD/2J5B/9if
- Qf/Zn0H/2Z9B/tmfQfDZn0HW2Z9BsdmfQXnZoEFC255DFeGiSAQAAAAA/7hiAN+pPwDQoy0A//8AAP//
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+ZbAD/iHsA/6BoAbohkgCBMUIA3aFBAdmeQBHYnkEt2Z9AUtqf
- QX/Zn0Gm2Z9ByNmfQePZn0Hx2Z9B9tmfQfrZn0H+2Z9B/9ieQf/YnkH/2J5B/9ieQf/YnkH/2J5B/9ie
- Qf/YnkH/2Z9B/9mfQf7Zn0H62Z9B9tmfQfHZn0Hj2Z9ByNmfQabZn0F+2Z9AUtieQS3ZnkAR3aFBAYEx
- QgC6IZIA/6BoAf+IewD/mWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AADSgFMA635uANaMSgD/jXgB7qBwAQAAIAD//2kA46NHBNueRAvYn0MW2Z9CLtmfQEnZn0Fj2Z9Bedie
- QYzZn0Ge2Z9BrNmfQbbZn0G82Z9Bv9mfQb/Zn0G82Z9BttmfQazZn0Ge2J5BjNmfQXnZn0Fj2Z9ASdmf
- Qi7Yn0MW255EC+GkSgP///8AAAAbAO6gcAH/jXgB1oxKAOt+bgDSgFMAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/p1oA/94hAP+Z
- awH/rGAB/2SnAP/B6gC9f2oAqngnAcCcGgDRpzoA0ao7AdudPwfZnD8M2KBBEdmgQxTaoEIX2qBCF9mg
- QxTYoEER2Zw/DNudPwfRqjsB0ac6AMCcGgCqeCcBvX9qAP/B6gD/Y6YA/6xgAf+ZagH/3iEA/6daAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA/6NgAOOUUADLkzkB951ZAP/P
- MQD/mW4B9qlcAbJxQwGhWz8Bj0U8AX0yOgF9MjoBj0U8AaFbPwGycUMB9qlcAf+ZbgH/zzEA951ZAMuT
- OQHjlFAA/6NgAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////4AAAB///////////////+AAAAAAf/////////////+AAAAAA
- B/////////////8AAAAAAAD////////////8AAAAAAAAP///////////4AAAAAAAAAf//////////8AA
- AAAAAAAD//////////8AAAAAAAAAAP/////////+AAAAAAAAAAB/////////+AAAAAAAAAAAH///////
- //AAAAAAAAAAAA/////////AAAAAAAAAAAAD////////wAAAAAAAAAAAA////////wAAAAAAAAAAAAD/
- //////4AAAAAAAAAAAAAf//////8AAAAAAAAAAAAAD//////+AAAAAAAAAAAAAAf//////AAAAAAAAAA
- AAAAD//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAAf////8AAAAA
- AAAAAAAAAAD////+AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////gAAAAAAAAAAAAAAAAf///4
- AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
- B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAA
- AAAAAAH//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAA
- AAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/gA
- AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA
- AB/wAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
- AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAA
- AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAA8AA
- AAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
- AAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAA
- AAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
- AAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AA
- AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAA
- AAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAA
- AAAAAAAP8AAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
- AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAv/4A
- AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAA
- AP//QAAAAAAAAAAAAAAAAAL//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAA
- AAAAAAP//9AAAAAAAAAAAAAAAAAL///gAAAAAAAAAAAAAAAAB///4AAAAAAAAAAAAAAAAAf///QAAAAA
- AAAAAAAAAAAv///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////0AAAAAAAAAAAAAAAC////+
- AAAAAAAAAAAAAAAAf////gAAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAB
- /////9AAAAAAAAAAAAAAC//////gAAAAAAAAAAAAAAf/////9AAAAAAAAAAAAAAv//////gAAAAAAAAA
- AAAAH//////9AAAAAAAAAAAAAL///////gAAAAAAAAAAAAB///////8AAAAAAAAAAAAA////////gAAA
- AAAAAAAAAf///////8AAAAAAAAAAAAP////////wAAAAAAAAAAAP////////+AAAAAAAAAAAH///////
- //4AAAAAAAAAAH//////////AAAAAAAAAAD//////////8AAAAAAAAAD///////////gAAAAAAAAB///
- /////////AAAAAAAAD////////////4QAAAAAAh/////////////4AAAAAAH//////////////gAAAAA
- H///////////////gEACAf////////////////AAAA//////////////////////////////////////
- //////////////////////////////////8=
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs
similarity index 59%
rename from v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs
rename to v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs
index f14d46e4..ba25fdee 100644
--- a/v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs
+++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs
@@ -1,6 +1,6 @@
namespace v2rayN.Forms
{
- partial class AddServer6Form
+ partial class GlobalHotkeySettingForm
{
///
/// Required designer variable.
@@ -28,25 +28,24 @@
///
private void InitializeComponent()
{
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer6Form));
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GlobalHotkeySettingForm));
this.btnClose = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.label4 = new System.Windows.Forms.Label();
- this.txtRequestHost = new System.Windows.Forms.TextBox();
- this.label13 = new System.Windows.Forms.Label();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.txtId = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.txtAddress = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
+ this.btnReset = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
- this.groupBox1.SuspendLayout();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.txtGlobalHotkey3 = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtGlobalHotkey2 = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.txtGlobalHotkey1 = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.txtGlobalHotkey0 = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
this.panel2.SuspendLayout();
+ this.panel1.SuspendLayout();
this.SuspendLayout();
//
// btnClose
@@ -57,85 +56,21 @@
this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.txtRequestHost);
- this.groupBox1.Controls.Add(this.label13);
- this.groupBox1.Controls.Add(this.txtRemarks);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.txtId);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.txtPort);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txtAddress);
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // txtRequestHost
- //
- resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
- this.txtRequestHost.Name = "txtRequestHost";
- //
- // label13
- //
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // txtId
- //
- resources.ApplyResources(this.txtId, "txtId");
- this.txtId.Name = "txtId";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
// panel2
//
resources.ApplyResources(this.panel2, "panel2");
+ this.panel2.Controls.Add(this.btnReset);
this.panel2.Controls.Add(this.btnClose);
this.panel2.Controls.Add(this.btnOK);
this.panel2.Name = "panel2";
//
+ // btnReset
+ //
+ resources.ApplyResources(this.btnReset, "btnReset");
+ this.btnReset.Name = "btnReset";
+ this.btnReset.UseVisualStyleBackColor = true;
+ this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
+ //
// btnOK
//
resources.ApplyResources(this.btnOK, "btnOK");
@@ -146,44 +81,106 @@
// panel1
//
resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Controls.Add(this.label6);
+ this.panel1.Controls.Add(this.label5);
+ this.panel1.Controls.Add(this.txtGlobalHotkey3);
+ this.panel1.Controls.Add(this.label4);
+ this.panel1.Controls.Add(this.txtGlobalHotkey2);
+ this.panel1.Controls.Add(this.label3);
+ this.panel1.Controls.Add(this.txtGlobalHotkey1);
+ this.panel1.Controls.Add(this.label1);
+ this.panel1.Controls.Add(this.txtGlobalHotkey0);
+ this.panel1.Controls.Add(this.label2);
this.panel1.Name = "panel1";
//
- // AddServer6Form
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.ForeColor = System.Drawing.Color.Red;
+ this.label6.Name = "label6";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.ForeColor = System.Drawing.Color.Red;
+ this.label5.Name = "label5";
+ //
+ // txtGlobalHotkey3
+ //
+ resources.ApplyResources(this.txtGlobalHotkey3, "txtGlobalHotkey3");
+ this.txtGlobalHotkey3.Name = "txtGlobalHotkey3";
+ this.txtGlobalHotkey3.ReadOnly = true;
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // txtGlobalHotkey2
+ //
+ resources.ApplyResources(this.txtGlobalHotkey2, "txtGlobalHotkey2");
+ this.txtGlobalHotkey2.Name = "txtGlobalHotkey2";
+ this.txtGlobalHotkey2.ReadOnly = true;
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // txtGlobalHotkey1
+ //
+ resources.ApplyResources(this.txtGlobalHotkey1, "txtGlobalHotkey1");
+ this.txtGlobalHotkey1.Name = "txtGlobalHotkey1";
+ this.txtGlobalHotkey1.ReadOnly = true;
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // txtGlobalHotkey0
+ //
+ resources.ApplyResources(this.txtGlobalHotkey0, "txtGlobalHotkey0");
+ this.txtGlobalHotkey0.Name = "txtGlobalHotkey0";
+ this.txtGlobalHotkey0.ReadOnly = true;
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // GlobalHotkeySettingForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
+ this.Controls.Add(this.panel2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.MinimizeBox = true;
- this.Name = "AddServer6Form";
- this.Load += new System.EventHandler(this.AddServer6Form_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
+ this.Name = "GlobalHotkeySettingForm";
+ this.Load += new System.EventHandler(this.GlobalHotkeySettingForm_Load);
this.panel2.ResumeLayout(false);
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.TextBox txtId;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtPort;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtAddress;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Label label13;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.TextBox txtGlobalHotkey0;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtGlobalHotkey3;
private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txtRequestHost;
+ private System.Windows.Forms.TextBox txtGlobalHotkey2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox txtGlobalHotkey1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Button btnReset;
+ private System.Windows.Forms.Label label6;
}
}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs
new file mode 100644
index 00000000..0bf81688
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs
@@ -0,0 +1,139 @@
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+using v2rayN.Base;
+using v2rayN.Handler;
+using v2rayN.Mode;
+using v2rayN.Resx;
+
+namespace v2rayN.Forms
+{
+ public partial class GlobalHotkeySettingForm : BaseForm
+ {
+ List lstKey;
+ public GlobalHotkeySettingForm()
+ {
+ InitializeComponent();
+ }
+
+ private void GlobalHotkeySettingForm_Load(object sender, EventArgs e)
+ {
+ if (config.globalHotkeys == null)
+ {
+ config.globalHotkeys = new List();
+ }
+
+ foreach (EGlobalHotkey it in Enum.GetValues(typeof(EGlobalHotkey)))
+ {
+ if (config.globalHotkeys.FindIndex(t => t.eGlobalHotkey == it) >= 0)
+ {
+ continue;
+ }
+
+ config.globalHotkeys.Add(new KeyEventItem()
+ {
+ eGlobalHotkey = it,
+ Alt = false,
+ Control = false,
+ Shift = false,
+ KeyCode = null
+ });
+ }
+
+ lstKey = Utils.DeepCopy(config.globalHotkeys);
+
+ txtGlobalHotkey0.KeyDown += TxtGlobalHotkey_KeyDown;
+ txtGlobalHotkey1.KeyDown += TxtGlobalHotkey_KeyDown;
+ txtGlobalHotkey2.KeyDown += TxtGlobalHotkey_KeyDown;
+ txtGlobalHotkey3.KeyDown += TxtGlobalHotkey_KeyDown;
+
+ BindingData(-1);
+ }
+
+ private void TxtGlobalHotkey_KeyDown(object sender, KeyEventArgs e)
+ {
+ var txt = ((TextBox)sender);
+ var index = Utils.ToInt(txt.Name.Substring(txt.Name.Length - 1, 1));
+
+ lstKey[index].KeyCode = e.KeyCode;
+ lstKey[index].Alt = e.Alt;
+ lstKey[index].Control = e.Control;
+ lstKey[index].Shift = e.Shift;
+
+ BindingData(index);
+ }
+
+ private void BindingData(int index)
+ {
+ for (int k = 0; k < lstKey.Count; k++)
+ {
+ if (index >= 0 && index != k)
+ {
+ continue;
+ }
+ var item = lstKey[k];
+ var keys = string.Empty;
+
+ if (item.Control)
+ {
+ keys += $"{Keys.Control.ToString()} + ";
+ }
+ if (item.Alt)
+ {
+ keys += $"{Keys.Alt.ToString()} + ";
+ }
+ if (item.Shift)
+ {
+ keys += $"{Keys.Shift.ToString()} + ";
+ }
+ if (item.KeyCode != null)
+ {
+ keys += $"{item.KeyCode.ToString()}";
+ }
+
+ panel1.Controls[$"txtGlobalHotkey{k}"].Text = keys;
+ }
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ config.globalHotkeys = lstKey;
+
+ if (ConfigHandler.SaveConfig(ref config, false) == 0)
+ {
+ DialogResult = DialogResult.OK;
+ }
+ else
+ {
+ UI.ShowWarning(ResUI.OperationFailed);
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ DialogResult = DialogResult.Cancel;
+ }
+
+ private void btnReset_Click(object sender, EventArgs e)
+ {
+ lstKey.Clear();
+ foreach (EGlobalHotkey it in Enum.GetValues(typeof(EGlobalHotkey)))
+ {
+ if (lstKey.FindIndex(t => t.eGlobalHotkey == it) >= 0)
+ {
+ continue;
+ }
+
+ lstKey.Add(new KeyEventItem()
+ {
+ eGlobalHotkey = it,
+ Alt = false,
+ Control = false,
+ Shift = false,
+ KeyCode = null
+ });
+ }
+ BindingData(-1);
+ }
+ }
+}
diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.resx b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx
similarity index 72%
rename from v2rayN/v2rayN/Forms/AddServer6Form.resx
rename to v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx
index 6d3c8975..62c49a4f 100644
--- a/v2rayN/v2rayN/Forms/AddServer6Form.resx
+++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx
@@ -117,410 +117,407 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox1
-
- Server address
+ Clear system proxy
-
-
- 3
+
+
+ NoControl
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
Bottom
-
- NoControl
+
+ 1
-
- txtPort
+
+
+ 75, 23
-
+
+ panel2
+
+
+ panel1
+
+
+ &Reset
+
+
+
True
-
- Alias (remarks)
+
+ 0
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ NoControl
+
btnOK
-
- txtRemarks
-
-
-
- 194, 21
+
+ panel2
System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 5
+
- AddServer6Form
+ GlobalHotkeySettingForm
label1
-
- 359, 21
+
+ 189, 138
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 34
-
- groupBox1
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 37
panel2
- 12, 155
+ 18, 215
-
- Fill
+
+ 6
- 53, 12
+ 101, 12
-
- 127, 123
+
+ 8
-
- 194, 21
+
+ 75, 23
-
- groupBox1
+
+ NoControl
-
- 6, 12
+
+ NoControl
-
- 396, 17
+
+ Take effect after restart
-
- True
+
+ 278, 21
-
- label3
-
-
- 127, 154
-
-
- True
+
+ 189, 18
- 6
+ 11
7
- groupBox1
-
-
- 113, 12
+ panel1
- 12, 93
+ 18, 103
-
- 10
+
+ 18, 190
-
- Server
+
+ panel1
-
- 3
+
+ 278, 21
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 0
-
-
- txtRequestHost
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- 547, 60
+ 527, 60
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 113, 12
-
- groupBox1
+
+ 32
-
- 359, 21
-
-
- Edit or add a [Trojan] server
-
-
- 359, 21
+
+ txtGlobalHotkey2
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- *
+
+ label5
-
- groupBox1
+
+ 527, 242
-
- * Fill in manually
+
+ 211, 17
-
- 11
+
+ 9
- 10
+ 40
71, 12
-
- 24
+
+ panel1
-
- label4
-
-
- txtId
-
-
- 303, 17
-
-
- $this
+
+ panel1
75, 23
+
+ 1
+
+
+ panel1
+
+
+ 18, 22
+
+
+ label4
+
+
+ txtGlobalHotkey1
+
+
+ 33
+
+
+ Do not change system proxy
+
+
+ Set system proxy
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ NoControl
+
+
+ txtGlobalHotkey0
+
+
+ 39
+
btnClose
-
- Host(SNI)
+
+ 303, 17
-
- label6
+
+ 0, 242
-
- 5
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Password
-
-
- 75, 23
-
-
- 1
-
-
- txtAddress
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- groupBox1
+ panel1
- Top
+ Fill
-
- 0, 10
-
-
- 4
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 547, 221
-
-
- 2
-
-
- groupBox1
-
-
- 4
-
-
+
3
-
- 127, 27
+
+ btnReset
-
- 5
+
+ 6, 12
-
- groupBox1
+
+ 6
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 189, 58
-
- 23
+
+ 0
-
- 127, 59
+
+ 7
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ panel1
+
+
+ NoControl
+
+
+ 36
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ 31
+
+
+ NoControl
+
+
+ True
+
+
+ 278, 21
True
+
+ NoControl
+
+
+ 189, 99
+
+
+ label2
+
+
+ label3
+
True
-
- 89, 12
+
+ Set directly by pressing the keyboard
-
- groupBox1
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
0
-
- 547, 10
-
-
- 8
-
&Cancel
- 12, 31
+ 18, 62
&OK
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 0
+ 1
- Server port
+ Display GUI
- 4
+ 35
-
- 337, 158
+
+ NoControl
-
+
True
-
- 12, 62
-
-
- 127, 91
+
+ panel1
- 12, 126
+ 18, 142
-
- 7
+
+ 2
$this
- 59, 12
+ 161, 12
-
- 1
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox1
+
+ 227, 12
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
0, 0
-
- 1
-
-
- label13
-
-
- 5
-
-
- 95, 12
-
-
- label2
-
-
- 2
-
-
+
panel2
-
- 0, 231
+
+ 4
-
- 22
+
+ 155, 12
-
- 9
+
+ GlobalHotkey Setting
+
+
+ 2
+
+
+ 5
- 547, 291
+ 527, 302
-
- 0
+
+ 4
-
- v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+ 38
-
- groupBox1
+
+ txtGlobalHotkey3
+
+
+ 278, 21
$this
-
- 6
+
+ 396, 17
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 1
+
+ label6
-
- panel2
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel1
@@ -528,10 +525,13 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 2
+
+ panel1
True
+
+ 25
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx
similarity index 91%
rename from v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx
rename to v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx
index 375c223d..06a7a69c 100644
--- a/v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx
@@ -120,44 +120,47 @@
取消(&C)
-
- 服务器
+
+ 重置(&R)
-
- 域名(SNI)
-
-
- *手填,方便识别管理
+
+ 确定(&O)
- 83, 12
+ 65, 12
- 别名(remarks)
+ 重启后生效
-
- 29, 12
+
+ 113, 12
+
+
+ 直接按键盘进行设置
+
+
+ 89, 12
+
+
+ 不改变系统代理
- 密码
+ 自动配置系统代理
+
+
+ 77, 12
+
+
+ 清除系统代理
65, 12
- 服务器端口
-
-
- 65, 12
-
-
- 服务器地址
-
-
- 确定(&O)
+ 显示主界面
- 编辑或添加[Trojan]服务器
+ 全局热键设置
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs b/v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs
new file mode 100644
index 00000000..9dfcc635
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs
@@ -0,0 +1,105 @@
+namespace v2rayN.Forms
+{
+ partial class GroupSettingControl
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupSettingControl));
+ this.grbMain = new System.Windows.Forms.GroupBox();
+ this.btnRemove = new System.Windows.Forms.Button();
+ this.txtRemarks = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.numSort = new System.Windows.Forms.NumericUpDown();
+ this.label1 = new System.Windows.Forms.Label();
+ this.grbMain.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numSort)).BeginInit();
+ this.SuspendLayout();
+ //
+ // grbMain
+ //
+ this.grbMain.Controls.Add(this.label1);
+ this.grbMain.Controls.Add(this.numSort);
+ this.grbMain.Controls.Add(this.btnRemove);
+ this.grbMain.Controls.Add(this.txtRemarks);
+ this.grbMain.Controls.Add(this.label2);
+ resources.ApplyResources(this.grbMain, "grbMain");
+ this.grbMain.Name = "grbMain";
+ this.grbMain.TabStop = false;
+ //
+ // btnRemove
+ //
+ resources.ApplyResources(this.btnRemove, "btnRemove");
+ this.btnRemove.Name = "btnRemove";
+ this.btnRemove.UseVisualStyleBackColor = true;
+ this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
+ //
+ // txtRemarks
+ //
+ resources.ApplyResources(this.txtRemarks, "txtRemarks");
+ this.txtRemarks.Name = "txtRemarks";
+ this.txtRemarks.Leave += new System.EventHandler(this.txtRemarks_Leave);
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // numSort
+ //
+ resources.ApplyResources(this.numSort, "numSort");
+ this.numSort.Name = "numSort";
+ this.numSort.Leave += new System.EventHandler(this.txtRemarks_Leave);
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // GroupSettingControl
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.grbMain);
+ this.Name = "GroupSettingControl";
+ this.Load += new System.EventHandler(this.GroupSettingControl_Load);
+ this.grbMain.ResumeLayout(false);
+ this.grbMain.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numSort)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox grbMain;
+ private System.Windows.Forms.TextBox txtRemarks;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button btnRemove;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.NumericUpDown numSort;
+ }
+}
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.cs b/v2rayN/v2rayN/Forms/GroupSettingControl.cs
new file mode 100644
index 00000000..07abc73d
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GroupSettingControl.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Windows.Forms;
+using v2rayN.Base;
+using v2rayN.Handler;
+using v2rayN.Mode;
+
+namespace v2rayN.Forms
+{
+ public partial class GroupSettingControl : UserControl
+ {
+ public event ChangeEventHandler OnButtonClicked;
+
+
+ public GroupItem groupItem
+ {
+ get; set;
+ }
+
+ public GroupSettingControl()
+ {
+ InitializeComponent();
+ }
+
+ private void GroupSettingControl_Load(object sender, EventArgs e)
+ {
+ Height = grbMain.Height;
+ BindingSub();
+ }
+
+ private void BindingSub()
+ {
+ if (groupItem != null)
+ {
+ txtRemarks.Text = groupItem.remarks.ToString();
+ numSort.Value = groupItem.sort;
+ }
+ }
+ private void EndBindingSub()
+ {
+ if (groupItem != null)
+ {
+ groupItem.remarks = txtRemarks.Text.TrimEx();
+ groupItem.sort = Convert.ToInt32(numSort.Value);
+ }
+ }
+ private void txtRemarks_Leave(object sender, EventArgs e)
+ {
+ EndBindingSub();
+ }
+
+ private void btnRemove_Click(object sender, EventArgs e)
+ {
+ if (groupItem != null)
+ {
+ groupItem.remarks = string.Empty;
+ }
+
+ OnButtonClicked?.Invoke(sender, e);
+ }
+ }
+}
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.resx b/v2rayN/v2rayN/Forms/GroupSettingControl.resx
new file mode 100644
index 00000000..75f7057e
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GroupSettingControl.resx
@@ -0,0 +1,294 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ True
+
+
+
+ NoControl
+
+
+
+ 12, 61
+
+
+ 71, 12
+
+
+ 26
+
+
+ Sort number
+
+
+ label1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grbMain
+
+
+ 0
+
+
+ 127, 57
+
+
+ 120, 21
+
+
+ 25
+
+
+ numSort
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grbMain
+
+
+ 1
+
+
+ NoControl
+
+
+ 525, 21
+
+
+ 75, 23
+
+
+ 24
+
+
+ Remove
+
+
+ btnRemove
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grbMain
+
+
+ 2
+
+
+ 127, 21
+
+
+ 292, 21
+
+
+ 1
+
+
+ txtRemarks
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grbMain
+
+
+ 3
+
+
+ True
+
+
+ NoControl
+
+
+ 12, 25
+
+
+ 47, 12
+
+
+ 10
+
+
+ Remarks
+
+
+ label2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grbMain
+
+
+ 4
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 619, 91
+
+
+ 10
+
+
+ Group details
+
+
+ grbMain
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ True
+
+
+ 6, 12
+
+
+ 619, 91
+
+
+ GroupSettingControl
+
+
+ System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer3Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/GroupSettingControl.zh-Hans.resx
similarity index 78%
rename from v2rayN/v2rayN/Forms/AddServer3Form.zh-Hans.resx
rename to v2rayN/v2rayN/Forms/GroupSettingControl.zh-Hans.resx
index e2cbcede..34dd0092 100644
--- a/v2rayN/v2rayN/Forms/AddServer3Form.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/GroupSettingControl.zh-Hans.resx
@@ -117,62 +117,20 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 取消(&C)
-
-
- 服务器
-
-
- *手填,方便识别管理
+
+ 移除
-
- 83, 12
-
-
- 别名(remarks)
-
-
- 53, 12
-
-
- 加密方式
-
-
+
29, 12
-
- 密码
-
-
- 65, 12
-
- 服务器端口
+ 备注
-
- 65, 12
+
+ 分组详情
- 服务器地址
-
-
- 确定(&O)
-
-
- 92, 21
-
-
- 导入配置文件
-
-
- 171, 22
-
-
- 从剪贴板导入URL
-
-
- 编辑或添加[Shadowsocks]服务器
+ 排序编号
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/GroupSettingForm.Designer.cs
new file mode 100644
index 00000000..1eedb2ee
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GroupSettingForm.Designer.cs
@@ -0,0 +1,97 @@
+namespace v2rayN.Forms
+{
+ partial class GroupSettingForm
+ {
+ ///
+ /// 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()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupSettingForm));
+ this.btnClose = new System.Windows.Forms.Button();
+ this.panCon = new System.Windows.Forms.Panel();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.btnAdd = new System.Windows.Forms.Button();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.panel2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // btnClose
+ //
+ this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.btnClose, "btnClose");
+ this.btnClose.Name = "btnClose";
+ this.btnClose.UseVisualStyleBackColor = true;
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+ //
+ // panCon
+ //
+ resources.ApplyResources(this.panCon, "panCon");
+ this.panCon.Name = "panCon";
+ //
+ // panel2
+ //
+ this.panel2.Controls.Add(this.btnAdd);
+ this.panel2.Controls.Add(this.btnClose);
+ this.panel2.Controls.Add(this.btnOK);
+ resources.ApplyResources(this.panel2, "panel2");
+ this.panel2.Name = "panel2";
+ //
+ // btnAdd
+ //
+ resources.ApplyResources(this.btnAdd, "btnAdd");
+ this.btnAdd.Name = "btnAdd";
+ this.btnAdd.UseVisualStyleBackColor = true;
+ this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
+ //
+ // btnOK
+ //
+ resources.ApplyResources(this.btnOK, "btnOK");
+ this.btnOK.Name = "btnOK";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // GroupSettingForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.CancelButton = this.btnClose;
+ this.Controls.Add(this.panCon);
+ this.Controls.Add(this.panel2);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Name = "GroupSettingForm";
+ this.Load += new System.EventHandler(this.GroupSettingForm_Load);
+ this.panel2.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.Button btnAdd;
+ private System.Windows.Forms.Panel panCon;
+ }
+}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.cs b/v2rayN/v2rayN/Forms/GroupSettingForm.cs
new file mode 100644
index 00000000..77860153
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GroupSettingForm.cs
@@ -0,0 +1,104 @@
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+using v2rayN.Handler;
+using v2rayN.Mode;
+using v2rayN.Resx;
+
+namespace v2rayN.Forms
+{
+ public partial class GroupSettingForm : BaseForm
+ {
+ List lstControls = new List();
+
+ public GroupSettingForm()
+ {
+ InitializeComponent();
+ }
+
+ private void GroupSettingForm_Load(object sender, EventArgs e)
+ {
+ if (config.groupItem == null)
+ {
+ config.groupItem = new List();
+ }
+
+ RefreshGroupsView();
+ }
+
+ ///
+ /// 刷新列表
+ ///
+ private void RefreshGroupsView()
+ {
+ panCon.Controls.Clear();
+ lstControls.Clear();
+
+ for (int k = config.groupItem.Count - 1; k >= 0; k--)
+ {
+ GroupItem item = config.groupItem[k];
+ if (Utils.IsNullOrEmpty(item.remarks))
+ {
+ if (!Utils.IsNullOrEmpty(item.id))
+ {
+ ConfigHandler.RemoveGroupItem(ref config, item.id);
+ }
+ config.groupItem.RemoveAt(k);
+ }
+ }
+
+ foreach (GroupItem item in config.groupItem)
+ {
+ GroupSettingControl control = new GroupSettingControl();
+ control.OnButtonClicked += Control_OnButtonClicked;
+ control.groupItem = item;
+ control.Dock = DockStyle.Top;
+
+ panCon.Controls.Add(control);
+ panCon.Controls.SetChildIndex(control, 0);
+
+ lstControls.Add(control);
+ }
+ }
+
+ private void Control_OnButtonClicked(object sender, EventArgs e)
+ {
+ RefreshGroupsView();
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ if (ConfigHandler.SaveGroupItem(ref config) == 0)
+ {
+ DialogResult = DialogResult.OK;
+ }
+ else
+ {
+ UI.ShowWarning(ResUI.OperationFailed);
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ DialogResult = DialogResult.Cancel;
+ }
+
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ AddGroup();
+
+ RefreshGroupsView();
+ }
+
+
+ private void AddGroup()
+ {
+ GroupItem groupItem = new GroupItem
+ {
+ id = string.Empty,
+ remarks = "Group"
+ };
+ config.groupItem.Add(groupItem);
+ }
+ }
+}
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.resx b/v2rayN/v2rayN/Forms/GroupSettingForm.resx
new file mode 100644
index 00000000..043f3152
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/GroupSettingForm.resx
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ NoControl
+
+
+
+ 448, 17
+
+
+ 75, 23
+
+
+
+ 4
+
+
+ &Cancel
+
+
+ btnClose
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 1
+
+
+ True
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 614, 351
+
+
+ 10
+
+
+ panCon
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ NoControl
+
+
+ 47, 17
+
+
+ 75, 23
+
+
+ 6
+
+
+ &Add
+
+
+ btnAdd
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 0
+
+
+ NoControl
+
+
+ 355, 17
+
+
+ 75, 23
+
+
+ 5
+
+
+ &OK
+
+
+ btnOK
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 2
+
+
+ Bottom
+
+
+ 0, 351
+
+
+ 614, 60
+
+
+ 7
+
+
+ panel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ True
+
+
+ 6, 12
+
+
+ 614, 411
+
+
+ Group settings
+
+
+ GroupSettingForm
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/QRCodeForm.resx b/v2rayN/v2rayN/Forms/GroupSettingForm.zh-Hans.resx
similarity index 93%
rename from v2rayN/v2rayN/Forms/QRCodeForm.resx
rename to v2rayN/v2rayN/Forms/GroupSettingForm.zh-Hans.resx
index 1af7de15..0d4dba82 100644
--- a/v2rayN/v2rayN/Forms/QRCodeForm.resx
+++ b/v2rayN/v2rayN/Forms/GroupSettingForm.zh-Hans.resx
@@ -117,4 +117,16 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 取消(&C)
+
+
+ 添加(&A)
+
+
+ 确定(&O)
+
+
+ 服务器分组设置
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
index 86a73954..6a76630c 100644
--- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
@@ -30,7 +30,7 @@
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
- this.scMain = new System.Windows.Forms.SplitContainer();
+ this.scServers = new System.Windows.Forms.SplitContainer();
this.lvServers = new v2rayN.Base.ListViewFlickerFree();
this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem();
@@ -46,7 +46,10 @@
this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuServerFilter = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+ this.menuMoveToGroup = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuMoveEvent = new System.Windows.Forms.ToolStripMenuItem();
this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem();
this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem();
this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem();
@@ -57,65 +60,63 @@
this.menuTcpingServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuRealPingServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuSpeedServer = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuSortServerResult = new System.Windows.Forms.ToolStripMenuItem();
this.tsbTestMe = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuClearServerStatistics = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.menuExport2ClientConfig = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
- this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
+ this.tabGroup = new System.Windows.Forms.TabControl();
+ this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
+ this.scBig = new System.Windows.Forms.SplitContainer();
+ this.gbServers = new System.Windows.Forms.GroupBox();
+ this.mainMsgControl = new v2rayN.Forms.MainMsgControl();
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
- this.menuNotEnabledHttp = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuKeepClear = new System.Windows.Forms.ToolStripMenuItem();
this.menuGlobal = new System.Windows.Forms.ToolStripMenuItem();
- this.menuGlobalPAC = new System.Windows.Forms.ToolStripMenuItem();
- this.menuKeep = new System.Windows.Forms.ToolStripMenuItem();
- this.menuKeepPAC = new System.Windows.Forms.ToolStripMenuItem();
this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem();
- this.menuKeepPACNothing = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuRoutings = new System.Windows.Forms.ToolStripMenuItem();
this.menuServers = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem();
this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem();
- this.menuCopyPACUrl = new System.Windows.Forms.ToolStripMenuItem();
this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuUpdateSubViaProxy = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.menuExit = new System.Windows.Forms.ToolStripMenuItem();
- this.bgwScan = new System.ComponentModel.BackgroundWorker();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.txtMsgBox = new System.Windows.Forms.TextBox();
- this.ssMain = new System.Windows.Forms.StatusStrip();
- this.toolSslSocksPortLab = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslSocksPort = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslHttpPortLab = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslHttpPort = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.tsMain = new System.Windows.Forms.ToolStrip();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton();
this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsbSubUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem();
this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbOptionSetting = new System.Windows.Forms.ToolStripButton();
+ this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
+ this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsbGlobalHotkeySetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsbGroupSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
+ this.tsbBackupGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.tsbReload = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
this.tsbCheckUpdate = new System.Windows.Forms.ToolStripDropDownButton();
this.tsbCheckUpdateN = new System.Windows.Forms.ToolStripMenuItem();
this.tsbCheckUpdateCore = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbCheckUpdatePACList = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbCheckClearPACList = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsbCheckUpdateXrayCore = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator();
+ this.tsbCheckUpdateClashCore = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsbCheckUpdateClashMetaCore = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator();
+ this.tsbCheckUpdateGeo = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
this.tsbHelp = new System.Windows.Forms.ToolStripDropDownButton();
this.tsbAbout = new System.Windows.Forms.ToolStripMenuItem();
@@ -126,39 +127,40 @@
this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.tsbClose = new System.Windows.Forms.ToolStripButton();
- ((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
- this.scMain.Panel1.SuspendLayout();
- this.scMain.Panel2.SuspendLayout();
- this.scMain.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.scServers)).BeginInit();
+ this.scServers.Panel1.SuspendLayout();
+ this.scServers.Panel2.SuspendLayout();
+ this.scServers.SuspendLayout();
this.cmsLv.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.scBig)).BeginInit();
+ this.scBig.Panel1.SuspendLayout();
+ this.scBig.Panel2.SuspendLayout();
+ this.scBig.SuspendLayout();
+ this.gbServers.SuspendLayout();
this.cmsMain.SuspendLayout();
- this.groupBox1.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.ssMain.SuspendLayout();
this.tsMain.SuspendLayout();
this.SuspendLayout();
//
- // scMain
+ // scServers
//
- resources.ApplyResources(this.scMain, "scMain");
- this.scMain.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
- this.scMain.Name = "scMain";
+ resources.ApplyResources(this.scServers, "scServers");
+ this.scServers.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.scServers.Name = "scServers";
//
- // scMain.Panel1
+ // scServers.Panel1
//
- resources.ApplyResources(this.scMain.Panel1, "scMain.Panel1");
- this.scMain.Panel1.Controls.Add(this.lvServers);
+ this.scServers.Panel1.Controls.Add(this.lvServers);
+ this.scServers.Panel1.Controls.Add(this.tabGroup);
//
- // scMain.Panel2
+ // scServers.Panel2
//
- resources.ApplyResources(this.scMain.Panel2, "scMain.Panel2");
- this.scMain.Panel2.Controls.Add(this.qrCodeControl);
- this.scMain.TabStop = false;
+ this.scServers.Panel2.Controls.Add(this.qrCodeControl);
+ this.scServers.TabStop = false;
//
// lvServers
//
- resources.ApplyResources(this.lvServers, "lvServers");
this.lvServers.ContextMenuStrip = this.cmsLv;
+ resources.ApplyResources(this.lvServers, "lvServers");
this.lvServers.FullRowSelect = true;
this.lvServers.GridLines = true;
this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
@@ -177,7 +179,6 @@
//
// cmsLv
//
- resources.ApplyResources(this.cmsLv, "cmsLv");
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuAddVmessServer,
@@ -193,230 +194,301 @@
this.menuRemoveDuplicateServer,
this.menuCopyServer,
this.menuSetDefaultServer,
+ this.menuServerFilter,
this.toolStripSeparator3,
- this.menuMoveTop,
- this.menuMoveUp,
- this.menuMoveDown,
- this.menuMoveBottom,
+ this.menuMoveToGroup,
+ this.menuMoveEvent,
this.menuSelectAll,
this.toolStripSeparator9,
this.menuPingServer,
this.menuTcpingServer,
this.menuRealPingServer,
this.menuSpeedServer,
+ this.menuSortServerResult,
this.tsbTestMe,
+ this.menuClearServerStatistics,
this.toolStripSeparator6,
this.menuExport2ClientConfig,
this.menuExport2ServerConfig,
this.menuExport2ShareUrl,
this.menuExport2SubContent});
this.cmsLv.Name = "cmsLv";
+ this.cmsLv.OwnerItem = this.tsbServer;
+ resources.ApplyResources(this.cmsLv, "cmsLv");
//
// menuAddVmessServer
//
- resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
this.menuAddVmessServer.Name = "menuAddVmessServer";
+ resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
//
// menuAddVlessServer
//
- resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer");
this.menuAddVlessServer.Name = "menuAddVlessServer";
+ resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer");
this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click);
//
// menuAddShadowsocksServer
//
- resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
+ resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
//
// menuAddSocksServer
//
- resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
this.menuAddSocksServer.Name = "menuAddSocksServer";
+ resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
//
// menuAddTrojanServer
//
- resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer");
this.menuAddTrojanServer.Name = "menuAddTrojanServer";
+ resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer");
this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click);
//
// menuAddCustomServer
//
- resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
this.menuAddCustomServer.Name = "menuAddCustomServer";
+ resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
//
// menuAddServers
//
- resources.ApplyResources(this.menuAddServers, "menuAddServers");
this.menuAddServers.Name = "menuAddServers";
+ resources.ApplyResources(this.menuAddServers, "menuAddServers");
this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
//
// menuScanScreen
//
- resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
this.menuScanScreen.Name = "menuScanScreen";
+ resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
//
// toolStripSeparator1
//
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// menuRemoveServer
//
- resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
this.menuRemoveServer.Name = "menuRemoveServer";
+ resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
//
// menuRemoveDuplicateServer
//
- resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
+ resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click);
//
// menuCopyServer
//
- resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
this.menuCopyServer.Name = "menuCopyServer";
+ resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
//
// menuSetDefaultServer
//
- resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
+ resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
//
+ // menuServerFilter
+ //
+ this.menuServerFilter.Name = "menuServerFilter";
+ resources.ApplyResources(this.menuServerFilter, "menuServerFilter");
+ this.menuServerFilter.Click += new System.EventHandler(this.menuServerFilter_Click);
+ //
// toolStripSeparator3
//
- resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
this.toolStripSeparator3.Name = "toolStripSeparator3";
+ resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
+ //
+ // menuMoveToGroup
+ //
+ this.menuMoveToGroup.Name = "menuMoveToGroup";
+ resources.ApplyResources(this.menuMoveToGroup, "menuMoveToGroup");
+ this.menuMoveToGroup.Click += new System.EventHandler(this.menuMoveToGroup_Click);
+ //
+ // menuMoveEvent
+ //
+ this.menuMoveEvent.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.menuMoveTop,
+ this.menuMoveUp,
+ this.menuMoveDown,
+ this.menuMoveBottom});
+ this.menuMoveEvent.Name = "menuMoveEvent";
+ resources.ApplyResources(this.menuMoveEvent, "menuMoveEvent");
//
// menuMoveTop
//
- resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
this.menuMoveTop.Name = "menuMoveTop";
+ resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
//
// menuMoveUp
//
- resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
this.menuMoveUp.Name = "menuMoveUp";
+ resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
//
// menuMoveDown
//
- resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
this.menuMoveDown.Name = "menuMoveDown";
+ resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
//
// menuMoveBottom
//
- resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
this.menuMoveBottom.Name = "menuMoveBottom";
+ resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
//
// menuSelectAll
//
- resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
this.menuSelectAll.Name = "menuSelectAll";
+ resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
//
// toolStripSeparator9
//
- resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
this.toolStripSeparator9.Name = "toolStripSeparator9";
+ resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
//
// menuPingServer
//
- resources.ApplyResources(this.menuPingServer, "menuPingServer");
this.menuPingServer.Name = "menuPingServer";
+ resources.ApplyResources(this.menuPingServer, "menuPingServer");
this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
//
// menuTcpingServer
//
- resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer");
this.menuTcpingServer.Name = "menuTcpingServer";
+ resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer");
this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click);
//
// menuRealPingServer
//
- resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer");
this.menuRealPingServer.Name = "menuRealPingServer";
+ resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer");
this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click);
//
// menuSpeedServer
//
- resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
this.menuSpeedServer.Name = "menuSpeedServer";
+ resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
//
+ // menuSortServerResult
+ //
+ this.menuSortServerResult.Name = "menuSortServerResult";
+ resources.ApplyResources(this.menuSortServerResult, "menuSortServerResult");
+ this.menuSortServerResult.Click += new System.EventHandler(this.menuSortServerResult_Click);
+ //
// tsbTestMe
//
- resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
this.tsbTestMe.Name = "tsbTestMe";
+ resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click);
//
+ // menuClearServerStatistics
+ //
+ this.menuClearServerStatistics.Name = "menuClearServerStatistics";
+ resources.ApplyResources(this.menuClearServerStatistics, "menuClearServerStatistics");
+ this.menuClearServerStatistics.Click += new System.EventHandler(this.menuClearStatistic_Click);
+ //
// toolStripSeparator6
//
- resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
this.toolStripSeparator6.Name = "toolStripSeparator6";
+ resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
//
// menuExport2ClientConfig
//
- resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
+ resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
//
// menuExport2ServerConfig
//
- resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
+ resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
//
// menuExport2ShareUrl
//
- resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
+ resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
//
// menuExport2SubContent
//
- resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
this.menuExport2SubContent.Name = "menuExport2SubContent";
+ resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
//
+ // tsbServer
+ //
+ this.tsbServer.DropDown = this.cmsLv;
+ this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
+ resources.ApplyResources(this.tsbServer, "tsbServer");
+ this.tsbServer.Name = "tsbServer";
+ //
+ // tabGroup
+ //
+ resources.ApplyResources(this.tabGroup, "tabGroup");
+ this.tabGroup.Name = "tabGroup";
+ this.tabGroup.SelectedIndex = 0;
+ this.tabGroup.SelectedIndexChanged += new System.EventHandler(this.tabGroup_SelectedIndexChanged);
+ //
// qrCodeControl
//
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
this.qrCodeControl.Name = "qrCodeControl";
//
- // tsbServer
+ // scBig
//
- resources.ApplyResources(this.tsbServer, "tsbServer");
- this.tsbServer.DropDown = this.cmsLv;
- this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
- this.tsbServer.Name = "tsbServer";
+ resources.ApplyResources(this.scBig, "scBig");
+ this.scBig.Name = "scBig";
+ //
+ // scBig.Panel1
+ //
+ this.scBig.Panel1.Controls.Add(this.gbServers);
+ //
+ // scBig.Panel2
+ //
+ this.scBig.Panel2.Controls.Add(this.mainMsgControl);
+ //
+ // gbServers
+ //
+ this.gbServers.Controls.Add(this.scServers);
+ resources.ApplyResources(this.gbServers, "gbServers");
+ this.gbServers.Name = "gbServers";
+ this.gbServers.TabStop = false;
+ //
+ // mainMsgControl
+ //
+ resources.ApplyResources(this.mainMsgControl, "mainMsgControl");
+ this.mainMsgControl.Name = "mainMsgControl";
//
// notifyMain
//
- resources.ApplyResources(this.notifyMain, "notifyMain");
this.notifyMain.ContextMenuStrip = this.cmsMain;
+ resources.ApplyResources(this.notifyMain, "notifyMain");
this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
//
// cmsMain
//
- resources.ApplyResources(this.cmsMain, "cmsMain");
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
+ resources.ApplyResources(this.cmsMain, "cmsMain");
this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuSysAgentMode,
+ this.menuRoutings,
this.menuServers,
+ this.toolStripSeparator13,
this.menuAddServers2,
this.menuScanScreen2,
- this.menuCopyPACUrl,
this.menuUpdateSubscriptions,
+ this.menuUpdateSubViaProxy,
this.toolStripSeparator2,
this.menuExit});
this.cmsMain.Name = "contextMenuStrip1";
@@ -426,206 +498,81 @@
//
// menuSysAgentMode
//
- resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuNotEnabledHttp,
+ this.menuKeepClear,
this.menuGlobal,
- this.menuGlobalPAC,
- this.menuKeep,
- this.menuKeepPAC,
- this.menuKeepNothing,
- this.menuKeepPACNothing});
+ this.menuKeepNothing});
this.menuSysAgentMode.Name = "menuSysAgentMode";
+ resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
//
- // menuNotEnabledHttp
+ // menuKeepClear
//
- resources.ApplyResources(this.menuNotEnabledHttp, "menuNotEnabledHttp");
- this.menuNotEnabledHttp.Name = "menuNotEnabledHttp";
- this.menuNotEnabledHttp.Click += new System.EventHandler(this.menuNotEnabledHttp_Click);
+ this.menuKeepClear.Name = "menuKeepClear";
+ resources.ApplyResources(this.menuKeepClear, "menuKeepClear");
+ this.menuKeepClear.Click += new System.EventHandler(this.menuKeepClear_Click);
//
// menuGlobal
//
- resources.ApplyResources(this.menuGlobal, "menuGlobal");
this.menuGlobal.Name = "menuGlobal";
+ resources.ApplyResources(this.menuGlobal, "menuGlobal");
this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
//
- // menuGlobalPAC
- //
- resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC");
- this.menuGlobalPAC.Name = "menuGlobalPAC";
- this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click);
- //
- // menuKeep
- //
- resources.ApplyResources(this.menuKeep, "menuKeep");
- this.menuKeep.Name = "menuKeep";
- this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click);
- //
- // menuKeepPAC
- //
- resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC");
- this.menuKeepPAC.Name = "menuKeepPAC";
- this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click);
- //
// menuKeepNothing
//
- resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing");
this.menuKeepNothing.Name = "menuKeepNothing";
+ resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing");
this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click);
//
- // menuKeepPACNothing
+ // menuRoutings
//
- resources.ApplyResources(this.menuKeepPACNothing, "menuKeepPACNothing");
- this.menuKeepPACNothing.Name = "menuKeepPACNothing";
- this.menuKeepPACNothing.Click += new System.EventHandler(this.menuKeepPACNothing_Click);
+ this.menuRoutings.Name = "menuRoutings";
+ resources.ApplyResources(this.menuRoutings, "menuRoutings");
//
// menuServers
//
- resources.ApplyResources(this.menuServers, "menuServers");
this.menuServers.Name = "menuServers";
+ resources.ApplyResources(this.menuServers, "menuServers");
+ //
+ // toolStripSeparator13
+ //
+ this.toolStripSeparator13.Name = "toolStripSeparator13";
+ resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
//
// menuAddServers2
//
- resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
this.menuAddServers2.Name = "menuAddServers2";
+ resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
//
// menuScanScreen2
//
- resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
this.menuScanScreen2.Name = "menuScanScreen2";
+ resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
//
- // menuCopyPACUrl
- //
- resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl");
- this.menuCopyPACUrl.Name = "menuCopyPACUrl";
- this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click);
- //
// menuUpdateSubscriptions
//
- resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
+ resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
//
+ // menuUpdateSubViaProxy
+ //
+ this.menuUpdateSubViaProxy.Name = "menuUpdateSubViaProxy";
+ resources.ApplyResources(this.menuUpdateSubViaProxy, "menuUpdateSubViaProxy");
+ this.menuUpdateSubViaProxy.Click += new System.EventHandler(this.menuUpdateSubViaProxy_Click);
+ //
// toolStripSeparator2
//
- resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
this.toolStripSeparator2.Name = "toolStripSeparator2";
+ resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
//
// menuExit
//
- resources.ApplyResources(this.menuExit, "menuExit");
this.menuExit.Name = "menuExit";
+ resources.ApplyResources(this.menuExit, "menuExit");
this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
//
- // bgwScan
- //
- this.bgwScan.WorkerReportsProgress = true;
- this.bgwScan.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwScan_DoWork);
- this.bgwScan.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwScan_ProgressChanged);
- //
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.scMain);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // groupBox2
- //
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Controls.Add(this.txtMsgBox);
- this.groupBox2.Controls.Add(this.ssMain);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // txtMsgBox
- //
- resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
- this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
- this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
- this.txtMsgBox.Name = "txtMsgBox";
- this.txtMsgBox.ReadOnly = true;
- //
- // ssMain
- //
- resources.ApplyResources(this.ssMain, "ssMain");
- this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolSslSocksPortLab,
- this.toolSslSocksPort,
- this.toolSslBlank1,
- this.toolSslHttpPortLab,
- this.toolSslHttpPort,
- this.toolSslBlank2,
- this.toolSslPacPortLab,
- this.toolSslPacPort,
- this.toolSslBlank3,
- this.toolSslServerSpeed,
- this.toolSslBlank4});
- this.ssMain.Name = "ssMain";
- this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
- //
- // toolSslSocksPortLab
- //
- resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab");
- this.toolSslSocksPortLab.Name = "toolSslSocksPortLab";
- //
- // toolSslSocksPort
- //
- resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort");
- this.toolSslSocksPort.Name = "toolSslSocksPort";
- //
- // toolSslBlank1
- //
- resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1");
- this.toolSslBlank1.Name = "toolSslBlank1";
- this.toolSslBlank1.Spring = true;
- //
- // toolSslHttpPortLab
- //
- resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab");
- this.toolSslHttpPortLab.Name = "toolSslHttpPortLab";
- //
- // toolSslHttpPort
- //
- resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort");
- this.toolSslHttpPort.Name = "toolSslHttpPort";
- //
- // toolSslBlank2
- //
- resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
- this.toolSslBlank2.Name = "toolSslBlank2";
- this.toolSslBlank2.Spring = true;
- //
- // toolSslPacPortLab
- //
- resources.ApplyResources(this.toolSslPacPortLab, "toolSslPacPortLab");
- this.toolSslPacPortLab.Name = "toolSslPacPortLab";
- //
- // toolSslPacPort
- //
- resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort");
- this.toolSslPacPort.Name = "toolSslPacPort";
- //
- // toolSslBlank3
- //
- resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3");
- this.toolSslBlank3.Name = "toolSslBlank3";
- this.toolSslBlank3.Spring = true;
- //
- // toolSslServerSpeed
- //
- resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
- this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
- this.toolSslServerSpeed.Name = "toolSslServerSpeed";
- //
- // toolSslBlank4
- //
- resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4");
- this.toolSslBlank4.Name = "toolSslBlank4";
- //
// panel1
//
resources.ApplyResources(this.panel1, "panel1");
@@ -633,7 +580,6 @@
//
// tsMain
//
- resources.ApplyResources(this.tsMain, "tsMain");
this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbServer,
@@ -641,7 +587,7 @@
this.tsbSub,
this.tsbQRCodeSwitch,
this.toolStripSeparator8,
- this.tsbOptionSetting,
+ this.tsbSetting,
this.toolStripSeparator5,
this.tsbReload,
this.toolStripSeparator7,
@@ -651,121 +597,190 @@
this.tsbPromotion,
this.toolStripSeparator11,
this.tsbClose});
+ resources.ApplyResources(this.tsMain, "tsMain");
this.tsMain.Name = "tsMain";
this.tsMain.TabStop = true;
//
// toolStripSeparator4
//
- resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
this.toolStripSeparator4.Name = "toolStripSeparator4";
+ resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
//
// tsbSub
//
- resources.ApplyResources(this.tsbSub, "tsbSub");
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbSubSetting,
- this.tsbSubUpdate});
+ this.tsbSubUpdate,
+ this.tsbSubUpdateViaProxy});
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
+ resources.ApplyResources(this.tsbSub, "tsbSub");
this.tsbSub.Name = "tsbSub";
//
// tsbSubSetting
//
- resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
this.tsbSubSetting.Name = "tsbSubSetting";
+ resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
//
// tsbSubUpdate
//
- resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
this.tsbSubUpdate.Name = "tsbSubUpdate";
+ resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
//
+ // tsbSubUpdateViaProxy
+ //
+ this.tsbSubUpdateViaProxy.Name = "tsbSubUpdateViaProxy";
+ resources.ApplyResources(this.tsbSubUpdateViaProxy, "tsbSubUpdateViaProxy");
+ this.tsbSubUpdateViaProxy.Click += new System.EventHandler(this.tsbSubUpdateViaProxy_Click);
+ //
// tsbQRCodeSwitch
//
- resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
this.tsbQRCodeSwitch.CheckOnClick = true;
this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black;
this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share;
+ resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch";
this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged);
//
// toolStripSeparator8
//
- resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
this.toolStripSeparator8.Name = "toolStripSeparator8";
+ resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
+ //
+ // tsbSetting
+ //
+ this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.tsbOptionSetting,
+ this.tsbRoutingSetting,
+ this.tsbGlobalHotkeySetting,
+ this.tsbGroupSetting,
+ this.toolStripSeparator14,
+ this.tsbBackupGuiNConfig});
+ this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
+ resources.ApplyResources(this.tsbSetting, "tsbSetting");
+ this.tsbSetting.Name = "tsbSetting";
//
// tsbOptionSetting
//
- resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
- this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
this.tsbOptionSetting.Name = "tsbOptionSetting";
+ resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
//
+ // tsbRoutingSetting
+ //
+ this.tsbRoutingSetting.Name = "tsbRoutingSetting";
+ resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting");
+ this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
+ //
+ // tsbGlobalHotkeySetting
+ //
+ this.tsbGlobalHotkeySetting.Name = "tsbGlobalHotkeySetting";
+ resources.ApplyResources(this.tsbGlobalHotkeySetting, "tsbGlobalHotkeySetting");
+ this.tsbGlobalHotkeySetting.Click += new System.EventHandler(this.tsbGlobalHotkeySetting_Click);
+ //
+ // tsbGroupSetting
+ //
+ this.tsbGroupSetting.Name = "tsbGroupSetting";
+ resources.ApplyResources(this.tsbGroupSetting, "tsbGroupSetting");
+ this.tsbGroupSetting.Click += new System.EventHandler(this.tsbGroupSetting_Click);
+ //
+ // toolStripSeparator14
+ //
+ this.toolStripSeparator14.Name = "toolStripSeparator14";
+ resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14");
+ //
+ // tsbBackupGuiNConfig
+ //
+ this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig";
+ resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig");
+ this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click);
+ //
// toolStripSeparator5
//
- resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
this.toolStripSeparator5.Name = "toolStripSeparator5";
+ resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
//
// tsbReload
//
+ this.tsbReload.Image = global::v2rayN.Properties.Resources.restart;
resources.ApplyResources(this.tsbReload, "tsbReload");
this.tsbReload.Name = "tsbReload";
this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click);
//
// toolStripSeparator7
//
- resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
this.toolStripSeparator7.Name = "toolStripSeparator7";
+ resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
//
// tsbCheckUpdate
//
- resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbCheckUpdateN,
this.tsbCheckUpdateCore,
- this.tsbCheckUpdatePACList,
- this.toolStripSeparator13,
- this.tsbCheckClearPACList});
+ this.tsbCheckUpdateXrayCore,
+ this.toolStripSeparator16,
+ this.tsbCheckUpdateClashCore,
+ this.tsbCheckUpdateClashMetaCore,
+ this.toolStripSeparator15,
+ this.tsbCheckUpdateGeo});
this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
+ resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
this.tsbCheckUpdate.Name = "tsbCheckUpdate";
//
// tsbCheckUpdateN
//
- resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
+ resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
//
// tsbCheckUpdateCore
//
- resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
+ resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
//
- // tsbCheckUpdatePACList
+ // tsbCheckUpdateXrayCore
//
- resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList");
- this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
- this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click);
+ this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore";
+ resources.ApplyResources(this.tsbCheckUpdateXrayCore, "tsbCheckUpdateXrayCore");
+ this.tsbCheckUpdateXrayCore.Click += new System.EventHandler(this.tsbCheckUpdateXrayCore_Click);
//
- // toolStripSeparator13
+ // toolStripSeparator16
//
- resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
- this.toolStripSeparator13.Name = "toolStripSeparator13";
+ this.toolStripSeparator16.Name = "toolStripSeparator16";
+ resources.ApplyResources(this.toolStripSeparator16, "toolStripSeparator16");
//
- // tsbCheckClearPACList
+ // tsbCheckUpdateClashCore
//
- resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList");
- this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
- this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click);
+ this.tsbCheckUpdateClashCore.Name = "tsbCheckUpdateClashCore";
+ resources.ApplyResources(this.tsbCheckUpdateClashCore, "tsbCheckUpdateClashCore");
+ this.tsbCheckUpdateClashCore.Click += new System.EventHandler(this.tsbCheckUpdateClashCore_Click);
+ //
+ // tsbCheckUpdateClashMetaCore
+ //
+ this.tsbCheckUpdateClashMetaCore.Name = "tsbCheckUpdateClashMetaCore";
+ resources.ApplyResources(this.tsbCheckUpdateClashMetaCore, "tsbCheckUpdateClashMetaCore");
+ this.tsbCheckUpdateClashMetaCore.Click += new System.EventHandler(this.tsbCheckUpdateClashMetaCore_Click);
+ //
+ // toolStripSeparator15
+ //
+ this.toolStripSeparator15.Name = "toolStripSeparator15";
+ resources.ApplyResources(this.toolStripSeparator15, "toolStripSeparator15");
+ //
+ // tsbCheckUpdateGeo
+ //
+ this.tsbCheckUpdateGeo.Name = "tsbCheckUpdateGeo";
+ resources.ApplyResources(this.tsbCheckUpdateGeo, "tsbCheckUpdateGeo");
+ this.tsbCheckUpdateGeo.Click += new System.EventHandler(this.tsbCheckUpdateGeo_Click);
//
// toolStripSeparator10
//
- resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
this.toolStripSeparator10.Name = "toolStripSeparator10";
+ resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
//
// tsbHelp
//
- resources.ApplyResources(this.tsbHelp, "tsbHelp");
this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbAbout,
this.tsbV2rayWebsite,
@@ -773,52 +788,54 @@
this.tsbLanguageDef,
this.tsbLanguageZhHans});
this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
+ resources.ApplyResources(this.tsbHelp, "tsbHelp");
this.tsbHelp.Name = "tsbHelp";
//
// tsbAbout
//
- resources.ApplyResources(this.tsbAbout, "tsbAbout");
this.tsbAbout.Name = "tsbAbout";
+ resources.ApplyResources(this.tsbAbout, "tsbAbout");
this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
//
// tsbV2rayWebsite
//
- resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite");
this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
+ resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite");
this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click);
//
// toolStripSeparator12
//
- resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
this.toolStripSeparator12.Name = "toolStripSeparator12";
+ resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
//
// tsbLanguageDef
//
- resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
this.tsbLanguageDef.Name = "tsbLanguageDef";
+ resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
//
// tsbLanguageZhHans
//
- resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
+ resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
//
// tsbPromotion
//
- resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
+ resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
this.tsbPromotion.Name = "tsbPromotion";
this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
//
// toolStripSeparator11
//
- resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
this.toolStripSeparator11.Name = "toolStripSeparator11";
+ resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
//
// tsbClose
//
+ this.tsbClose.Image = global::v2rayN.Properties.Resources.minimize;
resources.ApplyResources(this.tsbClose, "tsbClose");
this.tsbClose.Name = "tsbClose";
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
@@ -827,8 +844,7 @@
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.groupBox2);
+ this.Controls.Add(this.scBig);
this.Controls.Add(this.panel1);
this.Controls.Add(this.tsMain);
this.MaximizeBox = true;
@@ -839,17 +855,17 @@
this.Shown += new System.EventHandler(this.MainForm_Shown);
this.VisibleChanged += new System.EventHandler(this.MainForm_VisibleChanged);
this.Resize += new System.EventHandler(this.MainForm_Resize);
- this.scMain.Panel1.ResumeLayout(false);
- this.scMain.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.scMain)).EndInit();
- this.scMain.ResumeLayout(false);
+ this.scServers.Panel1.ResumeLayout(false);
+ this.scServers.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.scServers)).EndInit();
+ this.scServers.ResumeLayout(false);
this.cmsLv.ResumeLayout(false);
+ this.scBig.Panel1.ResumeLayout(false);
+ this.scBig.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.scBig)).EndInit();
+ this.scBig.ResumeLayout(false);
+ this.gbServers.ResumeLayout(false);
this.cmsMain.ResumeLayout(false);
- this.groupBox1.ResumeLayout(false);
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.ssMain.ResumeLayout(false);
- this.ssMain.PerformLayout();
this.tsMain.ResumeLayout(false);
this.tsMain.PerformLayout();
this.ResumeLayout(false);
@@ -859,9 +875,7 @@
#endregion
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.TextBox txtMsgBox;
+ private System.Windows.Forms.GroupBox gbServers;
private v2rayN.Base.ListViewFlickerFree lvServers;
private System.Windows.Forms.NotifyIcon notifyMain;
private System.Windows.Forms.ContextMenuStrip cmsMain;
@@ -880,32 +894,24 @@
private System.Windows.Forms.ToolStripMenuItem menuExport2ServerConfig;
private System.Windows.Forms.ToolStrip tsMain;
private System.Windows.Forms.ToolStripDropDownButton tsbServer;
- private System.Windows.Forms.ToolStripButton tsbOptionSetting;
private System.Windows.Forms.ToolStripButton tsbClose;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
- private System.Windows.Forms.ToolStripMenuItem menuMoveTop;
- private System.Windows.Forms.ToolStripMenuItem menuMoveUp;
- private System.Windows.Forms.ToolStripMenuItem menuMoveDown;
- private System.Windows.Forms.ToolStripMenuItem menuMoveBottom;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
private System.Windows.Forms.ToolStripMenuItem menuSysAgentMode;
private System.Windows.Forms.ToolStripMenuItem menuGlobal;
- private System.Windows.Forms.ToolStripMenuItem menuGlobalPAC;
- private System.Windows.Forms.ToolStripMenuItem menuKeep;
- private System.Windows.Forms.ToolStripMenuItem menuCopyPACUrl;
+ private System.Windows.Forms.ToolStripMenuItem menuKeepClear;
private System.Windows.Forms.ToolStripMenuItem menuAddCustomServer;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem menuAddShadowsocksServer;
- private System.Windows.Forms.SplitContainer scMain;
+ private System.Windows.Forms.SplitContainer scServers;
private QRCodeControl qrCodeControl;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
private System.Windows.Forms.ToolStripDropDownButton tsbCheckUpdate;
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateN;
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateCore;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdatePACList;
private System.Windows.Forms.ToolStripMenuItem menuAddServers;
private System.Windows.Forms.ToolStripMenuItem menuExport2ShareUrl;
private System.Windows.Forms.ToolStripMenuItem menuSpeedServer;
@@ -913,15 +919,12 @@
private System.Windows.Forms.ToolStripDropDownButton tsbHelp;
private System.Windows.Forms.ToolStripMenuItem tsbAbout;
private System.Windows.Forms.ToolStripMenuItem menuAddServers2;
- private System.ComponentModel.BackgroundWorker bgwScan;
private System.Windows.Forms.ToolStripMenuItem menuScanScreen;
private System.Windows.Forms.ToolStripMenuItem menuScanScreen2;
private System.Windows.Forms.ToolStripDropDownButton tsbSub;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
private System.Windows.Forms.ToolStripMenuItem tsbSubSetting;
private System.Windows.Forms.ToolStripMenuItem tsbSubUpdate;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckClearPACList;
- private System.Windows.Forms.ToolStripMenuItem menuKeepPAC;
private System.Windows.Forms.ToolStripMenuItem menuSelectAll;
private System.Windows.Forms.ToolStripMenuItem menuExport2SubContent;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator12;
@@ -929,32 +932,46 @@
private System.Windows.Forms.ToolStripMenuItem tsbLanguageZhHans;
private System.Windows.Forms.ToolStripButton tsbPromotion;
private System.Windows.Forms.ToolStripMenuItem menuAddSocksServer;
- private System.Windows.Forms.StatusStrip ssMain;
- private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPort;
- private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPort;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank1;
- private System.Windows.Forms.ToolStripStatusLabel toolSslPacPort;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank3;
- private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPortLab;
- private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPortLab;
- private System.Windows.Forms.ToolStripStatusLabel toolSslPacPortLab;
- private System.Windows.Forms.ToolStripStatusLabel toolSslServerSpeed;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank4;
private System.Windows.Forms.ToolStripMenuItem menuRemoveDuplicateServer;
private System.Windows.Forms.ToolStripMenuItem menuTcpingServer;
private System.Windows.Forms.ToolStripMenuItem menuRealPingServer;
- private System.Windows.Forms.ToolStripMenuItem menuNotEnabledHttp;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
private System.Windows.Forms.ToolStripMenuItem menuUpdateSubscriptions;
private System.Windows.Forms.ToolStripMenuItem tsbV2rayWebsite;
private System.Windows.Forms.ToolStripMenuItem menuKeepNothing;
- private System.Windows.Forms.ToolStripMenuItem menuKeepPACNothing;
private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
private System.Windows.Forms.ToolStripButton tsbReload;
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
private System.Windows.Forms.ToolStripMenuItem menuAddVlessServer;
private System.Windows.Forms.ToolStripMenuItem menuAddTrojanServer;
+ private System.Windows.Forms.ToolStripDropDownButton tsbSetting;
+ private System.Windows.Forms.ToolStripMenuItem tsbOptionSetting;
+ private System.Windows.Forms.ToolStripMenuItem tsbRoutingSetting;
+ private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateXrayCore;
+ private System.Windows.Forms.ToolStripMenuItem menuClearServerStatistics;
+ private System.Windows.Forms.ToolStripMenuItem menuRoutings;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator14;
+ private System.Windows.Forms.ToolStripMenuItem tsbBackupGuiNConfig;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator15;
+ private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateGeo;
+ private System.Windows.Forms.SplitContainer scBig;
+ private System.Windows.Forms.ToolStripMenuItem tsbSubUpdateViaProxy;
+ private System.Windows.Forms.ToolStripMenuItem menuUpdateSubViaProxy;
+ private System.Windows.Forms.ToolStripMenuItem tsbGlobalHotkeySetting;
+ private System.Windows.Forms.TabControl tabGroup;
+ private System.Windows.Forms.ToolStripMenuItem tsbGroupSetting;
+ private System.Windows.Forms.ToolStripMenuItem menuMoveToGroup;
+ private MainMsgControl mainMsgControl;
+ private System.Windows.Forms.ToolStripMenuItem menuMoveEvent;
+ private System.Windows.Forms.ToolStripMenuItem menuMoveTop;
+ private System.Windows.Forms.ToolStripMenuItem menuMoveUp;
+ private System.Windows.Forms.ToolStripMenuItem menuMoveDown;
+ private System.Windows.Forms.ToolStripMenuItem menuMoveBottom;
+ private System.Windows.Forms.ToolStripMenuItem menuServerFilter;
+ private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateClashCore;
+ private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateClashMetaCore;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator16;
+ private System.Windows.Forms.ToolStripMenuItem menuSortServerResult;
}
}
diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs
index f33781c5..fd491217 100644
--- a/v2rayN/v2rayN/Forms/MainForm.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.cs
@@ -1,52 +1,56 @@
-using System;
+using NHotkey;
+using System;
using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.HttpProxyHandler;
-using v2rayN.Mode;
-using v2rayN.Base;
-using v2rayN.Tool;
using System.Diagnostics;
using System.Drawing;
-using System.Net;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using v2rayN.Handler;
+using v2rayN.Mode;
+using v2rayN.Resx;
+using v2rayN.Tool;
namespace v2rayN.Forms
{
public partial class MainForm : BaseForm
{
private V2rayHandler v2rayHandler;
- private List lvSelecteds = new List();
- private StatisticsHandler statistics = null;
+ private List lstSelecteds = new List();
+ private StatisticsHandler statistics;
+ private List lstVmess;
+ private string groupId = string.Empty;
+ private string serverFilter = string.Empty;
#region Window 事件
public MainForm()
{
InitializeComponent();
- this.ShowInTaskbar = false;
- this.WindowState = FormWindowState.Minimized;
+ ShowInTaskbar = false;
+ WindowState = FormWindowState.Minimized;
HideForm();
- this.Text = Utils.GetVersion();
+ Text = Utils.GetVersion();
Global.processJob = new Job();
Application.ApplicationExit += (sender, args) =>
{
- v2rayHandler.V2rayStop();
-
- HttpProxyHandle.CloseHttpAgent(config);
- PACServerHandle.Stop();
-
- ConfigHandler.SaveConfig(ref config);
- statistics?.SaveToFile();
- statistics?.Close();
+ MyAppExit(false);
};
}
private void MainForm_Load(object sender, EventArgs e)
{
- ConfigHandler.LoadConfig(ref config);
+ if (ConfigHandler.LoadConfig(ref config) != 0)
+ {
+ UI.ShowWarning($"Loading GUI configuration file is abnormal,please restart the application{Environment.NewLine}加载GUI配置文件异常,请重启应用");
+ Environment.Exit(0);
+ return;
+ }
+
+ ConfigHandler.InitBuiltinRouting(ref config);
+ MainFormHandler.Instance.BackupGuiNConfig(config, true);
v2rayHandler = new V2rayHandler();
v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent;
@@ -71,24 +75,37 @@ namespace v2rayN.Forms
private void MainForm_Shown(object sender, EventArgs e)
{
+ InitGroupView();
InitServersView();
RefreshServers();
+ RefreshRoutingsMenu();
RestoreUI();
- LoadV2ray();
-
HideForm();
+ MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler);
+ MainFormHandler.Instance.RegisterGlobalHotkey(config, OnHotkeyHandler, UpdateTaskHandler);
+
+ _ = LoadV2ray();
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
- if (e.CloseReason == CloseReason.UserClosing)
+ switch (e.CloseReason)
{
- StorageUI();
- e.Cancel = true;
- HideForm();
- return;
+ case CloseReason.UserClosing:
+ StorageUI();
+ e.Cancel = true;
+ HideForm();
+ break;
+ case CloseReason.ApplicationExitCall:
+ case CloseReason.FormOwnerClosing:
+ case CloseReason.TaskManagerClosing:
+ MyAppExit(false);
+ break;
+ case CloseReason.WindowsShutDown:
+ MyAppExit(true);
+ break;
}
}
@@ -103,37 +120,49 @@ namespace v2rayN.Forms
//}
}
+ private void MyAppExit(bool blWindowsShutDown)
+ {
+ try
+ {
+ Utils.SaveLog("MyAppExit Begin");
+ StorageUI();
+ ConfigHandler.SaveConfig(ref config);
- //private const int WM_QUERYENDSESSION = 0x0011;
- //protected override void WndProc(ref Message m)
- //{
- // switch (m.Msg)
- // {
- // case WM_QUERYENDSESSION:
- // Utils.SaveLog("Windows shutdown UnsetProxy");
+ //HttpProxyHandle.CloseHttpAgent(config);
+ if (blWindowsShutDown)
+ {
+ SysProxyHandle.ResetIEProxy4WindowsShutDown();
+ }
+ else
+ {
+ SysProxyHandle.UpdateSysProxy(config, true);
+ }
- // ConfigHandler.ToJsonFile(config);
- // statistics?.SaveToFile();
- // ProxySetting.UnsetProxy();
- // m.Result = (IntPtr)1;
- // break;
- // default:
- // base.WndProc(ref m);
- // break;
- // }
- //}
+ statistics?.SaveToFile();
+ statistics?.Close();
+
+ v2rayHandler.V2rayStop();
+ Utils.SaveLog("MyAppExit End");
+ }
+ catch { }
+ }
private void RestoreUI()
{
- scMain.Panel2Collapsed = true;
+ scServers.Panel2Collapsed = true;
+ if (!config.uiItem.mainLocation.IsEmpty)
+ {
+ Location = config.uiItem.mainLocation;
+ }
if (!config.uiItem.mainSize.IsEmpty)
{
- this.Width = config.uiItem.mainSize.Width;
- this.Height = config.uiItem.mainSize.Height;
+ Width = config.uiItem.mainSize.Width;
+ Height = config.uiItem.mainSize.Height;
}
+
for (int k = 0; k < lvServers.Columns.Count; k++)
{
var width = ConfigHandler.GetformMainLvColWidth(ref config, ((EServerColName)k).ToString(), lvServers.Columns[k].Width);
@@ -143,7 +172,9 @@ namespace v2rayN.Forms
private void StorageUI()
{
- config.uiItem.mainSize = new Size(this.Width, this.Height);
+ config.uiItem.mainLocation = Location;
+
+ config.uiItem.mainSize = new Size(Width, Height);
for (int k = 0; k < lvServers.Columns.Count; k++)
{
@@ -151,6 +182,26 @@ namespace v2rayN.Forms
}
}
+ private void OnHotkeyHandler(object sender, HotkeyEventArgs e)
+ {
+ switch (Utils.ToInt(e.Name))
+ {
+ case (int)EGlobalHotkey.ShowForm:
+ if (ShowInTaskbar) HideForm(); else ShowForm();
+ break;
+ case (int)EGlobalHotkey.SystemProxyClear:
+ SetListenerType(ESysProxyType.ForcedClear);
+ break;
+ case (int)EGlobalHotkey.SystemProxySet:
+ SetListenerType(ESysProxyType.ForcedChange);
+ break;
+ case (int)EGlobalHotkey.SystemProxyUnchanged:
+ SetListenerType(ESysProxyType.Unchanged);
+ break;
+ }
+ e.Handled = true;
+ }
+
#endregion
#region 显示服务器 listview 和 menu
@@ -160,8 +211,14 @@ namespace v2rayN.Forms
///
private void RefreshServers()
{
+ lstVmess = config.vmess
+ .Where(it => Utils.IsNullOrEmpty(groupId) || it.groupId == groupId)
+ .Where(it => Utils.IsNullOrEmpty(serverFilter) || it.remarks.Contains(serverFilter))
+ .OrderBy(it => it.sort)
+ .ToList();
+
+ ConfigHandler.SetDefaultServer(config, lstVmess);
RefreshServersView();
- //lvServers.AutoResizeColumns();
RefreshServersMenu();
}
@@ -179,57 +236,78 @@ namespace v2rayN.Forms
lvServers.Scrollable = true;
lvServers.MultiSelect = true;
lvServers.HeaderStyle = ColumnHeaderStyle.Clickable;
+ lvServers.RegisterDragEvent(UpdateDragEventHandler);
lvServers.Columns.Add("", 30);
- lvServers.Columns.Add(UIRes.I18N("LvServiceType"), 80);
- lvServers.Columns.Add(UIRes.I18N("LvAlias"), 100);
- lvServers.Columns.Add(UIRes.I18N("LvAddress"), 120);
- lvServers.Columns.Add(UIRes.I18N("LvPort"), 50);
- lvServers.Columns.Add(UIRes.I18N("LvEncryptionMethod"), 90);
- lvServers.Columns.Add(UIRes.I18N("LvTransportProtocol"), 70);
- lvServers.Columns.Add(UIRes.I18N("LvSubscription"), 50);
- lvServers.Columns.Add(UIRes.I18N("LvTestResults"), 70, HorizontalAlignment.Right);
+ lvServers.Columns.Add(ResUI.LvServiceType, 80);
+ lvServers.Columns.Add(ResUI.LvAlias, 100);
+ lvServers.Columns.Add(ResUI.LvAddress, 120);
+ lvServers.Columns.Add(ResUI.LvPort, 100);
+ lvServers.Columns.Add(ResUI.LvEncryptionMethod, 120);
+ lvServers.Columns.Add(ResUI.LvTransportProtocol, 120);
+ lvServers.Columns.Add(ResUI.LvTLS, 100);
+ lvServers.Columns.Add(ResUI.LvSubscription, 100);
+ lvServers.Columns.Add(ResUI.LvTestResults, 120, HorizontalAlignment.Right);
if (statistics != null && statistics.Enable)
{
- lvServers.Columns.Add(UIRes.I18N("LvTodayDownloadDataAmount"), 70);
- lvServers.Columns.Add(UIRes.I18N("LvTodayUploadDataAmount"), 70);
- lvServers.Columns.Add(UIRes.I18N("LvTotalDownloadDataAmount"), 70);
- lvServers.Columns.Add(UIRes.I18N("LvTotalUploadDataAmount"), 70);
+ lvServers.Columns.Add(ResUI.LvTodayDownloadDataAmount, 70);
+ lvServers.Columns.Add(ResUI.LvTodayUploadDataAmount, 70);
+ lvServers.Columns.Add(ResUI.LvTotalDownloadDataAmount, 70);
+ lvServers.Columns.Add(ResUI.LvTotalUploadDataAmount, 70);
}
lvServers.EndUpdate();
}
+ private void UpdateDragEventHandler(int index, int targetIndex)
+ {
+ if (index < 0 || targetIndex < 0)
+ {
+ return;
+ }
+ if (ConfigHandler.MoveServer(ref config, ref lstVmess, index, EMove.Position, targetIndex) == 0)
+ {
+ RefreshServers();
+ }
+ }
+
///
/// 刷新服务器列表
///
private void RefreshServersView()
{
+ int index = GetLvSelectedIndex(false);
+
lvServers.BeginUpdate();
lvServers.Items.Clear();
- for (int k = 0; k < config.vmess.Count; k++)
+ for (int k = 0; k < lstVmess.Count; k++)
{
string def = string.Empty;
- string totalUp = string.Empty,
- totalDown = string.Empty,
- todayUp = string.Empty,
- todayDown = string.Empty;
- if (config.index.Equals(k))
+ VmessItem item = lstVmess[k];
+ if (config.IsActiveNode(item))
{
def = "√";
}
- VmessItem item = config.vmess[k];
+ ListViewItem lvItem = new ListViewItem(def);
+ Utils.AddSubItem(lvItem, EServerColName.configType.ToString(), (item.configType).ToString());
+ Utils.AddSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
+ Utils.AddSubItem(lvItem, EServerColName.address.ToString(), item.address);
+ Utils.AddSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
+ Utils.AddSubItem(lvItem, EServerColName.security.ToString(), item.security);
+ Utils.AddSubItem(lvItem, EServerColName.network.ToString(), item.network);
+ Utils.AddSubItem(lvItem, EServerColName.streamSecurity.ToString(), item.streamSecurity);
+ Utils.AddSubItem(lvItem, EServerColName.subRemarks.ToString(), item.GetSubRemarks(config));
+ Utils.AddSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
- void _addSubItem(ListViewItem i, string name, string text)
+ if (statistics != null && statistics.Enable)
{
- i.SubItems.Add(new ListViewItem.ListViewSubItem() { Name = name, Text = text });
- }
- bool stats = statistics != null && statistics.Enable;
- if (stats)
- {
- ServerStatItem sItem = statistics.Statistic.Find(item_ => item_.itemId == item.getItemId());
+ string totalUp = string.Empty,
+ totalDown = string.Empty,
+ todayUp = string.Empty,
+ todayDown = string.Empty;
+ ServerStatItem sItem = statistics.Statistic.Find(item_ => item_.itemId == item.indexId);
if (sItem != null)
{
totalUp = Utils.HumanFy(sItem.totalUp);
@@ -237,29 +315,18 @@ namespace v2rayN.Forms
todayUp = Utils.HumanFy(sItem.todayUp);
todayDown = Utils.HumanFy(sItem.todayDown);
}
- }
- ListViewItem lvItem = new ListViewItem(def);
- _addSubItem(lvItem, EServerColName.configType.ToString(), ((EConfigType)item.configType).ToString());
- _addSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
- _addSubItem(lvItem, EServerColName.address.ToString(), item.address);
- _addSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
- _addSubItem(lvItem, EServerColName.security.ToString(), item.security);
- _addSubItem(lvItem, EServerColName.network.ToString(), item.network);
- _addSubItem(lvItem, EServerColName.subRemarks.ToString(), item.getSubRemarks(config));
- _addSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
- if (stats)
- {
- _addSubItem(lvItem, EServerColName.todayDown.ToString(), todayDown);
- _addSubItem(lvItem, EServerColName.todayUp.ToString(), todayUp);
- _addSubItem(lvItem, EServerColName.totalDown.ToString(), totalDown);
- _addSubItem(lvItem, EServerColName.totalUp.ToString(), totalUp);
+
+ Utils.AddSubItem(lvItem, EServerColName.todayDown.ToString(), todayDown);
+ Utils.AddSubItem(lvItem, EServerColName.todayUp.ToString(), todayUp);
+ Utils.AddSubItem(lvItem, EServerColName.totalDown.ToString(), totalDown);
+ Utils.AddSubItem(lvItem, EServerColName.totalUp.ToString(), totalUp);
}
if (k % 2 == 1) // 隔行着色
{
lvItem.BackColor = Color.WhiteSmoke;
}
- if (config.index.Equals(k))
+ if (config.IsActiveNode(item))
{
//lvItem.Checked = true;
lvItem.ForeColor = Color.DodgerBlue;
@@ -270,15 +337,11 @@ namespace v2rayN.Forms
}
lvServers.EndUpdate();
- //if (lvServers.Items.Count > 0)
- //{
- // if (lvServers.Items.Count <= testConfigIndex)
- // {
- // testConfigIndex = lvServers.Items.Count - 1;
- // }
- // lvServers.Items[testConfigIndex].Selected = true;
- // lvServers.Select();
- //}
+ if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0)
+ {
+ lvServers.Items[index].Selected = true;
+ lvServers.EnsureVisible(index); // workaround
+ }
}
///
@@ -288,24 +351,31 @@ namespace v2rayN.Forms
{
menuServers.DropDownItems.Clear();
- List lst = new List();
- for (int k = 0; k < config.vmess.Count; k++)
+ if (lstVmess.Count > config.trayMenuServersLimit)
{
- VmessItem item = config.vmess[k];
- string name = item.getSummary();
+ menuServers.DropDownItems.Add(new ToolStripMenuItem(ResUI.TooManyServersTip));
+ return;
+ }
+
+ List lst = new List();
+ for (int k = 0; k < lstVmess.Count; k++)
+ {
+ VmessItem item = lstVmess[k];
+ string name = item.GetSummary();
ToolStripMenuItem ts = new ToolStripMenuItem(name)
{
Tag = k
};
- if (config.index.Equals(k))
+ if (config.IsActiveNode(item))
{
ts.Checked = true;
}
- ts.Click += new EventHandler(ts_Click);
+ ts.Click += ts_Click;
lst.Add(ts);
}
menuServers.DropDownItems.AddRange(lst.ToArray());
+ menuServers.Visible = true;
}
private void ts_Click(object sender, EventArgs e)
@@ -323,59 +393,8 @@ namespace v2rayN.Forms
private void lvServers_SelectedIndexChanged(object sender, EventArgs e)
{
- int index = -1;
- try
- {
- if (lvServers.SelectedIndices.Count > 0)
- {
- index = lvServers.SelectedIndices[0];
- }
- }
- catch
- {
- }
- if (index < 0)
- {
- return;
- }
- //qrCodeControl.showQRCode(index, config);
}
- private void DisplayToolStatus()
- {
- toolSslSocksPort.Text =
- toolSslHttpPort.Text =
- toolSslPacPort.Text = "OFF";
-
- toolSslSocksPort.Text = $"{Global.Loopback}:{config.inbound[0].localPort}";
-
- if (config.listenerType != (int)ListenerType.noHttpProxy)
- {
- toolSslHttpPort.Text = $"{Global.Loopback}:{Global.httpPort}";
- if (config.listenerType == ListenerType.GlobalPac ||
- config.listenerType == ListenerType.PacOpenAndClear ||
- config.listenerType == ListenerType.PacOpenOnly)
- {
- if (PACServerHandle.IsRunning)
- {
- toolSslPacPort.Text = $"{HttpProxyHandle.GetPacUrl()}";
- }
- else
- {
- toolSslPacPort.Text = UIRes.I18N("StartPacFailed");
- }
- }
- }
-
- notifyMain.Icon = MainFormHandler.Instance.GetNotifyIcon(config, this.Icon);
- }
- private void ssMain_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
- {
- if (!Utils.IsNullOrEmpty(e.ClickedItem.Text))
- {
- Utils.SetClipboardData(e.ClickedItem.Text);
- }
- }
private void lvServers_ColumnClick(object sender, ColumnClickEventArgs e)
{
@@ -386,9 +405,18 @@ namespace v2rayN.Forms
try
{
+ if ((EServerColName)e.Column == EServerColName.def)
+ {
+ foreach (ColumnHeader it in lvServers.Columns)
+ {
+ it.Width = -2;
+ }
+ return;
+ }
+
var tag = lvServers.Columns[e.Column].Tag?.ToString();
- bool asc = Utils.IsNullOrEmpty(tag) ? true : !Convert.ToBoolean(tag);
- if (ConfigHandler.SortServers(ref config, (EServerColName)e.Column, asc) != 0)
+ bool asc = Utils.IsNullOrEmpty(tag) || !Convert.ToBoolean(tag);
+ if (ConfigHandler.SortServers(ref config, ref lstVmess, (EServerColName)e.Column, asc) != 0)
{
return;
}
@@ -406,29 +434,112 @@ namespace v2rayN.Forms
}
}
+
+ private void InitGroupView()
+ {
+ tabGroup.TabPages.Clear();
+
+ string title = $" {ResUI.AllGroupServers} ";
+ var tabPage = new TabPage(title);
+ tabPage.Name = "";
+ tabGroup.TabPages.Add(tabPage);
+
+ foreach (var item in config.groupItem.OrderBy(t => t.sort))
+ {
+ var tabPage2 = new TabPage($" {item.remarks} ");
+ tabPage2.Name = item.id;
+ tabGroup.TabPages.Add(tabPage2);
+ }
+
+ tabGroup.SelectedIndex = 0;
+
+ //menuMoveToGroup
+ menuMoveToGroup.DropDownItems.Clear();
+
+ List lst = new List();
+ foreach (var item in config.groupItem)
+ {
+ string name = item.remarks;
+
+ ToolStripMenuItem ts = new ToolStripMenuItem(name)
+ {
+ Tag = item.id,
+ };
+ ts.Click += ts_Group_Click;
+ lst.Add(ts);
+ }
+ menuMoveToGroup.DropDownItems.AddRange(lst.ToArray());
+ }
+
+ private void tabGroup_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (tabGroup.SelectedIndex < 0)
+ {
+ return;
+ }
+ groupId = string.Empty;
+ //groupId = tabGroup.TabPages[tabGroup.SelectedIndex].Name;
+ groupId = tabGroup.SelectedTab.Name;
+
+ RefreshServers();
+
+ lvServers.Focus();
+ }
+
+ private void ts_Group_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ ToolStripItem ts = (ToolStripItem)sender;
+ var groupIdSelected = Utils.ToString(ts.Tag);
+
+ int index = GetLvSelectedIndex();
+ if (index < 0)
+ {
+ return;
+ }
+
+ if (ConfigHandler.MoveServerToGroup(config, lstSelecteds, groupIdSelected) == 0)
+ {
+ RefreshServers();
+ }
+ }
+ catch
+ {
+ }
+ }
#endregion
#region v2ray 操作
-
///
/// 载入V2ray
///
- private void LoadV2ray()
+ async Task LoadV2ray()
{
- tsbReload.Enabled = false;
+ BeginInvoke(new Action(() =>
+ {
+ tsbReload.Enabled = false;
+ }));
if (Global.reloadV2ray)
{
- ClearMsg();
+ mainMsgControl.ClearMsg();
}
- v2rayHandler.LoadV2ray(config);
+ await Task.Run(() =>
+ {
+ v2rayHandler.LoadV2ray(config);
+ });
+
Global.reloadV2ray = false;
ConfigHandler.SaveConfig(ref config, false);
statistics?.SaveToFile();
- ChangePACButtonStatus(config.listenerType);
+ ChangePACButtonStatus(config.sysProxyType);
- tsbReload.Enabled = true;
+ BeginInvoke(new Action(() =>
+ {
+ tsbReload.Enabled = true;
+ }));
}
///
@@ -439,7 +550,7 @@ namespace v2rayN.Forms
ConfigHandler.SaveConfig(ref config, false);
statistics?.SaveToFile();
- ChangePACButtonStatus(0);
+ ChangePACButtonStatus(ESysProxyType.ForcedClear);
v2rayHandler.V2rayStop();
}
@@ -450,22 +561,12 @@ namespace v2rayN.Forms
private void lvServers_Click(object sender, EventArgs e)
{
- int index = -1;
- try
- {
- if (lvServers.SelectedIndices.Count > 0)
- {
- index = lvServers.SelectedIndices[0];
- }
- }
- catch
- {
- }
+ int index = GetLvSelectedIndex(false);
if (index < 0)
{
return;
}
- qrCodeControl.showQRCode(index, config);
+ qrCodeControl.showQRCode(lstVmess[index]);
}
private void lvServers_DoubleClick(object sender, EventArgs e)
@@ -475,38 +576,26 @@ namespace v2rayN.Forms
{
return;
}
- ShowServerForm(config.vmess[index].configType, index);
+ ShowServerForm(lstVmess[index].configType, index);
}
- private void ShowServerForm(int configType, int index)
+ private void ShowServerForm(EConfigType configType, int index)
{
BaseServerForm fm;
- switch (configType)
+ if (configType == EConfigType.Custom)
{
- case (int)EConfigType.Vmess:
- fm = new AddServerForm();
- break;
- case (int)EConfigType.Shadowsocks:
- fm = new AddServer3Form();
- break;
- case (int)EConfigType.Socks:
- fm = new AddServer4Form();
- break;
- case (int)EConfigType.VLESS:
- fm = new AddServer5Form();
- break;
- case (int)EConfigType.Trojan:
- fm = new AddServer6Form();
- break;
- default:
- fm = new AddServer2Form();
- break;
+ fm = new AddServer2Form();
}
- fm.EditIndex = index;
+ else
+ {
+ fm = new AddServerForm();
+ }
+ fm.vmessItem = index >= 0 ? lstVmess[index] : null;
+ fm.groupId = groupId;
+ fm.eConfigType = configType;
if (fm.ShowDialog() == DialogResult.OK)
{
- //刷新
RefreshServers();
- LoadV2ray();
+ _ = LoadV2ray();
}
}
@@ -541,6 +630,12 @@ namespace v2rayN.Forms
case Keys.T:
menuSpeedServer_Click(null, null);
break;
+ case Keys.F:
+ menuServerFilter_Click(null, null);
+ break;
+ case Keys.E:
+ menuSortServerResult_Click(null, null);
+ break;
}
}
else
@@ -571,12 +666,12 @@ namespace v2rayN.Forms
private void menuAddVmessServer_Click(object sender, EventArgs e)
{
- ShowServerForm((int)EConfigType.Vmess, -1);
+ ShowServerForm(EConfigType.VMess, -1);
}
private void menuAddVlessServer_Click(object sender, EventArgs e)
{
- ShowServerForm((int)EConfigType.VLESS, -1);
+ ShowServerForm(EConfigType.VLESS, -1);
}
private void menuRemoveServer_Click(object sender, EventArgs e)
@@ -587,33 +682,24 @@ namespace v2rayN.Forms
{
return;
}
- if (UI.ShowYesNo(UIRes.I18N("RemoveServer")) == DialogResult.No)
+ if (UI.ShowYesNo(ResUI.RemoveServer) == DialogResult.No)
{
return;
}
- for (int k = lvSelecteds.Count - 1; k >= 0; k--)
- {
- ConfigHandler.RemoveServer(ref config, lvSelecteds[k]);
- }
- //刷新
- RefreshServers();
- LoadV2ray();
+ ConfigHandler.RemoveServer(config, lstSelecteds);
+
+ RefreshServers();
+ _ = LoadV2ray();
}
private void menuRemoveDuplicateServer_Click(object sender, EventArgs e)
{
- Utils.DedupServerList(config.vmess, out List servers, config.keepOlderDedupl);
- int oldCount = config.vmess.Count;
- int newCount = servers.Count;
- if (servers != null)
- {
- config.vmess = servers;
- }
- //刷新
+ int oldCount = lstVmess.Count;
+ int newCount = ConfigHandler.DedupServerList(ref config, ref lstVmess);
RefreshServers();
- LoadV2ray();
- UI.Show(string.Format(UIRes.I18N("RemoveDuplicateServerResult"), oldCount, newCount));
+ _ = LoadV2ray();
+ UI.Show(string.Format(ResUI.RemoveDuplicateServerResult, oldCount, newCount));
}
private void menuCopyServer_Click(object sender, EventArgs e)
@@ -623,9 +709,8 @@ namespace v2rayN.Forms
{
return;
}
- if (ConfigHandler.CopyServer(ref config, index) == 0)
+ if (ConfigHandler.CopyServer(ref config, lstSelecteds) == 0)
{
- //刷新
RefreshServers();
}
}
@@ -640,69 +725,95 @@ namespace v2rayN.Forms
SetDefaultServer(index);
}
+ private void menuServerFilter_Click(object sender, EventArgs e)
+ {
+ var fm = new MsgFilterSetForm();
+ fm.MsgFilter = serverFilter;
+ if (fm.ShowDialog() == DialogResult.OK)
+ {
+ serverFilter = fm.MsgFilter;
+ gbServers.Text = string.Format(ResUI.MsgServerTitle, serverFilter);
+ RefreshServers();
+ }
+ }
private void menuPingServer_Click(object sender, EventArgs e)
{
- Speedtest("ping");
+ Speedtest(ESpeedActionType.Ping);
}
private void menuTcpingServer_Click(object sender, EventArgs e)
{
- Speedtest("tcping");
+ Speedtest(ESpeedActionType.Tcping);
}
private void menuRealPingServer_Click(object sender, EventArgs e)
{
//if (!config.sysAgentEnabled)
//{
- // UI.Show(UIRes.I18N("NeedHttpGlobalProxy"));
+ // UI.Show(ResUI.NeedHttpGlobalProxy"));
// return;
//}
- //UI.Show(UIRes.I18N("SpeedServerTips"));
+ //UI.Show(ResUI.SpeedServerTips"));
- Speedtest("realping");
+ Speedtest(ESpeedActionType.Realping);
}
private void menuSpeedServer_Click(object sender, EventArgs e)
{
//if (!config.sysAgentEnabled)
//{
- // UI.Show(UIRes.I18N("NeedHttpGlobalProxy"));
+ // UI.Show(ResUI.NeedHttpGlobalProxy"));
// return;
//}
- //UI.Show(UIRes.I18N("SpeedServerTips"));
+ //UI.Show(ResUI.SpeedServerTips"));
- Speedtest("speedtest");
+ Speedtest(ESpeedActionType.Speedtest);
}
- private void Speedtest(string actionType)
+ private void Speedtest(ESpeedActionType actionType)
{
if (GetLvSelectedIndex() < 0) return;
ClearTestResult();
- SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, actionType, UpdateSpeedtestHandler);
+ SpeedtestHandler statistics = new SpeedtestHandler(config, v2rayHandler, lstSelecteds, actionType, UpdateSpeedtestHandler);
+ }
+ private void menuSortServerResult_Click(object sender, EventArgs e)
+ {
+ lvServers_ColumnClick(null, new ColumnClickEventArgs((int)EServerColName.testResult));
}
private void tsbTestMe_Click(object sender, EventArgs e)
{
- string result = httpProxyTest() + "ms";
- AppendText(false, string.Format(UIRes.I18N("TestMeOutput"), result));
+ var updateHandle = new UpdateHandle();
+ updateHandle.RunAvailabilityCheck(UpdateTaskHandler);
}
- private int httpProxyTest()
+
+ private void menuClearStatistic_Click(object sender, EventArgs e)
{
- SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, "", UpdateSpeedtestHandler);
- return statistics.RunAvailabilityCheck();
+ if (statistics != null)
+ {
+ statistics.ClearAllServerStatistics();
+ }
}
private void menuExport2ClientConfig_Click(object sender, EventArgs e)
{
int index = GetLvSelectedIndex();
- MainFormHandler.Instance.Export2ClientConfig(index, config);
+ if (index < 0)
+ {
+ return;
+ }
+ MainFormHandler.Instance.Export2ClientConfig(lstVmess[index], config);
}
private void menuExport2ServerConfig_Click(object sender, EventArgs e)
{
int index = GetLvSelectedIndex();
- MainFormHandler.Instance.Export2ServerConfig(index, config);
+ if (index < 0)
+ {
+ return;
+ }
+ MainFormHandler.Instance.Export2ServerConfig(lstVmess[index], config);
}
private void menuExport2ShareUrl_Click(object sender, EventArgs e)
@@ -710,9 +821,9 @@ namespace v2rayN.Forms
GetLvSelectedIndex();
StringBuilder sb = new StringBuilder();
- foreach (int v in lvSelecteds)
+ foreach (var it in lstSelecteds)
{
- string url = ConfigHandler.GetVmessQRCode(config, v);
+ string url = ShareHandler.GetShareUrl(it);
if (Utils.IsNullOrEmpty(url))
{
continue;
@@ -723,8 +834,8 @@ namespace v2rayN.Forms
if (sb.Length > 0)
{
Utils.SetClipboardData(sb.ToString());
- AppendText(false, UIRes.I18N("BatchExportURLSuccessfully"));
- //UI.Show(UIRes.I18N("BatchExportURLSuccessfully"));
+ AppendText(false, ResUI.BatchExportURLSuccessfully);
+ //UI.Show(ResUI.BatchExportURLSuccessfully"));
}
}
@@ -733,9 +844,9 @@ namespace v2rayN.Forms
GetLvSelectedIndex();
StringBuilder sb = new StringBuilder();
- foreach (int v in lvSelecteds)
+ foreach (var it in lstSelecteds)
{
- string url = ConfigHandler.GetVmessQRCode(config, v);
+ string url = ShareHandler.GetShareUrl(it);
if (Utils.IsNullOrEmpty(url))
{
continue;
@@ -746,7 +857,7 @@ namespace v2rayN.Forms
if (sb.Length > 0)
{
Utils.SetClipboardData(Utils.Base64Encode(sb.ToString()));
- UI.Show(UIRes.I18N("BatchExportSubscriptionSuccessfully"));
+ UI.Show(ResUI.BatchExportSubscriptionSuccessfully);
}
}
@@ -755,21 +866,54 @@ namespace v2rayN.Forms
OptionSettingForm fm = new OptionSettingForm();
if (fm.ShowDialog() == DialogResult.OK)
{
- //刷新
RefreshServers();
- LoadV2ray();
- HttpProxyHandle.RestartHttpAgent(config, true);
+ _ = LoadV2ray();
}
}
+ private void tsbRoutingSetting_Click(object sender, EventArgs e)
+ {
+ var fm = new RoutingSettingForm();
+ if (fm.ShowDialog() == DialogResult.OK)
+ {
+ RefreshRoutingsMenu();
+ RefreshServers();
+ _ = LoadV2ray();
+ }
+ }
+
+ private void tsbGlobalHotkeySetting_Click(object sender, EventArgs e)
+ {
+ var fm = new GlobalHotkeySettingForm();
+ if (fm.ShowDialog() == DialogResult.OK)
+ {
+ //RefreshRoutingsMenu();
+ //RefreshServers();
+ //_ = LoadV2ray();
+ }
+
+ }
+
+ private void tsbGroupSetting_Click(object sender, EventArgs e)
+ {
+ var fm = new GroupSettingForm();
+ if (fm.ShowDialog() == DialogResult.OK)
+ {
+ InitGroupView();
+ RefreshServers();
+ }
+
+ }
+
private void tsbReload_Click(object sender, EventArgs e)
{
Global.reloadV2ray = true;
- LoadV2ray();
+ _ = LoadV2ray();
}
private void tsbClose_Click(object sender, EventArgs e)
{
+ StorageUI();
HideForm();
//this.WindowState = FormWindowState.Minimized;
}
@@ -783,14 +927,13 @@ namespace v2rayN.Forms
{
if (index < 0)
{
- UI.Show(UIRes.I18N("PleaseSelectServer"));
+ UI.Show(ResUI.PleaseSelectServer);
return -1;
}
- if (ConfigHandler.SetDefaultServer(ref config, index) == 0)
+ if (ConfigHandler.SetDefaultServer(ref config, lstVmess[index]) == 0)
{
- //刷新
RefreshServers();
- LoadV2ray();
+ _ = LoadV2ray();
}
return 0;
}
@@ -799,22 +942,25 @@ namespace v2rayN.Forms
/// 取得ListView选中的行
///
///
- private int GetLvSelectedIndex()
+ private int GetLvSelectedIndex(bool show = true)
{
int index = -1;
- lvSelecteds.Clear();
+ lstSelecteds.Clear();
try
{
if (lvServers.SelectedIndices.Count <= 0)
{
- UI.Show(UIRes.I18N("PleaseSelectServer"));
+ if (show)
+ {
+ UI.Show(ResUI.PleaseSelectServer);
+ }
return index;
}
index = lvServers.SelectedIndices[0];
foreach (int i in lvServers.SelectedIndices)
{
- lvSelecteds.Add(i);
+ lstSelecteds.Add(lstVmess[i]);
}
return index;
}
@@ -826,92 +972,82 @@ namespace v2rayN.Forms
private void menuAddCustomServer_Click(object sender, EventArgs e)
{
- UI.Show(UIRes.I18N("CustomServerTips"));
-
- OpenFileDialog fileDialog = new OpenFileDialog
- {
- Multiselect = false,
- Filter = "Config|*.json|All|*.*"
- };
- if (fileDialog.ShowDialog() != DialogResult.OK)
- {
- return;
- }
- string fileName = fileDialog.FileName;
- if (Utils.IsNullOrEmpty(fileName))
- {
- return;
- }
-
- if (ConfigHandler.AddCustomServer(ref config, fileName) == 0)
- {
- //刷新
- RefreshServers();
- //LoadV2ray();
- UI.Show(UIRes.I18N("SuccessfullyImportedCustomServer"));
- }
- else
- {
- UI.ShowWarning(UIRes.I18N("FailedImportedCustomServer"));
- }
+ ShowServerForm(EConfigType.Custom, -1);
}
private void menuAddShadowsocksServer_Click(object sender, EventArgs e)
{
- ShowServerForm((int)EConfigType.Shadowsocks, -1);
+ ShowServerForm(EConfigType.Shadowsocks, -1);
ShowForm();
}
private void menuAddSocksServer_Click(object sender, EventArgs e)
{
- ShowServerForm((int)EConfigType.Socks, -1);
+ ShowServerForm(EConfigType.Socks, -1);
ShowForm();
}
private void menuAddTrojanServer_Click(object sender, EventArgs e)
{
- ShowServerForm((int)EConfigType.Trojan, -1);
+ ShowServerForm(EConfigType.Trojan, -1);
ShowForm();
}
private void menuAddServers_Click(object sender, EventArgs e)
{
string clipboardData = Utils.GetClipboardData();
- int result = AddBatchServers(clipboardData);
- if (result > 0)
+ int ret = ConfigHandler.AddBatchServers(ref config, clipboardData, "", groupId);
+ if (ret > 0)
{
- UI.Show(string.Format(UIRes.I18N("SuccessfullyImportedServerViaClipboard"), result));
+ RefreshServers();
+ UI.Show(string.Format(ResUI.SuccessfullyImportedServerViaClipboard, ret));
}
}
private void menuScanScreen_Click(object sender, EventArgs e)
{
- HideForm();
- bgwScan.RunWorkerAsync();
+ _ = ScanScreenTaskAsync();
}
- private int AddBatchServers(string clipboardData, string subid = "")
+ public async Task ScanScreenTaskAsync()
{
- int counter;
- int _Add()
+ HideForm();
+
+ string result = await Task.Run(() =>
{
- return ConfigHandler.AddBatchServers(ref config, clipboardData, subid);
- }
- counter = _Add();
- if (counter < 1)
+ return Utils.ScanScreen();
+ });
+
+ ShowForm();
+
+ if (Utils.IsNullOrEmpty(result))
{
- clipboardData = Utils.Base64Decode(clipboardData);
- counter = _Add();
+ UI.ShowWarning(ResUI.NoValidQRcodeFound);
+ }
+ else
+ {
+ int ret = ConfigHandler.AddBatchServers(ref config, result, "", groupId);
+ if (ret > 0)
+ {
+ RefreshServers();
+ UI.Show(ResUI.SuccessfullyImportedServerViaScan);
+ }
}
- RefreshServers();
- return counter;
}
private void menuUpdateSubscriptions_Click(object sender, EventArgs e)
{
- UpdateSubscriptionProcess();
+ UpdateSubscriptionProcess(false);
+ }
+ private void menuUpdateSubViaProxy_Click(object sender, EventArgs e)
+ {
+ UpdateSubscriptionProcess(true);
}
+ private void tsbBackupGuiNConfig_Click(object sender, EventArgs e)
+ {
+ MainFormHandler.Instance.BackupGuiNConfig(config);
+ }
#endregion
@@ -927,58 +1063,17 @@ namespace v2rayN.Forms
AppendText(notify, msg);
}
- delegate void AppendTextDelegate(string text);
void AppendText(bool notify, string msg)
{
try
{
- AppendText(msg);
+ mainMsgControl.AppendText(msg);
if (notify)
{
notifyMsg(msg);
}
}
- catch
- {
- }
- }
-
- void AppendText(string text)
- {
- if (this.txtMsgBox.InvokeRequired)
- {
- Invoke(new AppendTextDelegate(AppendText), new object[] { text });
- }
- else
- {
- //this.txtMsgBox.AppendText(text);
- ShowMsg(text);
- }
- }
-
- ///
- /// 提示信息
- ///
- ///
- private void ShowMsg(string msg)
- {
- if (txtMsgBox.Lines.Length > 999)
- {
- ClearMsg();
- }
- this.txtMsgBox.AppendText(msg);
- if (!msg.EndsWith(Environment.NewLine))
- {
- this.txtMsgBox.AppendText(Environment.NewLine);
- }
- }
-
- ///
- /// 清除信息
- ///
- private void ClearMsg()
- {
- this.txtMsgBox.Clear();
+ catch { }
}
///
@@ -1005,8 +1100,8 @@ namespace v2rayN.Forms
private void menuExit_Click(object sender, EventArgs e)
{
- this.Visible = false;
- this.Close();
+ Visible = false;
+ Close();
Application.Exit();
}
@@ -1014,15 +1109,21 @@ namespace v2rayN.Forms
private void ShowForm()
{
- this.Show();
- this.WindowState = FormWindowState.Normal;
- this.Activate();
- this.ShowInTaskbar = true;
- //this.notifyIcon1.Visible = false;
- this.txtMsgBox.ScrollToCaret();
- if (config.index >= 0 && config.index < lvServers.Items.Count)
+ Show();
+ if (WindowState == FormWindowState.Minimized)
{
- lvServers.EnsureVisible(config.index); // workaround
+ WindowState = FormWindowState.Normal;
+ }
+ Activate();
+ ShowInTaskbar = true;
+ //this.notifyIcon1.Visible = false;
+ mainMsgControl.ScrollToCaret();
+
+ int index = GetLvSelectedIndex(false);
+ if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0)
+ {
+ lvServers.Items[index].Selected = true;
+ lvServers.EnsureVisible(index); // workaround
}
SetVisibleCore(true);
@@ -1031,38 +1132,56 @@ namespace v2rayN.Forms
private void HideForm()
{
//this.WindowState = FormWindowState.Minimized;
- this.Hide();
+ Hide();
//this.notifyMain.Icon = this.Icon;
- this.notifyMain.Visible = true;
- this.ShowInTaskbar = false;
+ notifyMain.Visible = true;
+ ShowInTaskbar = false;
SetVisibleCore(false);
+
+ //write Handle to reg
+ if (IsHandleCreated)
+ {
+ Utils.RegWriteValue(Global.MyRegPath, Utils.WindowHwndKey, Convert.ToString((long)Handle));
+ }
}
#endregion
#region 后台测速
-
+ private void SetTestResult(string indexId, string txt)
+ {
+ int k = lstVmess.FindIndex(it => it.indexId == indexId);
+ if (k >= 0 && k < lvServers.Items.Count)
+ {
+ lstVmess[k].testResult = txt;
+ lvServers.Items[k].SubItems["testResult"].Text = txt;
+ }
+ else
+ {
+ AppendText(false, txt);
+ }
+ }
private void SetTestResult(int k, string txt)
{
if (k < lvServers.Items.Count)
{
- config.vmess[k].testResult = txt;
+ lstVmess[k].testResult = txt;
lvServers.Items[k].SubItems["testResult"].Text = txt;
}
}
private void ClearTestResult()
{
- foreach (int s in lvSelecteds)
+ foreach (var it in lstSelecteds)
{
- SetTestResult(s, "");
+ SetTestResult(it.indexId, "");
}
}
- private void UpdateSpeedtestHandler(int index, string msg)
+ private void UpdateSpeedtestHandler(string indexId, string msg)
{
lvServers.Invoke((MethodInvoker)delegate
{
- SetTestResult(index, msg);
+ SetTestResult(indexId, msg);
});
}
@@ -1070,29 +1189,30 @@ namespace v2rayN.Forms
{
try
{
- up /= (ulong)(config.statisticsFreshRate / 1000f);
- down /= (ulong)(config.statisticsFreshRate / 1000f);
- toolSslServerSpeed.Text = string.Format("{0}/s↑ | {1}/s↓", Utils.HumanFy(up), Utils.HumanFy(down));
+ up /= (ulong)(config.statisticsFreshRate);
+ down /= (ulong)(config.statisticsFreshRate);
+ mainMsgControl.SetToolSslInfo("speed", string.Format("{0}/s↑ | {1}/s↓", Utils.HumanFy(up), Utils.HumanFy(down)));
- List datas = new List();
- for (int i = 0; i < config.vmess.Count; i++)
+ foreach (var it in statistics)
{
- int index = statistics.FindIndex(item_ => item_.itemId == config.vmess[i].getItemId());
- if (index != -1)
+ int index = lstVmess.FindIndex(item => item.indexId == it.itemId);
+ if (index < 0)
{
- lvServers.Invoke((MethodInvoker)delegate
- {
- lvServers.BeginUpdate();
-
- lvServers.Items[i].SubItems["todayDown"].Text = Utils.HumanFy(statistics[index].todayDown);
- lvServers.Items[i].SubItems["todayUp"].Text = Utils.HumanFy(statistics[index].todayUp);
- lvServers.Items[i].SubItems["totalDown"].Text = Utils.HumanFy(statistics[index].totalDown);
- lvServers.Items[i].SubItems["totalUp"].Text = Utils.HumanFy(statistics[index].totalUp);
-
- lvServers.EndUpdate();
- });
+ continue;
}
+ lvServers.Invoke((MethodInvoker)delegate
+ {
+ lvServers.BeginUpdate();
+
+ lvServers.Items[index].SubItems["todayDown"].Text = Utils.HumanFy(it.todayDown);
+ lvServers.Items[index].SubItems["todayUp"].Text = Utils.HumanFy(it.todayUp);
+ lvServers.Items[index].SubItems["totalDown"].Text = Utils.HumanFy(it.totalDown);
+ lvServers.Items[index].SubItems["totalUp"].Text = Utils.HumanFy(it.totalUp);
+
+ lvServers.EndUpdate();
+ });
}
+
}
catch (Exception ex)
{
@@ -1100,6 +1220,15 @@ namespace v2rayN.Forms
}
}
+ private async void UpdateTaskHandler(bool success, string msg)
+ {
+ AppendText(false, msg);
+ if (success)
+ {
+ Global.reloadV2ray = true;
+ await LoadV2ray();
+ }
+ }
#endregion
#region 移动服务器
@@ -1129,10 +1258,9 @@ namespace v2rayN.Forms
int index = GetLvSelectedIndex();
if (index < 0)
{
- UI.Show(UIRes.I18N("PleaseSelectServer"));
return;
}
- if (ConfigHandler.MoveServer(ref config, index, eMove) == 0)
+ if (ConfigHandler.MoveServer(ref config, ref lstVmess, index, eMove) == 0)
{
//TODO: reload is not good.
RefreshServers();
@@ -1146,60 +1274,34 @@ namespace v2rayN.Forms
item.Selected = true;
}
}
-
+ private void menuMoveToGroup_Click(object sender, EventArgs e)
+ {
+ }
#endregion
#region 系统代理相关
-
- private void menuCopyPACUrl_Click(object sender, EventArgs e)
+ private void menuKeepClear_Click(object sender, EventArgs e)
{
- Utils.SetClipboardData(HttpProxyHandle.GetPacUrl());
- }
-
- private void menuNotEnabledHttp_Click(object sender, EventArgs e)
- {
- SetListenerType(ListenerType.noHttpProxy);
+ SetListenerType(ESysProxyType.ForcedClear);
}
private void menuGlobal_Click(object sender, EventArgs e)
{
- SetListenerType(ListenerType.GlobalHttp);
- }
- private void menuGlobalPAC_Click(object sender, EventArgs e)
- {
- SetListenerType(ListenerType.GlobalPac);
- }
- private void menuKeep_Click(object sender, EventArgs e)
- {
- SetListenerType(ListenerType.HttpOpenAndClear);
- }
- private void menuKeepPAC_Click(object sender, EventArgs e)
- {
- SetListenerType(ListenerType.PacOpenAndClear);
+ SetListenerType(ESysProxyType.ForcedChange);
}
+
private void menuKeepNothing_Click(object sender, EventArgs e)
{
- SetListenerType(ListenerType.HttpOpenOnly);
+ SetListenerType(ESysProxyType.Unchanged);
}
- private void menuKeepPACNothing_Click(object sender, EventArgs e)
+ private void SetListenerType(ESysProxyType type)
{
- SetListenerType(ListenerType.PacOpenOnly);
- }
- private void SetListenerType(ListenerType type)
- {
- config.listenerType = type;
+ config.sysProxyType = type;
ChangePACButtonStatus(type);
}
- private void ChangePACButtonStatus(ListenerType type)
+ private void ChangePACButtonStatus(ESysProxyType type)
{
- if (type != ListenerType.noHttpProxy)
- {
- HttpProxyHandle.RestartHttpAgent(config, false);
- }
- else
- {
- HttpProxyHandle.CloseHttpAgent(config);
- }
+ SysProxyHandle.UpdateSysProxy(config, false);
for (int k = 0; k < menuSysAgentMode.DropDownItems.Count; k++)
{
@@ -1208,7 +1310,13 @@ namespace v2rayN.Forms
}
ConfigHandler.SaveConfig(ref config, false);
- DisplayToolStatus();
+
+ mainMsgControl.DisplayToolStatus(config);
+
+ BeginInvoke(new Action(() =>
+ {
+ notifyMain.Icon = Icon = MainFormHandler.Instance.GetNotifyIcon(config, Icon);
+ }));
}
#endregion
@@ -1216,200 +1324,72 @@ namespace v2rayN.Forms
#region CheckUpdate
- private void askToDownload(DownloadHandle downloadHandle, string url)
- {
- if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.Yes)
- {
- if (httpProxyTest() > 0)
- {
- int httpPort = config.GetLocalPort(Global.InboundHttp);
- WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
- downloadHandle.DownloadFileAsync(url, webProxy, 600);
- }
- else
- {
- downloadHandle.DownloadFileAsync(url, null, 600);
- }
- }
- }
private void tsbCheckUpdateN_Click(object sender, EventArgs e)
{
- //System.Diagnostics.Process.Start(Global.UpdateUrl);
- DownloadHandle downloadHandle = null;
- if (downloadHandle == null)
+ void _updateUI(bool success, string msg)
{
- downloadHandle = new DownloadHandle();
- downloadHandle.AbsoluteCompleted += (sender2, args) =>
+ AppendText(false, msg);
+ if (success)
{
- if (args.Success)
- {
- AppendText(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "v2rayN"));
-
- string url = args.Msg;
- this.Invoke((MethodInvoker)(delegate
- {
- askToDownload(downloadHandle, url);
- }));
- }
- else
- {
- AppendText(false, args.Msg);
- }
- };
- downloadHandle.UpdateCompleted += (sender2, args) =>
- {
- if (args.Success)
- {
- AppendText(false, UIRes.I18N("MsgDownloadV2rayCoreSuccessfully"));
-
- try
- {
- string fileName = Utils.GetPath(downloadHandle.DownloadFileName);
- Process process = new Process
- {
- StartInfo = new ProcessStartInfo
- {
- FileName = "v2rayUpgrade.exe",
- Arguments = "\"" + fileName + "\"",
- WorkingDirectory = Utils.StartupPath()
- }
- };
- process.Start();
- if (process.Id > 0)
- {
- menuExit_Click(null, null);
- }
- }
- catch (Exception ex)
- {
- AppendText(false, ex.Message);
- }
- }
- else
- {
- AppendText(false, args.Msg);
- }
- };
- downloadHandle.Error += (sender2, args) =>
- {
- AppendText(true, args.GetException().Message);
- };
- }
-
- AppendText(false, string.Format(UIRes.I18N("MsgStartUpdating"), "v2rayN"));
- downloadHandle.CheckUpdateAsync("v2rayN");
+ menuExit_Click(null, null);
+ }
+ };
+ (new UpdateHandle()).CheckUpdateGuiN(config, _updateUI);
}
private void tsbCheckUpdateCore_Click(object sender, EventArgs e)
{
- DownloadHandle downloadHandle = null;
- if (downloadHandle == null)
- {
- downloadHandle = new DownloadHandle();
- downloadHandle.AbsoluteCompleted += (sender2, args) =>
- {
- if (args.Success)
- {
- AppendText(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "v2rayCore"));
-
- string url = args.Msg;
- this.Invoke((MethodInvoker)(delegate
- {
- askToDownload(downloadHandle, url);
- }));
- }
- else
- {
- AppendText(false, args.Msg);
- }
- };
- downloadHandle.UpdateCompleted += (sender2, args) =>
- {
- if (args.Success)
- {
- AppendText(false, UIRes.I18N("MsgDownloadV2rayCoreSuccessfully"));
- AppendText(false, UIRes.I18N("MsgUnpacking"));
-
- try
- {
- CloseV2ray();
-
- string fileName = downloadHandle.DownloadFileName;
- fileName = Utils.GetPath(fileName);
- FileManager.ZipExtractToFile(fileName);
-
- AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfullyMore"));
-
- Global.reloadV2ray = true;
- LoadV2ray();
-
- AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfully"));
- }
- catch (Exception ex)
- {
- AppendText(false, ex.Message);
- }
- }
- else
- {
- AppendText(false, args.Msg);
- }
- };
- downloadHandle.Error += (sender2, args) =>
- {
- AppendText(true, args.GetException().Message);
- };
- }
-
- AppendText(false, string.Format(UIRes.I18N("MsgStartUpdating"), "v2rayCore"));
- downloadHandle.CheckUpdateAsync("Core");
+ CheckUpdateCore(ECoreType.v2fly);
}
- private void tsbCheckUpdatePACList_Click(object sender, EventArgs e)
+ private void tsbCheckUpdateXrayCore_Click(object sender, EventArgs e)
{
- DownloadHandle pacListHandle = null;
- if (pacListHandle == null)
- {
- pacListHandle = new DownloadHandle();
- pacListHandle.UpdateCompleted += (sender2, args) =>
- {
- if (args.Success)
- {
- string result = args.Msg;
- if (Utils.IsNullOrEmpty(result))
- {
- return;
- }
- pacListHandle.GenPacFile(result);
-
- AppendText(false, UIRes.I18N("MsgPACUpdateSuccessfully"));
- }
- else
- {
- AppendText(false, UIRes.I18N("MsgPACUpdateFailed"));
- }
- };
- pacListHandle.Error += (sender2, args) =>
- {
- AppendText(true, args.GetException().Message);
- };
- }
- AppendText(false, UIRes.I18N("MsgStartUpdatingPAC"));
- pacListHandle.WebDownloadString(config.urlGFWList);
+ CheckUpdateCore(ECoreType.Xray);
}
- private void tsbCheckClearPACList_Click(object sender, EventArgs e)
+ private void tsbCheckUpdateClashCore_Click(object sender, EventArgs e)
{
- try
- {
- File.WriteAllText(Utils.GetPath(Global.pacFILE), Utils.GetEmbedText(Global.BlankPacFileName), Encoding.UTF8);
- AppendText(false, UIRes.I18N("MsgSimplifyPAC"));
- }
- catch (Exception ex)
- {
- Utils.SaveLog(ex.Message, ex);
- }
+ CheckUpdateCore(ECoreType.clash);
}
+
+ private void tsbCheckUpdateClashMetaCore_Click(object sender, EventArgs e)
+ {
+ CheckUpdateCore(ECoreType.clash_meta);
+ }
+
+ private void CheckUpdateCore(ECoreType type)
+ {
+ void _updateUI(bool success, string msg)
+ {
+ AppendText(false, msg);
+ if (success)
+ {
+ CloseV2ray();
+
+ string fileName = Utils.GetPath(Utils.GetDownloadFileName(msg));
+ FileManager.ZipExtractToFile(fileName, config.ignoreGeoUpdateCore ? "geo" : "");
+
+ AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfullyMore);
+
+ Global.reloadV2ray = true;
+ _ = LoadV2ray();
+
+ AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfully);
+ }
+ };
+ (new UpdateHandle()).CheckUpdateCore(type, config, _updateUI);
+ }
+
+ private void tsbCheckUpdateGeo_Click(object sender, EventArgs e)
+ {
+ Task.Run(() =>
+ {
+ var updateHandle = new UpdateHandle();
+ updateHandle.UpdateGeoFile("geosite", config, UpdateTaskHandler);
+ updateHandle.UpdateGeoFile("geoip", config, UpdateTaskHandler);
+ });
+ }
+
#endregion
#region Help
@@ -1431,35 +1411,6 @@ namespace v2rayN.Forms
}
#endregion
- #region ScanScreen
-
-
- private void bgwScan_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
- {
- string ret = Utils.ScanScreen();
- bgwScan.ReportProgress(0, ret);
- }
-
- private void bgwScan_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
- {
- ShowForm();
-
- string result = Convert.ToString(e.UserState);
- if (Utils.IsNullOrEmpty(result))
- {
- UI.ShowWarning(UIRes.I18N("NoValidQRcodeFound"));
- }
- else
- {
- if (AddBatchServers(result) > 0)
- {
- UI.Show(UIRes.I18N("SuccessfullyImportedServerViaScan"));
- }
- }
- }
-
- #endregion
-
#region 订阅
private void tsbSubSetting_Click(object sender, EventArgs e)
{
@@ -1472,81 +1423,42 @@ namespace v2rayN.Forms
private void tsbSubUpdate_Click(object sender, EventArgs e)
{
- UpdateSubscriptionProcess();
+ UpdateSubscriptionProcess(false);
+ }
+
+ private void tsbSubUpdateViaProxy_Click(object sender, EventArgs e)
+ {
+ UpdateSubscriptionProcess(true);
}
///
/// the subscription update process
///
- private void UpdateSubscriptionProcess()
+ private void UpdateSubscriptionProcess(bool blProxy)
{
- AppendText(false, UIRes.I18N("MsgUpdateSubscriptionStart"));
-
- if (config.subItem == null || config.subItem.Count <= 0)
+ void _updateUI(bool success, string msg)
{
- AppendText(false, UIRes.I18N("MsgNoValidSubscription"));
- return;
- }
-
- for (int k = 1; k <= config.subItem.Count; k++)
- {
- string id = config.subItem[k - 1].id.TrimEx();
- string url = config.subItem[k - 1].url.TrimEx();
- string hashCode = $"{k}->";
- if (config.subItem[k - 1].enabled == false)
+ AppendText(false, msg);
+ if (success)
{
- continue;
- }
- if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url))
- {
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}");
- continue;
- }
-
- DownloadHandle downloadHandle3 = new DownloadHandle();
- downloadHandle3.UpdateCompleted += (sender2, args) =>
- {
- if (args.Success)
+ RefreshServers();
+ if (config.uiItem.enableAutoAdjustMainLvColWidth)
{
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}");
- string result = Utils.Base64Decode(args.Msg);
- if (Utils.IsNullOrEmpty(result))
+ foreach (ColumnHeader it in lvServers.Columns)
{
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}");
- return;
+ it.Width = -2;
}
-
- ConfigHandler.RemoveServerViaSubid(ref config, id);
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}");
- RefreshServers();
- if (AddBatchServers(result, id) > 0)
- {
- }
- else
- {
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgFailedImportSubscription")}");
- }
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgUpdateSubscriptionEnd")}");
}
- else
- {
- AppendText(false, args.Msg);
- }
- };
- downloadHandle3.Error += (sender2, args) =>
- {
- AppendText(true, args.GetException().Message);
- };
+ }
+ };
- downloadHandle3.WebDownloadString(url);
- AppendText(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
- }
+ (new UpdateHandle()).UpdateSubscriptionProcess(config, blProxy, _updateUI);
}
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
{
bool bShow = tsbQRCodeSwitch.Checked;
- scMain.Panel2Collapsed = !bShow;
+ scServers.Panel2Collapsed = !bShow;
}
#endregion
@@ -1567,11 +1479,68 @@ namespace v2rayN.Forms
//Application.Restart();
}
-
-
-
#endregion
-
+
+ #region RoutingsMenu
+
+ ///
+ ///
+ ///
+ private void RefreshRoutingsMenu()
+ {
+ menuRoutings.Visible = config.enableRoutingAdvanced;
+ if (!config.enableRoutingAdvanced)
+ {
+ mainMsgControl.SetToolSslInfo("routing", string.Empty);
+ return;
+ }
+
+ menuRoutings.DropDownItems.Clear();
+
+ List lst = new List();
+ for (int k = 0; k < config.routings.Count; k++)
+ {
+ var item = config.routings[k];
+ if (item.locked == true)
+ {
+ continue;
+ }
+ string name = item.remarks;
+
+ ToolStripMenuItem ts = new ToolStripMenuItem(name)
+ {
+ Tag = k
+ };
+ if (config.routingIndex.Equals(k))
+ {
+ ts.Checked = true;
+ mainMsgControl.SetToolSslInfo("routing", item.remarks);
+ }
+ ts.Click += ts_Routing_Click;
+ lst.Add(ts);
+ }
+ menuRoutings.DropDownItems.AddRange(lst.ToArray());
+ }
+
+ private void ts_Routing_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ ToolStripItem ts = (ToolStripItem)sender;
+ int index = Utils.ToInt(ts.Tag);
+
+ if (ConfigHandler.SetDefaultRouting(ref config, index) == 0)
+ {
+ RefreshRoutingsMenu();
+ _ = LoadV2ray();
+ }
+ }
+ catch
+ {
+ }
+ }
+ #endregion
+
}
}
diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx
index eb1e2e63..5714620a 100644
--- a/v2rayN/v2rayN/Forms/MainForm.resx
+++ b/v2rayN/v2rayN/Forms/MainForm.resx
@@ -117,703 +117,238 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Remove duplicate servers
+
+
+ Fill
-
+
+ 3, 17
+
+
+ 226, 19
+
+
355, 22
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Add [VMess] server
-
- Magenta
-
-
+
355, 22
-
- 97, 53
-
-
- groupBox2
-
Add [VLESS] server
-
- 2
+
+ 355, 22
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Add [Shadowsocks] server
-
- Restart service
-
-
- 184, 6
-
-
- tsbSubSetting
-
-
- 264, 22
-
-
- groupBox2
-
-
- menuMoveUp
+
+ 355, 22
Add [Socks] server
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- ImageAboveText
-
-
- 语言-[中文简体]
-
-
- NoControl
-
-
- Top
-
-
- tsbHelp
-
-
- 5
-
-
-
- False
-
-
- toolStripSeparator6
-
355, 22
-
- 99, 53
+
+ Add [Trojan] server
-
- Update subscriptions
+
+ 355, 22
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Add a custom configuration server
-
- 187, 22
+
+ 355, 22
-
- toolSslBlank2
+
+ Import bulk URL from clipboard (Ctrl+V)
-
- tsbCheckUpdateN
+
+ 355, 22
+
+
+ Scan QR code on the screen (Ctrl+S)
+
+
+ 352, 6
355, 22
-
+
+ Remove selected servers (Delete)
+
+
355, 22
-
- Move to top (T)
-
-
- 45, 53
-
-
- Only open Http proxy and do nothing
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator7
-
-
- Update v2rayCore
-
-
- Magenta
-
-
- menuKeepNothing
+
+ Remove duplicate servers
355, 22
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Clone selected server
-
- menuExport2SubContent
+
+ 355, 22
-
- 52, 17
+
+ Set as active server (Enter)
-
- Share
+
+ 355, 22
-
- tsbQRCodeSwitch
+
+ Set server filter (Ctrl+F)
+
+
+ 352, 6
+
+
+ 355, 22
+
+
+ Move to Group
+ 192, 22
+
+
+ Move to top (T)
+
+
+ 192, 22
+
+
+ Up (U)
+
+
+ 192, 22
+
+
+ Down (D)
+
+
+ 192, 22
+
+
+ Move to bottom (B)
+
+
+ 355, 22
+
+
+ Move to
+
+
+ 355, 22
+
+
+ Select All (Ctrl+A)
+
+
+ 352, 6
+
+
+ 355, 22
+
+
+ Test servers ping (Ctrl+P)
+
+
+ 355, 22
+
+
+ Test servers with tcping (Ctrl+O)
+
+
+ 355, 22
+
+
+ Test servers real delay (Ctrl+R)
+
+
+ 355, 22
+
+
+ Test servers download speed (Ctrl+T)
+
+
+ 355, 22
+
+
+ Sort by test result (Ctrl+E)
+
+
+ 355, 22
+
+
+ Test current service status
+
+
+ 355, 22
+
+
+ Clear all service statistics
+
+
+ 352, 6
+
+
355, 22
Export selected server for client configuration
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 355, 22
Export selected server for server configuration
-
- ImageAboveText
-
-
- 952, 56
-
-
- System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0
-
-
- Test servers real delay (Ctrl+R)
-
-
- menuTcpingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- v2rayN
-
-
- 411, 22
-
-
+
355, 22
-
- toolStripSeparator1
+
+ Export share URLs to clipboard (Ctrl+C)
-
- 3
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 393, 22
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbClose
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuPingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbLanguageDef
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM
- mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY
- FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr
- flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh
- VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh
- 6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC
-
-
-
- 411, 22
-
-
- 3
-
-
- 3, 17
-
-
+
355, 22
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Export subscription (base64) share to clipboard
-
- Fill
-
-
- 6, 56
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 220, 17
-
-
- menuAddCustomServer
-
-
- menuMoveDown
-
-
- Import bulk URL from clipboard
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 411, 22
-
-
- Move to bottom (B)
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 6, 12
-
-
- 48, 53
-
-
- 393, 22
-
-
- 355, 22
-
-
- System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 195, 17
-
-
- 0
-
-
- 686, 331
-
-
- toolStripSeparator4
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Bottom
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scMain.Panel2
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 39, 17
-
-
- menuAddServers2
-
-
- Fill
-
-
- tsbServer
-
-
- Add [VMess] server
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- tsbAbout
-
-
- 195, 17
-
-
- toolStripSeparator5
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 352, 6
-
-
- 256, 331
-
-
- 4, 4, 4, 4
-
-
- Test servers with tcping (Ctrl+O)
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 6, 56
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 195, 17
-
-
- 2
-
-
- 125, 22
-
-
- 0, 17
-
-
- scMain.Panel2
-
-
- 58, 53
-
-
- 355, 22
-
-
- Not Enabled Http Proxy
-
-
- 187, 22
-
-
- 6, 56
-
-
- Test servers download speed (Ctrl+T)
-
-
- ssMain
-
-
- 686
-
-
- ImageAboveText
-
-
- 265, 164
-
-
- 355, 22
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scMain
-
-
- Check for updates
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslServerSpeed
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4
-
-
- 125, 22
-
-
- Only open Http proxy and clear the proxy settings
-
-
- scMain
-
-
- HTTP:
-
-
- Remove selected servers (Delete)
-
-
- 411, 22
-
-
- menuKeepPAC
-
-
- 0
-
-
- Help
-
-
- menuSelectAll
-
-
- $this
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Vertical
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Scan QR code on the screen (Ctrl+S)
-
-
- ImageAboveText
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 187, 22
-
-
- menuAddServers
-
-
- 355, 22
-
-
- menuAddVmessServer
-
-
- tsbLanguageZhHans
-
-
- menuRemoveDuplicateServer
-
-
- BottomCenter
-
-
- menuExport2ShareUrl
-
-
- tsMain
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbReload
-
-
- v2rayN (this software)
-
-
+
Magenta
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 64, 53
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Servers
-
- 0, 66
+
+ ImageAboveText
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 356, 644
-
- tsbV2rayWebsite
-
-
- Server
-
-
- v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- menuAddShadowsocksServer
-
-
- txtMsgBox
-
-
- toolSslBlank4
-
-
- menuAddTrojanServer
-
-
- 261, 6
-
-
- v2rayN
-
-
- Language-[English]
-
-
- menuSpeedServer
-
-
- 264, 22
-
-
- 0
-
-
- toolSslBlank3
-
-
- 128, 53
-
-
- Add [Trojan] server
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator11
+
+ cmsLv
System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 0, 417
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 352, 6
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- V2Ray Website
-
-
- No
-
-
- 1
-
-
- toolSslPacPort
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Settings
-
-
- menuMoveTop
-
-
- menuKeep
+
+ Fill
@@ -832,539 +367,573 @@
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
- 952, 351
+
+ 0, 20
-
- menuScanScreen
+
+ 686, 260
-
- cmsLv
-
-
- toolStripSeparator12
-
-
- 6, 56
-
-
- Fill
-
-
- toolSslBlank1
-
-
- tsbSubUpdate
-
-
- 微软雅黑, 8pt
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- SPEED Disabled
-
-
- PAC:
-
-
- Promotion
-
-
- menuSysAgentMode
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0, 0
-
-
- Export subscription (base64) share to clipboard
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuScanScreen2
-
-
- cmsMain
-
-
- 264, 22
-
-
- menuServers
-
-
- menuUpdateSubscriptions
-
-
- $this
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator13
-
-
- 1
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0, 17
-
-
- 3, 151
-
-
- True
-
-
- 355, 22
-
-
- Subscriptions
-
-
- 952, 10
-
-
- Updates
-
-
- 264, 22
-
-
- menuNotEnabledHttp
-
-
+
+
0
-
- Informations
-
-
- toolStripSeparator8
-
-
- 89, 53
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- BottomCenter
-
-
- Test servers ping (Ctrl+P)
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 355, 22
-
-
- 264, 22
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSetDefaultServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Settings
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuCopyServer
-
-
- Http proxy
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 411, 22
-
-
- Only open PAC and clear the proxy settings
-
-
- 355, 22
-
-
- groupBox1
-
-
- MainForm
-
-
- toolStripSeparator9
-
-
- menuExit
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Servers list
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
lvServers
-
- menuRealPingServer
+
+ v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
- Magenta
+
+ scServers.Panel1
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuGlobal
-
-
- 100
-
-
- 2
-
-
- menuKeepPACNothing
-
-
- Check for updated PAC (need the HTTP proxy are ON)
-
-
- 355, 22
-
-
- v2rayN Project
-
-
- Servers
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Select All (Ctrl+A)
-
-
- ImageAboveText
-
-
- 3
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateCore
-
-
- SOCKS5:
-
-
- 33, 17
-
-
- 355, 22
-
-
- menuRemoveServer
-
-
- tsbTestMe
-
-
- 355, 22
-
-
- 946, 134
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scMain
-
-
- Down (D)
-
-
- menuCopyPACUrl
-
-
- 352, 6
-
-
- Magenta
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Only open PAC and do nothing
-
-
- 355, 22
-
-
- tsbSub
-
-
- Magenta
-
-
- ImageAboveText
-
-
- Clone selected server
-
-
- 0, 0
-
-
- 355, 22
-
-
- groupBox2
-
-
- tsbCheckUpdate
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 微软雅黑, 8pt
-
-
- Export share URLs to clipboard (Ctrl+C)
-
-
- 411, 22
-
-
- 355, 22
-
-
- v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- 微软雅黑, 8pt
-
-
- System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Simplify PAC (need to set Core route)
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
0
-
- $this
+
+ Top
-
+
+ 0, 0
+
+
+ 686, 20
+
+
+ 0
+
+
+ tabGroup
+
+
+ System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scServers.Panel1
+
+
+ 1
+
+
+ scServers.Panel1
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scServers
+
+
+ 0
+
+
Fill
+
+ 0, 0
+
+
+ 4, 4, 4, 4
+
+
+ 256, 280
+
+
+ 2
+
qrCodeControl
-
- 264, 22
+
+ v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
- 355, 22
+
+ scServers.Panel2
-
+
0
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ scServers.Panel2
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scServers
+
+
+ 1
+
+
+ 100
+
+
+ 946, 280
+
+
+ 686
+
+
+ 0
+
+
+ scServers
+
+
+ System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ gbServers
+
+
+ 0
+
+
+ Fill
+
+
+ 0, 66
+
+
+ Horizontal
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 952, 300
+
+
+ 0
+
+
+ gbServers
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scBig.Panel1
+
+
+ 0
+
+
+ scBig.Panel1
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scBig
+
+
+ 0
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 952, 223
+
+
+ 0
+
+
+ mainMsgControl
+
+
+ v2rayN.Forms.MainMsgControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ scBig.Panel2
+
+
+ 0
+
+
+ scBig.Panel2
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scBig
+
+
+ 1
+
+
+ 952, 527
+
+
+ 300
+
+
+ 5
+
+
+ scBig
+
+
+ System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
+
+ 17, 17
+
+
+ 137, 17
+
+
+ NoControl
+
+
+ 243, 22
+
+
+ Clear system proxy
+
+
+ 243, 22
+
+
+ Set system proxy
+
+
+ 243, 22
+
+
+ Do not change system proxy
+
+
+ 277, 22
+
+
+ System proxy
+
+
+ 277, 22
+
+
+ Routing
+
+
+ 277, 22
+
+
+ Server
+
+
+ 274, 6
+
+
+ 277, 22
+
+
+ Import bulk URL from clipboard
+
+
+ 277, 22
+
+
+ Scan QR code on the screen
+
+
+ 277, 22
+
+
+ Update subscription without proxy
+
+
+ 277, 22
+
+
+ Update subscriptions via proxy
+
+
+ 274, 6
+
+
+ 277, 22
+
+
+ Exit
+
+
+ 278, 192
+
+
+ cmsMain
+
+
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ v2rayN
+
+
+ True
+
+
+ Top
+
+
+ 0, 56
+
+
+ 952, 10
+
+
+ 2
+
+
+ panel1
System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 微软雅黑, 8pt
+
+