<tfoot id='BPgN1'></tfoot>
  • <i id='BPgN1'><tr id='BPgN1'><dt id='BPgN1'><q id='BPgN1'><span id='BPgN1'><b id='BPgN1'><form id='BPgN1'><ins id='BPgN1'></ins><ul id='BPgN1'></ul><sub id='BPgN1'></sub></form><legend id='BPgN1'></legend><bdo id='BPgN1'><pre id='BPgN1'><center id='BPgN1'></center></pre></bdo></b><th id='BPgN1'></th></span></q></dt></tr></i><div id='BPgN1'><tfoot id='BPgN1'></tfoot><dl id='BPgN1'><fieldset id='BPgN1'></fieldset></dl></div>

        <bdo id='BPgN1'></bdo><ul id='BPgN1'></ul>

        <legend id='BPgN1'><style id='BPgN1'><dir id='BPgN1'><q id='BPgN1'></q></dir></style></legend>

        <small id='BPgN1'></small><noframes id='BPgN1'>

        自动化 Windows 防火墙

        Automating Windows Firewall with(自动化 Windows 防火墙)
            <tbody id='VGyTI'></tbody>

          <legend id='VGyTI'><style id='VGyTI'><dir id='VGyTI'><q id='VGyTI'></q></dir></style></legend>

            <i id='VGyTI'><tr id='VGyTI'><dt id='VGyTI'><q id='VGyTI'><span id='VGyTI'><b id='VGyTI'><form id='VGyTI'><ins id='VGyTI'></ins><ul id='VGyTI'></ul><sub id='VGyTI'></sub></form><legend id='VGyTI'></legend><bdo id='VGyTI'><pre id='VGyTI'><center id='VGyTI'></center></pre></bdo></b><th id='VGyTI'></th></span></q></dt></tr></i><div id='VGyTI'><tfoot id='VGyTI'></tfoot><dl id='VGyTI'><fieldset id='VGyTI'></fieldset></dl></div>

            <small id='VGyTI'></small><noframes id='VGyTI'>

              • <bdo id='VGyTI'></bdo><ul id='VGyTI'></ul>

                  <tfoot id='VGyTI'></tfoot>
                  本文介绍了自动化 Windows 防火墙的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有 C# 应用程序,它使用 PORT 777 进行异步通信,使用 PORT 3306 与 My Sql Server 进行通信.当端口被防火墙阻止时,就会出现问题.我尝试创建一个程序,在 Windows 7 的防火墙列表中添加例外.

                  当我运行程序时,出现如下错误:灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))".

                  我不明白这些错误是什么意思,欢迎提出任何建议,谢谢.

                  受保护的内部 void AddExceptionToFirewall(){尝试 {INetFwMgr 防火墙 = null;INetFwAuthorizedApplications 应用程序 = null;INetFwAuthorizedApplication app = null;类型 progID = null;INetFwOpenPorts 端口 = null;INetFwOpenPort asyncPort = null;INetFwOpenPort mysqlPort = null;bool appFounded = false;bool asyncPortFounded = false;布尔 mysqlPortFounded = false;progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");//检查 Windows 防火墙fireWall = (INetFwMgr)Activator.CreateInstance(progID);如果(fireWall.LocalPolicy.CurrentProfile.FirewallEnabled){//获取授权应用列表应用程序 = (INetFwAuthorizedApplications)fireWall.LocalPolicy.CurrentProfile.AuthorizedApplications;IEnumerator appEnumerate = apps.GetEnumerator();而(appEnumerate.MoveNext()){app = (INetFwAuthorizedApplication)appEnumerate.Current;if (app.Name == Application.ProductName){appFounded =真;休息;}}//将此应用程序添加到授权应用程序列表中如果(应用创建==假){app.Name = Application.ProductName;StringBuilder strBuild = new StringBuilder();strBuild.Append(Application.ExecutablePath.Replace("\","\\"));app.ProcessImageFileName = strBuild.ToString();应用程序启用=真;应用程序 = (INetFwAuthorizedApplications)fireWall.LocalPolicy.CurrentProfile.AuthorizedApplications;应用程序.添加(应用程序);}//获取授权的异步套接字端口列表(777)端口 = (INetFwOpenPorts)fireWall.LocalPolicy.CurrentProfile.GloballyOpenPorts;IEnumerator portEnumerate = ports.GetEnumerator();而 (portEnumerate.MoveNext()) {asyncPort = (INetFwOpenPort)portEnumerate.Current;if (asyncPort.Port == 777) {asyncPortFounded = true;休息;}}//添加一个 777 端口到全局开放的端口if (asyncPortFounded==false)端口.添加(异步端口);//获取授权的mysql socket端口列表(3306)而 (portEnumerate.MoveNext()) {mysqlPort = (INetFwOpenPort)portEnumerate.Current;如果(mysqlPort.Port == 3306){mysqlPortFounded = true;休息;}}//添加一个 3306 端口到全局开放的端口如果(mysqlPortFounded == false)端口.添加(mysqlPort);}}捕捉(COMException cm){MessageBox.Show(cm.Message);}捕捉(异常前){MessageBox.Show(ex.Message);}}

                  解决方案

                  http:///www.codeproject.com/Articles/14906/Open-Windows-Firewall-During-Installation

                  1. 在使用以下程序之前,请在 Visual Studio 2010 中添加参考 FirewallAPI.dll.请执行下列操作:从 Visual Studio 2010Solution Explorer 右键单击项目 - 选择 Add Reference - 选择 C:WindowsSystem32FirewallAPI.dll - 好的

                  2. 使用下面的 3 行代码调用程序防火墙.您可以将此代码放入程序的表单加载中:

                    <块引用>

                     private clsFirewall objFirewall = new clsFirewall();objFirewall.CloseFirewall();objFirewall.OpenFirewall();

                  /* 使用 C# 支持 Windows 7 的自动化 Windows 防火墙 */

                  使用系统;使用 System.Collections;使用 System.Collections.Generic;使用 System.Data;使用 System.Diagnostics;使用 System.Threading;使用 NetFwTypeLib;使用 System.Windows.Forms;命名空间我的防火墙 {公共类 clsFirewall {私有 int[] 端口套接字 = { 777, 3306 };私有字符串[] portsName = { "AsyncPort", "MySqlPort" };私有 INetFwProfile fwProfile = null;受保护的内部无效 OpenFirewall() {INetFwAuthorizedApplications authApps = null;INetFwAuthorizedApplication authApp = null;INetFwOpenPorts openPorts = null;INetFwOpenPort openPort = null;尝试 {if (isAppFound(Application.ProductName + "Server") == false) {设置配置文件();authApps = fwProfile.AuthorizedApplications;authApp = GetInstance("INetAuthApp") as INetFwAuthorizedApplication;authApp.Name = Application.ProductName + "服务器";authApp.ProcessImageFileName = Application.ExecutablePath;authApps.Add(authApp);}if (isPortFound(portsSocket[0]) == false) {设置配置文件();openPorts = fwProfile.GloballyOpenPorts;openPort = GetInstance("INetOpenPort") as INetFwOpenPort;openPort.Port = portsSocket[0];openPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;openPort.Name = 端口名称[0];openPorts.Add(openPort);}if (isPortFound(portsSocket[1]) == false) {设置配置文件();openPorts = fwProfile.GloballyOpenPorts;openPort = GetInstance("INetOpenPort") as INetFwOpenPort;openPort.Port = portsSocket[1];openPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;openPort.Name = 端口名称[1];openPorts.Add(openPort);}}捕捉(异常前){MessageBox.Show(ex.Message);}最后 {if (authApps != null) authApps = null;if (authApp != null) authApp = null;if (openPorts != null) openPorts = null;if (openPort != null) openPort = null;}}受保护的内部无效 CloseFirewall() {INetFwAuthorizedApplications 应用程序 = null;INetFwOpenPorts 端口 = null;尝试 {if (isAppFound(Application.ProductName + "Server") == true) {设置配置文件();应用程序 = fwProfile.AuthorizedApplications;apps.Remove(Application.ExecutablePath);}if (isPortFound(portsSocket[0]) == true) {设置配置文件();端口 = fwProfile.GloballyOpenPorts;ports.Remove(portsSocket[0], NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);}if (isPortFound(portsSocket[1]) == true) {设置配置文件();端口 = fwProfile.GloballyOpenPorts;ports.Remove(portsSocket[1], NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);}}捕捉(异常前){MessageBox.Show(ex.Message);}最后 {如果(应用程序!= null)应用程序= null;如果(端口!= null)端口= null;}}受保护的内部 bool isAppFound(string appName) {布尔布尔结果=假;类型 progID = null;INetFwMgr 防火墙 = null;INetFwAuthorizedApplications 应用程序 = null;INetFwAuthorizedApplication app = null;尝试 {progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");防火墙 = Activator.CreateInstance(progID) 作为 INetFwMgr;如果(firewall.LocalPolicy.CurrentProfile.FirewallEnabled){应用程序 = 防火墙.LocalPolicy.CurrentProfile.AuthorizedApplications;IEnumerator appEnumerate = apps.GetEnumerator();而 ((appEnumerate.MoveNext())) {app = appEnumerate.Current as INetFwAuthorizedApplication;if (app.Name == appName) {布尔结果 = 真;休息;}}}}捕捉(异常前){MessageBox.Show(ex.Message);}最后 {if (progID != null) progID = null;如果(防火墙!= null)防火墙= null;如果(应用程序!= null)应用程序= null;如果(应用程序!= null)应用程序= null;}返回布尔结果;}受保护的内部 bool isPortFound(int portNumber) {布尔布尔结果=假;INetFwOpenPorts 端口 = null;类型 progID = null;INetFwMgr 防火墙 = null;INetFwOpenPort currentPort = null;尝试 {progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");防火墙 = Activator.CreateInstance(progID) 作为 INetFwMgr;端口 = firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts;IEnumerator portEnumerate = ports.GetEnumerator();而((portEnumerate.MoveNext())){currentPort = portEnumerate.Current 作为 INetFwOpenPort;if (currentPort.Port == portNumber) {布尔结果 = 真;休息;}}}捕捉(异常前){MessageBox.Show(ex.Message);}最后{如果(端口!= null)端口= null;if (progID != null) progID = null;如果(防火墙!= null)防火墙= null;if (currentPort != null) currentPort = null;}返回布尔结果;}受保护的内部无效 SetProfile() {INetFwMgr fwMgr = null;INetFwPolicy fwPolicy = null;尝试 {fwMgr = GetInstance("INetFwMgr") as INetFwMgr;fwPolicy = fwMgr.LocalPolicy;fwProfile = fwPolicy.CurrentProfile;}捕捉(异常前){MessageBox.Show(ex.Message);}最后 {如果 (fwMgr != null) fwMgr = null;if (fwPolicy != null) fwPolicy = null;}}受保护的内部对象 GetInstance(string typeName) {类型 tpResult = null;开关(类型名称){案例INetFwMgr":tpResult = Type.GetTypeFromCLSID(new Guid("{304CE942-6E39-40D8-943A-B913C40C9CD4}"));返回 Activator.CreateInstance(tpResult);案例INetAuthApp":tpResult = Type.GetTypeFromCLSID(new Guid("{EC9846B3-2762-4A6B-A214-6ACB603462D2}"));返回 Activator.CreateInstance(tpResult);案例INetOpenPort":tpResult = Type.GetTypeFromCLSID(new Guid("{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}"));返回 Activator.CreateInstance(tpResult);默认:返回空值;}}}}

                  I have C# Application that uses PORT 777 for asynchronous communication and PORT 3306 for communication with My Sql Server. Problems arise when the ports is blocked by a firewall. I tried to create a program to add an exception in the firewall list of Windows 7.

                  When i run the program, i get bug as follow: "Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))".

                  I do not understand what these errors mean, any suggestion is welcome, Thanks.

                  protected internal void AddExceptionToFirewall(){
                      try {
                          INetFwMgr fireWall = null;
                          INetFwAuthorizedApplications apps = null;
                          INetFwAuthorizedApplication app = null;
                          Type progID = null;
                          INetFwOpenPorts ports = null;
                          INetFwOpenPort asyncPort = null;
                          INetFwOpenPort mysqlPort = null;
                          bool appFounded = false;
                          bool asyncPortFounded = false;
                          bool mysqlPortFounded = false;
                  
                          progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");
                  
                          // checking for Windows Firewall
                          fireWall = (INetFwMgr)Activator.CreateInstance(progID);
                          if (fireWall.LocalPolicy.CurrentProfile.FirewallEnabled) {
                  
                              // obtain the list of authorized applications
                              apps = (INetFwAuthorizedApplications)fireWall.LocalPolicy.CurrentProfile.AuthorizedApplications;
                              IEnumerator appEnumerate = apps.GetEnumerator();
                              while (appEnumerate.MoveNext()){
                                  app = (INetFwAuthorizedApplication)appEnumerate.Current;
                                  if (app.Name == Application.ProductName){
                                      appFounded = true;
                                      break;
                                  }
                              }
                  
                              // add this application to the list of authorized applications
                              if(appFounded==false){
                                  app.Name = Application.ProductName;
                                  StringBuilder strBuild = new StringBuilder();
                                  strBuild.Append(Application.ExecutablePath.Replace("\","\\"));
                                  app.ProcessImageFileName = strBuild.ToString();
                                  app.Enabled = true;
                                  apps = (INetFwAuthorizedApplications)fireWall.LocalPolicy.CurrentProfile.AuthorizedApplications; 
                                  apps.Add(app);
                              }
                  
                              // obtain the list of authorized asynchronous socket ports (777)
                              ports = (INetFwOpenPorts)fireWall.LocalPolicy.CurrentProfile.GloballyOpenPorts;
                              IEnumerator portEnumerate = ports.GetEnumerator();
                              while (portEnumerate.MoveNext()) {
                                  asyncPort = (INetFwOpenPort)portEnumerate.Current;
                                  if (asyncPort.Port == 777) {
                                      asyncPortFounded = true;
                                      break;
                                  }
                              }
                  
                              // add a port 777 to globally open ports
                              if (asyncPortFounded==false) 
                                  ports.Add(asyncPort);
                  
                  
                              // obtain the list of authorized mysql socket ports(3306)
                              while (portEnumerate.MoveNext()) {
                                  mysqlPort = (INetFwOpenPort)portEnumerate.Current;
                                  if (mysqlPort.Port == 3306) {
                                      mysqlPortFounded = true;
                                      break;
                                  }
                              }
                  
                              // add a port 3306 to globally open ports
                              if (mysqlPortFounded == false)
                                  ports.Add(mysqlPort);
                  
                          }
                      }
                      catch (COMException cm) {
                          MessageBox.Show(cm.Message);
                      }
                      catch (Exception ex) {
                          MessageBox.Show(ex.Message);
                      }
                  }
                  

                  解决方案

                  http://www.codeproject.com/Articles/14906/Open-Windows-Firewall-During-Installation

                  1. Before using the program below, please add reference FirewallAPI.dll to Visual Studio 2010. Do the following: Right-click the Project from the Solution Explorer of Visual Studio 2010 - Select the Add Reference - Select C:WindowsSystem32FirewallAPI.dll - Ok

                  2. Calling program firewall with 3 line code below. You can put this code in the form load of your program:

                      private clsFirewall objFirewall = new clsFirewall();
                      objFirewall.CloseFirewall();
                      objFirewall.OpenFirewall();
                    

                  /* Automating Windows Firewall with C# Support Windows 7 */

                  using System; 
                  using System.Collections; 
                  using System.Collections.Generic; 
                  using System.Data; 
                  using System.Diagnostics; 
                  using System.Threading; 
                  using NetFwTypeLib; 
                  using System.Windows.Forms;
                  
                  
                  namespace MyFirewall {
                  
                    public class clsFirewall {
                  
                      private int[] portsSocket = { 777, 3306 };
                      private string[] portsName = { "AsyncPort", "MySqlPort" };
                      private INetFwProfile fwProfile = null;
                  
                      protected internal void OpenFirewall() {
                          INetFwAuthorizedApplications authApps = null;
                          INetFwAuthorizedApplication authApp = null;
                          INetFwOpenPorts openPorts = null;
                          INetFwOpenPort openPort = null;
                          try {
                              if (isAppFound(Application.ProductName + " Server") == false) {
                                  SetProfile();
                                  authApps = fwProfile.AuthorizedApplications;
                                  authApp = GetInstance("INetAuthApp") as INetFwAuthorizedApplication;
                                  authApp.Name = Application.ProductName + " Server";
                                  authApp.ProcessImageFileName = Application.ExecutablePath;
                                  authApps.Add(authApp);
                              }
                  
                              if (isPortFound(portsSocket[0]) == false) {
                                  SetProfile();
                                  openPorts = fwProfile.GloballyOpenPorts;
                                  openPort = GetInstance("INetOpenPort") as INetFwOpenPort;
                                  openPort.Port = portsSocket[0];
                                  openPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
                                  openPort.Name = portsName[0];
                                  openPorts.Add(openPort);
                              }
                  
                              if (isPortFound(portsSocket[1]) == false) {
                                  SetProfile();
                                  openPorts = fwProfile.GloballyOpenPorts;
                                  openPort = GetInstance("INetOpenPort") as INetFwOpenPort;
                                  openPort.Port = portsSocket[1];
                                  openPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
                                  openPort.Name = portsName[1];
                                  openPorts.Add(openPort);
                              }
                  
                          }
                          catch (Exception ex) {
                              MessageBox.Show(ex.Message);
                          }
                          finally {
                              if (authApps != null) authApps = null;
                              if (authApp != null) authApp = null;
                              if (openPorts != null) openPorts = null;
                              if (openPort != null) openPort = null;
                          }
                      }
                  
                      protected internal void CloseFirewall() {
                          INetFwAuthorizedApplications apps = null;
                          INetFwOpenPorts ports = null;
                          try {
                              if (isAppFound(Application.ProductName + " Server") == true) {
                                  SetProfile();
                                  apps = fwProfile.AuthorizedApplications;
                                  apps.Remove(Application.ExecutablePath);
                              }
                  
                              if (isPortFound(portsSocket[0]) == true) {
                                  SetProfile();
                                  ports = fwProfile.GloballyOpenPorts;
                                  ports.Remove(portsSocket[0], NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);
                              }
                  
                              if (isPortFound(portsSocket[1]) == true) {
                                  SetProfile();
                                  ports = fwProfile.GloballyOpenPorts;
                                  ports.Remove(portsSocket[1], NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);
                              }
                          }
                          catch (Exception ex) {
                              MessageBox.Show(ex.Message);
                          }
                          finally {
                              if (apps != null) apps = null;
                              if (ports != null) ports = null;
                          }
                      }
                  
                      protected internal bool isAppFound(string appName) {
                          bool boolResult = false;
                          Type progID = null;
                          INetFwMgr firewall = null;
                          INetFwAuthorizedApplications apps = null;
                          INetFwAuthorizedApplication app = null;
                          try {
                              progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");
                              firewall = Activator.CreateInstance(progID) as INetFwMgr;
                              if (firewall.LocalPolicy.CurrentProfile.FirewallEnabled) {
                                  apps = firewall.LocalPolicy.CurrentProfile.AuthorizedApplications;
                                  IEnumerator appEnumerate = apps.GetEnumerator();
                                  while ((appEnumerate.MoveNext())) {
                                      app = appEnumerate.Current as INetFwAuthorizedApplication;
                                      if (app.Name == appName) {
                                          boolResult = true;
                                          break;
                                      }
                                  }
                              }
                          }
                          catch (Exception ex) {
                              MessageBox.Show(ex.Message);
                          }
                          finally {
                              if (progID != null) progID = null;
                              if (firewall != null) firewall = null;
                              if (apps != null) apps = null;
                              if (app != null) app = null;
                          }
                          return boolResult;
                      }
                  
                      protected internal bool isPortFound(int portNumber) {
                          bool boolResult = false;
                          INetFwOpenPorts ports = null;
                          Type progID = null;
                          INetFwMgr firewall = null;
                          INetFwOpenPort currentPort = null;
                          try {
                              progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");
                              firewall = Activator.CreateInstance(progID) as INetFwMgr;
                              ports = firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts;
                              IEnumerator portEnumerate = ports.GetEnumerator();
                              while ((portEnumerate.MoveNext())) {
                                  currentPort = portEnumerate.Current as INetFwOpenPort;
                                  if (currentPort.Port == portNumber) {
                                      boolResult = true;
                                      break;
                                  }
                              }
                          }
                          catch (Exception ex) {
                              MessageBox.Show(ex.Message);
                          }
                          finally
                          {
                              if (ports != null) ports = null;
                              if (progID != null) progID = null;
                              if (firewall != null) firewall = null;
                              if (currentPort != null) currentPort = null;
                          }
                          return boolResult;
                      }
                  
                      protected internal void SetProfile() {
                          INetFwMgr fwMgr = null;
                          INetFwPolicy fwPolicy = null;
                          try {
                              fwMgr = GetInstance("INetFwMgr") as INetFwMgr;
                              fwPolicy = fwMgr.LocalPolicy;
                              fwProfile = fwPolicy.CurrentProfile;
                          }
                          catch (Exception ex) {
                              MessageBox.Show(ex.Message);
                          }
                          finally {
                              if (fwMgr != null) fwMgr = null;
                              if (fwPolicy != null) fwPolicy = null;
                          }
                      }
                  
                      protected internal object GetInstance(string typeName) {
                          Type tpResult = null;
                          switch (typeName) {
                              case "INetFwMgr":
                                  tpResult = Type.GetTypeFromCLSID(new Guid("{304CE942-6E39-40D8-943A-B913C40C9CD4}"));
                                  return Activator.CreateInstance(tpResult);
                              case "INetAuthApp":
                                  tpResult = Type.GetTypeFromCLSID(new Guid("{EC9846B3-2762-4A6B-A214-6ACB603462D2}"));
                                  return Activator.CreateInstance(tpResult);
                              case "INetOpenPort":
                                  tpResult = Type.GetTypeFromCLSID(new Guid("{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}"));
                                  return Activator.CreateInstance(tpResult);
                              default:
                                  return null;
                          }
                      }
                  
                    } 
                  }
                  

                  这篇关于自动化 Windows 防火墙的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Performance overhead of using attributes in .NET(在 .NET 中使用属性的性能开销)
                  Accessing attribute info from DTE(从 DTE 访问属性信息)
                  c# Hide a property in datagridview with datasource(c#使用数据源隐藏datagridview中的属性)
                  Extract Display name and description Attribute from within a HTML helper(从 HTML 帮助器中提取显示名称和描述属性)
                  C# Attributes and their uses(C# 属性及其用途)
                  C# - Getting all enums value by attribute(C# - 按属性获取所有枚举值)

                    <legend id='hrycw'><style id='hrycw'><dir id='hrycw'><q id='hrycw'></q></dir></style></legend>

                      <tbody id='hrycw'></tbody>

                    <tfoot id='hrycw'></tfoot>
                      <bdo id='hrycw'></bdo><ul id='hrycw'></ul>
                    • <i id='hrycw'><tr id='hrycw'><dt id='hrycw'><q id='hrycw'><span id='hrycw'><b id='hrycw'><form id='hrycw'><ins id='hrycw'></ins><ul id='hrycw'></ul><sub id='hrycw'></sub></form><legend id='hrycw'></legend><bdo id='hrycw'><pre id='hrycw'><center id='hrycw'></center></pre></bdo></b><th id='hrycw'></th></span></q></dt></tr></i><div id='hrycw'><tfoot id='hrycw'></tfoot><dl id='hrycw'><fieldset id='hrycw'></fieldset></dl></div>

                            <small id='hrycw'></small><noframes id='hrycw'>