namespace  { using †; using MySql.Data.MySqlClient; using System; using System.Data; using System.Threading; internal class  { private ˜ ; private ˆ ; private “[] ; private bool[] ; private int ; private Thread ; public void (uint Amount) { lock (this) { if (this..Length != Amount) { uint num; if (Amount < this..Length) { for (num = Amount; num < this..Length; num++) { this.[num].†(); this.[num] = null; } } “[] “Array = new “[Amount]; bool[] flagArray = new bool[Amount]; for (num = 0; num < Amount; num++) { if (num < this..Length) { “Array[num] = this.[num]; flagArray[num] = this.[num]; } else { “Array[num] = new “(num + 1, this); flagArray[num] = true; } } this. = “Array; this. = flagArray; } } } public void () { if (this. != null) { this..Abort(); } } public void () { lock (this) { for (int i = 0; i < this..Length; i++) { this.[i].†(); this.[i] = null; } } } public void () { this. = null; this. = null; this. = null; this. = null; this. = null; } public int ™() { int num = 0; for (int i = 0; i < this..Length; i++) { if (this.[i].State == ConnectionState.Open) { num++; } } return num; } public void š() { this. = new Thread(new ThreadStart(this.œ)); this..Priority = ThreadPriority.Lowest; this..Start(); } public int ›() { return this.; } private void œ() { while (true) { try { lock (this) { DateTime now = DateTime.Now; for (int i = 0; i < this..Length; i++) { if ((this.[i].State != ConnectionState.Closed) && (this.[i].ƒ() >= 0x2d)) { this.[i].(); } } } Thread.Sleep(0x2710); } catch (ThreadAbortException) { } catch (Exception exception) { Ž.(exception.Message); } } } public string () { MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(); builder.Server = this..(); builder.Port = this..Port; builder.UserID = this..Ž(); builder.Password = this..Password; builder.Database = this..(); builder.MinimumPoolSize = this..(); builder.MaximumPoolSize = this..(); return builder.ToString(); } public void ( obj) { using (“ “ = this.ž()) { obj.(“); } } public “ ž() { lock (this) { for (uint i = 0; i < this..Length; i++) { if (this.[i]) { this. = 0; if (this.[i].State == ConnectionState.Broken) { this.[i] = new “(i + 1, this); } if (this.[i].State == ConnectionState.Closed) { this.[i].„(); } if (this.[i].State == ConnectionState.Open) { this.[i] = false; this.[i].‡(); return this.[i]; } } } this.++; if (this. >= ((this..Length + 1) / 2)) { this. = 0; this.((uint) (this..Length + 1.3f)); return this.ž(); } “ “ = new “(0, this); “.„(); Ž.WriteLine("Handed out anonymous client."); return “; } } public void ž( obj) { using (“ “ = this.ž()) { obj.ž(“); } } public void Ÿ(uint Handle) { if (this..Length >= (Handle - 1)) { this.[(int) ((IntPtr) (Handle - 1))] = true; } } public void Ÿ( obj) { using (“ “ = this.ž()) { obj.Ÿ(“); } } public (˜ pServer, ˆ pDatabase) { this. = new “[0]; this. = new bool[0]; this. = pServer; this. = pDatabase; } public (string sServer, uint Port, string sUser, string sPassword, string sDatabase, uint minPoolSize, uint maxPoolSize) { this. = new “[0]; this. = new bool[0]; this. = new ˜(sServer, Port, sUser, sPassword); this. = new ˆ(sDatabase, minPoolSize, maxPoolSize); this. = new Thread(new ThreadStart(this.œ)); this..Priority = ThreadPriority.Lowest; this..Start(); } public override string ToString() { return (this..ToString() + ":" + this..()); } public int databaseClients { get { return this.™(); } } } }